## ADDED Requirements ### Requirement: 发布前校验标题、正文和图片 `publish_to_xhs()` 函数 SHALL 在调用 MCP 发布接口前执行以下校验,任何校验失败 SHALL 立即返回包含明确说明的错误消息字符串,不发起网络请求: | 字段 | 规则 | |------|------| | 标题 | 非空,长度 ≤ 20 个字符(中英文均按 1 字符计) | | 图片数量 | 至少 1 张,至多 18 张 | | 图片文件 | 每个路径对应的文件在磁盘上真实存在 | #### Scenario: 标题超长时返回明确错误 - **WHEN** `publish_to_xhs()` 被调用且标题字符数超过 20 - **THEN** 返回包含「标题超长」提示及当前字符数的错误字符串,不调用 MCP 接口 #### Scenario: 无图片时返回明确错误 - **WHEN** `publish_to_xhs()` 被调用且最终收集到的图片路径列表为空 - **THEN** 返回「至少需要 1 张图片」的错误字符串 #### Scenario: 图片数量超限时返回明确错误 - **WHEN** 最终图片路径列表超过 18 张 - **THEN** 返回包含当前图片数和限制数的错误字符串,不发起发布请求 #### Scenario: 图片文件不存在时返回明确错误 - **WHEN** 图片路径列表中有路径对应的文件不存在于磁盘 - **THEN** 返回包含该文件路径的「文件不存在」错误字符串 #### Scenario: 校验通过后正常发布 - **WHEN** 所有字段均通过校验 - **THEN** 正常调用 MCP 接口发布,行为与改造前一致