## 1. 实施前核对 - [x] 1.1 用户于 2026-10-13 批准实施,仅后台,不修改 `/api/c/v1`。 - [x] 1.2 按说明落实账号独立改密、核销提交状态、预警字段和错误响应,不依赖最新 OpenAPI。 - [x] 1.3 按已确认密码规则准备长度、字符类别、非法字符及旧密码边界用例。 - [x] 1.4 核对旧提案与代码,保留权限、核销抽屉、店铺范围、原换货流程及用户改动。 ## 2. 订单在线支付信息(M3) - [x] 2.1 补订单公共摘要字段、独立支付单状态与详情类型,列表/创建不要求 `payments`。 - [x] 2.2 列表和详情展示三项支付摘要、渠道映射、未知值及空值。 - [x] 2.3 详情支付表展示字段、金额、独立状态及空时间,保留失败记录和后端顺序。 ## 3. 审批提交失败终态(M8、M14) - [x] 3.1 核销状态 4、筛选/标签、关联申请和真实提交状态;支持原表单重提,终态隐藏恢复。 - [x] 3.2 退款状态 7、筛选/标签和原 resubmit,终态禁止恢复/补发,状态 6 异常限制保留。 - [x] 3.3 后台代理注册状态 3、筛选/标签和重新扫码指引,终态隐藏恢复,不改 C 端。 - [x] 3.4 线下充值状态 7、筛选/标签及操作判断,复用原创建权限/表单发起新单。 - [x] 3.5 提现状态 5、相关后台筛选/标签/详情、原重提入口及概览刷新,不本地模拟金额。 - [x] 3.6 资料资格状态 4、筛选/标签和原资料表单提交新版本。 - [x] 3.7 本地代码与逻辑测试复核终态/未知结果、只读操作和权限判断;财务事实随 7.3 联调。 ## 4. 后台新密码规则(M1) - [x] 4.1 按 2026-10-14 修正,新密码 8~12 位,允许半角特殊符号,四类至少三类,拒绝空白/中文等字符,不 trim。 - [x] 4.2 本人改密新密码/确认限制及双语说明;旧密码仅必填,原成功行为保持;错误换行不重叠。 - [x] 4.3 账号及客户账号创建接入校验,可选修改空密码不发送,不新增入口。 - [x] 4.4 账号独立改密改为 `new_password`,其他字段不改名。 - [x] 4.5 店铺初始密码、企业创建/改密接入校验及 maxlength。 - [x] 4.6 兼容 `msg`/`message`,受影响密码操作检查非零业务码且不记录带密码的错误对象;其他密码与 C 端不改。 ## 5. 换货手机号冲突反馈(M12) - [x] 5.1 两入口共用 1202 提取/提示,兼容业务与 HTTP 错误和无号码降级。 - [x] 5.2 创建保留表单,完成失败重新读原单,用户解除后手动重试。 - [x] 5.3 按已有权限指引,不自动解绑、记录或持久化号码。 - [x] 5.4 非 1202 保持后端原因与原错误分类,不新增前置检查或重复默认提示。 ## 6. 预警口径与导入说明(M16、M2、M23) - [x] 6.1 删除规则额度引用,保留套餐商品/候选额度及规则参数。 - [x] 6.2 补三项 MB 快照、两位小数、0/空值与加油包说明,不重算历史阈值。 - [x] 6.3 新 CSV 表头及说明;下载从统一 UTF-8 BOM 文本生成,原 GBK 文件保留,逐行结果不变。 - [x] 6.4 IMEI 说明改必填,原 Excel 模板及上传/失败明细保持,不加格式或去重限制。 ## 7. 回归与验收 - [x] 7.1 未发现引导企微重提的后台文案;本地测试确认状态 3 仍允许后台重提,真实流程随 7.3 联调。 - [ ] 7.2 检查订单个人在线已支付/已退款信息,未支付及代理/钱包/线下空字段,详情多个支付记录的顺序、金额、状态和空时间。 - [ ] 7.3 检查六类失败终态、状态筛选、恢复隐藏、重提入口;覆盖陈旧 recoverable=true、结果未知、无权限及刷新财务数据。 - [x] 7.4 本地规则与改密页检查长度、三类、非法字符、可选空密码及旧密码兼容;375px 错误文案不重叠,其他密码代码未改。 - [ ] 7.5 检查换货两入口 1202 有/无号码、无管理权限、用户取消、解除后重试和其他错误;确认日志不含号码、原完成状态不被误改。 - [x] 7.6 本地规则/详情页与数值测试确认规则无额度、套餐字段保留、三项 MB/0/空值及加油包文案。 - [ ] 7.7 检查 CSV 新/旧表头、用户名误填、清空行和混合成功失败;检查设备 IMEI 空白行、部分成功、全失败以及模板未改变。 - [ ] 7.8 新建订单/IoT 卡/设备/预警导出任务检查后端新增列,下载历史任务检查旧列仍在;不修改前端导出模板或历史文件。 - [x] 7.9 本地 63 项测试、受影响文件 lint、类型检查、生产构建、UTF-8、OpenSpec 严格校验通过;模拟页面检查通过,真实环境项单列。 - [x] 7.10 C 端页面/服务无差异,组件声明 SHA-256 与实施前一致;回写实际完成和待联调项。 - [ ] 7.11 完成真实测试环境联调及用户验收后归档,不以模拟页面替代后端验收。 7.2、7.3、7.5、7.7 的本地逻辑与部分模拟页面已覆盖;尚未验证真实支付、冻结/预占金额、解除后重试、导入结果与导出文件。复现方式及证据见 [实施记录](./implementation.md)。 ## 8. 换货冲突关联管理快捷处理(用户追加) - [x] 8.1 两个换货入口携带当前新资产标识和关联手机号跳转,提交时冻结目标,禁止旧资产回退。 - [x] 8.2 关联页预填两项筛选,默认 1 页/20 条,仅勾选匹配有效记录;缓存、参数变化、过期响应和手工筛选清除旧选择。 - [x] 8.3 复用原批量解绑权限、原因与二次确认,结果布尔值改中文成功/失败。 - [x] 8.4 66 项回归测试通过,本地完整跳转、实际勾选、手工取消及模拟批量结果验证通过;未操作真实资产。 - [x] 8.5 按用户修正区分共用 1202:`data=null` 只展示原始 `msg` 和「知道了」,仅带有效响应手机号才提供去解绑;不从历史数组回退。新增回归,全套 67 项通过。 ## 9. 密码特殊符号与侧栏遮罩修正(2026-10-14) - [x] 9.1 专用校验恢复四类至少三类,允许所有可打印 ASCII 标点,同步中英文提示、类型注释和回归测试。 - [x] 9.2 本人改密弹窗挂载到 body,修复左侧菜单未被遮罩覆盖,不调整全局顶栏/侧栏层级。 - [x] 9.3 全套 68 项自动测试、类型/lint/stylelint 检查通过;本地桌面和 375px 页面确认遮罩覆盖侧栏,含符号密码发出模拟改密请求,没有修改真实密码。 - [x] 9.4 按用户要求全量核对后台新密码入口,确认五个文件中的七个输入统一校验/说明/长度且不 trim;补源码契约回归,全套 69 项通过,记录覆盖范围,不修改其他密码或新增权限。 ## 10. 用户追加:代理扫码注册密码(2026-10-14) - [x] 10.1 仅将代理扫码注册页及原注册接口的密码校验纳入,保持其他 C 端范围排除,同步规范。 - [x] 10.2 表单和注册服务复用统一规则;输入上限 12,完整规则独立显示,强度反馈不误认空格/中文,不 trim 密码。 - [x] 10.3 添加有效/无效密码、原字段/路径/免 Token/短信不变的回归;全套 71 项测试与类型、lint、stylelint、格式、编码、规范和生产构建检查通过。 - [ ] 10.4 当前浏览器连接不可用,扫码页移动端视觉和真实后端注册联调待验收;未发送真实短信或注册申请。 ## 11. 用户追加:注册错误提示与表头拖拽修复 - [x] 11.1 仅公开注册关闭公共消息,1050/1001 统一指定文案,其他错误按具体原因;失败保留表单,提交中阻止重复请求。 - [x] 11.2 公共列设置拖拽延后启动,校验真实且连接文档的 DOM;关闭/卸载/缓存停用销毁,列勾选和排序 model 保持。 - [x] 11.3 新增页面单次消息、HTTP/业务映射、表头生命周期回归,全套 78 项、类型、lint/stylelint、格式、编码、规范及生产构建通过;真实浏览器和后台验收仍待完成。