Files
msh-system/msh_single_uniapp/documents/用户界面交互设计.md

52 KiB
Raw Permalink Blame History

慢生活智能营养专家小程序 - 产品功能说明

用户界面交互设计文档


📋 文档信息

项目 内容
产品名称 慢生活智能营养专家
版本号 v2.0
文档类型 产品功能说明着重UI交互
创建日期 2025-01-20
设计来源 Figma设计稿 + PRD文档

一、产品概述

1.1 产品定位

为肾病患者打造的智能营养管理小程序通过科学计算、AI辅助和社区互动帮助用户实现精准营养管理。

1.2 核心功能模块

  • 🧮 食谱计算器 - 个性化营养方案计算
  • 💬 AI营养师 - 24小时智能问答
  • 📸 饮食打卡 - 每日饮食记录与激励
  • 👥 打卡社区 - UGC内容分享与互动
  • 🔍 食物百科 - 营养成分查询
  • 💡 营养知识 - 专业营养指导

二、整体界面架构

2.1 导航结构

底部标签栏TabBar

采用5个标签页的底部导航设计

标签 图标 功能 交互说明
首页 🏠 功能入口与内容推荐 点击切换至首页,显示用户卡片、功能入口、推荐内容
食谱 🍱 食谱浏览与管理 显示收藏和历史食谱,支持搜索和筛选
咨询 💬 AI营养师对话 进入对话界面,支持文字、语音、图片输入
营养 📚 营养知识库 分类浏览营养知识、科普文章
我的 👤 个人中心 用户信息、健康档案、设置等

交互细节

  • 未选中状态:灰色图标(#666666
  • 选中状态:绿色图标(#4CAF50
  • 点击标签:平滑切换页面,无页面跳转动画
  • 标签栏固定在屏幕底部,滚动时保持可见

三、核心页面交互设计

3.1 首页Index

3.1.1 页面结构

┌─────────────────────────────────┐
│  Header: 慢生活智能营养专家      │
│  [标题]              [更多菜单]   │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【用户卡片】                     │
│  👤 头像 | 昵称 | 状态           │
│  [打卡按钮]                      │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【功能入口】2x2网格          │
│  📊 食谱计算器  💬 AI营养师      │
│  🔍 食物百科    💡 营养知识      │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【食谱推荐】                     │
│  标题 | 查看更多 →               │
│  [卡片列表:图片+标题+描述]       │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【欢迎横幅】                     │
│  🤝 慢生活营养专家               │
│  [免费领取按钮]                  │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【健康知识】                     │
│  标题 | 查看更多 →               │
│  [列表:图标+标题+描述+阅读量]    │
└─────────────────────────────────┘

3.1.2 交互说明

用户卡片区域

  • 点击头像:跳转至个人中心
  • 点击"打卡"按钮
    • 如果未完成健康档案 → 提示"请先完成健康档案"
    • 如果已完成 → 跳转至每日打卡页面
  • 状态显示
    • 已完成:显示"已完成健康档案"(绿色文字)
    • 未完成:显示"尚未完成健康档案"(灰色文字)

功能入口卡片

  • 布局2x2网格每个卡片包含
    • 左侧:圆形图标背景(不同颜色)
    • 右侧:标题 + 描述文字
  • 点击交互
    • 点击卡片 → 跳转至对应功能页面
    • 点击反馈轻微缩放动画scale: 0.95
  • 卡片颜色
    • 食谱计算器:橙色渐变
    • AI营养师蓝色渐变
    • 食物百科:绿色渐变
    • 营养知识:紫色渐变

食谱推荐区域

  • 滚动方式横向滚动scroll-view horizontal
  • 卡片交互
    • 点击卡片 → 跳转至食谱详情页
    • 卡片显示:封面图 + 餐次标签 + 标题 + 描述 + 标签 + 元数据(时间、浏览量)
  • "查看更多":点击跳转至食谱列表页

欢迎横幅

  • 背景:渐变背景 + 装饰性圆形元素
  • 按钮交互
    • 点击"免费领取" → 跳转至营养方案领取页
    • 按钮样式:白色文字 + 箭头图标

健康知识列表

  • 列表项交互
    • 点击列表项 → 跳转至知识详情页
    • 显示:图标 + 标题 + 描述 + 阅读时间 + 浏览量

页面滚动

  • 使用 scroll-view 组件,支持下拉刷新
  • 滚动时底部标签栏保持固定

3.2 食谱计算器Calculator

3.2.1 输入表单页

页面结构

┌─────────────────────────────────┐
│  < 返回    食谱计算器            │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【性别选择】                     │
│  ○ 男  ○ 女                     │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【年龄】                         │
│  [输入框] 岁                     │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【身高】                         │
│  [输入框] cm                     │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【是否透析】                     │
│  ○ 是  ○ 否                     │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【透析类型】(条件显示)          │
│  ○ 血液透析  ○ 腹膜透析          │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【干体重】                       │
│  [输入框] kg                     │
│  💡 提示:透析患者请输入透析后    │
│     的干体重                     │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【血肌酐】                       │
│  [输入框] μmol/L                 │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  [开始计算](固定在底部)         │
└─────────────────────────────────┘

交互说明

单选按钮

  • 样式:自定义圆形选择器
  • 未选中:灰色边框圆圈
  • 选中:橙色边框 + 橙色填充圆点
  • 点击反馈:立即切换选中状态,带动画效果

输入框

  • 样式
    • 背景色:浅灰色(#f5f5f5
    • 圆角12rpx
    • 内边距24rpx
    • 右侧显示单位(灰色文字)
  • 输入限制
    • 年龄:整数,范围 1-120
    • 身高:支持小数,范围 50-250
    • 干体重:支持小数,范围 20-200
    • 血肌酐:支持小数,范围 10-2000
  • 输入反馈
    • 获得焦点:边框高亮(橙色)
    • 输入错误:显示红色提示文字
    • 失去焦点:自动验证格式

条件显示逻辑

  • 当"是否透析"选择"是"时,显示"透析类型"选项
  • 当选择"否"时,隐藏"透析类型"选项
  • 显示/隐藏使用动画过渡fade + slide

底部按钮

  • 样式:橙色渐变背景,圆角按钮,固定在底部
  • 状态管理
    • 未完成必填项:按钮灰色,不可点击
    • 完成所有必填项:按钮橙色,可点击
  • 点击交互
    • 点击后显示加载动画
    • 计算完成后跳转至结果页
    • 如果计算失败,显示错误提示

3.2.2 计算结果页

页面结构

┌─────────────────────────────────┐
│  < 返回    营养计算结果          │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【健康数据卡片】2x2网格       │
│  ┌──────┐  ┌──────┐            │
│  │ eGFR │  │ 标准体重│          │
│  │ XX.XX│  │ XX.X  │            │
│  └──────┘  └──────┘            │
│  ┌──────┐  ┌──────┐            │
│  │ BMI  │  │ CKD分期│          │
│  │ XX.X │  │ CKD X期│          │
│  └──────┘  └──────┘            │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【每日营养目标】1x2网格       │
│  ┌──────────┐  ┌──────────┐    │
│  │ 蛋白质    │  │ 能量      │    │
│  │ XX.X 克/天│  │ XXXX 千卡│    │
│  └──────────┘  └──────────┘    │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【食物份数建议】                 │
│  1. 谷薯50g      [5.7份] 详情  │
│  2. 淀粉100g     [0.77份] 详情  │
│  3. 绿叶蔬菜200g [1份] 详情     │
│  ...                            │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【每日营养配餐】⭐⭐⭐            │
│  ┌──────────────────────────┐   │
│  │ 🌅 早餐 (7:00-8:00)      │   │
│  │ ┌────────────────────┐   │   │
│  │ │ 🥛 牛奶            │   │   │
│  │ │   牛奶 120g        │   │   │
│  │ └────────────────────┘   │   │
│  │ ┌────────────────────┐   │   │
│  │ │ 🍜 鸡蛋拌面         │   │   │
│  │ │   面条 90g          │   │   │
│  │ │   鸡蛋 120g        │   │   │
│  │ └────────────────────┘   │   │
│  └──────────────────────────┘   │
│  ┌──────────────────────────┐   │
│  │ ☀️ 午餐 (12:00-13:00)   │   │
│  │ [菜品卡片...]            │   │
│  └──────────────────────────┘   │
│  ┌──────────────────────────┐   │
│  │ 🌙 晚餐 (18:00-19:00)   │   │
│  │ [菜品卡片...]            │   │
│  └──────────────────────────┘   │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  ⚠️ 重要提示                     │
│  • 透析患者需严格控制水分摄入    │
│  • 建议低盐饮食每日少于5g    │
│  ...                            │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  [✨ 生成AI智能食谱]             │
│  [联系专业营养师]                │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  💡 温馨提示                     │
│  以上计算结果仅供参考...         │
└─────────────────────────────────┘

交互说明

健康数据卡片

  • 布局2x2网格橙色渐变背景
  • 数据展示
    • 每个卡片显示:标签 + 数值 + 单位
    • 数值使用大号字体突出显示
  • 点击交互:点击卡片可查看详细说明(弹窗或跳转)

营养目标卡片

  • 布局1x2横向排列
  • 颜色区分
    • 蛋白质:橙色渐变
    • 能量:红色渐变
  • 数据展示:大号数字 + 单位

食物份数列表

  • 列表项交互
    • 点击"详情"按钮 → 显示该食物类别的详细说明
    • 列表项支持展开/收起(可选功能)

每日营养配餐

  • 餐次卡片
    • 顶部Header渐变色背景 + Emoji图标 + 餐次名称 + 时间范围
    • 早餐:橙粉色渐变
    • 午餐:黄橙色渐变
    • 晚餐:橙红色渐变
  • 菜品卡片
    • 左侧菜品图片80x80圆角
    • 右侧:菜品名称 + 食材列表
    • 食材以Badge形式展示小标签
  • 交互
    • 点击菜品卡片 → 查看菜品详情(食材、营养、做法)
    • 支持左右滑动查看所有菜品(可选)

操作按钮

  • 主按钮" 生成AI智能食谱"
    • 点击 → 跳转至AI营养师页面自动带入营养数据
  • 次按钮"联系专业营养师"
    • 点击 → 打开客服对话或拨打电话

页面滚动

  • 支持长页面滚动
  • 重要按钮可固定在底部(可选)

3.3 AI营养师Chat

3.3.1 页面结构

┌─────────────────────────────────┐
│  < 返回    AI营养师              │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【消息区域】(可滚动)           │
│                                  │
│  ┌──────────────────────────┐   │
│  │ 👋 您好我是您的AI营养师  │   │
│  │ 助手。                   │   │
│  │                          │   │
│  │ 我可以帮您:             │   │
│  │ • 解答饮食疑问           │   │
│  │ • 评估食物适宜性         │   │
│  │ ...                      │   │
│  └──────────────────────────┘   │
│                                  │
│  ┌──────────────────────────┐   │
│  │ [常见问题快捷按钮]        │   │
│  │ [我今天想吃香蕉,可以吗?] │   │
│  │ [如何降低蔬菜中的钾含量?] │   │
│  │ ...                      │   │
│  └──────────────────────────┘   │
│                                  │
│                    ┌──────────┐ │
│                    │ 用户消息 │ │
│                    │ 气泡     │ │
│                    └──────────┘ │
│                                  │
│  ┌──────────┐                   │
│  │ AI消息    │                   │
│  │ 气泡      │                   │
│  └──────────┘                   │
│                                  │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【输入栏】(固定在底部)          │
│  [图片] [语音] [输入框] [发送]   │
└─────────────────────────────────┘

3.3.2 交互说明

欢迎消息

  • 显示时机:首次进入页面时显示
  • 样式:白色气泡,左对齐
  • 内容AI能力介绍 + 常见问题快捷按钮

常见问题快捷按钮

  • 布局4个按钮垂直排列
  • 样式:浅灰色背景,圆角按钮
  • 交互
    • 点击按钮 → 自动发送该问题
    • 按钮文字显示在用户消息气泡中

消息气泡

用户消息

  • 样式
    • 橙色渐变背景from-orange-500 to-orange-600
    • 白色文字
    • 右对齐
    • 圆角气泡
  • 显示内容:消息文字 + 发送时间(小字,灰色)

AI消息

  • 样式
    • 白色背景 + 灰色边框
    • 黑色文字
    • 左对齐
    • 圆角气泡
  • 显示内容
    • 顶部AI头像 + "AI 营养师助手"标签
    • 消息文字
    • 底部:发送时间(小字,灰色)

打字动画

  • 触发时机用户发送消息后1-2秒
  • 动画效果3个灰色小圆点跳动...
  • 持续时间直到AI回复完成

输入栏

  • 布局:固定在屏幕底部
  • 功能按钮
    • 图片按钮:点击选择图片 → 发送图片消息
    • 语音按钮:长按录音 → 松开发送语音
  • 输入框
    • 支持多行输入
    • 获得焦点时,输入栏上移,键盘弹出
  • 发送按钮
    • 有内容时:显示发送按钮(橙色)
    • 无内容时:隐藏发送按钮
    • 点击发送 → 消息显示在消息区域

消息滚动

  • 新消息发送后,自动滚动到底部
  • 支持手动滚动查看历史消息

图片消息

  • 显示方式:缩略图 + 点击查看大图
  • 上传方式:从相册选择或拍照

语音消息

  • 录制方式:长按录音按钮
  • 播放方式:点击语音气泡播放
  • 显示:语音时长 + 波形图(可选)

3.4 饮食打卡Check-in

3.4.1 打卡页面结构

┌─────────────────────────────────┐
│  < 返回    每日打卡              │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【餐次选择】                     │
│  [早餐] [午餐] [晚餐] [加餐]     │
│  Tab切换选中高亮            │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【推荐菜品】(可选)              │
│  ☑️ 牛奶                        │
│  ☑️ 鸡蛋拌面                    │
│  ☐ 凉拌黄瓜                     │
│  (从营养计划中获取)             │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【实际食用】                     │
│  [输入框:描述今天吃了什么]       │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【上传照片】最多9张          │
│  ┌──┐ ┌──┐ ┌──┐ [+添加]       │
│  │图│ │图│ │图│               │
│  └──┘ └──┘ └──┘               │
│  (支持删除、预览)               │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【语音备注】(可选)              │
│  [🎤 点击录音]                   │
│  (显示录音时长,支持播放)       │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【AI智能分析】                   │
│  ☑️ 开启AI识别食物               │
│  (自动识别照片中的食物)         │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【AI视频生成】                   │
│  ☑️ 生成AI视频分享               │
│  (生成打卡视频,+20积分        │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  [提交打卡](固定在底部)         │
└─────────────────────────────────┘

3.4.2 交互说明

餐次选择

  • 样式Tab切换样式选中状态高亮橙色背景
  • 交互
    • 点击切换餐次 → 清空当前输入内容
    • 切换时有滑动动画

推荐菜品

  • 显示条件:如果用户已采纳营养计划,显示推荐菜品
  • 交互
    • 复选框:点击勾选/取消
    • 勾选的菜品自动添加到"实际食用"输入框

实际食用输入框

  • 样式:多行文本输入框
  • 功能:支持手动输入或从推荐菜品选择

照片上传

  • 上传方式
    • 点击"+"按钮 → 选择相册或拍照
    • 最多上传9张
  • 照片展示
    • 网格布局3列
    • 每张照片显示删除按钮右上角X
  • 交互
    • 点击照片 → 预览大图(支持左右滑动)
    • 长按照片 → 删除确认(可选)

语音备注

  • 录制
    • 点击录音按钮 → 开始录音
    • 显示录音时长(实时更新)
    • 再次点击 → 停止录音
  • 播放
    • 录制完成后显示播放按钮
    • 点击播放 → 播放录音
  • 删除:支持删除已录制的语音

AI智能分析开关

  • 功能:开启后,上传照片时自动识别食物
  • 显示:识别结果以标签形式显示在照片下方

AI视频生成开关

  • 功能:开启后,提交打卡时自动生成视频
  • 奖励:生成视频可获得+20积分

提交按钮

  • 状态管理
    • 未填写内容:按钮灰色,不可点击
    • 已填写内容:按钮橙色,可点击
  • 提交流程
    1. 点击提交 → 显示加载动画
    2. 上传数据 → 显示进度
    3. 提交成功 → 跳转至打卡成功页
    4. 显示获得的积分奖励

3.5 打卡社区Community

3.5.1 社区广场

页面结构

┌─────────────────────────────────┐
│  🏠 社区广场        [发布+]      │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【筛选Tab】                      │
│  [推荐] [最新] [关注] [热门]     │
│  (选中状态:橙色下划线)         │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【瀑布流内容】2列布局         │
│  ┌──────┐  ┌──────┐            │
│  │ 封面图│  │ 封面图│            │
│  │      │  │      │            │
│  ├──────┤  ├──────┤            │
│  │ 标题 │  │ 标题 │            │
│  │ 用户 │  │ 用户 │            │
│  │ ❤️ 128│  │ ❤️ 256│            │
│  └──────┘  └──────┘            │
│  ┌──────┐  ┌──────┐            │
│  │ ...  │  │ ...  │            │
│  └──────┘  └──────┘            │
└─────────────────────────────────┘

交互说明

筛选Tab

  • 切换交互
    • 点击Tab → 切换内容列表
    • 选中状态:橙色文字 + 下划线
    • 切换时有滑动动画
  • Tab说明
    • 推荐:算法推荐内容
    • 最新:按时间排序
    • 关注:仅显示关注用户的内容
    • 热门:按点赞数排序

瀑布流布局

  • 布局方式2列网格左右交替
  • 卡片内容
    • 封面图:自动取打卡照片第一张
    • 标题:打卡标题(截断显示)
    • 用户信息:头像 + 昵称
    • 互动数据:点赞数
  • 卡片交互
    • 点击卡片 → 跳转至内容详情页
    • 点击反馈:轻微缩放动画

发布按钮

  • 位置:右上角
  • 交互:点击 → 跳转至发布页面

下拉刷新

  • 触发方式:下拉页面
  • 反馈:显示刷新动画
  • 刷新后:重新加载最新内容

上拉加载

  • 触发方式:滚动到底部
  • 反馈:显示加载动画
  • 加载后:追加更多内容

3.5.2 内容详情页

页面结构

┌─────────────────────────────────┐
│  < 返回              [更多菜单]  │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【用户信息】                     │
│  👤 头像 昵称透析3年         │
│  📅 2025-11-20 12:30            │
│  [+ 关注]                       │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【图片轮播】1/3                  │
│  [滑动查看更多照片]              │
│  (支持左右滑动,显示页码)       │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【内容文字】                     │
│  🥗 早餐打卡第7天              │
│  #早餐 #低钾饮食 #透析期         │
│  (话题标签可点击)               │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【营养数据卡片】                 │
│  蛋白质18.8g (达标94%)         │
│  能量452kcal (达标90%)         │
│  🎯 整体营养达标率92%          │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【互动栏】(固定在底部)          │
│  ❤️ 128  💬 23  ⭐ 45  ➤ 分享  │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【评论区】                       │
│  ┌──────────────────────────┐   │
│  │ 👤 用户A                 │   │
│  │ 太棒了!我也要学习这样吃  │   │
│  │ ❤️ 5  [回复]            │   │
│  └──────────────────────────┘   │
│  ┌──────────────────────────┐   │
│  │ 👤 用户B                 │   │
│  │ 坚持得很好,营养搭配合理👍 │   │
│  │ ❤️ 3  [回复]            │   │
│  └──────────────────────────┘   │
└─────────────────────────────────┘

交互说明

用户信息区域

  • 关注按钮
    • 未关注:显示"+ 关注"(橙色按钮)
    • 已关注:显示"已关注"(灰色按钮)
    • 点击切换关注状态

图片轮播

  • 滑动方式:左右滑动切换图片
  • 显示页码指示器1/3
  • 交互
    • 点击图片 → 全屏预览(支持缩放)
    • 支持多张图片1-3张

话题标签

  • 样式:蓝色文字,带#号
  • 交互:点击标签 → 跳转至话题页

营养数据卡片

  • 数据来源:自动从打卡记录获取
  • 展示方式:卡片式布局,数据可视化

互动栏

  • 点赞按钮
    • 未点赞:空心❤️
    • 已点赞:实心❤️(红色)
    • 点击切换点赞状态,数字实时更新
  • 评论按钮
    • 点击 → 滚动至评论区,聚焦输入框
  • 收藏按钮
    • 未收藏:空心
    • 已收藏:实心(黄色)
    • 点击切换收藏状态
  • 分享按钮
    • 点击 → 显示分享菜单(微信好友、朋友圈等)

评论区

  • 评论列表
    • 显示:用户头像 + 昵称 + 评论内容 + 点赞数
    • 支持回复评论(二级评论)
  • 评论输入
    • 固定在底部(可选)
    • 或点击评论按钮后弹出输入框
  • 评论交互
    • 点击评论 → 回复该评论
    • 长按评论 → 显示删除选项(仅自己的评论)

页面滚动

  • 支持长页面滚动
  • 互动栏可固定在底部(可选)

3.6.1 页面结构

┌─────────────────────────────────┐
│  < 返回    食物百科              │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【搜索栏】                       │
│  🔍 [搜索食物名称...]            │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【分类横向滚动】                 │
│  🌾 谷薯类  🥬 蔬菜类  🍎 水果类 │
│  🍖 肉蛋类  🐟 水产类  ...      │
│  (选中状态:橙色背景)           │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【食物列表】                     │
│  ┌──────────────────────────┐   │
│  │ [图片] 香蕉              │   │
│  │        水果类            │   │
│  │        🟡 钾:中  🔴 磷:高│   │
│  │        ⚠️ 慎用          │   │
│  └──────────────────────────┘   │
│  ┌──────────────────────────┐   │
│  │ [图片] 苹果              │   │
│  │        水果类            │   │
│  │        🟢 钾:低  🟢 磷:低│   │
│  └──────────────────────────┘   │
│  ...                            │
└─────────────────────────────────┘

3.6.2 交互说明

搜索栏

  • 交互
    • 点击搜索栏 → 聚焦,弹出键盘
    • 输入关键词 → 实时搜索(防抖处理)
    • 显示搜索结果列表
  • 清空:输入框右侧显示"X"按钮,点击清空

分类滚动

  • 布局横向滚动scroll-view horizontal
  • 选中状态:橙色背景 + 白色文字
  • 交互
    • 点击分类 → 切换食物列表
    • 切换时有滑动动画

食物列表

  • 列表项内容
    • 左侧食物图片80x80圆角
    • 右侧:食物名称 + 分类标签 + 营养成分标签 + 警告标志
  • 营养成分标签
    • 🟢 绿色:低(适宜)
    • 🟡 黄色:中(适量)
    • 🔴 红色:高(慎用)
  • 警告标志
    • ⚠️ 显示在慎用食物上
  • 列表项交互
    • 点击列表项 → 跳转至食物详情页

3.6.2 食物详情页

页面结构

┌─────────────────────────────────┐
│  < 返回    食物详情              │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【食物大图】                     │
│  [食物图片,全宽显示]             │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  香蕉                            │
│  分类:水果类                    │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【营养成分表】                   │
│  ┌──────────────────────────┐   │
│  │ 每100g含量               │   │
│  ├──────────────────────────┤   │
│  │ 能量93 kcal            │   │
│  │ 蛋白质1.2 g            │   │
│  │ 钾330 mg  🟡 中        │   │
│  │ 磷20 mg   🟢 低        │   │
│  │ 钠1 mg    🟢 低        │   │
│  └──────────────────────────┘   │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【适宜性判断】                   │
│  ⚠️ 慎用                         │
│  香蕉含钾量较高,透析患者需谨慎   │
│  食用。                          │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【食用建议】                     │
│  • 如果血钾控制良好,可少量食用  │
│  • 建议透析后食用更安全          │
│  • 建议咨询主治医生确认          │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  [咨询AI营养师]                  │
└─────────────────────────────────┘

交互说明

营养成分表

  • 展示方式:表格形式,清晰易读
  • 颜色标识:与列表页一致(绿/黄/红)

适宜性判断

  • 显示:警告图标 + 判断结果 + 说明文字
  • 样式:根据适宜性显示不同颜色(绿色/黄色/红色背景)

食用建议

  • 内容:针对该食物的具体建议
  • 格式:列表形式,每项一条建议

咨询按钮

  • 交互:点击 → 跳转至AI营养师页面自动带入食物名称

3.7 营养知识Knowledge

3.7.1 页面结构

┌─────────────────────────────────┐
│  < 返回    营养知识              │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【Tab切换】                      │
│  [营养素百科] [饮食指南] [科普文章]│
│  (选中状态:橙色下划线)         │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【内容列表】根据Tab切换       │
│                                  │
│  【营养素百科】                   │
│  ┌──────────────────────────┐   │
│  │ 💊 蛋白质                │   │
│  │ 优质蛋白质的来源和作用    │   │
│  │ 📖 阅读 5分钟            │   │
│  └──────────────────────────┘   │
│  ...                            │
│                                  │
│  【饮食指南】                   │
│  ┌──────────────────────────┐   │
│  │ 📋 CKD 1-2期饮食指南      │   │
│  │ 早期肾病的饮食原则        │   │
│  │ 📖 阅读 8分钟            │   │
│  └──────────────────────────┘   │
│  ...                            │
│                                  │
│  【科普文章】                   │
│  ┌──────────────────────────┐   │
│  │ [封面图] 文章标题        │   │
│  │ 文章摘要...              │   │
│  │ 📖 阅读 10分钟           │   │
│  └──────────────────────────┘   │
│  ...                            │
└─────────────────────────────────┘

3.7.2 交互说明

Tab切换

  • 交互点击Tab → 切换内容列表
  • 选中状态:橙色文字 + 下划线
  • 切换动画:滑动过渡

内容列表

  • 营养素百科
    • 列表项:图标 + 标题 + 描述 + 阅读时间
    • 点击 → 跳转至营养素详情页
  • 饮食指南
    • 列表项:图标 + 标题 + 描述 + 阅读时间
    • 点击 → 跳转至指南详情页
  • 科普文章
    • 列表项:封面图 + 标题 + 摘要 + 阅读时间
    • 点击 → 跳转至文章详情页

详情页交互

  • 页面结构:标题 + 正文内容 + 相关推荐
  • 阅读体验
    • 支持长页面滚动
    • 字体大小适中,易于阅读
    • 支持收藏、分享功能

3.8 个人中心Mine

3.8.1 页面结构

┌─────────────────────────────────┐
│  【用户信息卡片】                 │
│  ┌──────────────────────────┐   │
│  │ 👤 头像                  │   │
│  │    昵称                  │   │
│  │    积分525分           │   │
│  │    [编辑资料]            │   │
│  └──────────────────────────┘   │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【我的健康】                     │
│  ┌──────┐ ┌──────┐ ┌──────┐    │
│  │健康档案│ │营养计划│ │数据报告│    │
│  └──────┘ └──────┘ └──────┘    │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【我的打卡】                     │
│  ┌──────────────────────────┐   │
│  │ 📅 打卡日历              │   │
│  │    连续打卡7天          │   │
│  │    [查看详情]            │   │
│  └──────────────────────────┘   │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【我的食谱】                     │
│  ┌──────────────────────────┐   │
│  │ ❤️ 收藏的食谱            │   │
│  │ 📜 历史食谱              │   │
│  └──────────────────────────┘   │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【工具与服务】                   │
│  ┌──────────────────────────┐   │
│  │ 🔍 食物搜索              │   │
│  │ 📚 知识库                │   │
│  │ ⏰ 提醒设置              │   │
│  └──────────────────────────┘   │
└─────────────────────────────────┘

┌─────────────────────────────────┐
│  【设置】                         │
│  ┌──────────────────────────┐   │
│  │  关于我们              │   │
│  │ 💬 意见反馈              │   │
│  │ 📞 客服中心              │   │
│  └──────────────────────────┘   │
└─────────────────────────────────┘

3.8.2 交互说明

用户信息卡片

  • 头像:点击 → 更换头像(选择图片或拍照)
  • 积分显示:点击 → 跳转至积分中心
  • 编辑资料:点击 → 跳转至资料编辑页

我的健康

  • 健康档案:点击 → 查看/编辑健康档案
  • 营养计划:点击 → 查看当前营养计划
  • 数据报告:点击 → 查看健康数据报告

我的打卡

  • 打卡日历:显示打卡记录(日历形式)
  • 连续打卡:显示连续打卡天数
  • 查看详情:点击 → 跳转至打卡历史页

我的食谱

  • 收藏的食谱:点击 → 查看收藏列表
  • 历史食谱:点击 → 查看历史记录

工具与服务

  • 食物搜索:点击 → 跳转至食物百科
  • 知识库:点击 → 跳转至营养知识
  • 提醒设置:点击 → 设置打卡提醒

设置

  • 关于我们:点击 → 显示产品信息
  • 意见反馈:点击 → 跳转至反馈页面
  • 客服中心:点击 → 打开客服对话

四、通用交互规范

4.1 页面跳转

跳转方式

  • navigateTo:普通页面跳转(保留当前页面)
  • redirectTo:重定向跳转(关闭当前页面)
  • switchTab:切换底部标签页

跳转动画

  • 默认使用微信小程序原生动画
  • 支持自定义动画(可选)

4.2 加载状态

加载提示

  • 页面加载显示加载动画loading
  • 数据加载:显示"加载中..."文字
  • 下拉刷新:显示刷新动画
  • 上拉加载:显示"加载更多..."文字

加载反馈

  • 所有异步操作都需要显示加载状态
  • 加载失败时显示错误提示

4.3 错误处理

错误提示

  • 网络错误:显示"网络连接失败,请重试"
  • 数据错误:显示"数据加载失败"
  • 操作错误:显示具体错误原因

错误交互

  • 显示错误提示后,提供"重试"按钮
  • 错误提示自动消失3秒后

4.4 表单验证

实时验证

  • 输入时实时验证格式
  • 错误时显示红色提示文字

提交验证

  • 提交前验证所有必填项
  • 验证失败时,高亮错误项并显示提示

4.5 反馈机制

操作反馈

  • 点击反馈按钮点击时有缩放动画scale: 0.95
  • 切换反馈Tab切换时有滑动动画
  • 成功反馈操作成功时显示Toast提示

视觉反馈

  • 选中状态:使用颜色高亮(橙色)
  • 禁用状态:使用灰色,降低透明度
  • 加载状态:显示加载动画

五、视觉设计规范

5.1 颜色系统

主色调

  • 主色#4CAF50绿色
  • 辅助色#FF9800橙色
  • 背景色#F5F5F5浅灰

功能色

  • 成功#4CAF50绿色
  • 警告#FF9800橙色
  • 错误#F44336红色
  • 信息#2196F3蓝色

文字颜色

  • 主文字#333333深灰
  • 次要文字#666666中灰
  • 辅助文字#999999浅灰

5.2 字体规范

字号

  • 标题36rpx18px
  • 副标题32rpx16px
  • 正文28rpx14px
  • 辅助文字24rpx12px

字重

  • 标题Bold700
  • 正文Regular400

5.3 间距规范

页面边距20rpx10px 卡片内边距24rpx12px 元素间距16-32rpx8-16px

5.4 圆角规范

按钮圆角12rpx6px 卡片圆角16rpx8px 输入框圆角12rpx6px


六、特殊功能交互

6.1 一键复制打卡

功能说明:从历史打卡记录中快速复制,生成新的打卡记录。

交互流程

  1. 在打卡历史页点击"一键复制"按钮
  2. 跳转至复制确认页(预览内容)
  3. 确认后跳转至打卡页(内容已填充)
  4. 用户可修改内容后提交
  5. 提交成功获得+5积分

数据填充

  • 自动填充:照片、备注、餐次
  • 用户可修改所有内容

6.2 AI视频生成

功能说明:根据打卡内容自动生成分享视频。

交互流程

  1. 在打卡页开启"AI视频生成"开关
  2. 提交打卡后自动生成视频
  3. 生成完成后显示视频预览
  4. 用户可选择分享到社区或保存到相册
  5. 获得+20积分奖励

视频内容

  • 包含:打卡照片、营养数据、文字描述
  • 自动添加背景音乐和动画效果

6.3 积分系统

积分显示

  • 在个人中心显示总积分
  • 在操作后显示获得的积分Toast提示

积分获得

  • 完成打卡:+5分
  • 上传照片:+10分
  • AI智能分析+10分
  • 生成AI视频+20分
  • 一键复制打卡:+5分
  • 连续打卡:+50/100/500分3/7/30天

积分兑换

  • 在积分中心查看可兑换项目
  • 点击兑换 → 确认兑换 → 扣除积分

七、响应式设计

7.1 屏幕适配

设计尺寸

  • 设计稿375pxiPhone 6/7/8
  • 使用rpx单位自动适配不同屏幕

适配方案

  • 使用微信小程序rpx单位
  • 关键元素使用flex布局
  • 图片使用mode="aspectFill"保持比例

7.2 横竖屏

默认:竖屏显示 横屏:保持竖屏布局(不强制横屏)


八、性能优化

8.1 图片优化

图片格式优先使用WebP格式 图片大小单张图片不超过1MB 图片加载使用懒加载lazy-load

8.2 数据加载

分页加载:列表数据使用分页加载 数据缓存:使用本地存储缓存数据 请求优化:合并请求,减少网络请求次数

8.3 动画优化

动画性能使用CSS动画避免JS动画 动画时长控制在300ms以内 减少重绘使用transform代替position


九、无障碍设计

9.1 文字可读性

对比度文字与背景对比度≥4.5:1 字号最小字号≥24rpx12px

9.2 操作便捷性

点击区域最小点击区域44x44px 操作反馈:所有操作都有明确的视觉反馈


十、总结

本文档详细说明了"慢生活智能营养专家"小程序的所有核心功能的用户界面交互设计。重点包括:

  1. 整体架构5个底部标签页的导航结构
  2. 核心页面首页、计算器、AI营养师、打卡、社区等8个主要页面的详细交互说明
  3. 通用规范:页面跳转、加载状态、错误处理、表单验证等通用交互规范
  4. 视觉设计:颜色、字体、间距、圆角等视觉设计规范
  5. 特殊功能一键复制打卡、AI视频生成、积分系统等特殊功能的交互流程

所有交互设计都遵循微信小程序的设计规范,确保用户体验的一致性和流畅性。


文档版本v1.0
最后更新2025-01-20
设计来源Figma设计稿 + PRD文档