Mimingguang ee078b61bc feat: 后台管理系统完整重构 + 前后台数据联通
- 后台全面引入 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>
2026-03-24 17:48:02 +08:00

1.5 KiB

Tester 检查清单

2026-03-24

验证流程(每次改动后必须执行)

  1. rm -rf .nuxt 清除缓存
  2. npx nuxi build 确认编译通过(看 "modules transformed" + "built in"
  3. 启动 dev server,逐页 curl 确认 HTTP 200
  4. 检查控制台有无 Vue warn / Error特别是 SSR 阶段)
  5. 验证 API 返回数据结构与前台页面字段对应

前台页面验证清单25个

/, /products, /products/autumn, /products/winter, /summer-camp, /winter-camp, /courses, /pricing, /selector, /faq, /reviews, /blog, /news, /stories, /gallery, /destinations, /calendar, /guides, /about, /contact, /customize, /qualifications, /partners, /xiaohongshu, /youji

API 验证清单

  • GET /api/content/[key] 对所有 26 个 key 返回有效 JSON
  • GET /api/content/nonexistent 返回 404
  • POST /api/contact 写入 submissions 表
  • POST /api/customize 写入 submissions 表
  • PUT /api/admin/submissions/:id 标记已读

Agent 产出检查项

  • 每个文件有 import { ... } from 'naive-ui'
  • 每个文件有 definePageMeta({ layout: 'admin', middleware: 'admin' })
  • 数据加载用 adminFetch后台或 useFetch前台
  • 无残留的 scoped CSS除 .save-bar
  • toast 用 useMessage() 而非手写 div

编辑器字段对照检查

  • 读 data/[key].json 列出全部字段
  • 读 pages/[对应前台页面].vue 确认哪些字段被使用
  • 对比后台编辑器是否全部覆盖
  • 不允许有遗漏字段