- 后台全面引入 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>
47 行
3.0 KiB
Markdown
47 行
3.0 KiB
Markdown
# API 字段映射表(Phase 0 产出)
|
||
|
||
## 数据源分类
|
||
|
||
### A类:site_content 表(JSON KV 存储,已有公开 API: GET /api/content/[key])
|
||
| key | 前台页面 | 后台编辑 |
|
||
|-----|---------|---------|
|
||
| products | products/index, products/[id], summer-camp, selector, destinations/[id], blog/[id] | /admin/products/products |
|
||
| versions | products/index | /admin/products/products |
|
||
| autumn-products | products/autumn, destinations/[id] | /admin/products/autumn-products |
|
||
| winter-products | products/winter, destinations/[id] | /admin/products/winter-products |
|
||
| winter-camp | winter-camp | /admin/products/winter-camp |
|
||
| summer-camp | summer-camp (原嵌套在 products.summerCamp) | /admin/products/summer-camp |
|
||
| courses | courses | /admin/content/courses |
|
||
| pricing | pricing | /admin/content/pricing |
|
||
| selector | selector | /admin/content/selector |
|
||
| destinations-detail | destinations/index, destinations/[id] | /admin/content/destinations-detail |
|
||
| calendar | calendar | /admin/content/calendar |
|
||
| guides | guides | /admin/content/guides |
|
||
| navigation | AppHeader, AppFooter, index | /admin/navigation |
|
||
| brand | AppFooter, index, about, qualifications, partners, contact, pricing, stories/index | /admin/content/brand |
|
||
| contact | AppFooter, index, about, qualifications, partners, contact | /admin/content/contact |
|
||
| images | AppHeader, AppFooter, summer-camp, winter-camp | /admin/content/images |
|
||
| about | about, qualifications | /admin/content/about |
|
||
| partners | partners | /admin/content/partners |
|
||
| customize | customize | /admin/content/customize |
|
||
| qualifications | (未直接使用,数据在 about 中) | /admin/content/qualifications |
|
||
| xiaohongshu-wall | xiaohongshu/index, xiaohongshu/[id] | /admin/content/xiaohongshu-wall |
|
||
| youji | youji/index, youji/[id] | /admin/content/youji |
|
||
| seo | useSEO() composable | /admin/content/seo |
|
||
| product-lines | (后台侧栏) | /admin/products |
|
||
|
||
### B类:DB 表数据(需创建公开 API)
|
||
| key | DB 表 | 前台页面 | 需要的响应格式 |
|
||
|-----|-------|---------|--------------|
|
||
| news | articles (type='news') | news | { articles: [{id, title, summary, content, date, category}] } |
|
||
| blog | articles (type='blog') | blog/index, blog/[id] | { articles: [{id, title, subtitle, summary, content, date, author, category, coverImage, tags, relatedProducts, seo}] } |
|
||
| reviews | reviews | index, reviews | { summary: {...}, items: [{...}] } |
|
||
| faq | faqs | index, products/[id], faq | { categories: [{id, name, questions: [{id, question, answer, relatedLinks}]}] } |
|
||
| gallery | gallery_items | gallery | { intro: {...}, categories: [...], works: [...] } |
|
||
| stories | stories | stories/index, stories/[id] | { stories: [{id, title, subtitle, summary, coverImage, ...}] } |
|
||
|
||
## 执行策略
|
||
1. A类数据:usePublicApi 改为调用 GET /api/content/[key](已有API)
|
||
2. B类数据:暂保持从 site_content 读取(JSON 数据已 seed),后续可创建 DB 同步机制
|
||
3. 产品数据归一化:统一 itinerary 格式、faq 字段名、补全 pricing
|