Skip to content

feat: 对齐解析元数据与平台差异(第四批) - #14

Merged
LING71671 merged 1 commit into
mainfrom
codex/align-python-parse-metadata
Nov 11, 2026
Merged

LING71671 merged 1 commit into
mainfrom
codex/align-python-parse-metadata

Conversation

@LING71671

Copy link
Copy Markdown
Collaborator

关联 #10,完成第四批解析元数据与平台差异对齐。

Python 导出的问卷快照包含 url、原始分页数据和数字滑块范围,之前 Go 会丢失或拒绝这些字段;腾讯说明题被过滤后还会导致题号偏移。本次补齐解析、默认配置及快照提交链路。

变更

  • 解析结果新增规范化的 url(Go 字段 SurveyURL,保留原有 RunRequest.URL 访问)。补齐省略协议、大小写及见数短链接规范化,并保留查询参数和原有平台地址校验。
  • 增加 provider_page_raw,滑块范围支持数字、旧字符串和 null;嵌套原始元数据在复制时深拷贝。Python dataclasses.asdict(survey) 可直接传给单次提交接口。
  • 腾讯解析保留说明题和原始题号,单独设置显示题号,继承同页说明文字和媒体,保留原始分页值及未知逻辑状态。
  • 问卷星返回原始题型代码,同步适配默认答案、心理量表和 Excel 反填。补齐条件显示的选项、raw_relation 和反向控制关系。
  • 补齐问卷星多级下拉:按父子关系展开选项、支持编码活动 ID 与 cid 数据、区分显示文本和提交值、保留隐藏空占位。层级残缺、外部数据源或超过六级会返回解析错误。
  • 同步 README、SDK 文档、OpenAPI 和外部模块调用示例。

验证

  • go test ./...
  • go test -race ./...
  • go vet ./...
  • go build ./...
  • tests/consumer:GOWORK=off go test ./...
  • 使用 surveycore-py 411ef6d 的真实客户端离线生成 5 组问卷快照,逐字段比对 Go 解析与默认配置,并验证三平台快照提交、HTTP 解析和 Python 快照输入。
  • 多级下拉覆盖编码/未编码活动 ID、cid、终止层、提交标记、参数及 Referer、隐藏占位和非法数据;验证原始元数据复制后互不影响。
  • 所有 OpenAPI 组件、内部引用、解析示例与 5 组 Python 快照通过结构校验。

合并后完成最终检查,再关闭 #10。

@LING71671
LING71671 merged commit 5964a3b into main Nov 11, 2026
10 checks passed
@LING71671
LING71671 deleted the codex/align-python-parse-metadata branch November 11, 2026 15:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant