模块说明:首页各可跳转模块(金刚区/Banner/瓷片区/活动体验/营销弹窗/专属顾问)的跳转能力、配置方式与登录拦截策略横向对比。各模块详情中不再重复描述跳转能力,只聚焦具体行为。
| 模块 | 跳转类型 | 配置方式 | 登录拦截 |
|---|---|---|---|
| 金刚区 | H5 / 小程序内页 / 其它小程序 / 公众号文章 | 后台按城市自由配置入口+目标 | 可配置(开关);拦截后拉起登录成功后跳转 |
| Banner 轮播 | H5 / 小程序内页 / 其它小程序 / 公众号文章 | 后台按城市+年级自由配置 | 无拦截 |
| 瓷片区 | 固定 H5(转介绍 / 入学诊断) | 后台固定 2 个入口,按城市+年级配置是否显示 | 需登录 |
| 活动体验 | 小程序活动详情页 | 后台按城市+年级配置活动卡片+目标 | 无拦截 |
| 营销弹窗 | H5 / 小程序内页 / 其它小程序 / 公众号文章 | 后台按城市+年级+发布时间配置弹窗内容+跳转 | 按入口需要设置(跳转需登录时拉起登录) |
| 专属顾问 | 企微二维码(页内展示) | 后台按城市+年级配置不同企微二维码 | 无拦截(未登录可进入) |
模块说明:首页顶部吸顶导航区,承载学员信息展示、年级/城市切换入口。已登录显示学员头像+姓名,未登录显示“点击登录”。
入口:首页顶部常驻 | 状态区分:已登录 / 未登录
已登录态:
未登录态:
| 字段 | 来源 | 说明 |
|---|---|---|
| 学员头像+姓名 | 会员库(登录账户当前选中学员) | 切换学员后实时更新 |
| 年级 | 当前学员绑定年级/手动切换 | 切换后刷新全页 |
| 城市 | 当前学员绑定城市/定位/手动切换 | 切换后刷新全页 |
| 数量限制 | — | N/A(单一学员信息展示) |
| 排序 | — | N/A |
| 刷新 & 缓存 | — | 见 1.2 全局刷新规则,不做本地缓存 |
| 状态 | 表现 |
|---|---|
| 已登录 | 显示学员信息(头像+名字),展示完整功能 |
| 未登录 | 显示"点击登录",年级默认高一,城市按定位或默认广州 |
| 操作 | 响应 |
|---|---|
| 点击头像/学员名区域 | 弹出「切换学员」弹窗 |
| 点击「年级|城市 ▼」胶囊 | 弹出「年级选择」弹窗 |
| 未登录时点击"点击登录" | 拉起微信登录流程 |
| 页面滚动 | 头部+搜索栏作为整体吸顶 |
| 场景 | 处理 |
|---|---|
| 定位授权拒绝 | 静默使用默认城市广州(同定位失败逻辑) |
| 其他场景 | 遵循 1.7 全局通则 |
— 无后台配置,数据均来自登录账户。
模块说明:支持家长在多个绑定学员之间切换(最多5个),切换后全页刷新对应学员数据。
入口:点击头部学员头像/姓名 | 展示形式:底部弹窗(学员列表 + 添加学员入口)
| 字段 | 来源 | 说明 |
|---|---|---|
| 学员列表 | 会员库(当前家长账号下绑定学员) | 包含头像、姓名、年级、城市 |
| 数量限制 | — | 最多 5 个学员,弹窗内列表超出可滚动 |
| 排序 | — | 按绑定时间倒序(最新绑定的学员排在最前) |
| 刷新 & 缓存 | — | 见 1.2 全局刷新规则,不做本地缓存 |
| 状态 | 表现 |
|---|---|
| 多个学员 | 列表展示全部学员,当前选中高亮 |
| 仅一个学员 | 仍然弹窗,列表只显示1个学员项 |
| 操作 | 响应 |
|---|---|
| 点击其他学员 | 选中新学员 → 城市和年级自动更新 → 首页全部模块刷新 |
| 点击 × | 关闭弹窗,不做任何变更 |
| 场景 | 处理 |
|---|---|
| 切换后购物车 | 刷新显示当前学员数据 |
| 网络异常 | 保持当前学员,提示“切换失败,请重试” |
— 无后台配置,数据来自登录账户绑定学员。
模块说明:供用户切换当前年级,切换后首页内容按新年级重新加载。年级列表为前端固定枚举(幼儿园~高中)。
入口:点击头部「年级|城市」胶囊 | 展示形式:底部半屏弹窗(学段→年级列表)
| 学段 | 年级选项 |
|---|---|
| 幼儿园 | 小班 / 中班 / 大班 |
| 小学 | 一年级 ~ 六年级 |
| 初中 | 初一 / 初二 / 初三 |
| 高中 | 高一 / 高二 / 高三 |
| 字段 | 来源 | 说明 |
|---|---|---|
| 年级列表 | 固定枚举 | 幼儿园~高中全部年级 |
| 当前年级 | 学员绑定年级/用户手动选择 | 高亮展示 |
| 记忆规则 一期 | 本地存储 | 登录态内记忆用户上次选择的年级;退出登录后恢复默认值,不保留退出前的选择 |
| 数量限制 | — | 固定 15 个年级(前端枚举) |
| 排序 | — | 固定分组排列(幼儿园→小学→初中→高中) |
| 刷新 & 缓存 | — | N/A(前端固定枚举,无需请求) |
—
| 操作 | 响应 |
|---|---|
| 选择一个年级 | 更新当前年级 → 关闭弹窗 → 首页按新年级刷新 |
| 点击📍城市标签 | 关闭年级弹窗 → 打开城市选择弹窗 |
| 点击 × | 关闭弹窗,不做任何变更 |
— 遵循 1.7 全局通则,无特殊处理。
— 年级列表固定,无后台配置。
模块说明:供用户切换当前城市,控制全页内容展示范围。仅展示业务覆盖城市,用户主动选择后优先于定位。
入口:年级弹窗内点击城市标签 | 展示形式:全屏弹窗(省份→城市双列选择)
| 字段 | 来源 | 说明 |
|---|---|---|
| 城市列表 | 运营配置后台 | 仅业务覆盖城市 |
| 当前城市 | 学员绑定/定位/手动选择 | 高亮展示 |
| 数量限制 | — | 后台配几个展示几个,无前端上限 |
| 排序 | — | 按后台配置顺序 |
| 刷新 & 缓存 | — | 见 1.2 全局刷新规则,不做本地缓存 |
| 状态 | 表现 |
|---|---|
| 允许切换 | 城市列表可点击选择 |
| 禁止切换(后台配置) | 头部胶囊城市不可点 |
| 操作 | 响应 |
|---|---|
| 选择城市 | 更新当前城市 → 关闭弹窗 → 首页按新城市+当前年级刷新 |
| ← 返回 | 返回年级弹窗(非关闭) |
| 城市锁定存储 | 本地存储(localStorage),冷启动后仍锁定,用户主动选择始终优先于定位 |
| 退出登录 一期 | 城市恢复默认值(重新走定位/默认城市逻辑),不保留退出前的选择 |
| 场景 | 处理 |
|---|---|
| 定位授权拒绝 | 不弹引导,静默使用默认城市广州 |
| 其他场景 | 遵循 1.7 全局通则 |
| 配置项 | 格式 | 说明 |
|---|---|---|
| 城市列表 | 省份+城市 | 仅业务覆盖城市 |
| 是否允许切换 | 开关 | 控制用户可否手动切换城市 |
模块说明:提供课程/老师/校区搜索能力,支持关键字联想、热门搜索、历史搜索,搜索结果按老师→课程→校区优先级展示。
入口:首页搜索栏(吸顶) | 页面组成:搜索栏(入口) → 搜索页面(独立页)
| 字段 | 来源 | 说明 |
|---|---|---|
| 热搜词 | 运营配置后台(按城市+年级) | 进入首页时获取,轮播展示 |
| 购物车数量 | 交易系统(实时接口) | 已登录显示数字;未登录不显示角标 |
| 数量限制 | — | 后台配几个展示几个,无前端上限 |
| 排序 | — | 按后台配置顺序轮播 |
| 刷新 & 缓存 | — | 见 1.2 全局刷新规则,不做本地缓存 |
| 热搜词轮播间隔 | 前端固定 | 3秒切换一次,循环播放 |
| 购物车角标超出 | 交易系统 | 数量超过99时展示「99+」 |
| 切换学员 | 交易系统 | 切换学员时自动刷新角标数量(与新学员购物车数据保持一致) |
| 退出登录 | — | 退出登录时角标清空,不展示数字(仅显示购物车图标) |
| 状态 | 表现 |
|---|---|
| 已登录 | 显示购物车角标数字 |
| 未登录 | 显示图标但不显示角标数字 |
| 操作 | 响应 |
|---|---|
| 点击搜索框 | 跳转搜索页面(见 6.B) |
| 点击购物车图标 | 跳转购物车页面 |
| 页面滚动 | 搜索栏随头部一起吸顶 |
— 遵循 1.7 全局通则,无特殊处理。
| 配置项 | 格式 | 说明 |
|---|---|---|
| 热搜词 | 文本列表 | 按城市+年级配置,轮播展示 |
① 热门搜索
| 字段 | 来源 | 说明 |
|---|---|---|
| 热门搜索词 | 运营配置后台(按城市+年级) | 标签流式布局,最多 2 行 |
| 刷新 | — | 进入页面时拉取,不做本地缓存 |
② 历史搜索
| 字段 | 说明 |
|---|---|
| 存储 | 本地存储(localStorage),按账号隔离 |
| 数量 | 最多展示 10 条,超出自动丢弃最旧记录 |
| 排序 | 按搜索时间倒序,最新搜索的排在最前 |
| 展示格式 | 纯文本关键词,不带课程类型标签 |
| 点击行为 | 统一填入搜索框 + 重新发起搜索接口请求(实时最新结果,非缓存) |
| 已下架内容处理 | 历史记录作为关键词保留不删除;搜索时由后端过滤已下架内容;若结果为空则跳转搜索结果页展示空状态页 |
| 切换城市/年级 | 搜索历史不清空(搜索历史按用户维度存储,不按城市/年级区分) |
③ 关键字联想(输入时实时触发)
| 字段 | 来源 | 说明 |
|---|---|---|
| 联想范围 | 当前城市 + 当前年级的数据 | — |
| 老师联想 | 关键字匹配老师姓名 | 最多展示 10 个 |
| 课程联想 | 关键字匹配课程名(任意关键词,除课程类型标签外) | 最多展示 10 个 |
| 排序 | 最近点击过的联想结果排在列表最上方 | — |
| 最近点击记录 | 本地存储(按账号隔离),最多保留 5 条最近点击的联想结果,前端排序后插入联想列表顶部 | — |
| 展示优先级 | 同时匹配老师+课程 → 先展示老师列表,再展示课程列表 | — |
④ 自主搜索(点击「搜索」按钮触发)
| 字段 | 来源 | 说明 |
|---|---|---|
| 搜索范围 | 当前城市 + 当前年级 | 同时搜索老师姓名、课程名、校区 |
| 老师匹配 | 精准匹配(全名) | 只能通过授课老师全名匹配相关授课老师 |
| 课程匹配 | 模糊匹配 | 课程名中任意关键词(含课程类型标签) |
| 校区匹配 | 模糊匹配 | 上课地点任意关键字 |
| 检索优先级 | 按 老师→课程→校区 顺序检索,命中首个类型即展示 | — |
| 优先级细则 | — | a.匹配到老师全名→老师列表;b.未匹配老师但匹配课程→课程列表;c.仅匹配校区→校区列表 |
| 状态 | 表现 |
|---|---|
| 默认态(刚进入) | 展示热门搜索 + 历史搜索 |
| 联想态(输入中) | 搜索框显示文字 + ×清空按钮,下方实时展示关键字联想结果(老师列表 + 课程列表) |
| 搜索结果态 | 点击「搜索」后跳转对应结果页(老师列表页/课程列表页/校区列表页),非本页内展示 |
| 无历史 | "历史搜索"区域不展示 |
联想交互:
| 操作 | 响应 |
|---|---|
| 输入关键字(实时) | 监测用户输入的关键字,实时进行关键字联想匹配老师/课程 |
| 点击联想的具体老师姓名 | 直接跳转老师详情页 + 写入历史记录(标记为联想类型) |
| 点击联想的具体课程名 | 直接跳转班级列表页 + 写入历史记录(标记为联想类型) |
自主搜索交互:
| 操作 | 响应 |
|---|---|
| 输入文字 + 点击「搜索」 | 触发自主搜索 → 按优先级跳转对应结果页 + 写入历史记录(标记为自主搜索类型) |
| 搜索结果 - 老师 | 进入老师列表页,当前在售课程节数即为当前授课老师在售的班级数,点击具体老师 → 老师详情页 |
| 搜索结果 - 课程 | 进入课程列表页(班级列表),点击具体课程 → 班级列表页 |
| 搜索结果 - 校区 | 进入校区列表页,点击具体校区 → 校区详情页 |
热门搜索 & 历史搜索交互:
| 操作 | 响应 |
|---|---|
| 点击热门搜索标签 | 将该关键词填入搜索框 + 自动触发自主搜索 → 跳转搜索结果页 |
| 点击历史记录 | 将该关键词自动填入搜索框 + 重新发起搜索接口请求(实时获取最新结果,非缓存) → 跳转搜索结果页 |
| 点击历史记录右侧 × | 删除单条历史记录 |
| 点击🗑️全部删除 | 弹出确认弹窗「确认删除全部历史记录?」,确认后清空全部 |
| 点击 × 清空搜索框 | 清空输入内容,回到默认态 |
| 点击 ← 返回 | 返回首页 |
| 场景 | 处理 |
|---|---|
| 热门搜索接口失败 | 热门搜索区域不展示,仅展示历史搜索 |
| 关键字联想无结果 | 联想区域不展示,保持当前页面状态 |
| 自主搜索无任何命中(老师/课程/校区均无) | 跳转搜索结果页展示空状态(不在本页处理) |
| 配置项 | 格式 | 说明 |
|---|---|---|
| 热门搜索词 | 文本列表 | 按城市+年级配置,最多展示 2 行 |
模块说明:横向入口区,支持跳转 H5 / 小程序内页 / 其它小程序 / 公众号文章(如校区中心、1对1、拼团等),最多 5 个入口。
入口:首页中部 | 展示形式:横向等分 icon 列表(最多5个)
| 字段 | 来源 | 说明 |
|---|---|---|
| 入口列表 | 运营配置后台(按城市) | 后台配几个展示几个,最多5个 |
| 入口字段 | icon、文字标签、跳转类型+目标、是否需登录 | 跳转类型:H5 / 小程序内页 / 其它小程序 / 公众号文章 |
| 数量限制 | — | 最多 5 个,无“更多”入口 |
| 排序 | — | 按后台配置顺序从左到右 |
| 刷新 & 缓存 | — | 见 1.2 全局刷新规则,不做本地缓存 |
| 状态 | 表现 |
|---|---|
| 有数据 | 正常展示入口列表 |
| 配置0个 | 金刚区整块隐藏(遵循 1.6 通则) |
| 操作 | 响应 |
|---|---|
| 点击入口 | 按配置跳转类型处理:H5用 webview / 小程序内页用 navigateTo / 其它小程序用 wx.navigateToMiniProgram(微信弹窗确认后跳转) / 公众号文章用 web-view |
| 未登录点击需登录的入口 | 先拉起登录,登录成功后跳转 |
| 场景 | 处理 |
|---|---|
| icon加载失败 | 不需要特殊降级方案 |
| 配置项 | 格式 | 说明 |
|---|---|---|
| icon图标 | 图片 | 入口图标 |
| 文字标签 | 文本 | 入口名称 |
| 跳转类型+目标 | 下拉+URL/appId+path | 支持 H5、小程序内页、其它小程序、公众号文章 |
| 是否需登录 | 开关 | 未登录时拦截 |
| 传递登录态 | 开关 | 跳转时是否携带当前用户身份到目标侧 |
| 城市 | 配置维度 | 筛选展示范围 |
模块说明:运营活动广告位,支持图片轮播与点击跳转(H5 / 小程序内页 / 其它小程序 / 公众号文章),3秒自动切换。
入口:首页中部 | 展示形式:横向大图轮播 + 分页指示器
| 字段 | 来源 | 说明 |
|---|---|---|
| Banner列表 | 运营配置后台(广告管理) | 取数条件:适用终端 ∈ {微信小程序, 通用} AND 发布到 ∈ {小程序首页, 通用} AND 城市+年级匹配 |
| 每张图片字段 | — | 图片素材 + 跳转类型 + 跳转目标 + 是否需登录 + 传递登录态 |
| 轮播间隔 | 固定 | 3秒切换一次 |
| 仅1张Banner | — | 不自动轮播,隐藏分页指示器 |
| 数量限制 | — | 后台配几个展示几个,无前端上限 |
| 排序 | — | 按后台配置顺序轮播 |
| 刷新 & 缓存 | — | 见 1.2 全局刷新规则,不做本地缓存 |
| 状态 | 表现 |
|---|---|
| 有数据 | 正常展示轮播图 |
| 0条数据 | Banner区域整块隐藏(遵循 1.6 通则) |
| 操作 | 响应 |
|---|---|
| 点击Banner | 按图片配置的跳转类型处理:H5用 web-view / 小程序内页用 navigateTo / 其它小程序用 wx.navigateToMiniProgram(微信弹窗确认后跳转) / 公众号文章用 web-view |
| 未登录点击需登录的Banner | 先拉起登录,登录成功后跳转 |
| 手动滑动 | 切换上/下一张 |
| 手动滑动后 | 暂停 5 秒后恢复自动轮播 |
— 遵循 1.7 全局通则,无特殊处理。
| 配置项 | 格式 | 说明 |
|---|---|---|
| Banner图片 | 图片 | 轮播图片素材 |
| 跳转类型+目标 | 下拉+URL/path/appId+path | 每张图片独立配置,支持 H5、小程序内页、其它小程序、公众号文章 |
| 是否需登录 | 开关 | 每张图片独立配置,未登录时拦截 |
| 传递登录态 | 开关 | 每张图片独立配置,跳转时是否携带当前用户身份到目标侧 |
| 适用终端 | 下拉单选 | 本小程序 Banner 取「微信小程序」或「通用」 |
| 发布到 | 下拉单选 | 本模块取「小程序首页」或「通用」 |
| 城市+年级 | 配置维度 | 筛选展示范围 |
模块说明:本小程序 “报名/订单支付成功页” 底部展示的 Banner 区。该区与首页 Banner 复用同一后台配置页(广告管理),仅按「发布到」字段区分。
入口:支付成功页 | 展示形式:大图轮播(同首页 Banner 交互规则)
| 字段 | 来源 | 说明 |
|---|---|---|
| Banner列表 | 运营配置后台(广告管理) | 取数条件:适用终端 ∈ {微信小程序, 通用} AND 发布到 ∈ {小程序支付成功页, 通用} AND 城市+年级匹配 |
| 触发时机 | — | 仅在报名/订单支付完成后跳转的支付成功页出现 |
| 字段结构 | — | 与首页 Banner 完全一致(跳转类型/目标/是否需登录/传递登录态) |
与 「八、模块 7:Banner 轮播」 8.4 完全一致。
| 状态 | 表现 |
|---|---|
| 有0条数据 | 支付成功页不展示 Banner 区(遵循 1.6 通则) |
| 有1条数据 | 不自动轮播,隐藏分页指示器 |
复用「广告管理」后台配置页,运营配置时仅需:适用终端 = 微信小程序 、 发布到 = 小程序支付成功页。后台原型详见 08-轮播图管理改造原型。
模块说明:固定2个业务入口卡片(转介绍/入学诊断),引导用户进入对应H5流程。不足时显示“敬请期待”占位。
入口:首页中部 | 展示形式:左右并排双卡片
左右各一个卡片,并排展示:
| 位置 | 内容 |
|---|---|
| 左 | 转介绍:「共享好礼得实惠」+ 「立即查看 >」+ icon |
| 右 | 入学诊断:「推荐适合课程」+ 「去诊断 >」+ icon |
| 字段 | 来源 | 说明 |
|---|---|---|
| 入口内容 | 固定 | 固定2个入口:转介绍、入学诊断(内容/图片/跳转地址均固定) |
| 显示控制 | 运营配置后台(按城市+年级) | 按城市+年级维度配置各入口是否显示 |
| 位置数量 | 固定 2 个 | 不足时显示占位卡片 |
| 排序 | — | 固定顺序(左=转介绍,右=入学诊断) |
| 登录拦截 | — | 瓷片区为固定拦截(转介绍/入学诊断均需登录才可访问),不设可配开关;未登录点击先拉起登录,登录成功后跳转 |
| 刷新 & 缓存 | — | 见 1.2 全局刷新规则,不做本地缓存 |
| 状态 | 表现 |
|---|---|
| 有数据(2个) | 正常展示两张卡片 |
| 有数据(1个) | 一张卡片 + 一张“敬请期待”占位 |
| 无数据(0个) | 整个模块不显示(该城市+年级下两个入口均未配置时,整块隐藏) |
| 操作 | 响应 |
|---|---|
| 点击转介绍 | 跳转转介绍 H5 页面(需登录,未登录先拉起登录) |
| 点击入学诊断 | 跳转入学诊断 H5 页面(需登录) |
— 遵循 1.7 全局通则,无特殊处理。
| 配置项 | 格式 | 说明 |
|---|---|---|
| 城市+年级 | 配置维度 | 控制该城市+年级下各入口是否显示 |
| 是否显示-转介绍 | 开关 | 该城市+年级是否展示转介绍入口 |
| 是否显示-入学诊断 | 开关 | 该城市+年级是否展示入学诊断入口 |
模块说明:横向可滑动活动卡片列表,引导用户进入各类线上活动(讲座/拼团/领资料等),点击跳转对应小程序活动详情页。
入口:首页中部 | 展示形式:横向滑动卡片列表
| 卡片 | 色调 | 类型 | 标题 | 价格 |
|---|---|---|---|---|
| 1 | 橙色 | 讲座 | 超人气名师讲座... | ¥0 |
| 2 | 粉色 | 拼团 | 寒春拼课享优惠 | ¥206-1200 |
| 3 | 蓝色 | 领资料 | 9科资料大汇总 | ¥0 |
| 字段 | 来源 | 说明 |
|---|---|---|
| 活动列表 | 运营配置后台(按城市+年级) | 横向滑动,后台配几个展示几个 |
| 跳转参数 | 目标appId + 活动详情页路径 + 活动ID | 后台配置 |
| 数量限制 一期 | 后台校验 | 同分校/城市/年级下最多配置 5 个(仅统计“展示中”状态);小程序与后台保持一致,配几个展示几个,上限 5 个 |
| 排序 | — | 按后台配置顺序从左到右 |
| 价格字段 | 后台配置 | 后台直接配置价格文本(非前端计算),格式为自由文本(如"¥0""¥206-1200") |
| 刷新 & 缓存 | — | 见 1.2 全局刷新规则,不做本地缓存 |
| 状态 | 表现 |
|---|---|
| 有数据 | 正常展示横向卡片列表 |
| 无数据(0个) | 整块隐藏(遵循 1.6 通则) |
| 操作 | 响应 |
|---|---|
| 点击卡片 | wx.navigateToMiniProgram 跳转对应小程序的活动详情页(微信弹窗确认后跳转) |
| 横向滑动 | 浏览更多卡片 |
| 场景 | 处理 |
|---|---|
| 活动卡片图片加载失败/未配置 | 展示默认活动封面图(覆盖全局通则§6.3色块规则) |
| 配置项 | 格式 | 说明 |
|---|---|---|
| 活动类型标签 | 文本 | 如"讲座""拼团""领资料" |
| 卡片内容 | 文本+图片 | 标题、描述、价格、icon |
| 色调 | 色值 | 卡片顶部色块颜色 |
| 跳转目标 | appId+path+参数 | 目标小程序及活动详情页路径 |
| 城市+年级 | 配置维度 | 筛选展示范围 |
① 后台配置规则
| 字段 | 说明 |
|---|---|
| 模块数量 一期 | 同分校/城市/年级下最多配置 6 个模块(仅统计“展示中”状态,不含已结束和待开始),超出时后台报错提示;小程序展示与后台配置保持一致 |
| 配置维度 | 九大维度:模块名、城市、学期、品类、课程、用户可见范围、上架时间、下架时间等 |
| 模块排序 | 后台可随时调整各个模块的展示顺序 |
| 用户可见范围 | 支持按用户身份(新用户/老用户)配置模块可见性 |
② 课程卡片字段规则
| 字段 | 规则 |
|---|---|
| 课程类型 | 在线 / 双师 / 面授(三种标签) |
| 课程名格式 | 年级 + 学科 + 学期培训班 + (内容) + (班型) |
| 年级读取规则 | a. 课程所在期数-当前期数≥3 → 按筛选年级+1展示;b. 当前期为寒假/春季 → 寒春课程按筛选年级展示,暑秋课程按筛选年级+1展示;c. 当前期为暑假/秋季 → 所有课程按筛选年级展示 |
| 副标题 | 产品中心上架课程时需设置的"副标题"(利益点) |
| 老师头像排序 | 按老师星级排序(需sHR支持),星级高的排在前面,相同星级按姓名首字母排序 |
| 头像缺省规则 | 无头像的老师不显示头像区域(不展示占位图) |
| 价格 | 计算课程的最低价格展示 |
③ 展示数量规则
| 场景 | 说明 |
|---|---|
| 正常展示 | 每个模块只展示前 2 个课程 |
| 仅关联1个课程 | 展示1个 |
| 关联课程为空 | 前端不展示该模块 |
| 查看全部 | 点击「查看全部」可查看该模块完整课程列表(详见"课程推荐--查看全部"页面) |
④ 课程排序规则 一期
| 列表类型 | 排序规则 |
|---|---|
| 课程列表 | 无排序(按服务端返回顺序展示);老师头像列:脱敏配置下主讲老师星级高的靠前,仅取前三位展示 |
| 班级列表 | 优先剩余学位少的靠前,其次按 TMS 最后修改时间倒序 |
| 适用范围 | 所有选课环节中的课程列表/班级列表均按此规则 |
| 刷新 & 缓存 | 见 1.2 全局刷新规则,不做本地缓存 |
| 状态 | 表现 |
|---|---|
| 有数据 | 正常展示各组课程列表(每组前2个) |
| 模块关联课程为空 | 该模块不展示 |
| 全部模块无数据 | 整块隐藏(遵循 1.6 通则) |
| 新用户 | 可看到"新用户专享"模块(若已配置) |
| 老用户 | 不展示新用户专享模块 |
| 操作 | 响应 |
|---|---|
| 点击「查看全部 >」 | 跳转该模块对应的完整课程列表页(课程推荐--查看全部) |
| 点击课程卡片 | 跳转课程详情页(小程序内页) |
— 遵循 1.7 全局通则,无特殊处理。
| 配置项 | 格式 | 说明 |
|---|---|---|
| 模块名称 | 文本 | 如"高中在线""新用户专享""短期班" |
| 城市 | 配置维度 | 筛选展示城市 |
| 学期 | 配置维度 | 筛选展示学期 |
| 品类 | 配置维度 | 筛选展示品类 |
| 课程 | 配置维度 | 关联课程 |
| 用户可见范围 | 选项 | 全部用户 / 新用户 / 老用户 |
| 上架时间 | 日期时间 | 模块开始展示时间 |
| 下架时间 | 日期时间 | 模块停止展示时间 |
| 模块排序 | 数字 | 控制模块展示顺序,后台可随时调整 |
首页悬浮按钮:
专属顾问页面(点击悬浮按钮进入):
其他页面入口:
| 页面 | 入口样式 | 说明 |
|---|---|---|
| 首页 | 右下角悬浮按钮 | 圆形悬浮,常驻不随滚动 |
| 选课页 | 右下角悬浮按钮(同首页) | 圆形悬浮,常驻不随滚动 |
| 我的页面 | 底部横幅卡片(非悬浮) | 狮子logo + 标签 + 文案 + 「去咨询」按钮 |
| 字段 | 来源 | 说明 |
|---|---|---|
| 页面标题 | 运营配置后台(按城市+年级) | 顾问页主标题(如“您的专属顾问”) |
| 介绍文案 | 运营配置后台(按城市+年级) | 顾问服务介绍文案 |
| 顾问二维码 | 企微 / 运营配置后台(按城市+年级) | 一般为市场部员工的企微二维码 |
| 数量限制 | — | N/A(单一展示) |
| 排序 | — | N/A |
| 刷新 & 缓存 | — | 见 1.2 全局刷新规则,不做本地缓存 |
| 状态 | 表现 |
|---|---|
| 已登录 | 展示当前城市+年级对应的顾问二维码 |
| 未登录 | 展示默认城市+年级的顾问 |
| 操作 | 响应 |
|---|---|
| 点击悬浮按钮 | 进入专属顾问页面 |
| 长按二维码 | 识别企微二维码,添加顾问 |
| 点击「去咨询」(我的页面) | 进入专属顾问页面 |
| 场景 | 处理 |
|---|---|
| 二维码加载失败 | 展示默认占位图,提示“加载失败,请重试” |
| 无配置顾问 | 悬浮按钮仍展示,进入后展示默认顾问 |
| 配置项 | 格式 | 说明 |
|---|---|---|
| 页面标题 | 文本 | 顾问页主标题(如“您的专属顾问”) |
| 介绍文案 | 富文本 | 顾问服务说明文案 |
| 顾问二维码 | 图片 | 企微二维码图片 |
| 城市+年级 | 配置维度 | 分配不同顾问 |
—
| 操作 | 响应 |
|---|---|
| 下拉首页 | 触发刷新动画,重新加载全部模块数据 |
| 刷新完成 | 动画收起,页面更新 |
| 场景 | 处理 |
|---|---|
| 刷新接口失败 | 收起动画,保持原页面内容不变,toast 提示“刷新失败” |
—
📢
弹窗展示示意
图片类型:居中展示配置图片(270×250) + 底部×关闭
文字类型:居中弹窗文字 + 底部1~2个按钮
覆盖在最上层,遮罩背景
图片类型弹窗:居中弹窗,展示配置的图片(270×250),下方有关闭按钮(×)
文字类型弹窗:居中弹窗,展示公告文字内容,底部最多 2 个按钮(按钮1左 + 按钮2右)
| 字段 | 来源 | 说明 |
|---|---|---|
| 公告内容 | 运营配置后台(按城市+年级) | 图片或文字 |
| 匹配逻辑 | 后端接口 | 按城市+年级+时间范围+发布状态筛选 |
| 间隔控制 | 后端接口控制 | 后端决定是否返回公告数据,前端仅做内存标记 |
| 多个公告 | 按优先级排序 | 只弹最高优先级的一个 |
| 数量限制 | — | 只弹 1 个(最高优先级) |
| 排序 | — | 按优先级降序 |
| 刷新 & 缓存 | — | 见 1.2,仅冷启动时触发;后端按间隔配置控制是否返回数据 |
| 状态 | 表现 |
|---|---|
| 有符合条件的公告 | 冷启动进入首页时自动弹出 |
| 无配置/已过期 | 不弹窗,首页正常展示 |
| 未登录用户 | 同样展示弹窗(按默认城市+年级匹配) |
| 操作 | 响应 |
|---|---|
| 点击图片(图片类型) | 跳转「链接地址」(若需登录,先拉起登录) |
| 点击关闭/遮罩层 | 关闭弹窗 |
| 点击按钮1(文字类型) | 关闭弹窗或跳转按钮1链接 |
| 点击按钮2(文字类型) | 跳转按钮2链接 |
| 场景 | 处理 |
|---|---|
| 接口请求失败 | 不弹窗,静默失败 |
| 服务降级 | 后台可配置开关控制是否启用 |
| 配置项 | 格式 | 说明 |
|---|---|---|
| 公告类型 | 下拉 | 图片类型 / 文字类型 |
| 公告图片 | 图片 | 270px×250px,jpg/png,≤1MB |
| 跳转类型+地址 | 下拉+URL/appId+path | 支持 H5 / 小程序内页 / 其它小程序 / 公众号文章 |
| 城市+年级 | 配置维度 | 单选城市/多选年级 |
| 面向用户 | 下拉 | 不区分/新用户/老用户 |
| 间隔类型+时间 | 下拉+数字 | 弹出频率策略 |
| 优先级 | 下拉 | 高/中/低 |
| 开始/结束时间 | 日期时间 | 生效时间范围 |
| 发布状态 | 开关 | 控制是否上线 |
| 按钮1/按钮2 | 名称+跳转类型+地址 | 文字类型操作按钮(跳转类型同上) |
模块说明:老师通过 TMS 向学员购物车推送课程后,学员打开小程序时在页面下方展示一张「课程推荐卡片」,引导用户前往购物车查看并下单。一期
入口:小程序任意 Tab 页下方 | 展示形式:底部悬浮单张卡片(样式与课程列表卡片一致)
🛒
课程推荐卡片示意
卡片内容:课程类型标签 + 课程名 + 热报状态 + 「查看」按钮 + ×关闭
样式:与课程列表卡片保持一致
设计稿待补充,到位后替换本占位图
| 字段 | 来源 | 说明 |
|---|---|---|
| 数据来源 | TMS 购物车 | 老师在 TMS 侧向学员购物车推送课程(同步购物车) |
| 触发条件 | — | 用户已登录 且 当前学员购物车中存在有效的推送课程(未失效、未下单) |
| 数量限制 | — | 仅展示 1 张卡片(多条推送时取最新一条) |
| 展示范围 | — | 小程序所有 Tab 页均展示 |
| 检查时机 | — | 每次打开小程序时检查是否满足触发条件 |
| 刷新 & 缓存 | — | 不做本地缓存;关闭状态仅在当前 session 内记忆 |
| 状态 | 表现 |
|---|---|
| 满足触发条件 | 展示卡片 |
| 未登录 / 购物车无有效推送课程 | 不展示 |
| 本次 session 内已点击关闭 | 不再展示;下次冷启动重新检查 |
| 操作 | 响应 |
|---|---|
| 点击「查看」/ 卡片主体 | 跳转购物车页面 |
| 点击 × 关闭 | 关闭卡片,当前 session 内不再展示(下次打开小程序重新检查) |
| 切换 Tab | 卡片跟随展示(未关闭前所有 Tab 页可见) |
| 场景 | 处理 |
|---|---|
| 购物车接口请求失败 | 不展示卡片,静默失败 |
| 推送课程已失效/已下单 | 不展示卡片 |
— 无后台运营配置;数据由 TMS 推送驱动。
| 修订项 | 修订内容 | 期数 | 依据来源 | 日期 |
|---|---|---|---|---|
| 年级/城市记忆规则 | 新增:登录态内记忆上次选择的城市/年级;退出登录后均恢复默认值(§4.2 / §5.4) | 一期 | 改动汇总 待确认项 | 2026-07-26 |
| 瓷片区状态说明 | 该城市+年级下两个入口均未配置时整个模块隐藏;原“0个展示两张占位卡片”口径作废(§9.3) | 一期 | 改动汇总 1.6 | 2026-07-26 |
| 活动体验数量限制 | 同分校/城市/年级下最多配置 5 个(仅统计“展示中”),小程序与后台保持一致(§10.2) | 一期 | 改动汇总 1.2/1.7 | 2026-07-26 |
| 推荐课程模块数量 | 最多 6 个模块(仅统计“展示中”,超出后台报错),小程序与后台保持一致(§11.1 / §11.2①) | 一期 | 改动汇总 1.2/1.7 | 2026-07-26 |
| 课程排序规则 | 删除“权重表排序”及计算示例;替换为:课程列表无排序(脱敏配置下主讲老师星级前三);班级列表剩余学位少靠前 + TMS 最后修改时间倒序(§11.2④) | 一期 | 改动汇总 4.2(何龙口径) | 2026-07-26 |
| 课程推荐卡片 | 新增模块 14:TMS 购物车推送课程后展示推荐卡片(触发条件/展示范围/关闭规则,样式与课程列表卡片一致)(§十五) | 一期 | 改动汇总 3.3 | 2026-07-26 |