docs(auth): 完善认证调试指南和计划书文档
- 更新认证调试指南,添加会话管理说明 - 完善计划书相关文档 - 更新项目 README 和快速开始文档 - 优化项目文档结构
Showing
10 changed files
with
306 additions
and
375 deletions
| ... | @@ -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 | ### 权限与测试 |
| ... | @@ -129,65 +137,73 @@ pnpm lint | ... | @@ -129,65 +137,73 @@ pnpm lint |
| 129 | 137 | ||
| 130 | ``` | 138 | ``` |
| 131 | src/ | 139 | src/ |
| 132 | -├── api/ # API 接口层 | 140 | +├── api/ # API 接口层 |
| 133 | -│ ├── index.js # 业务接口定义 | 141 | +├── assets/ # 静态资源 |
| 134 | -│ └── fn.js # HTTP 请求封装 | 142 | +├── components/ # 通用组件 |
| 135 | -├── assets/ # 静态资源 | 143 | +│ ├── cards/ # 卡片组件 |
| 136 | -│ ├── images/ # 图片资源 | 144 | +│ ├── documents/ # 文档预览组件 |
| 137 | -│ └── styles/ # 全局样式 | 145 | +│ ├── forms/ # 表单组件 |
| 138 | -├── components/ # 通用组件 | 146 | +│ ├── icons/ # 图标组件 |
| 139 | -│ ├── IconFont.vue # 图标字体组件 | 147 | +│ ├── list/ # 列表组件 |
| 140 | -│ ├── NavHeader.vue # 自定义导航头 | 148 | +│ ├── navigation/ # 导航组件 |
| 141 | -│ ├── TabBar.vue # 底部导航栏 | 149 | +│ └── plan/ # 计划书相关组件 |
| 142 | -│ ├── SectionCard.vue # 分组卡片组件 | 150 | +├── composables/ # 组合式函数 |
| 143 | -│ ├── FilterTabs.vue # 筛选标签组件 | 151 | +├── config/ # 功能与权限配置 |
| 144 | -│ ├── PosterBuilder/ # 海报生成器(可选) | 152 | +├── hooks/ # hooks |
| 145 | -│ └── PlanSchemes/ # 计划书方案组件 | 153 | +├── pages/ # 页面组件 |
| 146 | -├── composables/ # Composition API hooks | 154 | +│ ├── index/ # 首页 |
| 147 | -│ ├── useSectionList.js # 分组列表管理 | 155 | +│ ├── product-center/ # 产品中心 |
| 148 | -│ ├── useFileOperation.js # 文件操作(下载、预览) | 156 | +│ ├── product-detail/ # 产品详情 |
| 149 | -│ └── useListItemClick.js # 列表点击处理 | 157 | +│ ├── category-list/ # 分类列表 |
| 150 | -├── hooks/ # 自定义 hooks | 158 | +│ ├── material-list/ # 资料列表 |
| 151 | -│ └── useGo.js # 增强导航 hook | 159 | +│ ├── week-hot-material/ # 周热门资料 |
| 152 | -├── pages/ # 页面组件 | 160 | +│ ├── signing/ # 签单相关 |
| 153 | -│ ├── index/ # 首页 | 161 | +│ ├── family-office/ # 家办业务 |
| 154 | -│ ├── auth/ # 认证页(必须保留) | 162 | +│ ├── plan/ # 计划书列表 |
| 155 | -│ ├── login/ # 登录页 | 163 | +│ ├── plan-submit-result/ # 计划书提交结果 |
| 156 | -│ ├── product-detail/ # 产品详情 | 164 | +│ ├── search/ # 搜索 |
| 157 | -│ ├── material-list/ # 资料列表 | 165 | +│ ├── document-preview/ # 文档预览 |
| 158 | -│ ├── knowledge-base/ # 知识库 | 166 | +│ ├── message/ # 消息列表 |
| 159 | -│ ├── plan/ # 计划书 | 167 | +│ ├── message-detail/ # 消息详情 |
| 160 | -│ ├── favorites/ # 我的收藏 | 168 | +│ ├── feedback/ # 意见反馈 |
| 161 | -│ ├── mine/ # 我的 | 169 | +│ ├── feedback-list/ # 反馈列表 |
| 162 | -│ └── ... | 170 | +│ ├── favorites/ # 我的收藏 |
| 163 | -├── stores/ # Pinia 状态管理 | 171 | +│ ├── mine/ # 我的 |
| 164 | -│ ├── router.js # 路由状态(认证回跳) | 172 | +│ ├── avatar/ # 头像编辑 |
| 165 | -│ ├── main.js # 主 store | 173 | +│ ├── help-center/ # 帮助中心 |
| 166 | -│ └── host.js # 配置 store | 174 | +│ ├── login/ # 登录 |
| 167 | -├── utils/ # 工具函数 | 175 | +│ ├── onboarding/ # 引导页 |
| 168 | -│ ├── authRedirect.js # 认证流程核心(必须) | 176 | +│ ├── video-player/ # 视频播放 |
| 169 | -│ ├── request.js # HTTP 客户端核心(必须) | 177 | +│ └── webview/ # WebView 承载页 |
| 170 | -│ ├── config.js # 环境配置(⚠️ 需修改) | 178 | +├── app.js # 应用入口 |
| 171 | -│ ├── tools.js # 通用工具 | 179 | +├── app.config.js # 页面路由配置 |
| 172 | -│ └── documentIcons.js # 文档图标工具 | 180 | +└── app.less # 全局样式 |
| 173 | -├── app.js # 应用入口 | ||
| 174 | -├── app.config.js # 页面路由配置 | ||
| 175 | -└── app.less # 全局样式 | ||
| 176 | ``` | 181 | ``` |
| 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 | ### 变更 | ... | ... |
| ... | @@ -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,126 +19,110 @@ | ... | @@ -19,126 +19,110 @@ |
| 19 | 19 | ||
| 20 | ``` | 20 | ``` |
| 21 | src/ | 21 | src/ |
| 22 | -├── api/ # API接口定义 | 22 | +├── api/ # API 接口层 |
| 23 | -│ ├── index.js # API入口 | 23 | +├── assets/ # 静态资源 |
| 24 | -│ ├── fn.js # 请求包装器 | 24 | +├── components/ # 通用组件 |
| 25 | -│ ├── order.js # 订单相关API | 25 | +│ ├── cards/ # 卡片组件 |
| 26 | -│ ├── material.js # 资料库相关API | 26 | +│ ├── documents/ # 文档预览组件 |
| 27 | -│ ├── ai.js # AI问答相关API | 27 | +│ ├── forms/ # 表单组件 |
| 28 | -│ └── user.js # 用户相关API | 28 | +│ ├── icons/ # 图标组件 |
| 29 | -│ | 29 | +│ ├── list/ # 列表组件 |
| 30 | -├── assets/ # 静态资源 | 30 | +│ ├── navigation/ # 导航组件 |
| 31 | -│ └── images/ # 图片资源 | 31 | +│ └── plan/ # 计划书相关组件 |
| 32 | -│ | 32 | +├── composables/ # 组合式函数 |
| 33 | -├── components/ # 公共组件 | 33 | +├── config/ # 功能与权限配置 |
| 34 | -│ ├── page-container/ # 页面容器组件 | 34 | +├── hooks/ # hooks |
| 35 | -│ ├── order-card/ # 订单卡片组件 | 35 | +├── pages/ # 页面组件 |
| 36 | -│ ├── material-item/ # 资料列表项组件 | 36 | +│ ├── index/ # 首页 |
| 37 | -│ ├── file-preview/ # 文件预览组件(PDF/视频/图片) | 37 | +│ ├── product-center/ # 产品中心 |
| 38 | -│ └── chat-message/ # 聊天消息组件 | 38 | +│ ├── product-detail/ # 产品详情 |
| 39 | -│ | 39 | +│ ├── category-list/ # 分类列表 |
| 40 | -├── composables/ # 组合式函数 | 40 | +│ ├── material-list/ # 资料列表 |
| 41 | -│ ├── useAuth.js # 认证相关 | 41 | +│ ├── week-hot-material/ # 周热门资料 |
| 42 | -│ ├── useRequest.js # 请求封装 | 42 | +│ ├── signing/ # 签单相关 |
| 43 | -│ └── useUpload.js # 文件上传 | 43 | +│ ├── family-office/ # 家办业务 |
| 44 | -│ | 44 | +│ ├── plan/ # 计划书列表 |
| 45 | -├── pages/ # 页面 | 45 | +│ ├── plan-submit-result/ # 计划书提交结果 |
| 46 | -│ ├── index/ # 首页(工作台) | 46 | +│ ├── search/ # 搜索 |
| 47 | -│ ├── order/ | 47 | +│ ├── document-preview/ # 文档预览 |
| 48 | -│ │ ├── submit/ # 提交计划书申请 | 48 | +│ ├── document-demo/ # 文档演示 |
| 49 | -│ │ ├── list/ # 我的订单列表 | 49 | +│ ├── message/ # 消息列表 |
| 50 | -│ │ └── detail/ # 订单详情 | 50 | +│ ├── message-detail/ # 消息详情 |
| 51 | -│ ├── material/ | 51 | +│ ├── feedback/ # 意见反馈 |
| 52 | -│ │ ├── index/ # 资料库首页 | 52 | +│ ├── feedback-list/ # 反馈列表 |
| 53 | -│ │ ├── list/ # 资料列表 | 53 | +│ ├── favorites/ # 我的收藏 |
| 54 | -│ │ ├── detail/ # 资料详情(PDF/视频预览) | 54 | +│ ├── mine/ # 我的 |
| 55 | -│ │ └── search/ # 资料搜索 | 55 | +│ ├── avatar/ # 头像编辑 |
| 56 | -│ ├── ai/ | 56 | +│ ├── help-center/ # 帮助中心 |
| 57 | -│ │ └── chat/ # AI问答对话页面 | 57 | +│ ├── login/ # 登录 |
| 58 | -│ ├── notifications/ # 消息通知列表 | 58 | +│ ├── onboarding/ # 引导页 |
| 59 | -│ ├── profile/ # 个人中心 | 59 | +│ ├── video-player/ # 视频播放 |
| 60 | -│ └── auth/ # 授权登录(已有) | 60 | +│ └── webview/ # WebView 承载页 |
| 61 | -│ | 61 | +├── app.config.js # 页面路由配置 |
| 62 | -├── stores/ # 状态管理 | 62 | +└── app.js # 应用入口 |
| 63 | -│ ├── main.js # 主Store | ||
| 64 | -│ ├── router.js # 路由Store(已有) | ||
| 65 | -│ ├── user.js # 用户信息Store | ||
| 66 | -│ ├── order.js # 订单Store | ||
| 67 | -│ └── material.js # 资料库Store | ||
| 68 | -│ | ||
| 69 | -├── utils/ # 工具函数 | ||
| 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 # 应用入口 | ||
| 82 | ``` | 63 | ``` |
| 83 | 64 | ||
| 84 | ### 页面路由规划 | 65 | ### 页面路由规划 |
| 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 | ... | ... |
-
Please register or login to post a comment