Files
hms/apps/miniprogram/src/pages/pkg-profile/elder-mode/index.tsx
iven a8d7183d7c fix(mp): T40 UI 审计修复 — 28 项设计系统合规 + MCP forceSetAuth bridge
T40 小程序 UI 审计全部 60 页面,发现 28 项问题(HIGH×3 MEDIUM×10 LOW×15),
全部修复并通过静态验证(0 硬编码 border-radius/font-size 残留)。

主要修复:
- border-radius: 12 个文件硬编码值 → $r-xs/$r-lg/$r-pill 设计 token
- touch target: 5 个交互元素添加 min-height: 48px(action-inbox/mall/family/medication)
- elder-mode 页面接入 useElderClass(),预览字号改用 var(--tk-font-body)
- consultation 页面增加加载失败 toast 提示
- app.tsx 新增 forceSetAuth bridge 解决 MCP auth 注入兼容问题
- FAB 按钮和开关控件尺寸规范化

审计结果:PASS 41 / PASS_WITH_ISSUES 19 → 修复后全量 PASS
2026-05-14 09:38:02 +08:00

61 lines
2.1 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { View, Text } from '@tarojs/components';
import Taro from '@tarojs/taro';
import { useUIStore } from '../../../stores/ui';
import { useElderClass } from '../../../hooks/useElderClass';
import './index.scss';
export default function ElderMode() {
const mode = useUIStore((s) => s.mode);
const setMode = useUIStore((s) => s.setMode);
const isElder = mode === 'elder';
const modeClass = useElderClass();
const handleToggle = () => {
const next = isElder ? 'normal' : 'elder';
setMode(next);
Taro.showToast({
title: next === 'elder' ? '已开启长辈模式' : '已关闭长辈模式',
icon: 'none',
duration: 1500,
});
};
return (
<View className={`elder-mode-page ${modeClass}`}>
<View className='elder-mode-card'>
<View className='elder-mode-header'>
<Text className='elder-mode-icon'></Text>
<View className='elder-mode-info'>
<Text className='elder-mode-title'></Text>
<Text className='elder-mode-desc'></Text>
</View>
</View>
<View className='elder-mode-status'>
<Text className='elder-mode-status-text'>
{isElder ? '已开启' : '已关闭'}
</Text>
<View
className={`elder-mode-switch ${isElder ? 'elder-mode-switch--on' : ''}`}
onClick={handleToggle}
>
<View className='elder-mode-switch-thumb' />
</View>
</View>
</View>
<View className='elder-mode-preview'>
<Text className='elder-mode-preview-title'></Text>
<View className='elder-mode-preview-card'>
<Text className={`elder-mode-preview-sample ${isElder ? 'elder-mode-preview-sample--large' : ''}`}>
{isElder ? '长辈模式字体示例' : '标准模式字体示例'}
</Text>
<Text className='elder-mode-preview-note'>
{isElder ? '字号放大 1.3 倍,间距放大 1.2 倍' : '正常字号和间距'}
</Text>
</View>
</View>
</View>
);
}