模块说明:从购物车结算进入的订单确认页,展示商品清单、收货地址、优惠选择和报读协议,提交后进入支付。
入口:购物车"结算"按钮 | 页面组成:确认订单页 → 5个弹窗(缴费说明/协议/优惠详情/优惠券/口令)
| 字段 | 来源 | 规则 |
|---|---|---|
| 结算班级列表 | settlement.getConfirmClassList | 从购物车 selectedCartIds 进入 |
| 课程总价 | queryPre.payOriginPrice | 所有选中商品原价之和 |
| 课程优惠 | queryPre.payClassDiscount | 后端计算的课程折扣 |
| 优惠券抵扣 | queryPre.payEcouponDiscount | 用户选择优惠券后重算 |
| 优惠口令抵扣 | queryPre.payCouponDiscount | 兑换成功后重算 |
| 余额抵扣 | settlement.getAccountBalance | 有余额时自动抵扣 |
| 报读协议 | queryPre.protocols | 特殊优惠服务才返回,必须勾选后方可提交 |
| 预付快照 | URL query preplanSnapId | TMS 同步时有值 → 禁止修改优惠券/口令 |
submit_order(P0 新增)| 配置项 | 说明 | 默认值 |
|---|---|---|
| 缴费说明文案 | 5 段静态文案(计费方式/优惠/余额/最终解释权) | 后端下发 |
| 优惠口令类型字典 | discountType: 2/3 → "X折" / 减免 → "¥X" | — |
| 余额抵扣开关 | 是否启用余额自动抵扣 | 开启 |
模块说明:提交订单后的支付页面,区分同主体(原生微信支付)和异主体(半屏小程序支付)两种路径。
入口:确认订单"提交服务"成功 | 页面组成:收银台(同主体为微信浮窗,异主体为独立页)
| 字段 | 来源 | 规则 |
|---|---|---|
| orderPayId | 提交订单返回 | 支付主键 |
| finance 主体 | 购物车分组 | 决定同/异主体支付路径 |
| 应付金额 | queryPre / insert 返回 | 展示 + wx.requestPayment 入参 |
| 剩余时间 | 订单创建时间 + 超时时长 | 到点自动关单 |
| 预付参数 | 后端"统一下单"接口 | {timeStamp, nonceStr, package, signType, paySign} |
| 场景 | 实现方式 | UI |
|---|---|---|
| 同主体支付 | 原生 wx.requestPayment | 微信原生支付浮窗(无独立页面) |
| 异主体支付 | wx.navigateToMiniProgram 跳跨主体小程序 | 半屏小程序支付,设计稿"收银台-h5"形式 |
| 配置项 | 说明 | 默认值 |
|---|---|---|
| 支付超时时长 | 订单创建后多久自动关单 | 30分钟(待确认 C-08) |
| mpAppId 映射 | 各财务主体对应小程序 AppId | 待确认 C-03 |
模块说明:支付完成后的结果展示页,通过轮询获取支付状态,成功时触发订阅消息和报读须知。
入口:收银台支付完成 / 异主体支付返回 | 页面组成:支付结果页(成功/异常/轮询三种态)
| 字段 | 来源 | 规则 |
|---|---|---|
| orderPayStatus | settlement.getQueryOrderPayStatus | 'success_pay'/'finish_order'/'exception_order' 视为成功 |
| totalOrderFinished | 同上 | true=订单已完成 / false=有待补缴段 |
| toPayNextSegment | !totalOrderFinished | 显示"支付下一段"按钮 |
| advertisement | settlement.getPayAdvertisement | 支付完成页广告,降级 service.serviceQuery('ads') |
| retry | status 接口 | true 时 1s 后再次轮询 |
| 配置项 | 说明 | 默认值 |
|---|---|---|
| 轮询间隔 | retry 间隔时长 | 1000ms |
| 轮询上限 | 最多重试次数 | 10次(兜底展示异常) |
| 广告位 ID | 支付完成页广告配置 | 按城市+年级下发 |
| i学习君关注引导卡 | 按订单学生「业务系统+城市+分校」教学服务配置下发;未配置/删除/匹配失败/接口异常时不展示;支付成功与支付异常态均显示(0809 评审决议 7);已关注用户过滤与频控不在本配置范围(14 §4.3) | 不展示(14 页开关默认关闭) |
模块说明:支付成功后触发的报读须知展示和微信订阅消息授权,确保家长不遗漏后续通知。
入口:支付成功页自动触发 | 页面组成:报读须知页(/notesBeforeClass) + wx.requestSubscribeMessage 弹窗
| 订阅节点 | sceneCode | 用途 |
|---|---|---|
| 支付完成 → 待补缴态 | fee_pay(已有) | 补缴提醒 |
| 支付完成 → 全完成 | course_start(新增) | 开课提醒 |
| 加购成功 | cart_remind(新增) | 订单未提交提醒 |
| 报读须知页 | class_notice(新增) | 课前/课后通知 |
| 配置项 | 说明 | 默认值 |
|---|---|---|
| 模板 ID 列表 | 各 sceneCode 对应的微信模板 ID | 后端配置下发 |
| 报读须知形式 | 长图/H5/小程序原生(待确认 C-01) | 长图(旧版) |
| 订阅频率限制 | 同一用户同一 sceneCode 弹窗间隔 | 每流程最多1次 |
模块说明:本小程序 “报名/订单支付成功页” 底部展示的 Banner 区。该区与首页 Banner 复用同一后台配置页(广告管理),仅按「发布到」字段区分。
入口:支付成功页 | 展示形式:大图轮播(同首页 Banner 交互规则)
| 字段 | 来源 | 说明 |
|---|---|---|
| Banner列表 | 运营配置后台(广告管理) | 取数条件:适用终端 ∈ {微信小程序, 通用} AND 发布到 ∈ {小程序支付成功页, 通用} AND 城市+年级匹配 |
| 触发时机 | — | 仅在报名/订单支付完成后跳转的支付成功页出现 |
| 字段结构 | — | 与首页 Banner 完全一致(跳转类型/目标/是否需登录/传递登录态) |
与 一期/03-首页「模块 7:Banner 轮播」§8.4 完全一致。
| 状态 | 表现 |
|---|---|
| 有0条数据 | 支付成功页不展示 Banner 区(遵循 01 §4 状态通则) |
| 有1条数据 | 不自动轮播,隐藏分页指示器 |
复用「广告管理」后台配置页,运营配置时仅需:适用终端 = 微信小程序 、 发布到 = 小程序支付成功页。后台原型详见 08-轮播图管理改造原型。
模块说明:购物车到支付完成的全链路业务流程图,覆盖购物车操作(勾选重算 + 底部优惠展示)→ 确认订单 → 支付路由 → 结果处理。
涵盖购物车至支付完成的全部核心交互节点(购物车侧规则详见 二期/07-购物车)
模块说明:系统化整理购物车 → 确认订单 → 支付链路的金额与优惠计算口径,整合本页 §一/§二 与 二期/07-购物车、二期/09-分段收费 的既有字段描述,无规则新增。
| 触发点 | 时机 | 说明 |
|---|---|---|
| 购物车勾选变化 | 勾选/取消勾选商品、切换学员 | queryPre 重算,底部合计与「查看详情∧」优惠明细同步刷新(07 §一) |
| 选择优惠券 | 确认订单页选择/更换优惠券 | payEcouponDiscount 重算后触发 queryPre(本页 §一) |
| 优惠口令兑换成功 | 口令验证通过后 | payCouponDiscount 重算后触发 queryPre(本页 §一 1.5) |
| 余额抵扣变化 | 确认订单页勾选/取消余额抵扣 | 价格区重算(本页 §一) |
| 组成项 | 接口字段 | 说明 |
|---|---|---|
| 课程总价(原价) | queryPre 价格区 | 勾选商品合计(分段商品为当前可缴首段金额) |
| 课程折扣 | queryPre.payClassDiscount | 后端计算的课程折扣(本页 §一) |
| 优惠券抵扣 | queryPre.payEcouponDiscount | 用户选择优惠券后重算(本页 §一) |
| 优惠口令抵扣 | queryPre.payCouponDiscount | 兑换成功后重算(本页 §一 1.5) |
| 余额抵扣 | queryPre 价格区 | 余额抵扣金额 |
| 应付金额 | queryPre / insert 返回 | 大字 ¥XXX.XX(橙色)展示 + wx.requestPayment 入参(本页 §二/§三) |
| 场景 | 计算口径 |
|---|---|
| TMS 预付态 | preplanSnapId 存在时优惠券/口令字段不可改(由顾问预先配置),金额按顾问配置计算(本页 §一 状态说明) |
| 分段商品 | 购物车与结算只缴当前可缴首段,应付金额为首段金额;后续段次走待补缴链路(09 §二/§五) |
| 开课后 | 不显示优惠信息;实际支付以真实可享优惠策略为准(06-课程详情 修订记录「开课后优惠展示」) |
useBestCoupons: true(portal-vue cart.vue,最优券自动选中为既有行为)。另:余额自动抵扣时 toast「已自动为您使用账户余额¥X进行抵扣」(源码 confirmOrder.vue toastBalanceDeduction,迁移时需确认文案保留)。模块说明:系统化整理购物车 → 确认订单 → 支付链路上的班级有效性校验点,整合 二期/07-购物车 §四 失效判定与 二期/09-分段收费 段次口径,无规则新增。
| 校验点 | 时机 | 处理 |
|---|---|---|
| 购物车加载 | getCart 返回 | invalidList 归入底部失效区,现行口径 5 类:① 班级下架 ② 服务已截止报名 ③ 服务已结课 ④ 服务已满班 ⑤ 分段商品全部段次已过期(07 §四;2026-08-05 已裁定按现行口径,原待确认清单 1 已闭环) |
| 未到缴费时间 | 购物车加载 | 不入失效区:留正常商品区置灰不可勾选,编辑模式可选,倒计时到点自动可选(07 §四) |
| 结算 / 提交订单 | 点击「结算(N)」或 /order/insert 提交 | 班级在勾选后变为失效 → 拦截并 toast 提示。旧版源码已有该机制(2026-08-05 核查):queryPre / insert 返回非 200 时前端 Toast.fail(message) 展示后端下发的拦截文案;专属错误码 5020 = 学位已被锁定 → 弹窗「你的孩子已经锁定了班级学位,是否前往待支付服务查看?」(确定 → 跳我的订单·待支付);加购/课程详情时点另有 toast「抱歉,该班级结课了,请看看其他班级」;部分班级未配置财务主体 → toast「部分班级未配置财务主体,未能正常购买,请联系班主任」。原待确认清单 11 已闭环(沿用后端 message 机制,无需新增需求) |
| 分段商品段次 | 结算链路各点 | 单个段次「已过期」不导致商品失效(09 §三);全部段次过期 = 失效第 ⑤ 类,入失效区 |
| 加购时点校验 | 课程详情加购 | 报名截止时间校验文案「已超过报名截止时间」(TMS 网报报名截止时间配置项,06 修订记录) |
| 修订项 | 修订内容 | 期数 | 依据来源 | 日期 |
|---|---|---|---|---|
| 支付结果页关注引导卡规则补入 | 合入企微文档《i学习君消息推送与引导关注》(《卓越统一家长端方案分析》目标页 p=G7GTtF):m3 界面结构新增「i学习君」关注引导卡(按「业务系统+城市+分校」配置显隐、卡片含主体名称+「立即」按钮+标签①开课提醒②学习资料③成长报告);交互规则补关注跳转与学员中心绑定引导;配置项清单与 note 补成功/异常态均显示、未配置隐藏、已关注过滤不在本配置范围等口径;「查看订单/查看服务」文案差异列入待确认 | 三期 | 企微文档《i学习君消息推送与引导关注》2026-08-18 提取 + 0809 评审决议 7 + 00 V1.12 | 2026-08-18 |
| 流程注清理 | 删除「原待确认清单 N 已闭环」「用户裁定归属/承载/迁入」等闭环与归属性流程注,保留裁定结果内容与来源依据注 | 三期 | 用户裁定 2026-08-06 | 2026-08-06 |
| 红框标注校准 | 按 PIL 图像测量 + 读图目检校准 13 处部件级红框位置:修正弹窗/toast/列表区域框错位,叠加弹窗图(输错 1/2)改框整组弹窗区,同页面不同状态截图确认沿用同参数 | 三期 | PIL 测量校准 2026-08-05 | 2026-08-05 |
| m3 支付结果图序号标注 | 支付结果 4 图新增序号徽标(1 支付成功/2 成功变体/3 支付异常/4 成功+待补缴),note 引用同步改「序号 4 图」(依 05 §3.2 用户裁定模式推广) | 三期 | 用户裁定 2026-08-05 | 2026-08-05 |
| 图组布局规则统一 | 依 00 V1.10 新布局规则:同层级多图(同图不同状态/图+弹窗/同流程步骤)一律横排,每张统一 280px 宽(uniform),容器横向滚动查看(细滚动条常显 + 右侧渐变提示防漏看);本页 12 个图组统一改造(其中 3 组竖排改横排),half/third 混宽与多图竖排旧规则废止 | 三期 | 用户裁定 2026-08-05 | 2026-08-05 |
| 异常兜底事实核查清理 | 删除「支付超时 → 自动关单 + 提示"订单已超时,请重新下单"」(核查项 K9)与「支付失败 → 弹窗展示错误 + 重试/取消订单按钮」(核查项 K10)2 条纯推测条款,移入红字待确认登记;「检测到您的账户余额发生了变化」/收货地址/报读协议提示源码有据保留 | 三期 | portal-vue 源码 grep 核查 2026-08-05 | 2026-08-05 |
| 业务规则库接入 | 订单状态引用 WB-ORDER-001,金额优惠与支付路由引用 WB-PAY-001,提交前课程状态与加购冲突分别引用 WB-COURSE-001 / WB-CART-001 | 跨期 | 业务规则库首批提取 | 2026-08-05 |
| 待裁定回写(4 条闭环) | ① §八 失效口径裁定按现行口径(清单 1);② §七 叠加与互斥裁定:先折后减 + 命中多个不可叠加方案时自动选中最优组合(源码 queryPre useBestCoupons:true 佐证;另登记余额自动抵扣 toast 文案,清单 10);③ §八 结算/提交失效拦截裁定:沿用旧版源码既有机制——queryPre/insert 非 200 时 Toast.fail(后端 message)、5020 学位锁定弹窗、结课 toast、财务主体 toast(清单 11,无需新增需求);④ §一 1.3 登记券半屏弹窗空状态图「空状态.png」(读图核实归属) | 三期 | 用户裁定 2026-08-05 + portal-vue 源码核查(cart.vue/confirmOrder.vue/classDetails.vue) | 2026-08-05 |
| 网报3.0设计稿合入 | 合入网报3.0升级设计稿-20260804:m1 新增 1.2 新版主态对照(在线课有地址/线下课无地址)、1.3 弹窗与地址交互(缴费说明/优惠/余额toast/选择地址/添加地址/已填 6 图)、1.5 优惠口令弹窗(6 图);m2 新增 2.1 H5 支付宝与返回提示(3 图);m3 补第 4 图「支付成功-订单有下一段支付」(待补缴态);m4 占位换深圳报读须知 3 图。排除「确认服务--ai转代码测试」1 张疑似测试稿(待确认清单) | 三期 | 网报3.0升级设计稿-20260804 + 底料 06-cart | 2026-08-05 |
| 讨论记录增量落地 | ① m1 新增 1.4 收货地址管理子页(/addressList,6 图):网报自管、TMS 不导入物流(15.12);② m4 登记物流信息页面不做(15.10);③ m2 补深圳农行打通支付宝背景(15.4,财务资料已申请待 IT 对接)+ 农行智教第三方页面(12.7) | 三期 | 企微-网报讨论记录 15.4/15.10/15.12/12.7 | 2026-08-05 |
| 流程图补优惠展示 + 计算/校验逻辑成节 | ① §六 流程图补购物车「底部合计 + 查看详情∧优惠明细」节点(勾选重算 → 优惠展示 → 结算);② 新增 §七 金额/优惠计算逻辑(7.1 queryPre 重算触发点 / 7.2 金额组成与计算 / 7.3 TMS 预付态与分段特殊场景;叠加顺序与互斥规则标待确认-清单10);③ 新增 §八 班级有效性校验逻辑(购物车加载失效 5 类 / 未到缴费时间不入失效区 / 结算提交拦截待确认-清单11 / 分段段次口径 / 加购时点校验);均整合既有口径无规则新增;修订记录由七章顺延为九章 | 三期 | 用户要求(2026-08-05) | 2026-08-05 |
| 期数目录拆分 | 原「07-购物车与下单」按期数拆分:§五~§九(确认订单/收银台/支付结果/报读须知与订阅/核心流程图)归属三期(本页);购物车侧内容(§一~§四 + TMS 加购入口)见 二期/07-购物车;原 03-首页「八附·支付成功页 Banner」移入本页 §五;原 11 行购物车侧修订记录随二期页归档;期数语义重定义为开发里程碑(M1/M2/M3),旧期数徽标语义作废,徽标全量清除 | 三期 | 20260917网报三期功能梳理.xlsx | 2026-08-04 |