fix(miniprogram): 多角色找茬模式发现并修复 16 个问题
Some checks failed
CI / frontend-build (push) Has been cancelled
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / security-audit (push) Has been cancelled

P0 Bug:
- 健康 AI 建议幽灵路径 pkg-appointment → appointment/create
- 血糖 indicator_type 始终 blood_sugar,不区分空腹/餐后
- 商城订单页 switchTab 跳转非 TabBar 页面

P1 设计系统:
- Profile/Index 页 emoji 图标替换为衬线首字
- Profile 硬编码颜色替换为 SCSS 变量 class
- alerts/action-inbox 两个页面全面接入设计系统
- ai-report/detail 删除重复 mixin 定义
- ErrorBoundary 添加重试按钮移除 emoji
- 新增 $r-xs: 8px 圆角变量

P1 导航/交互:
- Profile 补充 4 个缺失菜单(透析/知情同意/用药/活动)
- Settings 隐私政策改为跳转实际页面
- 全局启用 enablePullDownRefresh
- 首页/健康页添加下拉刷新
- 咨询/消息列表添加分页加载更多
- 医生端患者列表改为上拉加载
- 首页/健康页间距统一为 24px
This commit is contained in:
iven
2026-05-08 16:07:06 +08:00
parent 22b8ac7ac6
commit 3dac6a9eda
17 changed files with 231 additions and 134 deletions

View File

@@ -6,14 +6,18 @@ import { usePointsStore } from '../../stores/points';
import './index.scss';
const MENU_ITEMS = [
{ label: '就诊人管理', icon: '👨‍👩‍👧', bg: '#F0DDD4' },
{ label: '我的报告', icon: '📄', bg: '#E8F0E8' },
{ label: '健康记录', icon: '📝', bg: '#E8F0F8' },
{ label: '诊断记录', icon: '📋', bg: '#E8F0E8' },
{ label: '我的随访', icon: '🏥', bg: '#F3E8F8' },
{ label: '我的预约', icon: '📅', bg: '#E8F0F8' },
{ label: '在线咨询', icon: '💬', bg: '#E8F0E8' },
{ label: '设置', icon: '⚙️', bg: '#f0f0f0' },
{ label: '就诊人管理', icon: '', bg: 'pri-l' },
{ label: '我的报告', icon: '', bg: 'acc-l' },
{ label: '健康记录', icon: '', bg: 'pri-l' },
{ label: '诊断记录', icon: '', bg: 'acc-l' },
{ label: '我的随访', icon: '', bg: 'pri-l' },
{ label: '我的预约', icon: '', bg: 'acc-l' },
{ label: '用药记录', icon: '', bg: 'pri-l' },
{ label: '透析记录', icon: '', bg: 'acc-l' },
{ label: '知情同意', icon: '知', bg: 'pri-l' },
{ label: '线下活动', icon: '活', bg: 'acc-l' },
{ label: '在线咨询', icon: '问', bg: 'pri-l' },
{ label: '设置', icon: '设', bg: 'surface-alt' },
];
const MENU_PATHS: Record<string, string> = {
@@ -23,6 +27,10 @@ const MENU_PATHS: Record<string, string> = {
'诊断记录': '/pages/pkg-profile/diagnoses/index',
'我的随访': '/pages/pkg-profile/followups/index',
'我的预约': '/pages/appointment/index',
'用药记录': '/pages/pkg-profile/medication/index',
'透析记录': '/pages/pkg-profile/dialysis-records/index',
'知情同意': '/pages/pkg-profile/consents/index',
'线下活动': '/pages/events/index',
'在线咨询': '/pages/consultation/index',
'设置': '/pages/pkg-profile/settings/index',
};
@@ -56,7 +64,9 @@ export default function Profile() {
{/* 用户信息卡片 */}
<View className='profile-user-card'>
<View className='profile-avatar'>
<Text className='profile-avatar-icon'>👤</Text>
<Text className='profile-avatar-icon'>
{(user?.display_name || '访').charAt(0)}
</Text>
</View>
<View className='profile-user-info'>
<Text className='profile-name'>{user?.display_name || '未登录'}</Text>
@@ -84,7 +94,7 @@ export default function Profile() {
key={item.label}
onClick={() => handleMenuClick(item.label)}
>
<View className='menu-icon' style={`background:${item.bg};`}>
<View className={`menu-icon menu-icon--${item.bg}`}>
<Text className='menu-icon-text'>{item.icon}</Text>
</View>
<Text className='menu-label'>{item.label}</Text>