5.0 KiB
消息页面设计说明
1. 目标
在当前微信小程序项目中新增一个“消息”页面,页面风格参考提供的设计图,并与现有首页形成双向页面跳转。
本次目标是让项目从“只有首页”扩展为“首页 + 消息页”的可预览状态,同时保留后续继续新增“报告”“我的”等页面的扩展空间。
2. 本次范围
本次实现包含:
- 新增消息页面
- 首页与消息页之间的底部导航跳转
- 抽取一个可复用的底部导航组件
- 在消息页中实现顶部双标签、消息卡片列表、未读红点视觉
- 更新页面注册配置
- 更新 README,补充当前页面结构和消息页说明
本次不包含:
- 真正的后端消息接口
- 消息已读、删除、下拉刷新、分页加载
- “系统消息”标签下的真实内容切换接口
- “报告”“小e”“我的”真实业务页
3. 设计原则
- 保持项目结构简单,适合新手继续修改
- 尽量复用现有首页的深色视觉语言
- 不额外引入新的大型依赖
- 先完成静态页面和页面跳转,再为后续真实接口预留清晰结构
4. 页面与组件设计
4.1 消息页面
新增目录:
src/pages/message/index.tsxsrc/pages/message/index.scsssrc/pages/message/index.config.ts
页面内容分为三块:
- 顶部标签区
- 消息卡片列表区
- 底部导航区
顶部标签区使用两个标签:
体征消息系统消息
默认高亮 体征消息,系统消息 右侧显示一个小红点作为未读提示。首版只做前端本地切换,切换后可展示不同的本地占位数据,不接接口。
消息卡片列表区使用 3 条演示数据,卡片字段参考设计图:
- 标题
- 设备 ID
- 使用人员
- 消息类型
- 检测数值
- 发生时间
页面整体继续使用深色背景、圆角卡片、浅色文字和青绿色高亮色,尽量与首页统一。
4.2 底部导航组件
新增目录:
src/components/tab-bar/index.tsxsrc/components/tab-bar/index.scss
组件负责:
- 渲染统一的 5 个底部导航项
- 根据传入的当前页面 key 控制高亮状态
- 处理首页与消息页之间的跳转
- 对暂未实现的页面继续保留轻提示
组件入参保持简单,建议至少包含:
- 当前激活项 key
组件内部统一维护导航项配置,避免首页和消息页各自重复维护一份。
5. 交互设计
5.1 页面跳转
- 首页点击底部
消息,跳转到消息页 - 消息页点击底部
首页,跳转到首页 - 点击当前已激活 tab 不重复跳转
- 点击
报告、小e、我的时,继续提示“功能待接入”
为了避免多层页面堆栈,首页与消息页之间的 tab 切换优先使用 Taro.redirectTo。
5.2 消息标签切换
- 点击
体征消息,显示体征消息列表 - 点击
系统消息,显示系统消息占位列表 - 当前仅做前端状态切换,不持久化
5.3 消息列表滚动
如果卡片数量超过一屏,允许页面自然纵向滚动。底部导航固定在底部,页面内容区域保留足够底部内边距,避免被遮挡。
6. 数据设计
消息页首版使用本地静态数据。建议定义明确的 TypeScript 类型,例如:
MessageTabKeyMessageItem
数据至少包含:
idtitledeviceIduserNamemessageTypevalueTextoccurredAtcategory
其中 category 用于区分 vital 和 system 两类消息,便于本地筛选。
7. 文件修改范围
预计涉及文件:
src/app.config.tssrc/pages/index/index.tsxsrc/pages/index/index.scsssrc/pages/message/index.tsxsrc/pages/message/index.scsssrc/pages/message/index.config.tssrc/components/tab-bar/index.tsxsrc/components/tab-bar/index.scssREADME.md
8. 测试与验证
至少验证以下内容:
- 项目可以正常编译
- 首页底部
消息可跳转到消息页 - 消息页底部
首页可跳回首页 - 消息页顶部双标签可以切换
- 当前激活 tab 样式正确
- 页面底部内容不会被固定导航遮挡
9. 风险与控制
风险 1:底部导航从首页内联实现改为组件后,可能影响首页现有视觉。 控制方式:保留原有视觉结构,优先抽取已有样式命名和布局逻辑,避免大改。
风险 2:tab 切换若使用 navigateTo,可能导致页面堆栈不断增加。
控制方式:首页与消息页之间统一使用 redirectTo。
风险 3:消息页完全照搬图片可能与当前项目样式不一致。 控制方式:保留设计图核心布局,但颜色、阴影、圆角与首页现有风格保持同一体系。
10. 完成标准
满足以下条件即可认为本次任务完成:
- 小程序内已存在独立消息页
- 首页与消息页可通过底部导航双向切换
- 消息页主要视觉与提供的参考图接近
- 代码结构对新手友好,文件职责清晰
- README 已同步说明当前新增页面