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

版本 V2.1 更新 2026-07-26 涉及期数一期 M1 交付 2026-06-25
一、跳转配置总览

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

⚠ 待确认:金刚区、Banner、瓷片区、活动体验、营销弹窗等模块的跳转配置,统一维护系统待确认(当前均写为“运营配置后台”)。
模块跳转类型配置方式登录拦截
金刚区H5 / 小程序内页 / 其它小程序 / 公众号文章后台按城市自由配置入口+目标可配置(开关);拦截后拉起登录成功后跳转
Banner 轮播H5 / 小程序内页 / 其它小程序 / 公众号文章后台按城市+年级自由配置无拦截
瓷片区固定 H5(转介绍 / 入学诊断)后台固定 2 个入口,按城市+年级配置是否显示需登录
活动体验小程序活动详情页后台按城市+年级配置活动卡片+目标无拦截
营销弹窗H5 / 小程序内页 / 其它小程序 / 公众号文章后台按城市+年级+发布时间配置弹窗内容+跳转按入口需要设置(跳转需登录时拉起登录)
专属顾问企微二维码(页内展示)后台按城市+年级配置不同企微二维码无拦截(未登录可进入)
跨端登录补全机制:跨小程序跳转或小程序内打开 H5 时,若目标侧未登录,将基于同一套外部通行证(以手机号为唯一标识)自动静默无感登录(用户无感知),并自动选中与来源侧一致的学员。详见 02-登录与学员绑定 § 跨端登录
二、模块 1:顶部头部(吸顶区域)

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

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

已登录态
未登录态

2.1 界面结构

已登录态:

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

未登录态:

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

2.2 数据规则

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

2.3 状态说明

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

2.4 交互规则

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

2.5 异常与兜底

场景处理
定位授权拒绝静默使用默认城市广州(同定位失败逻辑)
其他场景遵循 1.7 全局通则

2.6 配置项清单

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

三、模块 2:多孩切换(切换学员弹窗)

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

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

切换学员弹窗

3.1 界面结构

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

3.2 数据规则

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

3.3 状态说明

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

3.4 交互规则

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

3.5 异常与兜底

场景处理
切换后购物车刷新显示当前学员数据
网络异常保持当前学员,提示“切换失败,请重试”

3.6 配置项清单

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

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

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

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

年级切换弹窗

4.1 界面结构

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

4.2 数据规则

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

4.3 状态说明

4.4 交互规则

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

4.5 异常与兜底

— 遵循 1.7 全局通则,无特殊处理。

4.6 配置项清单

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

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

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

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

城市选择弹窗

5.1 界面结构

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

5.2 数据规则

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

5.3 状态说明

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

5.4 交互规则

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

5.5 异常与兜底

场景处理
定位授权拒绝不弹引导,静默使用默认城市广州
其他场景遵循 1.7 全局通则

5.6 配置项清单

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

模块说明:提供课程/老师/校区搜索能力,支持关键字联想、热门搜索、历史搜索,搜索结果按老师→课程→校区优先级展示。

入口:首页搜索栏(吸顶)  |  页面组成:搜索栏(入口) → 搜索页面(独立页)

6.A 首页搜索栏(入口)
搜索栏入口

6.A.1 界面结构

  • 左侧:圆角搜索框,placeholder 显示热搜词(轮播,如「大家都在搜「中国故事」」)
  • 右侧:🛒 购物车图标 + 角标数字

6.A.2 数据规则

字段来源说明
热搜词运营配置后台(按城市+年级)进入首页时获取,轮播展示
购物车数量交易系统(实时接口)已登录显示数字;未登录不显示角标
数量限制后台配几个展示几个,无前端上限
排序按后台配置顺序轮播
刷新 & 缓存见 1.2 全局刷新规则,不做本地缓存
热搜词轮播间隔前端固定3秒切换一次,循环播放
购物车角标超出交易系统数量超过99时展示「99+
切换学员交易系统切换学员时自动刷新角标数量(与新学员购物车数据保持一致)
退出登录退出登录时角标清空,不展示数字(仅显示购物车图标)

6.A.3 状态说明

状态表现
已登录显示购物车角标数字
未登录显示图标但不显示角标数字
搜索栏始终展示,属于 1.6 例外模块,随头部一起吸顶。

6.A.4 交互规则

操作响应
点击搜索框跳转搜索页面(见 6.B)
点击购物车图标跳转购物车页面
页面滚动搜索栏随头部一起吸顶

6.A.5 异常与兜底

— 遵循 1.7 全局通则,无特殊处理。

6.A.6 配置项清单

配置项格式说明
热搜词文本列表按城市+年级配置,轮播展示

6.B 搜索页面
搜索页面-默认态
搜索页面-删除弹窗

6.B.1 界面结构

  • 独立页面(非弹窗),点击首页搜索栏后跳转进入
  • 导航栏:← 返回 + 搜索输入框(带 placeholder + × 清空按钮)+ 「搜索」按钮(橙色)
  • 热门搜索区:标签流式布局,最多 2 行
  • 历史搜索区:标题「历史搜索」+ 右侧🗑️全部删除图标;列表每行展示关键词(纯文本,不带课程类型标签) + 右侧×单条删除
  • 关键词类型:纯文字 / 带课程类型标签(线下橙/在线红/双师黄)+ 课程名
  • 关键字联想区(输入态):搜索框下方实时展示联想结果(老师联想列表 + 课程联想列表),若同时命中优先展示老师再展示课程

6.B.2 数据规则

① 热门搜索

字段来源说明
热门搜索词运营配置后台(按城市+年级)标签流式布局,最多 2 行
刷新进入页面时拉取,不做本地缓存

② 历史搜索

字段说明
存储本地存储(localStorage),按账号隔离
数量最多展示 10 条,超出自动丢弃最旧记录
排序按搜索时间倒序,最新搜索的排在最前
展示格式纯文本关键词,不带课程类型标签
点击行为统一填入搜索框 + 重新发起搜索接口请求(实时最新结果,非缓存)
已下架内容处理历史记录作为关键词保留不删除;搜索时由后端过滤已下架内容;若结果为空则跳转搜索结果页展示空状态页
切换城市/年级搜索历史不清空(搜索历史按用户维度存储,不按城市/年级区分)

③ 关键字联想(输入时实时触发)

字段来源说明
联想范围当前城市 + 当前年级的数据
老师联想关键字匹配老师姓名最多展示 10 个
课程联想关键字匹配课程名(任意关键词,除课程类型标签外最多展示 10 个
排序最近点击过的联想结果排在列表最上方
最近点击记录本地存储(按账号隔离),最多保留 5 条最近点击的联想结果,前端排序后插入联想列表顶部
展示优先级同时匹配老师+课程 → 先展示老师列表,再展示课程列表

④ 自主搜索(点击「搜索」按钮触发)

字段来源说明
搜索范围当前城市 + 当前年级同时搜索老师姓名、课程名、校区
老师匹配精准匹配(全名)只能通过授课老师全名匹配相关授课老师
课程匹配模糊匹配课程名中任意关键词(含课程类型标签)
校区匹配模糊匹配上课地点任意关键字
检索优先级老师→课程→校区 顺序检索,命中首个类型即展示
优先级细则a.匹配到老师全名→老师列表;b.未匹配老师但匹配课程→课程列表;c.仅匹配校区→校区列表
注意:老师姓名才用精准(全名)匹配,课程名、校区采用模糊匹配。

6.B.3 状态说明

状态表现
默认态(刚进入)展示热门搜索 + 历史搜索
联想态(输入中)搜索框显示文字 + ×清空按钮,下方实时展示关键字联想结果(老师列表 + 课程列表)
搜索结果态点击「搜索」后跳转对应结果页(老师列表页/课程列表页/校区列表页),非本页内展示
无历史"历史搜索"区域不展示

6.B.4 交互规则

联想交互:

操作响应
输入关键字(实时)监测用户输入的关键字,实时进行关键字联想匹配老师/课程
点击联想的具体老师姓名直接跳转老师详情页 + 写入历史记录(标记为联想类型)
点击联想的具体课程名直接跳转班级列表页 + 写入历史记录(标记为联想类型)

自主搜索交互:

操作响应
输入文字 + 点击「搜索」触发自主搜索 → 按优先级跳转对应结果页 + 写入历史记录(标记为自主搜索类型)
搜索结果 - 老师进入老师列表页,当前在售课程节数即为当前授课老师在售的班级数,点击具体老师 → 老师详情页
搜索结果 - 课程进入课程列表页(班级列表),点击具体课程 → 班级列表页
搜索结果 - 校区进入校区列表页,点击具体校区 → 校区详情页

热门搜索 & 历史搜索交互:

操作响应
点击热门搜索标签将该关键词填入搜索框 + 自动触发自主搜索 → 跳转搜索结果页
点击历史记录将该关键词自动填入搜索框 + 重新发起搜索接口请求(实时获取最新结果,非缓存) → 跳转搜索结果页
点击历史记录右侧 ×删除单条历史记录
点击🗑️全部删除弹出确认弹窗「确认删除全部历史记录?」,确认后清空全部
点击 × 清空搜索框清空输入内容,回到默认态
点击 ← 返回返回首页

6.B.5 异常与兜底

场景处理
热门搜索接口失败热门搜索区域不展示,仅展示历史搜索
关键字联想无结果联想区域不展示,保持当前页面状态
自主搜索无任何命中(老师/课程/校区均无)跳转搜索结果页展示空状态(不在本页处理)

6.B.6 配置项清单

配置项格式说明
热门搜索词文本列表按城市+年级配置,最多展示 2 行
七、模块 6:金刚区

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

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

金刚区

7.1 界面结构

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

7.2 数据规则

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

7.3 状态说明

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

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不自动轮播,隐藏分页指示器
数量限制后台配几个展示几个,无前端上限
排序按后台配置顺序轮播
刷新 & 缓存见 1.2 全局刷新规则,不做本地缓存

8.3 状态说明

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

8.4 交互规则

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

8.5 异常与兜底

— 遵循 1.7 全局通则,无特殊处理。

8.6 配置项清单

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

模块说明:本小程序 “报名/订单支付成功页” 底部展示的 Banner 区。该区与首页 Banner 复用同一后台配置页(广告管理),仅按「发布到」字段区分。

入口:支付成功页  |  展示形式:大图轮播(同首页 Banner 交互规则)

附.1 数据规则

字段来源说明
Banner列表运营配置后台(广告管理)取数条件:适用终端 ∈ {微信小程序, 通用} AND 发布到 ∈ {小程序支付成功页, 通用} AND 城市+年级匹配
触发时机仅在报名/订单支付完成后跳转的支付成功页出现
字段结构与首页 Banner 完全一致(跳转类型/目标/是否需登录/传递登录态)

附.2 交互规则

与 「八、模块 7:Banner 轮播」 8.4 完全一致。

附.3 状态说明

状态表现
有0条数据支付成功页不展示 Banner 区(遵循 1.6 通则)
有1条数据不自动轮播,隐藏分页指示器

附.4 配置说明

复用「广告管理」后台配置页,运营配置时仅需:适用终端 = 微信小程序 、 发布到 = 小程序支付成功页。后台原型详见 08-轮播图管理改造原型

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

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

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

瓷片区

9.1 界面结构

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

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

9.2 数据规则

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

9.3 状态说明 一期

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

9.4 交互规则

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

9.5 异常与兜底

— 遵循 1.7 全局通则,无特殊处理。

9.6 配置项清单

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

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

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

活动体验

10.1 界面结构

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

10.2 数据规则

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

10.3 状态说明

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

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 最后修改时间倒序
适用范围所有选课环节中的课程列表/班级列表均按此规则
刷新 & 缓存见 1.2 全局刷新规则,不做本地缓存
2026-07-26 修订:原“权重表排序”口径(层级/科目/课程类型/期数加权求和)作废——经开发确认与线上实际逻辑不符,本次需求排序逻辑未变动,按现行实际规则修正文档。

11.3 状态说明

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

11.4 交互规则

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

11.5 异常与兜底

— 遵循 1.7 全局通则,无特殊处理。

11.6 配置项清单

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

12.1 界面结构

首页悬浮按钮:

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

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

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

其他页面入口:

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

12.2 数据规则

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

12.3 状态说明

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

12.4 交互规则

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

12.5 异常与兜底

场景处理
二维码加载失败展示默认占位图,提示“加载失败,请重试”
无配置顾问悬浮按钮仍展示,进入后展示默认顾问

12.6 配置项清单

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

13.1 界面结构

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

13.2 数据规则

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

13.3 状态说明

13.4 交互规则

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

13.5 异常与兜底

场景处理
刷新接口失败收起动画,保持原页面内容不变,toast 提示“刷新失败”

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.1 / 2026-07-26)
修订项修订内容期数依据来源日期
年级/城市记忆规则新增:登录态内记忆上次选择的城市/年级;退出登录后均恢复默认值(§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
版本说明:本页原 header(V1.9)与 footer(V2.0)版本号不一致,本次统一升级为 V2.1。期数徽标说明:一期 二期 三期,仅标注本次修订涉及内容。