109 lines
5.3 KiB
Markdown
109 lines
5.3 KiB
Markdown
# 项目长期记忆
|
||
|
||
## 项目信息
|
||
- **项目名称**:广西决策咨询网(jczxw-pc)
|
||
- **PC端路径**:/Users/gxwebsoft/VUE/jczxw2-pc(Nuxt 3 + Ant Design Vue + Tailwind CSS)
|
||
- **Java后端路径**:/Users/gxwebsoft/JAVA/jczxw-java
|
||
- **后台管理**:集成在PC端 /admin 目录下(不单独部署)
|
||
|
||
## 技术栈
|
||
- Nuxt 3 + Vue 3 + TypeScript
|
||
- Ant Design Vue
|
||
- Tailwind CSS
|
||
- i18n(中英文)
|
||
- @nuxt/content
|
||
|
||
## 网站结构(已确认菜单)
|
||
### 一级菜单
|
||
首页、政策要闻、决策咨询、决策参考、专家资讯、智库观察、建言献策、会员服务、翰墨文谈、关于
|
||
|
||
### 二级菜单
|
||
1. **政策要闻**:党中央国务院信息、自治区党委政府信息、其他(厅委办)信息、最新发布
|
||
2. **决策咨询**:市县决策、前沿观察、行业资讯、企业动态、研究热点、学术活动、其他汇编
|
||
3. **决策参考**:政策原文、深度解读、研究成果、专题研究、东盟研究、数据服务(会员限制)
|
||
4. **专家资讯**:专家视点、专家动态、专家申请(含资料上传审核系统)
|
||
5. **智库观察**:智库介绍、智库视角
|
||
6. **建言献策**:后台处理显示,需注册身份
|
||
7. **会员服务**:企业咨询、专项服务
|
||
8. **翰墨文谈**:(独立栏目)
|
||
9. **关于我们**:学会简介、组织机构、学会章程、咨询服务、加入我们(含会员申请+资料上传审核)
|
||
|
||
## 已有页面
|
||
- app/pages/index.vue(首页,已完成)
|
||
- app/pages/news/index.vue(政策要闻列表,已完成)
|
||
- app/pages/consultation/index.vue(决策咨询列表,已完成)
|
||
- app/pages/reference/index.vue(决策参考列表,已完成)
|
||
- app/pages/expert/index.vue(专家资讯列表)
|
||
- app/pages/expert/apply.vue(专家申请)
|
||
- app/pages/expert/[id].vue(专家详情页,已完成)
|
||
- app/pages/think-tank/index.vue(智库观察列表,已完成)
|
||
- app/pages/suggestions/index.vue(建言献策,含表单,已完成)
|
||
- app/pages/membership/index.vue(会员服务,已完成)
|
||
- app/pages/hanmo/index.vue(翰墨文谈列表,已完成)
|
||
- app/pages/about/index.vue(关于我们,已完成)
|
||
- app/pages/about/organization.vue(组织机构,已完成)
|
||
- app/pages/about/charter.vue(学会章程,已完成)
|
||
- app/pages/about/consultation.vue(咨询服务,已完成)
|
||
- app/pages/about/join/enterprise.vue(企业会员申请)
|
||
- app/pages/about/join/personal.vue(个人会员申请)
|
||
- app/pages/article/[id].vue(文章详情页,已完成)
|
||
- app/pages/profile/index.vue(个人中心,已完成)
|
||
- app/pages/contact.vue(联系我们,已完成)
|
||
- app/pages/error.vue(404/错误页面,已完成)
|
||
- app/pages/login.vue(登录页,已适配)
|
||
- app/pages/agreement.vue(注册协议,已适配)
|
||
- app/pages/privacy.vue(隐私政策,已适配)
|
||
|
||
## 后台管理页面(/admin)
|
||
- admin/index.vue(管理首页)
|
||
- admin/articles.vue(文章管理,含新增/编辑/删除)
|
||
- admin/categories.vue(栏目管理)
|
||
- admin/article-categories.vue(文章分类管理)
|
||
- admin/announcements.vue(公告管理)
|
||
- admin/experts/index.vue(专家列表)
|
||
- admin/experts/review.vue(专家审核)
|
||
- admin/members/index.vue(会员列表)
|
||
- admin/members/review.vue(会员审核)
|
||
- admin/suggestions/index.vue(建言管理)
|
||
- admin/users.vue(用户管理)
|
||
- admin/downloads.vue(资料下载管理)
|
||
- admin/applications/expert.vue(专家申请管理)
|
||
- admin/applications/member.vue(会员申请管理)
|
||
- admin/settings.vue(系统设置,已适配为决策咨询网配置)
|
||
- admin/tickets.vue(工单管理,未接入导航)
|
||
|
||
## 关键组件
|
||
- app/components/ArticleListPage.vue(通用文章列表组件,支持分类筛选)
|
||
- app/components/SiteHeader.vue(网站头部导航,已从静态菜单改为从 getSiteInfo 接口动态读取)
|
||
- app/components/SiteFooter.vue(网站底部)
|
||
- app/config/admin-nav.ts(后台导航配置)
|
||
- app/config/nav.ts(前台导航配置,作为 API 失败时的兜底数据)
|
||
|
||
## 新增文件(动态菜单功能)
|
||
- app/composables/useMenu.ts(菜单状态管理 composable,含 mapNavItem 数据映射函数)
|
||
- app/plugins/fetch-menu.ts(应用初始化时获取菜单数据的插件)
|
||
|
||
## 待接入后端API(TODO)
|
||
- 文章列表/详情API
|
||
- 专家申请提交
|
||
- 会员申请提交
|
||
- 建言献策提交
|
||
- 数据服务(VIP内容)访问控制
|
||
- 首页轮播图管理API
|
||
- 栏目管理API
|
||
- 设置保存/加载API
|
||
|
||
## 设计风格
|
||
- 主色:深蓝色 #1e3a5f / #0d1b2a
|
||
- 强调色:橙色 #f97316
|
||
- 背景:白色卡片 + 浅灰底
|
||
- 风格:政务门户,专业大气
|
||
|
||
## 技术细节
|
||
### 动态菜单实现(2026-05-10)
|
||
- 参考模板项目(/Users/gxwebsoft/Nuxt/template-10490)的 AppHeader 实现
|
||
- `getSiteInfo` 接口返回的数据中包含 `topNavs`(顶部导航)和 `bottomNavs`(底部导航)
|
||
- 数据流向:plugin(fetch-menu.ts) → 调用 getSiteInfo() → 提取 topNavs → mapNavItem() 映射为 NavItem[] → 写入 useState('menu')
|
||
- SiteHeader.vue 通过 useMenu() composable 读取菜单,有数据时用 API 数据,无数据时兜底用静态 mainNav
|
||
- CmsNavigation 到 NavItem 的映射:title→label, path→to, code/navigationId→key, children 递归映射
|