官网内容管理-后端接口开发

This commit is contained in:
eafonyang
2026-07-30 17:33:08 +08:00
parent b1c88fc5e6
commit e71d18b331
34 changed files with 4246 additions and 0 deletions
+234
View File
@@ -0,0 +1,234 @@
# 官网 CMS 侧边栏菜单设计
> **版本**: v1.0
> **关联文档**: [proposal.md](../www/proposal.md)
> **目标**: 定义 Dashboard 侧边栏中「官网管理」模块的菜单结构、路由规划及页面职责
---
## 1. 现有菜单结构
| order | 菜单 | 路由 | 说明 |
|-------|------|------|------|
| 1 | 首页 | `/home` | Dashboard 数据看板 |
| 2 | 耳机 | `/headphone` | 品牌管理 / 型号管理 |
| 3 | OTA 升级 | `/upgrade` | OTA / 目标设备 / 黑名单 |
| 4 | 分享码 | `/share-code` | 分享码日志 |
| 5 | 系统 | `/system` | 用户管理(隐藏,仅超管) |
| 6 | 工具箱 | `/toolbox` | Luxsin Controller |
---
## 2. 新增「官网管理」菜单
在现有菜单之后新增一个顶级分组 **「官网管理」**,包含以下子菜单:
```
官网管理 (www)
├── 全局配置 (global)
│ ├── 站点信息 (basic)
│ ├── 页脚配置 (footer)
│ ├── 社交链接 (social)
│ └── SEO 默认值 (seo)
├── 导航管理 (nav)
│ ├── 导航入口 (items)
│ └── 导航外观 (appearance)
├── 页面管理 (page)
│ ├── 首页区块 (home)
│ ├── 产品列表页 (product-list)
│ ├── 新闻列表页 (news-list)
│ ├── 关于我们 (about)
│ └── 技术支持 (support)
├── 产品管理 (product)
│ ├── 产品系列 (series)
│ └── 产品列表 (list)
├── 新闻管理 (news)
│ └── 新闻文章 (articles)
├── 素材库 (media)
├── 翻译管理 (i18n)
├── 联系表单 (contact)
│ ├── 表单配置 (settings)
│ └── 提交记录 (submissions)
└── 页面 SEO (page-seo)
```
---
## 3. 路由与菜单详细定义
### 3.1 路由命名规范
- 顶级分组: `www`
- 子菜单: `www_{module}` 格式,用 `_` 分隔层级
- 路由路径: `/www/{module}``/www/{module}/{sub}`
- i18n Key: `route.www_{name}`
### 3.2 完整路由表
| route name | path | icon | order | keepAlive | 说明 |
|---|---|---|---|---|---|
| **www** | `/www` | `mdi:globe-model` | 7 | — | 顶级分组 |
| www_global | `/www/global` | `mdi:application-cog-outline` | 1 | — | 全局配置(分组) |
| www_global_basic | `/www/global/basic` | `mdi:information-outline` | 1 | ✓ | 站点标题 / Favicon / Logo |
| www_global_footer | `/www/global/footer` | `mdi:page-layout-footer` | 2 | ✓ | 公司名称 / 地址 / 备案信息 |
| www_global_social | `/www/global/social` | `mdi:share-variant-outline` | 3 | ✓ | 微信 / 微博 / B站 / YouTube 等 |
| www_global_seo | `/www/global/seo` | `mdi:magnify` | 4 | ✓ | 全站默认 Meta / OG 图片 |
| www_nav | `/www/nav` | `mdi:menu` | 2 | — | 导航管理(分组) |
| www_nav_items | `/www/nav/items` | `mdi:format-list-bulleted` | 1 | ✓ | 入口增删排序 / 显示形式 |
| www_nav_appearance | `/www/nav/appearance` | `mdi:palette-outline` | 2 | ✓ | 首页/非首页导航风格 |
| www_page | `/www/page` | `mdi:file-document-outline` | 3 | — | 页面管理(分组) |
| www_page_home | `/www/page/home` | `mdi:home-outline` | 1 | ✓ | 首页 Section 区块配置 |
| www_page_product-list | `/www/page/product-list` | `mdi:format-list-bulleted-square` | 2 | ✓ | 产品列表 Page Hero / 列数 |
| www_page_news-list | `/www/page/news-list` | `mdi:newspaper-variant-outline` | 3 | ✓ | 新闻列表 Page Hero / 分页 |
| www_page_about | `/www/page/about` | `mdi:account-group-outline` | 4 | ✓ | 关于我们文本/图片/CTA |
| www_page_support | `/www/page/support` | `mdi:lifebuoy` | 5 | ✓ | 技术支持 FAQ/下载/联系 |
| www_product | `/www/product` | `mdi:package-variant-closed` | 4 | — | 产品管理(分组) |
| www_product_series | `/www/product/series` | `mdi:layers-outline` | 1 | ✓ | 产品系列 CRUD |
| www_product_list | `/www/product/list` | `mdi:view-list-outline` | 2 | ✓ | 产品 CRUD + Section + 参数规格 |
| www_news | `/www/news` | `mdi:newspaper-variant-multiple-outline` | 5 | — | 新闻管理(分组) |
| www_news_articles | `/www/news/articles` | `mdi:article-outline` | 1 | ✓ | 新闻文章 CRUD |
| www_media | `/www/media` | `mdi:image-multiple-outline` | 6 | ✓ | 素材库(独立页面) |
| www_i18n | `/www/i18n` | `mdi:translate` | 7 | ✓ | 翻译词条管理(独立页面) |
| www_contact | `/www/contact` | `mdi:email-outline` | 8 | — | 联系表单(分组) |
| www_contact_settings | `/www/contact/settings` | `mdi:form-textbox` | 1 | ✓ | 表单字段/全局配置 |
| www_contact_submissions | `/www/contact/submissions` | `mdi:inbox-outline` | 2 | ✓ | 提交记录列表 |
| www_page-seo | `/www/page-seo` | `mdi:search-web` | 9 | ✓ | 页面级 SEO 覆盖(独立页面) |
---
## 4. 页面职责说明
### 4.1 全局配置
| 子页面 | 对应 proposal | 对应表 | 页面类型 |
|--------|-------------|--------|---------|
| 站点信息 | §1.1 | `www_site_settings` | 单表单(直接编辑保存) |
| 页脚配置 | §1.2 | `www_footer_settings` | 单表单 |
| 社交链接 | §1.3 | `www_social_links` | 列表(增删改排序) |
| SEO 默认值 | §1.4 | `www_seo_defaults` | 单表单 |
### 4.2 导航管理
| 子页面 | 对应 proposal | 对应表 | 页面类型 |
|--------|-------------|--------|---------|
| 导航入口 | §2.1 | `www_nav_items` | 列表(拖拽排序/增删改) |
| 导航外观 | §2.3 | `www_nav_appearance` | 单表单 |
### 4.3 页面管理
| 子页面 | 对应 proposal | 对应表 | 页面类型 |
|--------|-------------|--------|---------|
| 首页区块 | §3.1 | `www_section_blocks` (page_type=homepage) | Section 编辑器(拖拽排序/增删/配置面板) |
| 产品列表页 | §3.3 | `www_product_list_settings` | 单表单 |
| 新闻列表页 | §3.4 | `www_news_list_settings` | 单表单 |
| 关于我们 | §3.6 | `www_about_settings` | 单表单(多 Section 展开编辑) |
| 技术支持 | §3.7 | `www_support_settings` | 单表单(多 Section 展开编辑) |
### 4.4 产品管理
| 子页面 | 对应 proposal | 对应表 | 页面类型 |
|--------|-------------|--------|---------|
| 产品系列 | §4.1 | `www_product_series` | 列表 CRUD |
| 产品列表 | §4.2 §4.3 | `www_products` + `www_section_blocks` + `www_spec_groups` + `www_spec_items` | 列表 CRUD → 详情页编辑(Section + 参数规格) |
### 4.5 新闻管理
| 子页面 | 对应 proposal | 对应表 | 页面类型 |
|--------|-------------|--------|---------|
| 新闻文章 | §5.1 §5.2 | `www_news_articles` + `www_news_recommendations` | 列表 CRUD + 富文本编辑器 |
### 4.6 素材库
| 子页面 | 对应 proposal | 对应表 | 页面类型 |
|--------|-------------|--------|---------|
| 素材库 | §6 | `www_media` + `www_media_tags` + `www_media_tag_map` | 文件管理(上传/分类/标签/搜索/预览) |
### 4.7 翻译管理
| 子页面 | 对应 proposal | 对应表 | 页面类型 |
|--------|-------------|--------|---------|
| 翻译词条 | §8.3 | `www_i18n_entries` | 列表(搜索/筛选/编辑) |
### 4.8 联系表单
| 子页面 | 对应 proposal | 对应表 | 页面类型 |
|--------|-------------|--------|---------|
| 表单配置 | §9.1 §9.2 | `www_form_settings` + `www_form_fields` | 单表单 + 字段列表(拖拽排序) |
| 提交记录 | §9 | `www_form_submissions` | 列表(查看/标记已读/删除) |
### 4.9 页面 SEO
| 子页面 | 对应 proposal | 对应表 | 页面类型 |
|--------|-------------|--------|---------|
| 页面 SEO | §7.1 | `www_page_seo` | 列表(按页面类型筛选/编辑) |
---
## 5. 优先级与开发顺序
### P0 - 核心功能(一期必须)
| 序号 | 菜单 | 理由 |
|------|------|------|
| 1 | 产品系列 + 产品列表 | 官网核心内容,其他页面依赖产品数据 |
| 2 | 首页区块 | 官网首屏,营销关键页面 |
| 3 | 全局配置 | 站点基础信息,所有页面依赖 |
| 4 | 导航管理 | 站点导航骨架 |
| 5 | 素材库 | 图片和文件管理,所有页面依赖 |
| 6 | 翻译管理 | 双语支持基础 |
### P1 - 重要功能(一期完整)
| 序号 | 菜单 | 理由 |
|------|------|------|
| 7 | 新闻文章 | 内容营销 |
| 8 | 产品列表页 / 新闻列表页 | 列表展示配置 |
| 9 | 关于我们 / 技术支持 | 品牌展示页面 |
| 10 | 页面 SEO | 搜索引擎优化 |
### P2 - 次要功能(可后置)
| 序号 | 菜单 | 理由 |
|------|------|------|
| 11 | 联系表单 | 用户互动,优先级较低 |
---
## 6. 完整侧边栏菜单(最终视图)
```
📊 首页 /home
🎧 耳机 /headphone
📦 OTA 升级 /upgrade
🔗 分享码 /share-code
─────────────────────────────
🌐 官网管理 /www
📋 全局配置 /www/global
· 站点信息 /www/global/basic
· 页脚配置 /www/global/footer
· 社交链接 /www/global/social
· SEO 默认值 /www/global/seo
📍 导航管理 /www/nav
· 导航入口 /www/nav/items
· 导航外观 /www/nav/appearance
📄 页面管理 /www/page
· 首页区块 /www/page/home
· 产品列表页 /www/page/product-list
· 新闻列表页 /www/page/news-list
· 关于我们 /www/page/about
· 技术支持 /www/page/support
📦 产品管理 /www/product
· 产品系列 /www/product/series
· 产品列表 /www/product/list
📰 新闻管理 /www/news
· 新闻文章 /www/news/articles
🖼️ 素材库 /www/media
🌍 翻译管理 /www/i18n
✉️ 联系表单 /www/contact
· 表单配置 /www/contact/settings
· 提交记录 /www/contact/submissions
🔍 页面 SEO /www/page-seo
─────────────────────────────
⚙️ 系统 /system(隐藏)
🧰 工具箱 /toolbox
```