pangu-user-platform/docs/05-模块技术方案/应用管理-开发计划_Plan模式.md

185 lines
8.6 KiB
Markdown
Raw Normal View History

# 应用管理模块 - 开发计划Plan 模式)
---
| 文档信息 | 内容 |
|---------|------|
| **文档版本** | V1.0 |
| **模块名称** | 应用管理 |
| **编写团队** | pangu |
| **创建日期** | 2026-01-31 |
---
## 一、当前完成情况结论
**应用管理菜单中的全部页面目前并非前后端一起完成。**
| 端 | 状态 | 说明 |
|----|:----:|------|
| **前端** | ✅ 已完成 | 列表页、新增/编辑弹窗、密钥弹窗、API 封装、Mock 数据均已实现,可与 Mock 联调使用 |
| **后端** | ❌ 未开发 | 无 ApplicationController、无应用相关 Service/Mapper/实体,需从零开发 |
---
## 二、Plan 模式开发计划总览
```
┌─────────────────────────────────────────────────────────────────────────┐
│ 应用管理模块 - 开发计划Plan
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ [阶段一] 技术方案与文档 ✅ 已完成 │
│ [阶段二] 前端开发 ✅ 已完成 │
│ [阶段三] 后端开发 ⬜ 待开始 ← 当前缺口 │
│ [阶段四] 联调与测试 ⬜ 待开始 │
│ [阶段五] 验收上线 ⬜ 待开始 │
│ │
└─────────────────────────────────────────────────────────────────────────┘
```
---
## 三、分阶段任务清单Plan
### 阶段一:技术方案与文档 ✅ 已完成
| 序号 | 任务项 | 状态 | 产出/路径 |
|:----:|-------|:----:|----------|
| 1.1 | 应用管理模块技术方案 | ✅ | docs/05-模块技术方案/应用管理模块技术方案_v1.0.md |
| 1.2 | 前端技术方案 | ✅ | docs/05-模块技术方案/应用管理-前端技术方案.md |
| 1.3 | 后端技术方案 | ✅ | docs/05-模块技术方案/应用管理-后端技术方案.md |
| 1.4 | 开发检查清单 | ✅ | docs/05-模块技术方案/应用管理-开发检查清单.md |
| 1.5 | 测试用例 | ✅ | docs/05-模块技术方案/应用管理-测试用例.md |
---
### 阶段二:前端开发 ✅ 已完成
| 序号 | 任务项 | 状态 | 产出/路径 |
|:----:|-------|:----:|----------|
| 2.1 | 应用列表页 | ✅ | frontend/src/views/application/index.vue |
| 2.2 | 新增/编辑弹窗 | ✅ | frontend/src/views/application/components/AppDialog.vue |
| 2.3 | 密钥展示弹窗(重置后复制) | ✅ | frontend/src/views/application/components/SecretDialog.vue |
| 2.4 | 应用管理 API 封装 | ✅ | frontend/src/api/application.js |
| 2.5 | 应用管理 Mock 数据 | ✅ | frontend/src/mock/application.js |
| 2.6 | 路由与菜单配置 | ✅ | 已挂载应用管理菜单,可 Mock 联调 |
**前端已实现能力:**
- 列表查询(应用名称、编码、状态筛选 + 分页)
- 新增应用(应用名称、描述、联系人、电话、状态、接口授权勾选)
- 编辑应用(拉取详情回填 + 提交更新)
- 删除应用Popconfirm 二次确认)
- 重置密钥(确认后弹窗显示新密钥并支持复制)
- 接口授权选项来自 `GET /api/application/apiList`,与接口文档一致
---
### 阶段三:后端开发 ⬜ 待开始
| 序号 | 任务项 | 状态 | 说明 |
|:----:|-------|:----:|------|
| **3.1 数据库** | | | |
| 3.1.1 | 创建 pg_application 表 | ⬜ | 按《数据库设计文档》建表 |
| 3.1.2 | 创建 pg_app_api 表 | ⬜ | 应用接口授权表 |
| 3.1.3 | 创建 pg_api_dict 表 | ⬜ | API 接口字典表 |
| 3.1.4 | 插入 pg_api_dict 初始数据 | ⬜ | 6 条STUDENT_LIST 等) |
| 3.1.5 | 插入应用管理菜单数据 | ⬜ | sql/pangu_menu.sql 或等价脚本 |
| **3.2 实体层** | | | |
| 3.2.1 | Application 实体 | ⬜ | app_id, app_code, app_name, app_secret 等 |
| 3.2.2 | AppApi 实体 | ⬜ | 应用接口授权 |
| 3.2.3 | ApiDict 实体 | ⬜ | 接口字典(或复用已有) |
| 3.2.4 | VO/DTO可选 | ⬜ | 列表/详情/新增修改用 |
| **3.3 Mapper 层** | | | |
| 3.3.1 | ApplicationMapper + XML | ⬜ | 分页列表、详情、增删改 |
| 3.3.2 | AppApiMapper + XML | ⬜ | 按 app_id 查/删/批量插入 |
| 3.3.3 | ApiDictMapper + XML | ⬜ | 查全部接口列表apiList |
| **3.4 Service 层** | | | |
| 3.4.1 | IApplicationService | ⬜ | 列表、详情、新增、修改、删除、重置密钥、apiList |
| 3.4.2 | ApplicationServiceImpl | ⬜ | 应用编码 YY+6 位、密钥 32 位、事务与授权表联动 |
| **3.5 Controller 层** | | | |
| 3.5.1 | ApplicationController | ⬜ | 实现《接口设计文档》第 6 章全部接口 |
| **3.6 接口清单(与前端对齐)** | | | |
| 3.6.1 | GET /api/application/list | ⬜ | 分页列表,支持 appName、appCode、status |
| 3.6.2 | GET /api/application/{appId} | ⬜ | 详情,含 apis 列表 |
| 3.6.3 | POST /api/application | ⬜ | 新增body: appName, appDesc, contactPerson, contactPhone, status, apiCodes |
| 3.6.4 | PUT /api/application | ⬜ | 修改body: appId + 同上 |
| 3.6.5 | DELETE /api/application/{appId} | ⬜ | 删除(含授权表) |
| 3.6.6 | PUT /api/application/resetSecret/{appId} | ⬜ | 重置密钥,返回 data.appSecret |
| 3.6.7 | GET /api/application/apiList | ⬜ | 返回可授权接口列表,供前端勾选 |
---
### 阶段四:联调与测试 ⬜ 待开始
| 序号 | 任务项 | 状态 | 说明 |
|:----:|-------|:----:|------|
| 4.1 | 前端关闭 Mock对接真实后端 | ⬜ | 修改 request baseURL 或环境变量 |
| 4.2 | 接口联调列表、详情、新增、编辑、删除、重置密钥、apiList | ⬜ | 按接口文档校验请求/响应 |
| 4.3 | 业务规则校验 | ⬜ | 编码 YY+6 位、密钥 32 位、删除确认、重置后弹窗复制 |
| 4.4 | 执行《应用管理-测试用例》 | ⬜ | 功能 + 边界 + 权限(如需要) |
---
### 阶段五:验收上线 ⬜ 待开始
| 序号 | 任务项 | 状态 | 说明 |
|:----:|-------|:----:|------|
| 5.1 | 产品/业务验收 | ⬜ | 按需求规格说明书应用管理章节 |
| 5.2 | 部署与发布 | ⬜ | 后端部署、前端打包部署 |
| 5.3 | 上线检查与回滚预案 | ⬜ | 配置、权限、数据初始化 |
---
## 四、后端开发建议顺序Plan 执行顺序)
按依赖关系,建议按以下顺序实施**阶段三**
```
1. 数据库
└─ 建表 + 初始数据 + 菜单 SQL
2. 实体 + Mapper
└─ Application, AppApi, ApiDict 实体
└─ ApplicationMapper, AppApiMapper, ApiDictMapper含 XML
3. Service
└─ IApplicationService + ApplicationServiceImpl
└─ 编码生成、密钥生成、重置密钥、授权表增删
4. Controller
└─ ApplicationController
└─ 7 个接口与接口文档、前端入参出参完全对齐
5. 单测与自测
└─ Service 单测(可选)
└─ Postman/浏览器自测 7 个接口
```
---
## 五、前后端对接要点(联调时核对)
| 项目 | 前端约定 | 后端需满足 |
|------|----------|------------|
| 主键字段名 | 兼容 `appId``id` | 统一返回 `appId` 或与前端约定一致 |
| 列表行数据 | 含 `apis: [{ apiCode, apiName, apiPath }]` | 列表接口返回每行带 apis或至少 apiCodes |
| 详情接口 | 返回 `data.apis` | GET /api/application/{appId} 返回 apis 数组 |
| 新增/修改 body | appName, appDesc, contactPerson, contactPhone, status, apiCodes | 接收 apiCodes 数组,落库到 pg_app_api |
| 重置密钥 | PUT /api/application/resetSecret/{appId},响应 data.appSecret | 同上,返回明文新密钥 |
| apiList | GET /api/application/apiListdata 为数组 | 返回 pg_api_dict 中启用接口列表 |
---
## 六、总结
| 问题 | 结论 |
|------|------|
| 应用管理菜单中的全部页面是否前后端一起完成? | **否。** 仅前端(含 Mock完成后端未开发。 |
| 下一步建议 | 按本文「阶段三」与「后端开发建议顺序」实施后端开发,再进行阶段四联调与测试。 |
---
*文档结束*