refactor: 优化API路由和响应模型 feat(admin): 添加App用户管理接口 feat(sms): 实现阿里云短信服务集成 feat(email): 添加SMTP邮件发送功能 feat(upload): 支持文件上传接口 feat(rate-limiter): 实现手机号限流器 fix: 修复计算步骤入库问题 docs: 更新API文档和测试计划 chore: 更新依赖和配置
6.0 KiB
6.0 KiB
工作范围与目标
- 范围:梳理
web目录(排除web1),形成结构与架构产物 - 目标:
- 生成完整项目结构文档(目录树、职责说明、关键路径)
- 制作技术架构示意图(前端分层、运行时链路、对后端的调用关系)
- 编写关键模块说明文档(路由、状态、鉴权、HTTP、页面域)
- 预留接口说明,支撑后续开发接入
技术栈识别
- 框架:Vue 3(
web/package.json:37),构建:Vite(web/package.json:43,web/vite.config.js:1) - 路由:vue-router@4(
web/package.json:39);守卫统一注册(web/src/router/guard/index.js:5-9) - 状态:Pinia(
web/package.json:26,web/src/store/index.js:1-5) - UI 与样式:Naive UI(
web/package.json:25),UnoCSS(web/package.json:30,web/src/main.js:3),全局样式(web/src/styles/global.scss) - 国际化:vue-i18n(
web/package.json:38,web/src/main.js:22,web/i18n/index.js) - 网络:Axios(
web/package.json:20),自建请求封装(web/src/utils/http/index.js:4-18)与拦截器(web/src/utils/http/interceptors.js:23-33,35-59) - 运行环境:
.env.*配置,开发代理到后端127.0.0.1:9999的/api/v1(web/.env.development:8,web/build/constant.js:19-22,web/vite.config.js:31-35)
项目结构综述
- 顶层关键目录:
build/:Vite 定制化(定义、插件、脚本、代理)(web/build/*)i18n/:国际化资源与实例(web/i18n/index.js,web/i18n/messages/*)settings/:主题与全局设置(web/settings/theme.json,web/settings/index.js)public/:静态资源与加载占位(web/public/resource/*)src/:业务主目录(见下)
src/结构与职责:- 入口与应用:
main.js(应用装配,挂载插件)(web/src/main.js:14-23),App.vue - 路由:
router/(基本路由、动态路由、守卫、滚动)(web/src/router/index.js:7-18,30-55) - 状态:
store/(Pinia 注册与模块聚合)(web/src/store/index.js:1-5,web/src/store/modules/index.js:1-4) - 组件:
components/(通用、表格、查询栏、图标、页面容器) - 视图:
views/(系统管理、估值评估、交易开票、登录、工作台等域) - 工具:
utils/(鉴权、存储、HTTP、通用工具)(web/src/utils/*) - 指令:
directives/(权限等自定义指令) - 可复用逻辑:
composables/(如useCRUD) - 样式:
styles/(Reset、全局样式,UnoCSS 原子类)
- 入口与应用:
核心模块与功能点
- 鉴权与导航:
- 登录白名单与重定向(
web/src/router/guard/auth-guard.js:3-16) - 动态路由注入、用户与权限联动(
web/src/router/index.js:30-55)
- 登录白名单与重定向(
- 状态管理:
- 用户信息获取、登出流程(
web/src/store/modules/user/index.js:37-60) - 标签、权限、应用模块聚合(
web/src/store/modules/index.js:1-4)
- 用户信息获取、登出流程(
- 网络与错误处理:
request实例与baseURL环境绑定(web/src/utils/http/index.js:17-19)- 成功码约定
code === 200、统一错误提示(web/src/utils/http/interceptors.js:23-33) - 401 处理与自动登出(
web/src/utils/http/interceptors.js:45-53)
- 业务域:
- 系统管理(用户、角色、菜单、部门、审计日志)(
web/src/views/system/*,API 汇总:web/src/api/index.js:393-431) - 客户端用户管理、开票记录、估值评估(
web/src/views/user-management/*,web/src/views/transaction/invoice/*,web/src/views/valuation/*;对应 API:web/src/api/index.js)
- 系统管理(用户、角色、菜单、部门、审计日志)(
- UI 框架与布局:
- 布局与头部/侧栏/标签页组件(
web/src/layout/*) - Naive UI 组件与 UnoCSS 原子化样式协同
- 布局与头部/侧栏/标签页组件(
技术架构示意图
graph TD
U[用户] --> A[Vue 应用]
A --> R[Router]
A --> S[Pinia]
A --> V[视图与组件]
V --> UI[Naive UI / UnoCSS]
A --> I18N[vue-i18n]
S --> H[HTTP 封装]
R --> G[路由守卫]
H --> X[Axios 拦截器]
X --> B[(后端 API /api/v1)]
subgraph 构建与运行
Vite[Vite Dev/Build]
end
A --> Vite
文档产出方案
- 目录与位置:在
web/docs/下生成 4 个文档,统一中文、层级清晰、可落地项目结构.md:目录树 + 角色说明 + 入口与关键路径技术架构.md:架构分层 + 运行链路 + Mermaid 图关键模块说明.md:路由、状态、HTTP、业务域的职责与协作接口约定与预留.md:环境、鉴权、响应约定、扩展接入指引
- 文档格式约定:
- 标题层级:H1 总览,H2 模块,H3 文件与职责;统一术语与中文阐述
- 代码引用统一用内联反引号与文件定位(如
web/src/router/index.js:30-55)
接口预留说明(用于后续开发)
- 基础约定:
baseURL:VITE_BASE_API(默认/api/v1,web/.env.development:8)- 认证头:
token(由拦截器自动注入,web/src/utils/http/interceptors.js:11-14) - 成功响应:
{ code: 200, data, msg }(web/src/utils/http/interceptors.js:23-33)
- 接入方式:在
web/src/api/index.js中以函数方式声明对应业务端点,统一走request - 错误处理:全局弹窗与 401 自动登出链路已就绪(
web/src/utils/http/interceptors.js:45-53)
执行步骤
- 固化目录树与职责说明,输出《项目结构.md》
- 绘制 Mermaid 架构图并输出《技术架构.md》
- 编写《关键模块说明.md》,覆盖路由、状态、HTTP、页面域
- 编写《接口约定与预留.md》,包含新增接口接入模板与约束
- 交付文档后,等待新需求文档,启动开发
输出验收与规范
- 文档格式:统一中文,标题层级一致,引用路径与行号定位
- 风格一致:术语与代码片段与现有实现保持一致(如
request、useUserStore) - 可演进:接口文档预留扩展章节,支持后续模块按同规范接入
——请确认以上方案,确认后我将按该方案生成 4 个文档并提交供评审。