- 后台全面引入 Naive UI 组件库,统一 UI 规范 - 前台 usePublicApi 切换到 API 调用(GET /api/content/[key]) - 前后台数据源统一(site_content 表) - 产品线统一管理(tour/camp/course 三套编辑器) - 产品数据归一化(itinerary/faq/pricing 格式统一) - 表单提交 API 改写入 submissions 表 - 新增 submissions 标记已读 API - site-content PUT 支持 upsert - 修复前台 bug(stories 路由冲突、占位符警告、selector breadcrumb) - 消除 PageHero 类型警告(useSEO reactive 修复) - 25 个前台页面全部 HTTP 200,展示效果不变 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
966 B
966 B
UI/UX 一致性检查
2026-03-24
Naive UI 使用规范
- 所有后台页面使用 Naive UI,前台页面不使用
- admin layout 用
<client-only>包裹 NConfigProvider(避免 SSR 报错) - login 页面自带 NConfigProvider(layout: false,不走 admin layout)
- 主题色:primaryColor #3a7d44,hover #2d6235,pressed #245c2b
后台页面结构规范
- 列表页:n-space(标题+按钮) → n-card → n-data-table + n-pagination
- 编辑页:n-breadcrumb → n-space(标题+按钮) → n-card/n-form → .save-bar(sticky)
- content 页:n-space(标题+按钮) → n-spin → n-card(分区) → n-form
不允许的做法
- 不使用手写 CSS class(.btn-primary, .badge, .toast 等)
- 不使用 confirm(),用 NPopconfirm 或 useDialog()
- 不使用手写 toast div,用 useMessage()
- 不使用全局 emoji(用户明确要求)
- 编辑器不使用 JSON 文本框兜底(必须结构化表单覆盖所有字段)