All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 9m35s
- 新任务在「套餐到期时间」后追加「使用流量(GB)」「剩余流量(GB)」,同行 MB ÷ 1024 两位小数 - 冻结表头按末列识别三版尾列,历史任务行宽不变 - OpenSpec 补充提案、设计、spec 与任务 3.2/5.6 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3.1 KiB
3.1 KiB
Why
8-9 月迭代中的 4 个优化项原排在第 2 批,2026-10-11 确定并入第 1 批一起交付:修改密码失败只提示“参数验证失败”(M1),且各入口密码规则不一(6~20、6~50、6~64、8~32 位)、只限长度无强度要求;订单导出缺“操作人”(M4,运营清单 B-1);IoT 卡导出缺“套餐到期时间”(M5,运营清单 21);设备导出流量未标单位、无 GB 合计(M6,运营清单 22)。2026-10-14 确认 IoT 卡导出也补 GB 流量列,与设备导出口径一致(M5 补充)。内容沿用原 fix-august-iteration-follow-up-gaps 中已核实的方案,依据为《8-9月迭代排期安排》。
What Changes
- BREAKING 所有设置登录密码的入口统一为:8~12 位、仅 ASCII 可见字符、大写/小写/数字/特殊符号四类至少三类。长度不符返回
1001,强度不足返回1016。存量密码照常登录,不强制修改。 PUT /api/auth/password校验失败消息改为“修改密码参数不合法:”加字段与规则,例如“新密码长度不能小于 8”;不回显密码。- 订单导出新任务在最后一列增加“操作人”,取订单冻结的
operator_name。 - IoT 卡导出新任务在最后一列增加“套餐到期时间”,复用卡列表最终到期推算,只有精确推算时输出。
- 设备导出新任务表头改为
ICCIDn使用的流量(MB)、“设备合计(MB)”,在最后一列新增“设备合计(GB)”(MB ÷ 1024,两位小数)。 - IoT 卡导出新任务在“套餐到期时间”之后追加“使用流量(GB)”“剩余流量(GB)”两列(对应 MB 列 ÷ 1024,两位小数);原 MB 列不变(M5 补充,2026-10-14 确认)。
- 历史导出任务按冻结表头输出,不插入新列。
Capabilities
New Capabilities
无。
Modified Capabilities
identity-access:登录密码统一长度与强度规则;修改密码接口的字段级中文校验提示。export-task:订单、IoT 卡、设备三类导出的新列、来源、单位与历史任务表头兼容。
Impact
- 代码:
pkg/validator(新增登录密码规则函数);设置密码的服务入口internal/service/auth/service.go、internal/service/account/service.go、internal/application/shop/create.go、internal/service/enterprise/service.go、internal/domain/distribution/distribution.go;相关 DTO 校验标签(auth_dto.go、account_dto.go、shop_dto.go、enterprise_dto.go、agent_distribution_dto.go);internal/handler/auth/handler.go、internal/exporter/order_scene.go、internal/exporter/iot_card_scene.go(批量调用packageexpiry.Query.ResolveBatch)、internal/exporter/device_scene.go。 - 接口:七个设置密码入口的长度上限与强度规则变化,修改密码错误消息变化;三类导出新任务表头变化;重新生成接口文档。
- 前端:后台建账号、改密码、新增企业、建店铺与 H5 代理注册页面的密码提示与前端校验需同步改为新规则;导出无需改动。
- 无数据库迁移,不改 Redis 与第三方调用。