网报小程序 — 购物车与下单 — 产品需求说明书

版本 V1.1 更新 2026-07-28 涉及期数一期二期 全局规则引用:01-全局通用规则.md
一、购物车主页(已登录有数据) 6个字段

模块说明:购物车是家长管理已加购商品、按财务主体分组勾选并进入结算的核心页面。

入口:底部Tab「购物车」/ 课程详情加购成功  |  页面组成:购物车主页 → 学员切换 → 编辑删除

购物车主页

1. 界面结构

  • 顶部导航:标题"购物车" + 右侧"编辑"按钮
  • 学员切换头部(02 学员 §4.9 主属):头像 + 学员名 + ▼
  • 全选区:○ 全选按钮 + "全选"文字(单财务主体场景显示)
  • 商品列表(按财务主体分组):
    • 每组顶部显示主体名称(如"服务"/"农行智教-莲花北")
    • 每行商品:选择按钮 + 标签(推荐/续报/线下/在线/双师/AI)+ 班级名
    • 商品信息:📍地点 · 🕐时间 · 📅N次课 · 👤指导老师
    • 分段缴费明细:每段一行(学期/段次日期/价格)
  • 底部 footer:合计 ¥XXX + "查看详情∧" + "结算(N)" 橙色按钮
  • 拓科推荐区:"— ❤️ 推荐以下拓科服务 —" + 课程卡片

2. 数据规则

字段来源规则
分账主体分组cart.getCart() 接口按 financeId 分组,key=financeId, value={list[], checked}
价格对象 priceObj/v2/order/queryPre{totalPrice, originPrice, payEcouponDiscount, payClassDiscount, goodsNum}
拓科推荐cart.getExpandSubjects()服务降级 recommend_expand_subject,无数据时不显示。取数规则(2026-07-28 测试评审确认):当前城市,显示学期对应后两期的班级;排除该学生已有报读记录的;条件 = 当前城市 + 同学校(报读记录)+ 学科(报读记录的其他学科)+ 学生当前年级 + 有剩余学位
关联推荐cart.getRelatedClass()沿用现有逻辑,与主体无关(2026-07-26 确认 一期),服务降级时不显示。取数规则(2026-07-28 测试评审确认):当前城市,显示学期对应后两期的班级;排除该学生有报读记录的(不推荐);条件 = 当前城市 + 班级的校区 + 班级以外的其他学科 + 学生当前年级 + 有剩余学位
失效购物单cart.getCart() invalidList班级失效后自动归入底部灰色区域
预选课倒计时good.netRegDate + secondsToNetRegStart距开抢 HH:MM:SS,未到点禁用勾选

3. 状态说明

状态触发条件表现
正常态已登录 + 有学员 + 有数据完整商品列表 + 底部结算
编辑模式点右上角"编辑"底部"结算"变"删除",所有商品可勾选(含预选课)
预选课态good.isNetRegStarted = false显示禁用 icon + 倒计时,不可勾选
原班标签态(已移除)good.originClass 有值2026-07-28 测试评审决议:原班推荐逻辑未实现,去掉"原班 ›"标签及课程对比弹窗 UI(原设计:底部显示橙色"原班 ›",点击弹课程对比弹窗)

4. 交互规则

  • 全选:同一时间只能勾选一个主体,切换主体自动取消其他主体勾选
  • 勾选变化:每次勾选/取消触发 queryPre 重新计算价格
  • 结算按钮:跳转确认订单页,携带 selectedCartIds
  • 左滑删除:单个商品左滑显示红色删除按钮
  • 查看详情∧:展开优惠明细弹窗(合计/原价/已减/券减)
  • 切学员:store 置 cartStatus=true → 页面 activated 检测后强制刷新

5. 异常与兜底

  • queryPre 失败 → 维持上次价格,toast 提示
  • 批量删除接口失败 → 不变更 UI,toast 提示
  • 推荐服务不可用 → 推荐区隐藏,不影响主流程
  • 切学员后无数据 → 展示空状态

6. 配置项清单

配置项说明默认值
拓科推荐开关是否展示拓科推荐区域开启
关联推荐开关是否展示关联推荐(沿用现有逻辑,与主体无关)开启
预选课提前开放时间倒计时提前多久展示由后台班级配置
二、购物车 - 分主体分组与顾问分段 4个字段

模块说明:不同财务主体的商品按组隔离展示和勾选,顾问可通过 TMS 为家长配置分段支付。

入口:购物车主页内自动触发  |  页面组成:购物车主体分组卡片

分主体分组与顾问分段

1. 界面结构

  • 多主体分组:每个财务主体独立白卡,卡顶显示主体名
  • 主体名示例:"服务"、"农行智教-莲花北-深圳卓越培训中心"
  • 分段价格显示:每段单独行("7月8月1段 ¥700" / "7月8月2段 ¥700")
  • 顾问分段文案:TMS 同步来的分段,带顾问标识

2. 数据规则

字段来源规则
financeId 分组getCart 接口不同主体不能合并支付,前端按组隔离勾选
financeDisplayNamefinanceInfos[financeId]组头标题展示用
classPaySegments商品接口3种来源:产品分段/手动分段-网报/手动分段-TMS
segmentStatus接口返回0=已结课 / 1=现缴 / 2=待缴

3. 状态说明

  • 单主体:全选按钮可见,正常勾选全部商品
  • 多主体:每组独立勾选,选中 A 主体自动取消 B 主体
  • 段次状态:已结课(灰色) / 现缴(正常显示) / 待缴(浅色)

4. 交互规则

  • 切换主体勾选时自动 queryPre 重算价格
  • 分段信息默认全部展开,无折叠交互(2026-07-28 测试评审决议:原"展开/折叠、默认展开当前缴费段"设计未实现,移除折叠交互)
  • 顾问分段(P0 新增):TMS 同步购物车时顾问可选是否分段,按"城市+分校"维度配置
  • 家长侧看到的是分段后结构,无需再次选择
2026-07-26 修订:分段支付规则 二期
个性化分段配置:TMS 支持按分校配置收费段次;在分校不配置分段的情况下,可针对指定推送客户单独配置分段缴费(个性化分段);
同步购物车(分段支付):TMS 新增"同步购物车(分段支付)"操作,将当前学员及班级信息同步至网报购物车并打上需分段标签,推送信息包含学员信息、班级信息、分段信息(取基础信息中"个性化分段");
网报端识别优先级:优先按分校分段为准,再识别个性化分段

5. 异常与兜底

  • financeInfos 缺失 → 显示默认主体名"服务"
  • 分段数据缺失 → 显示整课价格,不展示段次明细

6. 配置项清单

配置项说明默认值
分段来源标识good.segmentSource: product/manual_wb/manual_tmsproduct
城市+分校分段配置TMS 后台配置,如寒暑全讲/春秋4讲按地区配置
三、购物车 - 切换学员/未登录/空状态 3种态

模块说明:购物车在三种前置条件下的占位态引导,优先级:未登录 > 无学员 > 空购物车。

入口:购物车主页自动判断  |  页面组成:切换学员弹窗 + EmptyDefault 占位组件

切换学员
未登录态

1. 界面结构

  • 切换学员弹窗:半屏弹窗,显示所有已绑定学员列表 + "添加学员"入口
  • 未登录占位:EmptyDefault 组件 + "暂无服务,请登录后查看" + "立即登录"按钮
  • 无学员占位:EmptyDefault + "暂无服务,请添加学员后查看" + "添加学员"按钮
  • 空购物车:EmptyDefault + "购物单空空如也~" + "去选课"按钮

2. 数据规则

状态判断条件展示文案按钮动作
未登录!hasLoggedIn暂无服务,请登录后查看立即登录 → toLogin
已登录无学员hasLoggedIn && !hasChild暂无服务,请添加学员后查看添加学员 → /addStudent
空购物车availableGroupedList 和 invalidList 均为空购物单空空如也~去选课 → /selectCourse

3. 状态说明

  • 3 种状态互斥,优先级:未登录 > 无学员 > 空购物车
  • 切换学员后:SET_CURRENTCHILD 同步 city+grade → SET_CRATSTATUS=true → activated 时清空 priceObj 重新拉取

4. 交互规则

  • 点击学员头部区域 → 弹半屏切换弹窗
  • 选择学员后弹窗关闭 → 购物车自动刷新数据
  • "立即登录" → 跳转微信授权登录流程
  • "去选课" → 跳转选课列表页(/selectCourse)

5. 异常与兜底

  • 登录接口超时 → toast 提示,保留当前页面
  • 学员列表拉取失败 → 不弹切换弹窗,toast 提示
  • 切换学员后 getCart 失败 → toast + 显示空态

6. 配置项清单

配置项说明默认值
空状态图片EmptyDefault 组件使用的空态图通用空状态图
登录引导文案未登录时展示文案"暂无服务,请登录后查看"
四、购物车 - 编辑/删除/失效/预选课 5个场景

模块说明:购物车的编辑删除、失效商品管理和预选课倒计时机制。

入口:购物车主页"编辑"按钮 / 左滑删除  |  无独立设计稿,交互基于购物车主页编辑态

本模块无独立设计稿,交互基于购物车主页设计稿中的编辑态。

1. 界面结构

  • 编辑模式:右上角"编辑"按钮切换 → 底部"结算"变"删除"按钮
  • 左滑删除:商品卡左滑出现红色"删除"按钮(单个删除)
  • 失效区:底部灰色区域展示已失效商品 + "清空失效商品"链接
  • 预选课:商品顶部显示"距开抢还有 HH:MM:SS"倒计时

2. 数据规则

场景规则
编辑模式isEditting=true 时,所有商品可勾选(含预选课未到点),底部切为"删除"按钮
左滑删除调用 /v2/shoppingcart/delete,claIds 逗号分隔
批量删除编辑模式多选后点"删除" → batchDelete + recompute 保证原子性
失效判定后端 getCart 返回 invalidList,班级状态为失效
预选课倒计时good.netRegDate + secondsToNetRegStart,前端 judgeFormat 计算

3. 状态说明

  • 正常模式:仅可勾选已开放商品,底部显示"结算"
  • 编辑模式:全部可勾选,底部显示"删除(N)"
  • 预选课未到点:icon 灰色禁用,编辑模式例外可选
  • 失效商品:灰色卡片,不可勾选,仅"清空"操作

4. 交互规则

  • "编辑"↔"完成" 切换编辑状态
  • 删除确认 → 调接口 → 成功后刷新列表 + 重新计价
  • 批量删除后上报 L2 埋点 batch_delete_cart(P0 新增)
  • "清空失效商品" → 一键删除所有失效项
  • 预选课倒计时到0 → 自动变为可选状态(无需刷新页面)

5. 异常与兜底

  • 删除接口失败 → 不变更 UI,toast "删除失败请重试"
  • 批量删除部分失败 → toast 提示失败数量,成功的正常移除
  • 预选课倒计时接口异常 → 隐藏倒计时,按不可选处理

6. 配置项清单

配置项说明默认值
左滑删除开关是否支持左滑删除开启
失效区展示上限失效商品最多展示条数无上限(全部展示)
五、确认订单 8个字段

模块说明:从购物车结算进入的订单确认页,展示商品清单、收货地址、优惠选择和报读协议,提交后进入支付。

入口:购物车"结算"按钮  |  页面组成:确认订单页 → 5个弹窗(缴费说明/协议/优惠详情/优惠券/口令)

确认订单-在线有地址
确认订单-线下无地址

1. 界面结构

  • 顶部导航:返回 ← + "确认服务"
  • 收货地址卡(顶部 zigzag 切口装饰):
    • 有值:省市区+详细地址 / 收件人+手机号
    • 无值:"选择收货地址,用于接收讲义" → 点击跳 /addressList
    • 仅线下有讲义班级才显示
  • 学员卡片:头像 + 学员名 + 学段|城市
  • 服务卡片(每班级一张):类型标签 + 班级名 + 信息行 + 段次明细(每段单独行)
  • 价格区:课程总价 / 优惠 / 优惠券 / 优惠口令 / 余额抵扣
  • 报读协议(仅特殊优惠服务):勾选 + 协议链接
  • 底部按钮:"合计 ¥XXX / 提交服务" 橙色按钮

2. 数据规则

字段来源规则
结算班级列表settlement.getConfirmClassList从购物车 selectedCartIds 进入
课程总价queryPre.payOriginPrice所有选中商品原价之和
课程优惠queryPre.payClassDiscount后端计算的课程折扣
优惠券抵扣queryPre.payEcouponDiscount用户选择优惠券后重算
优惠口令抵扣queryPre.payCouponDiscount兑换成功后重算
余额抵扣settlement.getAccountBalance有余额时自动抵扣
报读协议queryPre.protocols特殊优惠服务才返回,必须勾选后方可提交
预付快照URL query preplanSnapIdTMS 同步时有值 → 禁止修改优惠券/口令

3. 状态说明

  • 正常态:可选优惠券、输入口令、勾选协议后提交
  • TMS 预付态:preplanSnapId 存在时,优惠券/口令字段不可改(由顾问预先配置)
  • 无地址态:有讲义班级但未填地址 → 提交时弹 dialog "请填写收货地址"

4. 交互规则

  • 5个弹窗(van-popup):缴费说明❓/ 报读协议 / 优惠详情 / 优惠券半屏 / 优惠口令输入
  • 优惠/优惠券/口令 任一变化 → 触发 queryPre 重新计算
  • 优惠口令兑换:输入 → 调接口验证 → 成功显示口令卡片 + 折扣/减免金额
  • 提交服务 → 检查地址/协议 → 调 /v2/order/insert → 获取 orderPayId → 进入支付
  • L2 埋点:submit_order(P0 新增)

5. 异常与兜底

  • 未填收货地址 + 有讲义班级 → 弹 dialog "请填写收货地址"
  • 未勾协议 → toast "特殊优惠服务需要阅读并同意报读协议"
  • 余额变更 → 提交时后端检测到 → 提示"检测到您的账户余额发生了变化"
  • order/insert 失败 → toast 错误信息,按钮恢复可点击
  • "提交服务" 防重复:disabled + Loading 状态

6. 配置项清单

配置项说明默认值
缴费说明文案5 段静态文案(计费方式/优惠/余额/最终解释权)后端下发
优惠口令类型字典discountType: 2/3 → "X折" / 减免 → "¥X"
余额抵扣开关是否启用余额自动抵扣开启
六、收银台 5个字段

模块说明:提交订单后的支付页面,区分同主体(原生微信支付)和异主体(半屏小程序支付)两种路径。

入口:确认订单"提交服务"成功  |  页面组成:收银台(同主体为微信浮窗,异主体为独立页)

收银台-倒计时24小时内
收银台-倒计时30分钟内

1. 界面结构

  • 顶部导航:返回 ← + "收银台"
  • 应付金额:大字 ¥XXX.XX(橙色)
  • 剩余时间:倒计时显示(30分钟内 / 24小时内不同样式)
  • 订单号:灰底白卡展示订单编号
  • 支付方式
    • 小程序场景:微信支付(默认选中 ✓)— 单一方式
    • H5 场景:微信支付 + 支付宝(两选一)
  • 确定支付:底部橙色大按钮

2. 数据规则

字段来源规则
orderPayId提交订单返回支付主键
finance 主体购物车分组决定同/异主体支付路径
应付金额queryPre / insert 返回展示 + wx.requestPayment 入参
剩余时间订单创建时间 + 超时时长到点自动关单
预付参数后端"统一下单"接口{timeStamp, nonceStr, package, signType, paySign}

3. 状态说明

场景实现方式UI
同主体支付原生 wx.requestPayment微信原生支付浮窗(无独立页面)
异主体支付wx.navigateToMiniProgram 跳跨主体小程序半屏小程序支付,设计稿"收银台-h5"形式
同主体判断:商品 financeId 对应 mpAppId === 当前小程序 mpAppId

4. 交互规则

  • 同主体:点"确定支付" → wx.requestPayment → 成功后 redirectTo /resultPayment
  • 异主体:wx.navigateToMiniProgram 跳目标主体小程序 → 支付完成 navigateBackMiniProgram 返回
  • 倒计时到0:调 cancelOrder 取消订单 → 提示用户重新下单
  • 取消支付:留在收银台允许重试或取消订单
  • 支付期间整页禁用(防重复提交)

5. 异常与兜底

  • 支付超时 → 自动关单 + 提示"订单已超时,请重新下单"
  • 支付失败 → 弹窗展示错误 + "重试" / "取消订单" 按钮
  • 异主体跳转失败 → toast + 引导联系客服
  • 网络异常 → 保留 orderPayId,允许重新唤起支付

6. 配置项清单

配置项说明默认值
支付超时时长订单创建后多久自动关单30分钟(待确认 C-08)
mpAppId 映射各财务主体对应小程序 AppId待确认 C-03
七、支付结果 5个字段

模块说明:支付完成后的结果展示页,通过轮询获取支付状态,成功时触发订阅消息和报读须知。

入口:收银台支付完成 / 异主体支付返回  |  页面组成:支付结果页(成功/异常/轮询三种态)

支付成功
支付成功-变体
支付异常

1. 界面结构

  • 顶部导航:返回 ← + "支付结果"
  • 支付成功态
    • 大圆形绿色 ✓ + "支付成功" + "订单已完成"
    • 2 个按钮:"返回选课"(描边)/ "查看订单"(灰底)
    • 下方广告区:Banner + 文字"新人专属邀请礼等你来领"
  • 支付异常态:❌ + "支付异常" + "太多人查询啦,请稍后再试" + "刷新一下"按钮

2. 数据规则

字段来源规则
orderPayStatussettlement.getQueryOrderPayStatus'success_pay'/'finish_order'/'exception_order' 视为成功
totalOrderFinished同上true=订单已完成 / false=有待补缴段
toPayNextSegment!totalOrderFinished显示"支付下一段"按钮
advertisementsettlement.getPayAdvertisement支付完成页广告,降级 service.serviceQuery('ads')
retrystatus 接口true 时 1s 后再次轮询

3. 状态说明

  • 轮询中:Loading 态,等待后端确认支付状态
  • 支付成功 + 全完成:展示成功 + 拉起订阅消息
  • 支付成功 + 待补缴:展示"支付下一段"按钮 → 跳订单详情
  • 支付异常:展示异常 UI + 刷新/查看订单按钮

4. 交互规则

  • 进入页面 → 立即轮询 getQueryOrderPayStatus
  • retry=true → setTimeout 1s 再次轮询,直到获得稳定状态
  • "返回选课" → navigateTo /selectCourse
  • "查看订单" → navigateTo /orderDetail?tmsOrderId=xxx
  • "支付下一段" → 跳订单详情继续下一段缴费
  • "刷新一下" → 重新轮询

5. 异常与兜底

  • 轮询超时(多次 retry)→ 兜底展示异常态
  • 广告接口失败 → 广告区不展示,不影响主流程
  • 订阅消息接口失败 → 静默跳过,不阻塞结果页

6. 配置项清单

配置项说明默认值
轮询间隔retry 间隔时长1000ms
轮询上限最多重试次数10次(兜底展示异常)
广告位 ID支付完成页广告配置按城市+年级下发
八、报读须知 + 订阅消息弹窗 4个场景

模块说明:支付成功后触发的报读须知展示和微信订阅消息授权,确保家长不遗漏后续通知。

入口:支付成功页自动触发  |  页面组成:报读须知页(/notesBeforeClass) + wx.requestSubscribeMessage 弹窗

本模块依赖支付成功触发,无独立设计稿。

P0 新增:全使用流程报读推送弹窗(深圳分校反馈)

1. 界面结构

  • 报读须知页(/notesBeforeClass):旧版为 5 张长图拼接 + 2 个热区(下载链接/物流查询)
  • 订阅消息弹窗:wx.requestSubscribeMessage 原生弹窗

2. 数据规则

订阅节点sceneCode用途
支付完成 → 待补缴态fee_pay(已有)补缴提醒
支付完成 → 全完成course_start(新增)开课提醒
加购成功cart_remind(新增)订单未提交提醒
报读须知页class_notice(新增)课前/课后通知

3. 状态说明

  • 订阅弹窗仅在 totalOrderFinished=true 时拉起(有待补缴段时拉 fee_pay)
  • 用户选择"总是允许" → 前端记录授权状态,后续不重复打扰
  • 用户选择"拒绝" → 记录状态,本次流程静默通过

4. 交互规则

  • 支付成功 → 自动拉起 wx.requestSubscribeMessage
  • 报读须知热区:复制链接 + toast "已复制链接地址,请打开浏览器粘贴"
  • 多场景适配:复用 RequestSubscribeMessage 组件,新增多 sceneCode

5. 异常与兜底

  • 订阅消息服务不可用 → 静默跳过,不阻塞主流程
  • 报读须知图片加载失败 → 展示兜底文案版本
  • wx.requestSubscribeMessage 调用被用户取消 → 不做任何阻塞处理

6. 配置项清单

配置项说明默认值
模板 ID 列表各 sceneCode 对应的微信模板 ID后端配置下发
报读须知形式长图/H5/小程序原生(待确认 C-01)长图(旧版)
订阅频率限制同一用户同一 sceneCode 弹窗间隔每流程最多1次
九、核心流程图(购物车→支付全链路) 1张流程图

模块说明:购物车到支付完成的全链路业务流程图,覆盖购物车操作 → 确认订单 → 支付路由 → 结果处理。

涵盖模块一至八的全部核心交互节点

flowchart TD Start([加购成功/底部Tab]) --> Cart[进入购物车 /cart] Cart --> CheckLogin{已登录+已绑学员?} CheckLogin -- 否 --> Block[占位态引导登录/添加学员] CheckLogin -- 是 --> Load[加载购物车数据] Load --> UserOp{用户操作} UserOp -- 切学员 --> Switch[切换学员刷新] Switch --> Load UserOp -- 删除 --> Delete[单删/批量删除] Delete --> Load UserOp -- 勾选商品 --> Check[queryPre重算价格] Check --> Settle[点击结算] Settle --> Confirm[确认订单 /confirmOrder] Confirm --> Discount[选优惠券/口令/余额] Discount --> QueryPre[queryPre重算] QueryPre --> Protocol{需协议?} Protocol -- 是 --> Agree[阅读+勾选协议] Protocol -- 否 --> Submit Agree --> Submit[提交服务 /order/insert] Submit --> PayRoute{同主体?} PayRoute -- 是 --> WxPay[wx.requestPayment] PayRoute -- 否 --> JumpMP[跳跨主体小程序支付] WxPay --> Result[支付结果 /resultPayment] JumpMP --> Result Result --> Poll[轮询支付状态] Poll --> Status{状态} Status -- 成功 --> Success[支付成功] Status -- 异常 --> Exception[支付异常-重试] Success --> Finished{全部完成?} Finished -- 是 --> Subscribe[拉起订阅消息] Finished -- 否 --> NextSeg[支付下一段] Subscribe --> Notice[报读须知] Notice --> Done([流程结束])
十、TMS 加购入口 P0新增

模块说明:顾问在 TMS 后台为家长生成购物车同步链接,家长扫码后自动绑学员并将顾问配置的商品批量加购到购物车。

入口:顾问扫码二维码  |  页面组成:/shareFromTms → /shareOrderFromTms → /shareRepayFromTms

本模块为 TMS 后台→家长端的跨系统链路,无独立家长端设计稿。

P0 新增:顾问分段配置(TMS 后台可选当前用户是否分段)

1. 界面结构

  • 扫码落地页(/shareFromTms):自动绑学员 → 展示班级列表 → 点"更新至购物车"
  • 班级列表:沿用确认订单的卡片样式(类型标签 + 班级名 + 信息行 + 段次明细)
  • 更新按钮:"更新至购物车(N)" 底部橙色按钮

2. 数据规则

路由参数含义来源
uuidTMS 后台同步会话唯一标识TMS 生成的二维码
stuMemberId目标学员 ID同上
shareUserId顾问 ID(归因)同上
shareUserPhone顾问手机号(备用)同上
claIds逗号分隔班级 ID 列表同上

3. 状态说明

错误码含义前端处理
200成功跳转 /cart 查看购物车
5005/5006/5011诊断分层冲突弹 CourseShowDialog"无法处理的班级,请先参加学习诊断"
5003服务冲突弹"以下 N 个班级未能更新至服务"

4. 交互规则

  • 进入页面 → 调 mine.bindChildFromTms 绑学员
  • 绑学员成功 → 调 settlement.getConfirmClassList 拉商品
  • 展示班级列表 + 段次
  • 点"更新至购物车" → 调 cart.batchAdd({claIds, ignoreTest})
  • 顾问分段配置(P0 新增):TMS 后台顾问勾选"当前用户是否分段" → 后端按"城市+分校"配置生成段次 → 写入 batchAdd 入参
  • 同步购物车(分段支付)二期(2026-07-26 修订):TMS 推送学员信息、班级信息、分段信息(取"个性化分段")并打需分段标签;网报端优先按分校分段,再识别个性化分段(详见模块二分段支付规则)
  • 家长侧看到的购物车直接是分段后结构,无需再次选择
  • 前端字段 good.segmentSource(product/manual_wb/manual_tms)用于埋点区分

跨链路入口

  • /shareFromTms:TMS 购物车同步(主入口)
  • /shareOrderFromTms:TMS 服务分享
  • /shareRepayFromTms:补缴分享(配合我的-补缴结算)

5. 异常与兜底

  • bindChildFromTms 失败 → toast + 引导联系顾问
  • batchAdd 部分失败 → 展示成功/失败明细
  • 二维码过期(uuid 无效)→ 提示"链接已失效,请联系顾问重新生成"

6. 配置项清单

配置项说明默认值
分段来源标识good.segmentSource: product/manual_wb/manual_tmsproduct
城市+分校分段配置TMS 后台配置(寒暑全讲/春秋4讲等)按地区配置
二维码有效期TMS 生成的二维码有效期待确认
十一、修订记录(V1.1 / 2026-07-28)
修订项修订内容期数依据来源日期
分段支付规则新增:TMS支持按分校配置收费段次+针对指定客户的个性化分段;TMS"同步购物车(分段支付)"推送学员/班级/分段信息并打需分段标签;网报端优先按分校分段,再识别个性化分段二期改动汇总 §3.1/§3.22026-07-26
关联推荐口径购物车关联推荐确认沿用现有逻辑(与主体无关),修正原"同主体相似课推荐"表述一期改动汇总 §3.7/§7.82026-07-26
分段折叠交互移除分段信息默认全部展开,去掉展开/折叠交互(原设计未实现)(§2 交互规则)一期2026-07-28 测试评审会2026-07-28
原班推荐 UI 移除原班推荐逻辑未实现,去掉"原班 ›"标签及课程对比弹窗 UI(§1 状态说明)一期2026-07-28 测试评审会2026-07-28
拓科/关联推荐取数规则补充拓科推荐与关联推荐的完整取数规则(城市/学校/学科/年级/剩余学位维度)(§1 数据规则)一期2026-07-28 测试评审会2026-07-28
期数徽标说明:一期 2026年9月版本实现;二期 后续版本;三期 规划中。仅本次修订涉及的内容打标,存量未变更内容不打标。