All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 23m46s
- 套餐历史展示沉默期状态、截止日期、累计延期与调整审批中,可延期时显示延期入口 - 新增延期页:资格、档位与自定义天数试算、支付方式、下单(request_id 幂等) - 支付宝走现有支付页;微信为链接时在微信外直接跳转,否则展示二维码与复制链接 - 新增我的延期订单列表与详情、沉默期记录,沉默期错误码转客户提示
3.5 KiB
3.5 KiB
1. 接口与工具
- 1.1 新增
api/modules/packageSilence.js(eligibility、quote、createOrder、getOrders、getOrder、getRecords),在api/index.js导出 - 1.2 确认
normalizeAssetPackageHistory保留silence对象(含加油包子节点),补充布尔字段extendable、silence_adjust_pending归一化 - 1.3 新增
utils/silence.js(错误码与延期纯函数,代替原计划的 silence-errors.js):错误码 1263~1274 与资格reason的客户提示文案,1265/1266 拼接范围 - 1.4 新增延期支付方式过滤:
allowed_payment_methods与wechat、alipay取交集
2. 套餐历史展示
- 2.1
PackageHistoryNode.vue增加沉默期区域:状态名、截止日期、沉默期天数、累计延期天数、"调整审批中";silence为空不渲染 - 2.2
extendable = true时显示"延期"入口,跳转延期页并带package_usage_id - 2.3 有
silence的套餐显示"沉默期记录"入口 - 2.4 套餐历史页增加"我的延期订单"入口;从延期成功返回时刷新列表
3. 延期页
- 3.1 新建
pages/silence-extension/silence-extension并注册pages.json - 3.2 加载资格:不能办理时展示原因;有
pending_order_no时提示并提供订单详情入口;1274 显示功能未开放 - 3.3 展示当前截止日期、已过期天数、
options档位(计费天数、金额、新截止日),默认选第一档 - 3.4 自定义天数输入:范围与整数校验,防抖调用试算,丢弃过期响应
- 3.5 支付方式选择;无可用方式时提示暂不支持在线延期
- 3.6 下单:生成并复用
request_id,提交中防重复,错误码按 1.3 提示 - 3.7 拉起支付:支付宝走现有支付宝支付页;微信按 design D5(链接跳转或二维码);拉起前写待刷新标记(微信:微信外为链接直接跳转,其余进入延期支付页展示二维码与复制链接)
- 3.8
onShow消费待刷新标记后查询订单详情,completed时提示延期成功
4. 延期订单与流水
- 4.1 新建延期订单列表页(分页、按支付时间筛选、默认当前资产)(已做分页与默认当前资产;按支付时间筛选未做)
- 4.2 新建延期订单详情页:订单号、套餐、输入/计费天数、金额、状态、支付方式、截止时间变化、支付与生效时间;
pending_payment且有qr_content时"继续支付" - 4.3 新建沉默期流水页:按时间展示
event_name、截止时间变化、天数,空状态
5. 测试与验证
- 5.1 在
tests/增加用例:沉默期显示与入口条件、天数校验、request_id复用、错误码映射、支付返回刷新(tests/silence.test.mjs 覆盖天数校验、request_id 复用、错误码映射、支付方式过滤;页面级的显示与入口条件、支付返回刷新未写自动化用例;既有 october-h5 38 项通过) - 5.2 本地
build:h5(development 模式)通过,确认接口指向测试后端 - 5.3 确认延期订单微信支付方式(design Open Questions),按结论调整 3.7(测试库微信商户池为 wechat_v2 直连,返回 H5 支付链接,公众号内需实测)
- 5.4 测试环境打开沉默期总开关后,用测试资产走通:展示 → 资格 → 试算 → 下单 → 支付 → 延期生效 → 流水
- 5.5 推送
iteration/8-11部署测试环境(先排查 C 端 CI 未触发构建的原因)