网报小程序 M1 首页 — 产品需求说明书

版本 V2.6 更新 2026-08-07 归属:一期(M1 · 首页,2026-06-25 技术可上线) M1 交付 2026-06-25
一、跳转配置总览

模块说明:首页各可跳转模块(金刚区/Banner/瓷片区/活动体验/营销弹窗/专属顾问)的跳转能力、配置方式与登录拦截策略横向对比。各模块详情中不再重复描述跳转能力,只聚焦具体行为。

⚠ 待确认:金刚区、Banner、瓷片区、活动体验、营销弹窗等模块的跳转配置,统一维护系统待确认(当前均写为“运营配置后台”)。
模块跳转类型配置方式登录拦截
金刚区H5 / 小程序内页 / 其它小程序 / 公众号文章后台按城市自由配置入口+目标可配置(开关);拦截后拉起登录成功后跳转
Banner 轮播H5 / 小程序内页 / 其它小程序 / 公众号文章后台按城市+年级自由配置可配置(每张图片独立开关,见 §8.6);未登录时按开关拦截
瓷片区固定 H5(转介绍 / 入学诊断)后台固定 2 个入口,按城市+年级配置是否显示需登录
活动体验小程序活动详情页后台按城市+年级配置活动卡片+目标无拦截
营销弹窗H5 / 小程序内页 / 其它小程序 / 公众号文章后台按城市+年级+发布时间配置弹窗内容+跳转按入口需要设置(跳转需登录时拉起登录)
专属顾问企微二维码(页内展示)后台按城市+年级配置不同企微二维码无拦截(未登录可进入)
分享有礼(入口位置以设计稿为准)H5 写死链接:https://yy.zy.com/dymzjsbsabc/h5/active?ppid=685597&city=广州无后台配置(前端写死)—(不归属上表具体模块)
分享有礼为 H5 写死链接、无后台配置,不归属金刚区/Banner/瓷片区等任何具体模块(本文档各模块均未承载该入口),入口位置以设计稿为准;「我的」页活动与顾问卡片同口径(见 三期/05-我的 §1.1)。
跨端登录补全机制:跨小程序跳转或小程序内打开 H5 时,若目标侧未登录,将基于同一套外部通行证(以手机号为唯一标识)自动静默无感登录(用户无感知),并自动选中与来源侧一致的学员。详见 02-登录与学员管理 § 跨端登录。
二、模块 1:顶部头部(吸顶区域)

模块说明:首页顶部吸顶导航区,承载学员信息展示、年级/城市切换入口。已登录显示学员头像+姓名,未登录显示“点击登录”。

入口:首页顶部常驻  |  状态区分:已登录 / 未登录

已登录态
未登录态

2.1 界面结构

已登录态:

  • 左侧:学员圆形头像(带切换小图标)+ 学员姓名
  • 中间:胶囊按钮「年级 | 城市 ▼」
  • 右侧:微信胶囊(系统原生)

未登录态:

  • 左侧:橙色文字"点击登录"
  • 中间:胶囊按钮「高一 | 广州 ▼」(默认值,若定位成功则城市更新为定位城市,年级仍为默认"高一")
  • 右侧:微信胶囊

2.2 数据规则

字段来源说明
学员头像+姓名会员库(登录账户当前选中学员)切换学员后实时更新
年级当前学员绑定年级/手动切换切换后刷新全页
城市当前学员绑定城市/定位/手动切换切换后刷新全页
数量限制—N/A(单一学员信息展示)
排序—N/A
刷新 & 缓存—见 01 §3.2 刷新时机,不做本地缓存

2.3 状态说明

状态表现
已登录显示学员信息(头像+名字),展示完整功能
未登录显示"点击登录",年级默认高一,城市按定位或默认广州
头部始终展示,属于 01 §4 状态通则例外模块。

2.4 交互规则

操作响应
点击头像/学员名区域弹出「切换学员」弹窗
点击「年级|城市 ▼」胶囊弹出「年级选择」弹窗
未登录时点击"点击登录"拉起微信登录流程
页面滚动头部+搜索栏作为整体吸顶

2.5 异常与兜底

场景处理
定位授权拒绝静默使用默认城市广州(同定位失败逻辑)
其他场景遵循 01 §6 异常与兜底通则

2.6 配置项清单

— 无后台配置,数据均来自登录账户。

2.7 定位授权样式(网报3.0升级设计稿-20260804)
首页定位授权样式

定位授权说明

  • 首次进入首页尝试 wx 定位授权(微信原生 authorize scope.userLocation 弹窗)
  • 允许:获取定位城市 → 若未手动切换过城市则使用定位城市(年级仍默认)
  • 拒绝:不弹引导,静默使用默认城市广州(见 2.5 异常与兜底)
  • 用户主动手动选择城市后,不再被定位自动覆盖(见模块 4 城市选择弹窗)
来源:网报3.0升级设计稿-20260804。定位/城市切换完整规则见「模块 4:城市选择弹窗」与 02 §定位逻辑。
三、模块 2:多孩切换(切换学员弹窗)

模块说明:支持家长在多个绑定学员之间切换(最多5个),切换后全页刷新对应学员数据。

入口:点击头部学员头像/姓名  |  展示形式:底部弹窗(学员列表 + 添加学员入口)

切换学员弹窗

3.1 界面结构

  • 类型:底部上拉半屏弹窗
  • 标题:「切换学员」
  • 关闭:右上角 × 按钮
  • 每行:圆形头像 + 姓名(粗体)+ 「年级 | 城市」(灰色小字)
  • 当前选中学员:橙色描边 + 浅橙背景 + 右侧橙色 ✓
  • 其他学员:灰色描边 + 右侧空心圆圈

3.2 数据规则

字段来源说明
学员列表会员库(当前家长账号下绑定学员)包含头像、姓名、年级、城市
数量限制—最多 5 个学员,弹窗内列表超出可滚动
排序—按绑定时间倒序(最新绑定的学员排在最前)
刷新 & 缓存—见 01 §3.2 刷新时机,不做本地缓存

3.3 状态说明

状态表现
多个学员列表展示全部学员,当前选中高亮
仅一个学员仍然弹窗,列表只显示1个学员项

3.4 交互规则

操作响应
点击其他学员选中新学员 → 城市和年级自动更新 → 首页全部模块刷新
点击 ×关闭弹窗,不做任何变更

3.5 异常与兜底

场景处理
切换后购物车刷新显示当前学员数据
网络异常保持当前学员,Toast 提示(后端下发 message,前端不硬编码文案)

3.6 配置项清单

— 无后台配置,数据来自登录账户绑定学员。

四、模块 3:年级选择弹窗

模块说明:供用户切换当前年级,切换后首页内容按新年级重新加载。年级列表为前端固定枚举(幼儿园~高中)。

入口:点击头部「年级|城市」胶囊  |  展示形式:底部半屏弹窗(学段→年级列表)

年级切换弹窗

4.1 界面结构

  • 类型:底部上拉半屏弹窗
  • 标题:「请选择年级」+ 右上角 × 关闭
  • 左上角:📍城市标签(橙色描边胶囊),可点击切换城市
  • 当前年级橙色高亮
学段年级选项
幼儿园小班 / 中班 / 大班
小学一年级 ~ 六年级
初中初一 / 初二 / 初三
高中高一 / 高二 / 高三

4.2 数据规则

字段来源说明
年级列表固定枚举幼儿园~高中全部年级
当前年级学员绑定年级/用户手动选择高亮展示
记忆规则本地存储登录态内记忆用户上次选择的年级;退出登录后恢复默认值,不保留退出前的选择
数量限制—固定 15 个年级(前端枚举)
排序—固定分组排列(幼儿园→小学→初中→高中)
刷新 & 缓存—N/A(前端固定枚举,无需请求)

4.3 状态说明

—

4.4 交互规则

操作响应
选择一个年级更新当前年级 → 关闭弹窗 → 首页按新年级刷新
点击📍城市标签关闭年级弹窗 → 打开城市选择弹窗
点击 ×关闭弹窗,不做任何变更

4.5 异常与兜底

— 遵循 01 §6 异常与兜底通则,无特殊处理。

4.6 配置项清单

— 年级列表固定,无后台配置。

五、模块 4:城市选择弹窗

模块说明:供用户切换当前城市,控制全页内容展示范围。仅展示业务覆盖城市,用户主动选择后优先于定位。

入口:年级弹窗内点击城市标签  |  展示形式:全屏弹窗(省份→城市双列选择)

城市选择弹窗

5.1 界面结构

  • 类型:底部上拉全屏弹窗
  • 导航:← 返回 + 标题「请选择城市」
  • 副标题:“选择所在城市,为您推荐本地化的内容”
  • 布局:双列(左=省份列表,右=对应城市列表)
  • 当前选中项橙色高亮

5.2 数据规则

字段来源说明
城市列表运营配置后台仅业务覆盖城市
当前城市学员绑定/定位/手动选择高亮展示
数量限制—后台配几个展示几个,无前端上限
排序—按后台配置顺序
刷新 & 缓存—见 01 §3.2 刷新时机,不做本地缓存

5.3 状态说明

状态表现
允许切换城市列表可点击选择
禁止切换(后台配置)头部胶囊城市不可点

5.4 交互规则

操作响应
选择城市更新当前城市 → 关闭弹窗 → 首页按新城市+当前年级刷新
← 返回返回年级弹窗(非关闭)
城市锁定存储本地存储(localStorage),冷启动后仍锁定,用户主动选择始终优先于定位
退出登录城市恢复默认值(重新走定位/默认城市逻辑),不保留退出前的选择
定位逻辑:首次进入尝试定位,成功且未手动切换则使用定位城市;用户主动选择后,不再被定位自动覆盖。
记忆规则(2026-07-26 修订):登录态内记忆用户上次选择的城市/年级(退出小程序再进入仍保留);退出登录后城市、年级均恢复默认值。

5.5 异常与兜底

场景处理
定位授权拒绝不弹引导,静默使用默认城市广州
其他场景遵循 01 §6 异常与兜底通则

5.6 配置项清单

配置项格式说明
城市列表省份+城市仅业务覆盖城市
是否允许切换开关控制用户可否手动切换城市

六、模块 5:搜索 已按期数拆分移至 三期/11-搜索(M3 · 搜索链路):首页搜索栏入口与搜索页面的完整规则(热搜词/历史搜索/关键字联想/检索优先级)详见该页。

七、模块 6:金刚区

模块说明:横向入口区,支持跳转 H5 / 小程序内页 / 其它小程序 / 公众号文章(如校区中心、1对1、拼团等),最多 5 个入口。

入口:首页中部  |  展示形式:横向等分 icon 列表(最多5个)

金刚区

7.1 界面结构

  • 横向等分排列(设计稿展示 5 个)
  • 每个入口:icon 图标 + 文字标签
  • 示例:校区中心 / 1对1 / 客服咨询 / 线下预约 / 拼团

7.2 数据规则

字段来源说明
入口列表运营配置后台(按城市)后台配几个展示几个,最多5个
入口字段icon、文字标签、跳转类型+目标、是否需登录跳转类型:H5 / 小程序内页 / 其它小程序 / 公众号文章
数量限制—最多 5 个,无“更多”入口
排序—按后台配置顺序从左到右
刷新 & 缓存—见 01 §3.2 刷新时机,不做本地缓存

7.3 状态说明

状态表现
有数据正常展示入口列表
配置0个金刚区整块隐藏(遵循 01 §4 状态通则)

7.4 交互规则

操作响应
点击入口按配置跳转类型处理:H5用 webview / 小程序内页用 navigateTo / 其它小程序用 wx.navigateToMiniProgram(微信弹窗确认后跳转) / 公众号文章用 web-view
未登录点击需登录的入口先拉起登录,登录成功后跳转

7.5 异常与兜底

场景处理
icon加载失败不需要特殊降级方案

7.6 配置项清单

配置项格式说明
icon图标图片入口图标
文字标签文本入口名称
跳转类型+目标下拉+URL/appId+path支持 H5、小程序内页、其它小程序、公众号文章
是否需登录开关未登录时拦截
传递登录态开关跳转时是否携带当前用户身份到目标侧
城市配置维度筛选展示范围
八、模块 7:Banner 轮播

模块说明:运营活动广告位,支持图片轮播与点击跳转(H5 / 小程序内页 / 其它小程序 / 公众号文章),3秒自动切换。

入口:首页中部  |  展示形式:横向大图轮播 + 分页指示器

Banner区域

8.1 界面结构

  • 大图横向轮播
  • 右下角分页指示器(如"1/4")
  • 自动播放

8.2 数据规则

字段来源说明
Banner列表运营配置后台(广告管理)取数条件:适用终端 ∈ {微信小程序, 通用} AND 发布到 ∈ {小程序首页, 通用} AND 城市+年级匹配
每张图片字段—图片素材 + 跳转类型 + 跳转目标 + 是否需登录 + 传递登录态
轮播间隔固定3秒切换一次
仅1张Banner—不自动轮播,隐藏分页指示器
数量限制—后台配几个展示几个,无前端上限
排序—按后台配置顺序轮播
刷新 & 缓存—见 01 §3.2 刷新时机,不做本地缓存

8.3 状态说明

状态表现
有数据正常展示轮播图
0条数据Banner区域整块隐藏(遵循 01 §4 状态通则)

8.4 交互规则

操作响应
点击Banner按图片配置的跳转类型处理:H5用 web-view / 小程序内页用 navigateTo / 其它小程序用 wx.navigateToMiniProgram(微信弹窗确认后跳转) / 公众号文章用 web-view
未登录点击需登录的Banner先拉起登录,登录成功后跳转
手动滑动切换上/下一张
手动滑动后暂停 5 秒后恢复自动轮播

8.5 异常与兜底

— 遵循 01 §6 异常与兜底通则,无特殊处理。

8.6 配置项清单

配置项格式说明
Banner图片图片轮播图片素材
跳转类型+目标下拉+URL/path/appId+path每张图片独立配置,支持 H5、小程序内页、其它小程序、公众号文章
是否需登录开关每张图片独立配置,未登录时拦截
传递登录态开关每张图片独立配置,跳转时是否携带当前用户身份到目标侧
适用终端下拉单选本小程序 Banner 取「微信小程序」或「通用」
发布到下拉单选本模块取「小程序首页」或「通用」
城市+年级配置维度筛选展示范围

八(附)、支付成功页 Banner 已按期数拆分移至 三期/10-确认订单与支付 §五(M3 · 支付),数据/交互/配置规则详见该页。

九、模块 8:瓷片区(2个入口)

模块说明:固定2个业务入口卡片(转介绍/入学诊断),引导用户进入对应H5流程。不足时显示“敬请期待”占位。

入口:首页中部  |  展示形式:左右并排双卡片

瓷片区

9.1 界面结构

左右各一个卡片,并排展示:

位置内容
左转介绍:「共享好礼得实惠」+ 「立即查看 >」+ icon
右入学诊断:「推荐适合课程」+ 「去诊断 >」+ icon
占位规则:如果后台只配置了1个瓷片,另一个位置自动显示「敬请期待...更多功能建设中」灰色占位卡片。

9.2 数据规则

字段来源说明
入口内容固定固定2个入口:转介绍、入学诊断(内容/图片/跳转地址均固定)
显示控制运营配置后台(按城市+年级)按城市+年级维度配置各入口是否显示
位置数量固定 2 个不足时显示占位卡片
排序—固定顺序(左=转介绍,右=入学诊断)
登录拦截—瓷片区为固定拦截(转介绍/入学诊断均需登录才可访问),不设可配开关;未登录点击先拉起登录,登录成功后跳转
刷新 & 缓存—见 01 §3.2 刷新时机,不做本地缓存

9.3 状态说明

状态表现
有数据(2个)正常展示两张卡片
有数据(1个)一张卡片 + 一张“敬请期待”占位
无数据(0个)整个模块不显示(该城市+年级下两个入口均未配置时,整块隐藏)
2026-07-26 修订:仅配置1个入口时不隐藏(另一位置显示占位卡片);两个入口均未配置时整个模块隐藏(原“0个时展示两张占位卡片”的口径作废)。

9.4 交互规则

操作响应
点击转介绍跳转转介绍 H5 页面(需登录,未登录先拉起登录)
点击入学诊断跳转入学诊断 H5 页面(需登录)

9.5 异常与兜底

— 遵循 01 §6 异常与兜底通则,无特殊处理。

9.6 配置项清单

配置项格式说明
城市+年级配置维度控制该城市+年级下各入口是否显示
是否显示-转介绍开关该城市+年级是否展示转介绍入口
是否显示-入学诊断开关该城市+年级是否展示入学诊断入口
登录拦截:瓷片区为固定拦截(转介绍/入学诊断均需登录才可访问),不设可配开关。
十、模块 9:活动体验

模块说明:横向可滑动活动卡片列表,引导用户进入各类线上活动(讲座/拼团/领资料等),点击跳转对应小程序活动详情页。

入口:首页中部  |  展示形式:横向滑动卡片列表

活动体验

10.1 界面结构

  • 标题「活动体验」
  • 横向可滑动卡片列表(后台配几个展示几个)
  • 每张卡片:顶部色块区(类型标签+副标题+icon)+ 下方(标题+描述+价格)
卡片色调类型标题价格
1橙色讲座超人气名师讲座...¥0
2粉色拼团寒春拼课享优惠¥206-1200
3蓝色领资料9科资料大汇总¥0

10.2 数据规则

字段来源说明
活动列表运营配置后台(按城市+年级)横向滑动,后台配几个展示几个
跳转参数目标appId + 活动详情页路径 + 活动ID后台配置
数量限制后台校验同分校/城市/年级下最多配置 5 个(仅统计“展示中”状态);小程序与后台保持一致,配几个展示几个,上限 5 个
排序—按后台配置顺序从左到右
价格字段后台配置后台直接配置价格文本(非前端计算),格式为自由文本(如"¥0""¥206-1200")
刷新 & 缓存—见 01 §3.2 刷新时机,不做本地缓存
与金刚区的区别:金刚区点击→对应小程序首页;活动体验点击→对应小程序活动详情页。

10.3 状态说明

状态表现
有数据正常展示横向卡片列表
无数据(0个)整块隐藏(遵循 01 §4 状态通则)

10.4 交互规则

操作响应
点击卡片wx.navigateToMiniProgram 跳转对应小程序的活动详情页(微信弹窗确认后跳转)
横向滑动浏览更多卡片

10.5 异常与兜底

场景处理
活动卡片图片加载失败/未配置展示默认活动封面图(覆盖全局通则§6.3色块规则)

10.6 配置项清单

配置项格式说明
活动类型标签文本如"讲座""拼团""领资料"
卡片内容文本+图片标题、描述、价格、icon
色调色值卡片顶部色块颜色
跳转目标appId+path+参数目标小程序及活动详情页路径
城市+年级配置维度筛选展示范围
十一、模块 10:推荐课程
推荐课程

11.1 界面结构

  • 推荐维度:根据不同城市、不同年级、不同用户身份进行推荐
  • 模块结构:最多 6 个推荐模块(与后台配置保持一致),每个模块包含:标题区(模块名称 + 「查看全部 >」)+ 课程卡片列表(每模块只展示前 2 个课程)
  • 课程卡片字段:课程类型标签(在线/双师/面授)+ 课程名(年级+学科+学期培训班+(内容)+(班型))+ 副标题(利益点)+ 老师头像列(按星级排序)+ 最低价格(橙色,"¥XX 起")

11.2 数据规则

① 后台配置规则

字段说明
模块数量同分校/城市/年级下最多配置 6 个模块(仅统计“展示中”状态,不含已结束和待开始),超出时后台报错提示;小程序展示与后台配置保持一致
配置维度九大维度:模块名、城市、学期、品类、课程、用户可见范围、上架时间、下架时间等
模块排序后台可随时调整各个模块的展示顺序
用户可见范围支持按用户身份(新用户/老用户)配置模块可见性

② 课程卡片字段规则

字段规则
课程类型在线 / 双师 / 面授(三种标签)
课程名格式年级 + 学科 + 学期培训班 + (内容) + (班型)
年级读取规则a. 课程所在期数-当前期数≥3 → 按筛选年级+1展示;b. 当前期为寒假/春季 → 寒春课程按筛选年级展示,暑秋课程按筛选年级+1展示;c. 当前期为暑假/秋季 → 所有课程按筛选年级展示
副标题产品中心上架课程时需设置的"副标题"(利益点)
老师头像排序按老师星级排序(需sHR支持),星级高的排在前面,相同星级按姓名首字母排序
头像缺省规则无头像的老师不显示头像区域(不展示占位图)
价格计算课程的最低价格展示

③ 展示数量规则

场景说明
正常展示每个模块只展示前 2 个课程
仅关联1个课程展示1个
关联课程为空前端不展示该模块
查看全部点击「查看全部」可查看该模块完整课程列表(详见"课程推荐--查看全部"页面)

④ 课程排序规则

列表类型排序规则
课程列表无排序(按服务端返回顺序展示);老师头像列:脱敏配置下主讲老师星级高的靠前,仅取前三位展示
班级列表优先剩余学位少的靠前,其次按 TMS 最后修改时间倒序
适用范围所有选课环节中的课程列表/班级列表均按此规则
刷新 & 缓存见 01 §3.2 刷新时机,不做本地缓存
2026-07-26 修订:原“权重表排序”口径(层级/科目/课程类型/期数加权求和)作废——经开发确认与线上实际逻辑不符,本次需求排序逻辑未变动,按现行实际规则修正文档。

11.3 状态说明

状态表现
有数据正常展示各组课程列表(每组前2个)
模块关联课程为空该模块不展示
全部模块无数据整块隐藏(遵循 01 §4 状态通则)
新用户可看到"新用户专享"模块(若已配置)
老用户不展示新用户专享模块

11.4 交互规则

操作响应
点击「查看全部 >」跳转该模块对应的完整课程列表页(课程推荐--查看全部)
点击课程卡片跳转课程详情页(小程序内页)

11.5 异常与兜底

— 遵循 01 §6 异常与兜底通则,无特殊处理。

11.6 配置项清单

配置项格式说明
模块名称文本如"高中在线""新用户专享""短期班"
城市配置维度筛选展示城市
学期配置维度筛选展示学期
品类配置维度筛选展示品类
课程配置维度关联课程
用户可见范围选项全部用户 / 新用户 / 老用户
上架时间日期时间模块开始展示时间
下架时间日期时间模块停止展示时间
模块排序数字控制模块展示顺序,后台可随时调整
十二、模块 11:专属顾问
悬浮按钮位置
专属顾问页面

12.1 界面结构

首页悬浮按钮:

  • 位置:首页右下角常驻悬浮
  • 样式:圆形,小狮子logo + 文字「专属顾问 / 课程咨询」
  • 层级:浮于所有内容之上,页面滚动时保持位置不变

专属顾问页面(点击悬浮按钮进入):

  • 独立页面(非弹窗),导航栏标题「专属顾问」+ ← 返回
  • 橙色渐变背景
  • 主卡片:标题 + 副标题 + 狮子logo + 企微二维码 + 引导文案
  • 下方:「顾问服务介绍」+ 介绍文案

其他页面入口:

页面入口样式说明
首页右下角悬浮按钮圆形悬浮,常驻不随滚动
选课页右下角悬浮按钮(同首页)圆形悬浮,常驻不随滚动
我的页面底部横幅卡片(非悬浮)狮子logo + 标签 + 文案 + 「去咨询」按钮

12.2 数据规则

字段来源说明
页面标题运营配置后台(按城市+年级)顾问页主标题(如“您的专属顾问”)
介绍文案运营配置后台(按城市+年级)顾问服务介绍文案
顾问二维码企微 / 运营配置后台(按城市+年级)一般为市场部员工的企微二维码
数量限制—N/A(单一展示)
排序—N/A
刷新 & 缓存—见 01 §3.2 刷新时机,不做本地缓存

12.3 状态说明

状态表现
已登录展示当前城市+年级对应的顾问二维码
未登录展示默认城市+年级的顾问
未登录用户也可进入顾问页,属于 01 §4 状态通则例外模块。

12.4 交互规则

操作响应
点击悬浮按钮进入专属顾问页面
长按二维码识别企微二维码,添加顾问
点击「去咨询」(我的页面)进入专属顾问页面

12.5 异常与兜底

场景处理
二维码加载失败展示默认占位图 + 加载失败提示(文案以设计稿/后端下发为准,前端不硬编码)
无配置顾问悬浮按钮仍展示,进入后展示默认顾问

12.6 配置项清单

配置项格式说明
页面标题文本顾问页主标题(如“您的专属顾问”)
介绍文案富文本顾问服务说明文案
顾问二维码图片企微二维码图片
城市+年级配置维度分配不同顾问
十三、模块 12:下拉刷新
下拉刷新

13.1 界面结构

  • 下拉触发时顶部展示自定义 loading 动画(参见左侧设计稿)

13.2 数据规则

  • 刷新时重新按当前「城市+年级」拉取全部模块数据

13.3 状态说明

—

13.4 交互规则

操作响应
下拉首页触发刷新动画,重新加载全部模块数据
刷新完成动画收起,页面更新

13.5 异常与兜底

场景处理
刷新接口失败收起动画,保持原页面内容不变,Toast 提示 01 §6.1 统一文案(2026-07-28 测试评审全端公用文案)

13.6 配置项清单

—

十四、模块 13:营销公告弹窗(进入首页自动弹出)

📢

弹窗展示示意

图片类型:居中展示配置图片(270×250) + 底部×关闭

文字类型:居中弹窗文字 + 底部1~2个按钮

覆盖在最上层,遮罩背景

14.1 界面结构

图片类型弹窗:居中弹窗,展示配置的图片(270×250),下方有关闭按钮(×)

文字类型弹窗:居中弹窗,展示公告文字内容,底部最多 2 个按钮(按钮1左 + 按钮2右)

14.2 数据规则

字段来源说明
公告内容运营配置后台(按城市+年级)图片或文字
匹配逻辑后端接口按城市+年级+时间范围+发布状态筛选
间隔控制后端接口控制后端决定是否返回公告数据,前端仅做内存标记
多个公告按优先级排序只弹最高优先级的一个
数量限制—只弹 1 个(最高优先级)
排序—按优先级降序
刷新 & 缓存—见 1.2,仅冷启动时触发;后端按间隔配置控制是否返回数据

14.3 状态说明

状态表现
有符合条件的公告冷启动进入首页时自动弹出
无配置/已过期不弹窗,首页正常展示
未登录用户同样展示弹窗(按默认城市+年级匹配)

14.4 交互规则

操作响应
点击图片(图片类型)跳转「链接地址」(若需登录,先拉起登录)
点击关闭/遮罩层关闭弹窗
点击按钮1(文字类型)关闭弹窗或跳转按钮1链接
点击按钮2(文字类型)跳转按钮2链接
触发规则:仅冷启动时触发,同一次打开内不重复弹出;从后台切回不重新触发;切换学员后不重新触发。
冷启动定义:冷启动 = App.onLaunch(即用户完全退出小程序后重新打开),Tab 切换不触发。

14.5 异常与兜底

场景处理
接口请求失败不弹窗,静默失败
服务降级后台可配置开关控制是否启用

14.6 配置项清单

配置项格式说明
公告类型下拉图片类型 / 文字类型
公告图片图片270px×250px,jpg/png,≤1MB
跳转类型+地址下拉+URL/appId+path支持 H5 / 小程序内页 / 其它小程序 / 公众号文章
城市+年级配置维度单选城市/多选年级
面向用户下拉不区分/新用户/老用户
间隔类型+时间下拉+数字弹出频率策略
优先级下拉高/中/低
开始/结束时间日期时间生效时间范围
发布状态开关控制是否上线
按钮1/按钮2名称+跳转类型+地址文字类型操作按钮(跳转类型同上)
跳转类型与金刚区/Banner 保持一致:H5 / 小程序内页 / 其它小程序 / 公众号文章;图片类型使用「跳转类型+地址」作为点击跳转;文字类型使用「按钮1/按钮2」作为操作入口。
十五、模块 14:课程推荐卡片(TMS 购物车推送)

模块说明:老师通过 TMS 向学员购物车推送课程后,学员打开小程序时在页面下方展示一张「课程推荐卡片」,引导用户前往购物车查看并下单。

入口:小程序任意 Tab 页下方  |  展示形式:底部悬浮单张卡片(样式与课程列表卡片一致)

🛒

课程推荐卡片示意

卡片内容:课程类型标签 + 课程名 + 热报状态 + 「查看」按钮 + ×关闭

样式:与课程列表卡片保持一致

设计稿待补充,到位后替换本占位图

15.1 界面结构

  • 单张卡片,悬浮于页面下方(Tab 栏之上)
  • 卡片字段:课程类型标签(在线/双师/面授)+ 课程名 + 热报状态 + 「查看」按钮 + 右上角 × 关闭
  • 卡片样式与课程列表卡片保持一致

15.2 数据规则

字段来源说明
数据来源TMS 购物车老师在 TMS 侧向学员购物车推送课程(同步购物车)
触发条件—用户已登录 且 当前学员购物车中存在有效的推送课程(未失效、未下单)
数量限制—仅展示 1 张卡片(多条推送时取最新一条)
展示范围—小程序所有 Tab 页均展示
检查时机—每次打开小程序时检查是否满足触发条件
刷新 & 缓存—不做本地缓存;关闭状态仅在当前 session 内记忆

15.3 状态说明

状态表现
满足触发条件展示卡片
未登录 / 购物车无有效推送课程不展示
本次 session 内已点击关闭不再展示;下次冷启动重新检查

15.4 交互规则

操作响应
点击「查看」/ 卡片主体跳转购物车页面
点击 × 关闭关闭卡片,当前 session 内不再展示(下次打开小程序重新检查)
切换 Tab卡片跟随展示(未关闭前所有 Tab 页可见)

15.5 异常与兜底

场景处理
购物车接口请求失败不展示卡片,静默失败
推送课程已失效/已下单不展示卡片

15.6 配置项清单

— 无后台运营配置;数据由 TMS 推送驱动。

十六、修订记录(V2.6 / 2026-08-07)
修订项修订内容期数依据来源日期
分享有礼跳转口径登记§一 跳转配置总览新增一行:分享有礼为 H5 写死链接(https://yy.zy.com/dymzjsbsabc/h5/active?ppid=685597&city=广州)、无后台配置,不归属金刚区/Banner/瓷片区等任何具体模块(本文档各模块均未承载该入口),入口位置以设计稿为准;与三期/05-我的 §1.1 活动与顾问卡片同口径一期用户裁定 2026-08-072026-08-07
红框标注校准按 PIL 图像测量 + 读图目检校准 10 处部件级红框位置:修正弹窗/toast/列表区域框错位,叠加弹窗图(输错 1/2)改框整组弹窗区,同页面不同状态截图确认沿用同参数一期PIL 测量校准 2026-08-052026-08-05
图组布局规则统一依 00 V1.10 新布局规则:同层级多图(同图不同状态/图+弹窗/同流程步骤)一律横排,每张统一 280px 宽(uniform),容器横向滚动查看(细滚动条常显 + 右侧渐变提示防漏看);本页 2 个图组统一改造,half/third 混宽与多图竖排旧规则废止一期用户裁定 2026-08-052026-08-05
异常兜底事实核查清理§3.5 多孩切换杜撰文案「切换失败,请重试」改通用表述「Toast 提示(后端下发 message)」(portal-vue 源码 grep 验证文案不存在,沿用后端 message 机制);「定位授权拒绝静默使用默认城市广州」为 V1.0 现状梳理沿用口径,本次保留(依据为现状梳理非源码核实,特此注明);另 §二维码加载失败/下拉刷新 2 处正文引号文案同步清理(下拉刷新对齐 01 §6.1 统一文案)一期portal-vue 源码核查 2026-08-052026-08-05
网报3.0设计稿合入模块 1 顶部头部新增 2.7 定位授权样式(网报3.0升级设计稿-20260804,1 图):wx 定位授权弹窗,允许用定位城市/拒绝静默用默认广州,规则衔接模块 4 城市选择一期网报3.0升级设计稿-202608042026-08-05
期数目录拆分模块5 搜索抽离至 三期/11-搜索(原位留迁移指引);八附·支付成功页 Banner 移至 三期/10-确认订单与支付 §五;本页归属一期(M1);期数语义重定义为开发里程碑(M1/M2/M3),旧期数徽标语义作废一期20260917网报三期功能梳理.xlsx2026-08-04
年级/城市记忆规则新增:登录态内记忆上次选择的城市/年级;退出登录后均恢复默认值(§4.2 / §5.4)一期改动汇总 待确认项2026-07-26
瓷片区状态说明该城市+年级下两个入口均未配置时整个模块隐藏;原“0个展示两张占位卡片”口径作废(§9.3)一期改动汇总 1.62026-07-26
活动体验数量限制同分校/城市/年级下最多配置 5 个(仅统计“展示中”),小程序与后台保持一致(§10.2)一期改动汇总 1.2/1.72026-07-26
推荐课程模块数量最多 6 个模块(仅统计“展示中”,超出后台报错),小程序与后台保持一致(§11.1 / §11.2①)一期改动汇总 1.2/1.72026-07-26
课程排序规则删除“权重表排序”及计算示例;替换为:课程列表无排序(脱敏配置下主讲老师星级前三);班级列表剩余学位少靠前 + TMS 最后修改时间倒序(§11.2④)一期改动汇总 4.2(何龙口径)2026-07-26
课程推荐卡片新增模块 14:TMS 购物车推送课程后展示推荐卡片(触发条件/展示范围/关闭规则,样式与课程列表卡片一致)(§十五)一期改动汇总 3.32026-07-26
矛盾检查修订全量矛盾检查修复:正文旧章节引用批量改指 01 新章节号(1.2→01 §3.2、1.6→01 §4、1.7→01 §6,共 25 处);Banner 登录拦截「无拦截」修正为「可配置(每张图片独立开关,见 §8.6)」;下拉刷新失败 Toast 文案对齐 01 §6.1「刷新失败,请重试」一期全量矛盾检查2026-07-30