将移动端个人中心页面的UI风格重构为与首页一致的中国传统水墨风格,营造优雅、文化感强的用户体验。
基于中国传统水墨画色彩体系:
| 颜色名称 | CSS变量 | 色值 | 用途 |
|---|---|---|---|
| 宣纸背景 | --ink-light |
#f5f3f0 |
页面主背景 |
| 淡墨 | --ink-medium |
#d4c4a8 |
边框、分割线 |
| 浓墨 | --ink-dark |
#8b7355 |
主要文字、图标 |
| 焦墨 | --ink-deep |
#3a2f26 |
强调文字、标题 |
| 朱砂 | --accent-red |
#a85c5c |
警示、删除操作 |
| 花青 | --accent-blue |
#4a6b7c |
主要按钮、链接 |
| 石绿 | --accent-green |
#5c7c5c |
成功状态、认证标识 |
font-serif text-3xl font-bold - 营造传统文化氛围font-serif text-2xl font-semibold - 章节标题font-sans text-base - 清晰易读font-sans text-sm - 辅助信息font-sans text-xs - 小标签// 新的主页面组件
const ProfilePage: React.FC = () => {
return (
<div className="min-h-screen" style={{ backgroundColor: COLORS.ink.light }}>
{/* 顶部导航栏 */}
<header className="sticky top-0 z-10 shadow-sm">
<div className="px-4 py-4">
<h1 className="font-serif text-2xl font-bold text-center">
个人中心
</h1>
</div>
</header>
{/* 主内容区域 */}
<div className="px-4 py-4 space-y-6">
<UserHeader />
<StatsGrid />
<MenuList />
</div>
</div>
);
};
当前问题: 现代风格,与水墨风格不符 重构方案:
文字: 书法风格字体
// 重构后的UserHeader
const UserHeader: React.FC<UserHeaderProps> = ({ user, onEditProfile }) => {
return (
<div className="mb-6">
{/* 水墨背景装饰 */}
<div className="h-32 rounded-2xl relative overflow-hidden"
style={{ background: `linear-gradient(135deg, var(--ink-light) 0%, var(--ink-medium) 100%)` }}>
{/* 水墨纹理 */}
<div className="absolute inset-0 opacity-10"
style={{ backgroundImage: `url("data:image/svg+xml...水墨纹理SVG")` }} />
</div>
{/* 用户信息卡片 */}
<div className="relative -mt-16">
<div className="rounded-2xl p-6 backdrop-blur-sm mx-4"
style={{ backgroundColor: 'rgba(255,255,255,0.9)', border: `1px solid var(--ink-medium)` }}>
{/* 头像和用户信息 */}
</div>
</div>
</div>
);
};
当前问题: 彩色图标,现代风格 重构方案:
当前问题: 彩色emoji,现代列表样式 重构方案:
:root {
/* 水墨色彩 */
--ink-light: #f5f3f0;
--ink-medium: #d4c4a8;
--ink-dark: #8b7355;
--ink-deep: #3a2f26;
/* 点缀色彩 */
--accent-red: #a85c5c;
--accent-blue: #4a6b7c;
--accent-green: #5c7c5c;
}
/* 水墨卡片 */
.ink-card {
background-color: rgba(255, 255, 255, 0.9);
border: 1px solid var(--ink-medium);
border-radius: 1rem;
backdrop-filter: blur(10px);
transition: all 0.3s ease;
}
.ink-card:hover {
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}
/* 水墨按钮 */
.ink-button {
font-family: var(--font-serif);
border-radius: 2rem;
transition: all 0.3s ease;
cursor: pointer;
}
src/client/mobile/pages/ProfilePage/
├── index.tsx # 主页面组件
├── components/
│ ├── UserHeader.tsx # 用户头部组件(重构)
│ ├── StatsGrid.tsx # 数据统计组件(重构)
│ ├── MenuList.tsx # 菜单列表组件(重构)
│ └── InkIcons.tsx # 水墨图标组件
├── styles/
│ └── profile-ink.css # 个人中心水墨样式
└── utils/
└── animations.ts # 动效工具
| 风险 | 影响 | 对策 |
|---|---|---|
| 性能问题 | 加载缓慢 | 图片优化、懒加载 |
| 兼容性问题 | 显示异常 | 浏览器测试、降级方案 |
| 用户体验差异 | 学习成本 | 渐进式更新、用户引导 |