hookehuyr

docs(auth): 完善认证调试指南和计划书文档

- 更新认证调试指南,添加会话管理说明
- 完善计划书相关文档
- 更新项目 README 和快速开始文档
- 优化项目文档结构
...@@ -76,7 +76,7 @@ export const submitFormAPI = (params) => { ...@@ -76,7 +76,7 @@ export const submitFormAPI = (params) => {
76 export default { 76 export default {
77 pages: [ 77 pages: [
78 'pages/index/index', // 首页 78 'pages/index/index', // 首页
79 - 'pages/auth/index', // 认证页(必须保留) 79 + 'pages/login/index', // 登录页(必须保留)
80 'pages/your-page/index', // 🔧 添加您的页面 80 'pages/your-page/index', // 🔧 添加您的页面
81 ], 81 ],
82 tabBar: { 82 tabBar: {
...@@ -120,9 +120,9 @@ pnpm dev:h5 ...@@ -120,9 +120,9 @@ pnpm dev:h5
120 120
121 - **静默认证**:应用启动时自动执行 121 - **静默认证**:应用启动时自动执行
122 - **401 自动刷新**:接口返回 401 时自动刷新会话 122 - **401 自动刷新**:接口返回 401 时自动刷新会话
123 -- **授权页回跳**:认证完成后自动返回原页面 123 +- **登录页回跳**:登录完成后自动返回原页面
124 124
125 -**重要**:后端需提供 `/srv/?a=openid_wxapp` 接口 125 +**重要**:后端需提供 `/srv/?a=openid` 接口
126 126
127 ### 🌐 网络请求 127 ### 🌐 网络请求
128 128
...@@ -203,7 +203,7 @@ export const useUserStore = defineStore('user', { ...@@ -203,7 +203,7 @@ export const useUserStore = defineStore('user', {
203 203
204 ### Q: 认证流程不工作? 204 ### Q: 认证流程不工作?
205 205
206 -1. 检查后端 `/srv/?a=openid_wxapp` 接口是否正常 206 +1. 检查后端 `/srv/?a=openid` 接口是否正常
207 2. 检查 `src/utils/config.js` 中的 `BASE_URL` 是否正确 207 2. 检查 `src/utils/config.js` 中的 `BASE_URL` 是否正确
208 3. 查看微信开发者工具控制台错误信息 208 3. 查看微信开发者工具控制台错误信息
209 209
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
6 6
7 - **[经验教训总结](docs/lessons-learned.md)** - Taro 项目开发经验、最佳实践和常见陷阱 7 - **[经验教训总结](docs/lessons-learned.md)** - Taro 项目开发经验、最佳实践和常见陷阱
8 - **[CLAUDE.md](CLAUDE.md)** - 项目开发指南(供 Claude Code 使用) 8 - **[CLAUDE.md](CLAUDE.md)** - 项目开发指南(供 Claude Code 使用)
9 +- **[文档导航](docs/README.md)** - 项目文档索引与使用建议
9 10
10 ## 🚀 快速开始 11 ## 🚀 快速开始
11 12
...@@ -44,6 +45,8 @@ pnpm lint ...@@ -44,6 +45,8 @@ pnpm lint
44 -**样式方案** - TailwindCSS(80%) + Less(20%) 混合使用 45 -**样式方案** - TailwindCSS(80%) + Less(20%) 混合使用
45 -**组件复用** - "第 3 次出现原则"抽取 Composables 46 -**组件复用** - "第 3 次出现原则"抽取 Composables
46 -**可复用组件** - TabBar、NavHeader、IconFont 47 -**可复用组件** - TabBar、NavHeader、IconFont
48 +-**文档预览能力** - DocumentPreview 支持多格式文件预览
49 +-**统一列表交互** - 搜索、收藏、资料列表统一点击与操作逻辑
47 50
48 ## 🆕 最新更新(2026-02-14) 51 ## 🆕 最新更新(2026-02-14)
49 52
...@@ -52,6 +55,11 @@ pnpm lint ...@@ -52,6 +55,11 @@ pnpm lint
52 -**文档同步** - 更新提取计划相关文档字段示例 55 -**文档同步** - 更新提取计划相关文档字段示例
53 -**优化建议** - 提取计划相关字段命名保持“功能优先”的语义一致性 56 -**优化建议** - 提取计划相关字段命名保持“功能优先”的语义一致性
54 57
58 +### 文档对齐
59 +-**业务模块更新** - README 页面清单与业务模块对齐现有路由
60 +-**新人指南更新** - 入口文档从工具生成器调整为业务上手流程
61 +-**文档导航同步** - docs/README 快速导航修正与补充
62 +
55 ## 🆕 最新更新(2026-02-13) 63 ## 🆕 最新更新(2026-02-13)
56 64
57 ### 权限与测试 65 ### 权限与测试
...@@ -130,46 +138,43 @@ pnpm lint ...@@ -130,46 +138,43 @@ pnpm lint
130 ``` 138 ```
131 src/ 139 src/
132 ├── api/ # API 接口层 140 ├── api/ # API 接口层
133 -│ ├── index.js # 业务接口定义
134 -│ └── fn.js # HTTP 请求封装
135 ├── assets/ # 静态资源 141 ├── assets/ # 静态资源
136 -│ ├── images/ # 图片资源
137 -│ └── styles/ # 全局样式
138 ├── components/ # 通用组件 142 ├── components/ # 通用组件
139 -│ ├── IconFont.vue # 图标字体组件 143 +│ ├── cards/ # 卡片组件
140 -│ ├── NavHeader.vue # 自定义导航头 144 +│ ├── documents/ # 文档预览组件
141 -│ ├── TabBar.vue # 底部导航栏 145 +│ ├── forms/ # 表单组件
142 -│ ├── SectionCard.vue # 分组卡片组件 146 +│ ├── icons/ # 图标组件
143 -│ ├── FilterTabs.vue # 筛选标签组件 147 +│ ├── list/ # 列表组件
144 -│ ├── PosterBuilder/ # 海报生成器(可选) 148 +│ ├── navigation/ # 导航组件
145 -│ └── PlanSchemes/ # 计划书方案组件 149 +│ └── plan/ # 计划书相关组件
146 -├── composables/ # Composition API hooks 150 +├── composables/ # 组合式函数
147 -│ ├── useSectionList.js # 分组列表管理 151 +├── config/ # 功能与权限配置
148 -│ ├── useFileOperation.js # 文件操作(下载、预览) 152 +├── hooks/ # hooks
149 -│ └── useListItemClick.js # 列表点击处理
150 -├── hooks/ # 自定义 hooks
151 -│ └── useGo.js # 增强导航 hook
152 ├── pages/ # 页面组件 153 ├── pages/ # 页面组件
153 │ ├── index/ # 首页 154 │ ├── index/ # 首页
154 -│ ├── auth/ # 认证页(必须保留) 155 +│ ├── product-center/ # 产品中心
155 -│ ├── login/ # 登录页
156 │ ├── product-detail/ # 产品详情 156 │ ├── product-detail/ # 产品详情
157 +│ ├── category-list/ # 分类列表
157 │ ├── material-list/ # 资料列表 158 │ ├── material-list/ # 资料列表
158 -│ ├── knowledge-base/ # 知识库 159 +│ ├── week-hot-material/ # 周热门资料
159 -│ ├── plan/ # 计划书 160 +│ ├── signing/ # 签单相关
161 +│ ├── family-office/ # 家办业务
162 +│ ├── plan/ # 计划书列表
163 +│ ├── plan-submit-result/ # 计划书提交结果
164 +│ ├── search/ # 搜索
165 +│ ├── document-preview/ # 文档预览
166 +│ ├── message/ # 消息列表
167 +│ ├── message-detail/ # 消息详情
168 +│ ├── feedback/ # 意见反馈
169 +│ ├── feedback-list/ # 反馈列表
160 │ ├── favorites/ # 我的收藏 170 │ ├── favorites/ # 我的收藏
161 │ ├── mine/ # 我的 171 │ ├── mine/ # 我的
162 -│ └── ... 172 +│ ├── avatar/ # 头像编辑
163 -├── stores/ # Pinia 状态管理 173 +│ ├── help-center/ # 帮助中心
164 -│ ├── router.js # 路由状态(认证回跳) 174 +│ ├── login/ # 登录
165 -│ ├── main.js # 主 store 175 +│ ├── onboarding/ # 引导页
166 -│ └── host.js # 配置 store 176 +│ ├── video-player/ # 视频播放
167 -├── utils/ # 工具函数 177 +│ └── webview/ # WebView 承载页
168 -│ ├── authRedirect.js # 认证流程核心(必须)
169 -│ ├── request.js # HTTP 客户端核心(必须)
170 -│ ├── config.js # 环境配置(⚠️ 需修改)
171 -│ ├── tools.js # 通用工具
172 -│ └── documentIcons.js # 文档图标工具
173 ├── app.js # 应用入口 178 ├── app.js # 应用入口
174 ├── app.config.js # 页面路由配置 179 ├── app.config.js # 页面路由配置
175 └── app.less # 全局样式 180 └── app.less # 全局样式
...@@ -177,17 +182,28 @@ src/ ...@@ -177,17 +182,28 @@ src/
177 182
178 ## 📄 页面说明 183 ## 📄 页面说明
179 184
180 -### 主要页面 185 +### 主要业务页面
181 -- **首页** - 产品展示、热门资料、导航入口 186 +- **首页** - 导航入口、产品与资料推荐
182 -- **产品详情** - 完整产品信息展示 187 +- **产品中心** - 产品聚合展示与筛选
183 -- **资料列表** - 培训材料和文档管理 188 +- **产品详情** - 产品信息与附件预览入口
184 -- **知识库** - 培训材料和案例知识库 189 +- **分类列表/资料列表** - 分类浏览与资料列表
185 -- **计划书** - 计划书列表和管理 190 +- **周热门资料** - 热门资料聚合列表
186 -- **我的收藏** - 收藏内容管理 191 +- **签单相关** - 业务签单资料入口
187 -- **我的** - 个人资料、功能菜单 192 +- **家办业务** - 家办相关资料入口
193 +- **计划书** - 计划书列表、状态展示
194 +- **计划书提交结果** - 提交完成提示与下一步引导
195 +- **搜索** - 全局搜索与结果分类
196 +
197 +### 辅助与管理页面
198 +- **消息列表/消息详情** - 消息通知与计划书状态查看
199 +- **文档预览/视频播放** - 文件预览与播放
200 +- **意见反馈/反馈列表** - 反馈提交与历史查看
201 +- **我的/头像/帮助中心** - 个人信息与常用入口
202 +- **登录/引导页** - 认证与首次引导
203 +- **WebView** - 承载外部 H5 内容
188 204
189 ### 页面特性 205 ### 页面特性
190 -- ✅ 顶部筛选固定,列表独立滚动 206 +-列表页顶部筛选固定,列表独立滚动
191 - ✅ 统一的导航头(NavHeader)和底部导航(TabBar) 207 - ✅ 统一的导航头(NavHeader)和底部导航(TabBar)
192 - ✅ 统一的文件操作逻辑(下载、预览) 208 - ✅ 统一的文件操作逻辑(下载、预览)
193 - ✅ 统一的列表点击处理 209 - ✅ 统一的列表点击处理
...@@ -227,7 +243,7 @@ export const yourAPI = (params) => { ...@@ -227,7 +243,7 @@ export const yourAPI = (params) => {
227 export default { 243 export default {
228 pages: [ 244 pages: [
229 'pages/index/index', 245 'pages/index/index',
230 - 'pages/auth/index', 246 + 'pages/login/index',
231 'pages/your-page/index', // 添加您的页面 247 'pages/your-page/index', // 添加您的页面
232 ], 248 ],
233 } 249 }
...@@ -246,13 +262,13 @@ export default { ...@@ -246,13 +262,13 @@ export default {
246 262
247 1. **静默认证**:应用启动时自动执行 263 1. **静默认证**:应用启动时自动执行
248 2. **401 自动刷新**:接口返回 401 时自动刷新会话 264 2. **401 自动刷新**:接口返回 401 时自动刷新会话
249 -3. **授权页回跳**:认证完成后自动跳转回原页面 265 +3. **登录页回跳**:登录完成后自动跳转回原页面
250 266
251 **核心文件** 267 **核心文件**
252 - `src/utils/authRedirect.js` - 认证流程管理 268 - `src/utils/authRedirect.js` - 认证流程管理
253 - `src/utils/request.js` - HTTP 请求拦截器 269 - `src/utils/request.js` - HTTP 请求拦截器
254 270
255 -**重要**:后端需提供 `/srv/?a=openid_wxapp` 接口用于微信登录。 271 +**重要**:后端需提供 `/srv/?a=openid` 接口用于微信登录。
256 272
257 ## 📦 技术栈 273 ## 📦 技术栈
258 274
...@@ -327,8 +343,15 @@ export default { ...@@ -327,8 +343,15 @@ export default {
327 2. 请求超时默认 5 秒,可在 `src/utils/request.js` 中修改 343 2. 请求超时默认 5 秒,可在 `src/utils/request.js` 中修改
328 3. NutUI 组件已配置自动导入,无需手动引入 344 3. NutUI 组件已配置自动导入,无需手动引入
329 4. TailwindCSS 已禁用 preflight,避免与小程序样式冲突 345 4. TailwindCSS 已禁用 preflight,避免与小程序样式冲突
330 -5. 认证失败会自动跳转到 `/pages/auth/index` 346 +5. 认证失败会自动跳转到 `/pages/login/index`
331 6. **所有函数必须有 JSDoc 注释** - 详见 `~/.claude/rules/code-commenting.md` 347 6. **所有函数必须有 JSDoc 注释** - 详见 `~/.claude/rules/code-commenting.md`
348 +7. 业务路由以 `src/app.config.js` 为准,计划类文档仅保留历史记录
349 +
350 +## ✅ 优化建议
351 +
352 +1. 持续维护 API 集成日志与页面模块对应关系
353 +2. 文档预览与视频播放页面补充更多异常场景说明
354 +3. 页面入口与权限策略保持同步,避免入口显示但权限不一致
332 355
333 ## 📄 License 356 ## 📄 License
334 357
......
1 +## [2026-02-14] - 文档对齐与业务说明更新
2 +
3 +### 更新
4 +- 同步 README 的业务模块与页面清单
5 +- 修正文档导航中的 API 联调日志入口
6 +- 重写新人入门指南为业务与路由上手文档
7 +- 对齐登录页路径说明与认证调试文档
8 +- 更新前端开发计划中的当前路由与模块概览
9 +- 对齐鉴权重构文档的登录页说明
10 +- 标记项目开发计划与调整版为历史版本并补充当前业务说明
11 +- README 补充路由与计划文档对齐说明
12 +
13 +---
14 +
15 +**详细信息**
16 +- **影响文件**: README.md, QUICKSTART.md, docs/README.md, docs/guides/新人入门指南.md, docs/guides/认证调试指南.md, docs/plan/前端开发计划.md, docs/plan/项目开发计划.md, docs/plan/前端开发计划-调整版.md, docs/specs/2026-02-02-auth-refactoring.md
17 +- **技术栈**: 文档维护
18 +- **测试状态**: 不适用
19 +- **备注**: 与现有路由与页面模块保持一致
20 +
21 +---
22 +
1 ## [2026-02-14] - 提取方式字段重命名 23 ## [2026-02-14] - 提取方式字段重命名
2 24
3 ### 变更 25 ### 变更
......
1 # 臻奇智荟圈小程序 - 前端开发计划(调整版) 1 # 臻奇智荟圈小程序 - 前端开发计划(调整版)
2 2
3 +## ⚠️ 当前说明
4 +
5 +本计划为历史版本,当前业务与路由以 `src/app.config.js` 为准,AI 模块已改为外部配置,不再内置页面。
6 +
3 ## 📋 项目概览 7 ## 📋 项目概览
4 8
5 ### 项目信息 9 ### 项目信息
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
9 - **设计宽度**: 750px(自定义组件)/ 375px(NutUI组件) 9 - **设计宽度**: 750px(自定义组件)/ 375px(NutUI组件)
10 10
11 ### 开发目标 11 ### 开发目标
12 -基于现有 Taro 4 + Vue 3 模板,开发服务保险团队内部同事的微信小程序,实现计划书生成、资料库管理、AI问答三大核心功能 12 +基于现有 Taro 4 + Vue 3 模板,开发服务保险团队内部同事的微信小程序,实现产品与资料浏览、计划书管理、搜索与消息通知、反馈闭环等核心能力
13 13
14 --- 14 ---
15 15
...@@ -19,65 +19,46 @@ ...@@ -19,65 +19,46 @@
19 19
20 ``` 20 ```
21 src/ 21 src/
22 -├── api/ # API接口定义 22 +├── api/ # API 接口层
23 -│ ├── index.js # API入口
24 -│ ├── fn.js # 请求包装器
25 -│ ├── order.js # 订单相关API
26 -│ ├── material.js # 资料库相关API
27 -│ ├── ai.js # AI问答相关API
28 -│ └── user.js # 用户相关API
29 -
30 ├── assets/ # 静态资源 23 ├── assets/ # 静态资源
31 -│ └── images/ # 图片资源 24 +├── components/ # 通用组件
32 - 25 +│ ├── cards/ # 卡片组件
33 -├── components/ # 公共组件 26 +│ ├── documents/ # 文档预览组件
34 -│ ├── page-container/ # 页面容器组件 27 +│ ├── forms/ # 表单组件
35 -│ ├── order-card/ # 订单卡片组件 28 +│ ├── icons/ # 图标组件
36 -│ ├── material-item/ # 资料列表项组件 29 +│ ├── list/ # 列表组件
37 -│ ├── file-preview/ # 文件预览组件(PDF/视频/图片) 30 +│ ├── navigation/ # 导航组件
38 -│ └── chat-message/ # 聊天消息组件 31 +│ └── plan/ # 计划书相关组件
39 -
40 ├── composables/ # 组合式函数 32 ├── composables/ # 组合式函数
41 -│ ├── useAuth.js # 认证相关 33 +├── config/ # 功能与权限配置
42 -│ ├── useRequest.js # 请求封装 34 +├── hooks/ # hooks
43 -│ └── useUpload.js # 文件上传 35 +├── pages/ # 页面组件
44 - 36 +│ ├── index/ # 首页
45 -├── pages/ # 页面 37 +│ ├── product-center/ # 产品中心
46 -│ ├── index/ # 首页(工作台) 38 +│ ├── product-detail/ # 产品详情
47 -│ ├── order/ 39 +│ ├── category-list/ # 分类列表
48 -│ │ ├── submit/ # 提交计划书申请 40 +│ ├── material-list/ # 资料列表
49 -│ │ ├── list/ # 我的订单列表 41 +│ ├── week-hot-material/ # 周热门资料
50 -│ │ └── detail/ # 订单详情 42 +│ ├── signing/ # 签单相关
51 -│ ├── material/ 43 +│ ├── family-office/ # 家办业务
52 -│ │ ├── index/ # 资料库首页 44 +│ ├── plan/ # 计划书列表
53 -│ │ ├── list/ # 资料列表 45 +│ ├── plan-submit-result/ # 计划书提交结果
54 -│ │ ├── detail/ # 资料详情(PDF/视频预览) 46 +│ ├── search/ # 搜索
55 -│ │ └── search/ # 资料搜索 47 +│ ├── document-preview/ # 文档预览
56 -│ ├── ai/ 48 +│ ├── document-demo/ # 文档演示
57 -│ │ └── chat/ # AI问答对话页面 49 +│ ├── message/ # 消息列表
58 -│ ├── notifications/ # 消息通知列表 50 +│ ├── message-detail/ # 消息详情
59 -│ ├── profile/ # 个人中心 51 +│ ├── feedback/ # 意见反馈
60 -│ └── auth/ # 授权登录(已有) 52 +│ ├── feedback-list/ # 反馈列表
61 - 53 +│ ├── favorites/ # 我的收藏
62 -├── stores/ # 状态管理 54 +│ ├── mine/ # 我的
63 -│ ├── main.js # 主Store 55 +│ ├── avatar/ # 头像编辑
64 -│ ├── router.js # 路由Store(已有) 56 +│ ├── help-center/ # 帮助中心
65 -│ ├── user.js # 用户信息Store 57 +│ ├── login/ # 登录
66 -│ ├── order.js # 订单Store 58 +│ ├── onboarding/ # 引导页
67 -│ └── material.js # 资料库Store 59 +│ ├── video-player/ # 视频播放
68 - 60 +│ └── webview/ # WebView 承载页
69 -├── utils/ # 工具函数 61 +├── app.config.js # 页面路由配置
70 -│ ├── authRedirect.js # 认证跳转(已有)
71 -│ ├── request.js # 请求封装(已有)
72 -│ ├── tools.js # 工具函数(已有)
73 -│ ├── config.js # 配置文件(已有)
74 -│ ├── validate.js # 表单验证
75 -│ └── format.js # 格式化工具
76 -
77 -├── hooks/ # Hooks
78 -│ └── useGo.js # 导航Hook(已有)
79 -
80 -├── app.config.js # 应用配置(路由、tabBar等)
81 └── app.js # 应用入口 62 └── app.js # 应用入口
82 ``` 63 ```
83 64
...@@ -85,60 +66,63 @@ src/ ...@@ -85,60 +66,63 @@ src/
85 66
86 | 页面路径 | 页面名称 | 需要登录 | 说明 | 67 | 页面路径 | 页面名称 | 需要登录 | 说明 |
87 |---------|---------|---------|------| 68 |---------|---------|---------|------|
88 -| /pages/index/index | 首页/工作台 | ✅ | 展示快捷入口、待处理订单、最新资料 | 69 +| /pages/index/index | 首页 | ✅ | 导航入口、产品与资料推荐 |
89 -| /pages/order/submit | 提交计划书申请 | ✅ | 表单提交页面 | 70 +| /pages/search/index | 搜索 | ✅ | 全局搜索与分类结果 |
90 -| /pages/order/list | 我的订单 | ✅ | 订单列表(按状态筛选) | 71 +| /pages/webview/index | WebView | ✅ | 承载外部 H5 |
91 -| /pages/order/detail | 订单详情 | ✅ | 查看订单详情、PDF预览、海报查看 | 72 +| /pages/document-preview/index | 文档预览 | ✅ | PDF/Office 预览 |
92 -| /pages/material/index | 资料库首页 | ✅ | 分类导航、热门资料 | 73 +| /pages/document-demo/index | 文档演示 | ✅ | 预览演示页面 |
93 -| /pages/material/list | 资料列表 | ✅ | 按分类查看资料 | 74 +| /pages/onboarding/index | 引导页 | ❌ | 首次引导 |
94 -| /pages/material/detail | 资料详情 | ✅ | PDF/视频/图片预览(禁止下载) | 75 +| /pages/family-office/index | 家办业务 | ✅ | 家办资料入口 |
95 -| /pages/material/search | 资料搜索 | ✅ | 搜索资料 | 76 +| /pages/product-center/index | 产品中心 | ✅ | 产品聚合与筛选 |
96 -| /pages/ai/chat | AI问答 | ✅ | 对话式AI交互 | 77 +| /pages/product-detail/index | 产品详情 | ✅ | 产品信息与附件 |
97 -| /pages/notifications | 消息通知 | ✅ | 系统消息列表 | 78 +| /pages/category-list/index | 分类列表 | ✅ | 分类聚合列表 |
98 -| /pages/profile | 个人中心 | ✅ | 用户信息、设置 | 79 +| /pages/material-list/index | 资料列表 | ✅ | 分类资料列表 |
99 -| /pages/auth/index | 授权登录 | ❌ | 微信登录(已有) | 80 +| /pages/week-hot-material/index | 周热门资料 | ✅ | 热门资料聚合 |
81 +| /pages/signing/index | 签单相关 | ✅ | 签单资料入口 |
82 +| /pages/mine/index | 我的 | ✅ | 个人入口 |
83 +| /pages/plan/index | 计划书 | ✅ | 计划书列表 |
84 +| /pages/plan-submit-result/index | 计划书提交结果 | ✅ | 提交完成与引导 |
85 +| /pages/favorites/index | 收藏 | ✅ | 收藏管理 |
86 +| /pages/avatar/index | 头像编辑 | ✅ | 头像与信息编辑 |
87 +| /pages/feedback-list/index | 反馈列表 | ✅ | 历史反馈 |
88 +| /pages/feedback/index | 意见反馈 | ✅ | 反馈提交 |
89 +| /pages/login/index | 登录 | ❌ | 登录与回跳 |
90 +| /pages/help-center/index | 帮助中心 | ✅ | 常见问题与入口 |
91 +| /pages/message/index | 消息列表 | ✅ | 消息通知 |
92 +| /pages/message-detail/index | 消息详情 | ✅ | 消息详情与计划书状态 |
93 +| /pages/video-player/index | 视频播放 | ✅ | 视频播放页面 |
100 94
101 ### TabBar 配置 95 ### TabBar 配置
102 96
103 -```javascript 97 +当前采用自定义 TabBar 组件(`src/components/navigation/TabBar.vue`),原生 `tabBar` 未启用,路由以 `app.config.js` 为准。
104 -// app.config.js
105 -tabBar: {
106 - color: '#999999',
107 - selectedColor: '#007AFF',
108 - backgroundColor: '#ffffff',
109 - borderStyle: 'black',
110 - list: [
111 - {
112 - pagePath: 'pages/index/index',
113 - text: '工作台',
114 - iconPath: 'assets/images/tab-home.png',
115 - selectedIconPath: 'assets/images/tab-home-active.png'
116 - },
117 - {
118 - pagePath: 'pages/material/index/index',
119 - text: '资料库',
120 - iconPath: 'assets/images/tab-material.png',
121 - selectedIconPath: 'assets/images/tab-material-active.png'
122 - },
123 - {
124 - pagePath: 'pages/ai/chat/index',
125 - text: 'AI助手',
126 - iconPath: 'assets/images/tab-ai.png',
127 - selectedIconPath: 'assets/images/tab-ai-active.png'
128 - },
129 - {
130 - pagePath: 'pages/profile/index',
131 - text: '我的',
132 - iconPath: 'assets/images/tab-profile.png',
133 - selectedIconPath: 'assets/images/tab-profile-active.png'
134 - }
135 - ]
136 -}
137 -```
138 98
139 --- 99 ---
140 100
141 -## 📱 核心功能模块设计 101 +## ✅ 当前功能模块概览
102 +
103 +### 模块1:产品与资料
104 +- 产品中心、产品详情、分类列表、资料列表、周热门资料、签单相关、家办业务
105 +- 文档预览与视频播放作为统一内容承载页面
106 +
107 +### 模块2:计划书流程
108 +- 计划书列表与状态展示
109 +- 提交结果页与消息详情联动
110 +
111 +### 模块3:搜索与消息
112 +- 搜索结果统一入口
113 +- 消息列表与详情承载计划书状态更新
114 +
115 +### 模块4:个人中心与反馈
116 +- 我的、收藏、头像、帮助中心
117 +- 反馈提交与反馈历史列表
118 +
119 +---
120 +
121 +---
122 +
123 +## 🗃️ 历史规划(已停用)
124 +
125 +以下内容为历史规划记录,已与当前业务实现不一致,阅读时请以“当前功能模块概览”和 `app.config.js` 为准。
142 126
143 ### 模块1:计划书生成模块 127 ### 模块1:计划书生成模块
144 128
......
...@@ -12,18 +12,31 @@ ...@@ -12,18 +12,31 @@
12 12
13 ### 项目定位 13 ### 项目定位
14 服务保险团队内部同事的轻量化微信小程序,核心解决三大痛点: 14 服务保险团队内部同事的轻量化微信小程序,核心解决三大痛点:
15 -1. 计划书快速生成+状态实时反馈 15 +1. 计划书管理与状态实时反馈
16 -2. 沉淀内部培训、服务资料,打造专属知识库 16 +2. 产品与资料沉淀、统一检索与消息通知
17 -3. AI智能问答功能 17 +3. 反馈闭环与个人中心能力
18 18
19 ### 核心技术决策 19 ### 核心技术决策
20 - **不对接保险公司官方API**:规避高成本、高门槛问题 20 - **不对接保险公司官方API**:规避高成本、高门槛问题
21 - **采用半人工方式**:前端提交+后台人工协同的低成本落地方案 21 - **采用半人工方式**:前端提交+后台人工协同的低成本落地方案
22 -- **AI功能**:采用腾讯元宝AI,建立团队私有的知识库 22 +- **AI能力**:采用腾讯元宝AI进行外部配置,不在小程序内置页面
23 23
24 --- 24 ---
25 25
26 -## 🎯 需求分析 26 +## ✅ 当前业务概览
27 +
28 +### 核心模块
29 +1. 产品与资料:产品中心、资料分类、周热门、签单与家办入口
30 +2. 计划书:计划书列表、提交结果与消息联动
31 +3. 搜索与消息:全局搜索、消息列表与详情
32 +4. 个人中心与反馈:我的、收藏、头像、帮助中心、意见反馈
33 +
34 +### 当前路由基准
35 +`src/app.config.js` 为准,涉及页面包含首页、搜索、文档预览、文档演示、产品中心、计划书、消息、反馈、登录等。
36 +
37 +---
38 +
39 +## 🗃️ 历史需求分析(已停用)
27 40
28 ### 一、核心功能模块 41 ### 一、核心功能模块
29 42
...@@ -108,7 +121,7 @@ ...@@ -108,7 +121,7 @@
108 | 数据库 | 存储订单、用户、资料数据 | MySQL / PostgreSQL | 121 | 数据库 | 存储订单、用户、资料数据 | MySQL / PostgreSQL |
109 | 文件存储 | PDF、培训资料、海报、视频 | 七牛云私有云存储 | 122 | 文件存储 | PDF、培训资料、海报、视频 | 七牛云私有云存储 |
110 | CDN加速 | 视频、图片加速 | 七牛云CDN | 123 | CDN加速 | 视频、图片加速 | 七牛云CDN |
111 -| AI服务 | 智能问答 | 腾讯元宝AI | 124 +| AI服务 | 外部知识库配置 | 腾讯元宝AI(外部配置) |
112 | 即时通讯 | 消息推送 | 微信小程序订阅消息 | 125 | 即时通讯 | 消息推送 | 微信小程序订阅消息 |
113 126
114 ### 系统架构图 127 ### 系统架构图
...@@ -117,7 +130,7 @@ ...@@ -117,7 +130,7 @@
117 ┌─────────────────────────────────────────────────────────────┐ 130 ┌─────────────────────────────────────────────────────────────┐
118 │ 微信小程序前端 │ 131 │ 微信小程序前端 │
119 │ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐ │ 132 │ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐ │
120 -│ │计划书生成 │ │ 资料库 │ │ AI问答 │ │ 个人中心 │ │ 133 +│ │计划书流程 │ │ 资料中心 │ │ 搜索消息 │ │ 个人中心 │ │
121 │ └───────────┘ └───────────┘ └───────────┘ └───────────┘ │ 134 │ └───────────┘ └───────────┘ └───────────┘ └───────────┘ │
122 └─────────────────────────────────────────────────────────────┘ 135 └─────────────────────────────────────────────────────────────┘
123 ↕ HTTPS 136 ↕ HTTPS
...@@ -252,7 +265,7 @@ CREATE TABLE operation_logs ( ...@@ -252,7 +265,7 @@ CREATE TABLE operation_logs (
252 265
253 --- 266 ---
254 267
255 -## 📅 开发计划与里程碑 268 +## 🗓️ 历史开发计划与里程碑(已停用)
256 269
257 ### 总体时间规划 270 ### 总体时间规划
258 - **项目启动**: 2026-01-20 271 - **项目启动**: 2026-01-20
......
...@@ -83,10 +83,10 @@ docs/ ...@@ -83,10 +83,10 @@ docs/
83 ### 核心文档 83 ### 核心文档
84 - 📖 [项目变更日志](CHANGELOG.md) - 所有功能、修复和优化的记录 84 - 📖 [项目变更日志](CHANGELOG.md) - 所有功能、修复和优化的记录
85 - 📖 [经验教训总结](lessons-learned.md) - 开发中的最佳实践和常见陷阱 85 - 📖 [经验教训总结](lessons-learned.md) - 开发中的最佳实践和常见陷阱
86 -- 📖 [API 联调日志](api-specs/API 集成日志.md) - 接口联调状态记录 86 +- 📖 [API 联调日志](api-docs/API 集成日志.md) - 接口联调状态记录
87 87
88 ### 新手入门 88 ### 新手入门
89 -👉 **[guides/新人入门指南.md](guides/新人入门指南.md)** - 快速了解项目功能 89 +👉 **[guides/新人入门指南.md](guides/新人入门指南.md)** - 快速了解业务与页面结构
90 90
91 ### 开发指南 91 ### 开发指南
92 - 📘 [Taro 开发速查表](guides/Taro 开发速查表.md) - Taro API 快速查阅 92 - 📘 [Taro 开发速查表](guides/Taro 开发速查表.md) - Taro API 快速查阅
...@@ -105,6 +105,9 @@ docs/ ...@@ -105,6 +105,9 @@ docs/
105 ### 设计文档 105 ### 设计文档
106 - 🎨 [UI/UX 设计稿](design/manulife-V1/done/) - 各页面设计稿 106 - 🎨 [UI/UX 设计稿](design/manulife-V1/done/) - 各页面设计稿
107 107
108 +### 业务规划
109 +- 📋 [项目开发计划](plan/项目开发计划.md) - 业务规划与功能范围
110 +
108 ## 📖 文档分类说明 111 ## 📖 文档分类说明
109 112
110 ### 📘 guides/ - 使用指南 113 ### 📘 guides/ - 使用指南
...@@ -173,4 +176,4 @@ UI/UX 设计稿和生成的代码: ...@@ -173,4 +176,4 @@ UI/UX 设计稿和生成的代码:
173 176
174 --- 177 ---
175 178
176 -**最后更新**: 2026-02-05 179 +**最后更新**: 2026-02-14
......
1 -# 🎉 OpenAPI 转 API 文档生成器 - 完成报告 1 +# 新人入门指南
2 - 2 +
3 -## ✅ 已完成的工作 3 +## 项目概览
4 - 4 +
5 -### 1. 核心功能实现 5 +Manulife WeApp(臻奇智荟圈)是面向内部同事的财富管理小程序,核心围绕产品信息、资料内容与计划书流程展开,支持文档预览、消息通知与反馈闭环。
6 -- ✅ 自动化生成器脚本(`scripts/generateApiFromOpenAPI.js` 6 +
7 -- ✅ YAML 解析和验证 7 +## 业务模块
8 -- ✅ 命名转换(驼峰命名、帕斯卡命名) 8 +
9 -- ✅ 模块化组织生成 9 +- **产品与资料**:产品中心、产品详情、分类列表、资料列表、周热门资料
10 -- ✅ 测试验证脚本 10 +- **业务场景**:签单相关、家办业务
11 - 11 +- **计划书**:计划书列表、提交结果页
12 -### 2. 示例和文档 12 +- **内容检索**:搜索页面统一入口
13 -- ✅ 3个 OpenAPI 文档示例(user、order 模块) 13 +- **消息与反馈**:消息列表/详情、反馈提交/历史
14 -- ✅ 2个生成的 API 文件 14 +- **个人中心**:我的、头像、帮助中心、收藏、登录/引导页
15 -- ✅ 完整的使用文档(4份指南) 15 +
16 -- ✅ 演示页面(可直接访问查看效果) 16 +## 页面清单(与路由一致)
17 - 17 +
18 -### 3. 项目集成 18 +1. 首页:`pages/index/index`
19 -- ✅ 添加到 `package.json` 的 npm 命令 19 +2. 搜索:`pages/search/index`
20 -- ✅ 添加路由配置 20 +3. WebView:`pages/webview/index`
21 -- ✅ 安装所需依赖(js-yaml) 21 +4. 文档预览:`pages/document-preview/index`
22 - 22 +5. 文档演示:`pages/document-demo/index`
23 -## 🚀 立即开始使用 23 +6. 引导页:`pages/onboarding/index`
24 - 24 +7. 家办业务:`pages/family-office/index`
25 -### 方式 1: 使用现有示例 25 +8. 产品中心:`pages/product-center/index`
26 +9. 产品详情:`pages/product-detail/index`
27 +10. 分类列表:`pages/category-list/index`
28 +11. 资料列表:`pages/material-list/index`
29 +12. 周热门资料:`pages/week-hot-material/index`
30 +13. 签单相关:`pages/signing/index`
31 +14. 我的:`pages/mine/index`
32 +15. 计划书:`pages/plan/index`
33 +16. 计划书提交结果:`pages/plan-submit-result/index`
34 +17. 收藏:`pages/favorites/index`
35 +18. 头像编辑:`pages/avatar/index`
36 +19. 反馈列表:`pages/feedback-list/index`
37 +20. 意见反馈:`pages/feedback/index`
38 +21. 登录:`pages/login/index`
39 +22. 帮助中心:`pages/help-center/index`
40 +23. 消息列表:`pages/message/index`
41 +24. 消息详情:`pages/message-detail/index`
42 +25. 视频播放:`pages/video-player/index`
43 +
44 +## 本地开发
26 45
27 ```bash 46 ```bash
28 -# 1. 查看生成的 API 文件 47 +pnpm install
29 -cat src/api/user.js
30 -cat src/api/order.js
31 -
32 -# 2. 启动开发服务器
33 pnpm dev:weapp 48 pnpm dev:weapp
34 -
35 -# 3. 访问演示页面
36 -# 路径: pages/examples/api-demo/index
37 -```
38 -
39 -### 方式 2: 创建新的 API
40 -
41 -```bash
42 -# 1. 创建新模块
43 -mkdir -p docs/api-specs/product
44 -
45 -# 2. 创建接口文档
46 -# 复制 docs/api-specs/user/getUserInfo.md 作为模板
47 -# 修改其中的接口信息
48 -
49 -# 3. 生成 API 文件
50 -pnpm api:generate
51 -
52 -# 4. 查看生成的文件
53 -cat src/api/product.js
54 -
55 -# 5. 在项目中使用
56 -import { yourApiAPI } from '@/api/product';
57 ``` 49 ```
58 50
59 -## 📚 文档导航 51 +## 目录速览
60 -
61 -### 快速开始
62 -👉 **[README_API_GENERATOR.md](../README_API_GENERATOR.md)** - 项目总览和快速开始
63 -
64 -### 详细指南
65 -👉 **[QUICKSTART.md](../scripts/QUICKSTART.md)** - 5分钟快速上手
66 -👉 **[OPENAPI_TO_API_GUIDE.md](./OPENAPI_TO_API_GUIDE.md)** - 完整功能说明
67 -👉 **[API_USAGE_EXAMPLES.md](./API_USAGE_EXAMPLES.md)** - 实际使用案例
68 -
69 -### 技术文档
70 -👉 **[IMPLEMENTATION_SUMMARY.md](./IMPLEMENTATION_SUMMARY.md)** - 技术实现细节
71 -
72 -## 🎯 核心命令
73 52
74 -```bash 53 +- `src/pages/`:业务页面
75 -# 生成 API 文件 54 +- `src/components/`:通用组件(文档预览、列表、导航、计划书组件等)
76 -pnpm api:generate 55 +- `src/composables/`:组合式逻辑(权限、文件操作、列表、埋点等)
56 +- `src/api/`:接口封装
57 +- `docs/`:项目文档与流程说明
77 58
78 -# 测试生成的文件 59 +## 常用文档入口
79 -node scripts/test-generate.js
80 -
81 -# 查看帮助
82 -# 查看各文档文件
83 -```
84 60
85 -## 📊 当前状态 61 +- [文档导航](../README.md)
62 +- [API 联调日志](../api-docs/API%20%E9%9B%86%E6%88%90%E6%97%A5%E5%BF%97.md)
63 +- [经验教训总结](../lessons-learned.md)
64 +- [DocumentPreview 组件文档](../../src/components/documents/DocumentPreview/README.md)
86 65
87 -### 已测试的功能 66 +## 常见任务
88 -- ✅ 单接口生成(user/getUserInfo)
89 -- ✅ 批量接口生成(order/getList, order/getDetail)
90 -- ✅ 多模块生成(user、order 两个模块)
91 -- ✅ 文件格式验证
92 -- ✅ 命名转换验证
93 67
94 -### 生成的文件统计 68 +### 新增页面
95 -- **脚本**: 3个(生成器、测试、快速开始)
96 -- **文档**: 4个(指南、示例、总结)
97 -- **OpenAPI 示例**: 3个
98 -- **生成的 API**: 2个模块
99 -- **演示页面**: 1个
100 69
101 -## 💡 使用建议 70 +1.`src/pages/` 新增页面目录与 `index.vue`
102 - 71 +2.`src/app.config.js` 添加路由
103 -### 1. 日常开发流程 72 +3. 如果需要复用布局,优先复用 `NavHeader``TabBar`
104 -```
105 -修改接口 → 更新 OpenAPI 文档 → 运行生成命令 → 使用新 API
106 -```
107 73
108 -### 2. 团队协作 74 +### 联调接口
109 -- 将 OpenAPI 文档作为单一数据源
110 -- 定期运行 `pnpm api:generate` 同步
111 -- 将生成的 API 文件提交到 Git
112 -
113 -### 3. 版本管理
114 -- OpenAPI 文档应该纳入版本控制
115 -- 生成的 API 文件也应该提交
116 -- 确保文档和代码同步更新
117 -
118 -## 🔧 自定义和扩展
119 -
120 -### 修改生成规则
121 -编辑 `scripts/generateApiFromOpenAPI.js`:
122 -
123 -```javascript
124 -// 修改命名规则
125 -function toCamelCase(str) { /* 你的规则 */ }
126 -
127 -// 修改生成模板
128 -function generateApiFileContent(moduleName, apis) { /* 你的模板 */ }
129 -```
130 -
131 -### 添加新功能
132 -- TypeScript 类型定义生成
133 -- Mock 数据生成
134 -- Watch 模式自动重新生成
135 -- 可视化配置界面
136 -
137 -## 📞 遇到问题?
138 -
139 -### 常见问题
140 -1. **生成失败** → 检查 YAML 格式是否正确
141 -2. **导入错误** → 确认文件路径是否正确
142 -3. **命名不符合预期** → 修改 OpenAPI 文档文件名
143 -
144 -### 调试技巧
145 -```bash
146 -# 运行测试脚本
147 -node scripts/test-generate.js
148 -
149 -# 查看生成的文件
150 -cat src/api/your-module.js
151 -
152 -# 查看错误日志
153 -pnpm api:generate
154 -```
155 -
156 -## 🎉 下一步
157 -
158 -### 推荐学习路径
159 -1. **了解概览** → 阅读 README_API_GENERATOR.md
160 -2. **快速上手** → 跟随 QUICKSTART.md 操作
161 -3. **深入学习** → 查看 OPENAPI_TO_API_GUIDE.md
162 -4. **实践应用** → 参考 API_USAGE_EXAMPLES.md
163 -
164 -### 实际应用
165 -- 在项目中创建新的 OpenAPI 文档
166 -- 运行生成命令创建 API
167 -- 在页面中使用生成的 API
168 -- 享受自动化的便利!
169 -
170 -## 📦 文件清单
171 -
172 -```
173 -✅ scripts/generateApiFromOpenAPI.js - 核心生成器
174 -✅ scripts/test-generate.js - 测试脚本
175 -✅ scripts/QUICKSTART.md - 快速开始
176 -
177 -✅ docs/api-specs/user/getUserInfo.md - 用户接口示例
178 -✅ docs/api-specs/order/getList.md - 订单列表示例
179 -✅ docs/api-specs/order/getDetail.md - 订单详情示例
180 -
181 -✅ docs/OPENAPI_TO_API_GUIDE.md - 详细指南
182 -✅ docs/API_USAGE_EXAMPLES.md - 使用示例
183 -✅ docs/IMPLEMENTATION_SUMMARY.md - 实现总结
184 -
185 -✅ src/api/user.js - 用户 API(生成)
186 -✅ src/api/order.js - 订单 API(生成)
187 -
188 -✅ src/pages/examples/api-demo/index.vue - 演示页面
189 -
190 -✅ package.json - 已添加 api:generate 命令
191 -✅ src/app.config.js - 已添加演示页面路由
192 -```
193 75
194 -## 🌟 总结 76 +1.`docs/api-specs/` 更新接口文档
77 +2.`docs/api-docs/API 集成日志.md` 记录联调状态
78 +3.`src/api/` 添加对应接口封装
195 79
196 -你现在拥有一个完整的 OpenAPI 转 API 文档生成器! 80 +## 新人第一天建议
197 81
198 -**核心价值** 82 +1. 先通读 [README](../../README.md) 与本指南
199 --**提高效率** - 自动化生成,节省时间 83 +2. 阅读页面路由与业务模块对照表
200 --**减少错误** - 避免手动编写的不一致 84 +3. 打开首页、产品中心、计划书、消息模块熟悉主流程
201 - 📦 **标准化** - 统一的代码格式 85 - 📦 **标准化** - 统一的代码格式
202 - 🔧 **易维护** - 单一数据源,易于更新 86 - 🔧 **易维护** - 单一数据源,易于更新
203 87
......
...@@ -102,24 +102,24 @@ pnpm dev:weapp ...@@ -102,24 +102,24 @@ pnpm dev:weapp
102 - [ ] 原始请求自动重放成功 102 - [ ] 原始请求自动重放成功
103 - [ ] 新的 sessionid 已保存 103 - [ ] 新的 sessionid 已保存
104 104
105 -#### 测试点 4: 授权页跳转(降级方案) 105 +#### 测试点 4: 登录页跳转(降级方案)
106 106
107 **操作** 107 **操作**
108 1. 模拟授权失败(修改接口返回错误) 108 1. 模拟授权失败(修改接口返回错误)
109 -2. 观察是否跳转到授权 109 +2. 观察是否跳转到登录
110 110
111 **预期结果** 111 **预期结果**
112 ``` 112 ```
113 ✅ 应该看到以下流程: 113 ✅ 应该看到以下流程:
114 1. 授权失败 114 1. 授权失败
115 2. 保存当前页面路径 115 2. 保存当前页面路径
116 -3. 跳转到 /pages/auth/index 116 +3. 跳转到 /pages/login/index
117 -4. 授权成功后回跳原页面 117 +4. 登录成功后回跳原页面
118 ``` 118 ```
119 119
120 **检查点** 120 **检查点**
121 -- [ ] 正确跳转到授权 121 +- [ ] 正确跳转到登录
122 -- [ ] 授权成功后回跳正确 122 +- [ ] 登录成功后回跳正确
123 - [ ] 路径参数不丢失 123 - [ ] 路径参数不丢失
124 124
125 ## 📊 接口说明 125 ## 📊 接口说明
......
...@@ -348,8 +348,6 @@ src/ ...@@ -348,8 +348,6 @@ src/
348 │ └── wechat.js # 已存在:微信授权 API 348 │ └── wechat.js # 已存在:微信授权 API
349 349
350 ├── pages/ 350 ├── pages/
351 -│ ├── auth/
352 -│ │ └── index.vue # 删除:不再需要单独的授权页
353 │ └── login/ 351 │ └── login/
354 │ └── index.vue # 保留:用户登录页(账号密码登录) 352 │ └── index.vue # 保留:用户登录页(账号密码登录)
355 353
...@@ -736,7 +734,7 @@ function App(props) { ...@@ -736,7 +734,7 @@ function App(props) {
736 - 更新 401 响应处理 734 - 更新 401 响应处理
737 - [ ] 修改 `src/app.js` - 启动时检查登录状态 735 - [ ] 修改 `src/app.js` - 启动时检查登录状态
738 - [ ] 删除 `src/utils/authRedirect.js` - 移除旧的授权逻辑 736 - [ ] 删除 `src/utils/authRedirect.js` - 移除旧的授权逻辑
739 -- [ ] 删除 `src/pages/auth/index.vue` - 不再需要单独的授权页 737 +- [ ] 确认不再需要单独的授权页(当前仅保留登录页)
740 738
741 ### 第 3 步:更新登录页 739 ### 第 3 步:更新登录页
742 740
......