feat: Kinetic Dark 设计语言 + Lucide 图标迁移 + 首页轻量个性化

- 建立 Lucide 子集 iconfont(49 字形),全站 emoji 替换为 fc-icon 组件
- 重塑 Design Token(冷中性近黑底 + Volt 荧光绿 #B6F24E),消除硬编码颜色
- 首页登录后个性化:我的计划 / 我的收藏 / 今日推荐(纯前端复用现有 API)
- 后端 DEFAULT_EMOJI→Lucide 名,PALETTE 对齐 Kinetic Dark 语义色板
- 修复 person-standing 缺失字形;14 个官方组合 seed emoji 全部映射到现有字形
This commit is contained in:
2026-07-22 21:38:56 +08:00
parent ca0af6f7d2
commit b94eb706ff
64 changed files with 1572 additions and 173 deletions

View File

@@ -1,8 +1,12 @@
const app = getApp();
const planSvc = require('../../services/plan');
const EMOJIS = ['📋', '💪', '🔥', '🏋️', '🏃', '🧘', '🤸', '🥊', '🚴', '⚡', '🌟', '🎯'];
const COLORS = ['#D9B36C', '#58C9B9', '#9B8CFF', '#F08A5D', '#3FBF7F', '#5B9DF9'];
// UGC 计划图标选择器Lucide 运动子集(非 emoji
const ICONS = ['clipboard-list', 'dumbbell', 'flame', 'accessibility', 'person-standing',
'bike', 'heart', 'target', 'trophy', 'medal', 'star', 'activity',
'sparkles', 'zap', 'trending-up', 'folder-open'];
// 计划主题色:对齐 Kinetic Dark 语义色板
const COLORS = ['#B6F24E', '#2BD9A6', '#4FA8FF', '#F2B53D', '#FF5C5C', '#9BA7A1'];
Page({
data: {
@@ -11,9 +15,9 @@ Page({
id: '',
name: '',
description: '',
emoji: '📋',
color: '#D9B36C',
emojis: EMOJIS,
emoji: 'clipboard-list',
color: '#B6F24E',
emojis: ICONS,
colors: COLORS,
loading: false,
dirty: false // 是否有未保存的修改
@@ -29,8 +33,8 @@ Page({
this.setData({
name: p.name || '',
description: p.description || '',
emoji: p.emoji || '📋',
color: p.color || '#D9B36C',
emoji: p.emoji || 'clipboard-list',
color: p.color || '#B6F24E',
loading: false
});
}).catch(() => {