@specpow/framework 0.5.22 → 0.5.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/builtin/schemas/mes-prd-to-code/schema.yaml +365 -0
- package/builtin/schemas/mes-prd-to-code/templates/code-generation.md +81 -0
- package/builtin/schemas/mes-prd-to-code/templates/confirm-scope.md +51 -0
- package/builtin/schemas/mes-prd-to-code/templates/parse.md +168 -0
- package/builtin/schemas/mes-prd-to-code/templates/tasks.md +162 -0
- package/builtin/schemas/mes-prd-to-code/templates/tech-design.md +310 -0
- package/builtin/schemas/prd-to-tech-doc/schema.yaml +161 -0
- package/builtin/schemas/prd-to-tech-doc/templates/analysis.md +133 -0
- package/builtin/schemas/prd-to-tech-doc/templates/tech-design.md +263 -0
- package/builtin/schemas/prd-to-tech-doc/templates/tech-tasks.md +134 -0
- package/package.json +1 -1
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# 需求分析: <功能名称>
|
|
2
|
+
|
|
3
|
+
> 输入: <PRD 文档路径>
|
|
4
|
+
> 分析日期: <日期>
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. 功能点提取
|
|
9
|
+
|
|
10
|
+
| 编号 | 功能点 | 类型 | 优先级 | PRD 章节 | 说明 |
|
|
11
|
+
|:----:|--------|------|:------:|----------|------|
|
|
12
|
+
| F-01 | | CRUD / 业务规则 / 导入导出 / 状态流转 | P0/P1/P2 | | |
|
|
13
|
+
| F-02 | | | | | |
|
|
14
|
+
|
|
15
|
+
### 功能点说明
|
|
16
|
+
|
|
17
|
+
#### F-01: <功能名称>
|
|
18
|
+
|
|
19
|
+
- **描述**: <做什么>
|
|
20
|
+
- **触发条件**: <何时触发>
|
|
21
|
+
- **处理逻辑**: <如何处理>
|
|
22
|
+
- **输出结果**: <产生什么>
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 2. 数据模型分析
|
|
27
|
+
|
|
28
|
+
### 2.1 实体识别
|
|
29
|
+
|
|
30
|
+
| 实体名 | 表名 | 类型 | 说明 |
|
|
31
|
+
|--------|------|------|------|
|
|
32
|
+
| | | 主表 / 子表 / 字典 / 关联表 | |
|
|
33
|
+
|
|
34
|
+
### 2.2 字段清单
|
|
35
|
+
|
|
36
|
+
#### 实体: <EntityName>
|
|
37
|
+
|
|
38
|
+
| 字段名 | 中文名 | 类型 | 必填 | 默认值 | 约束 | 说明 |
|
|
39
|
+
|--------|--------|------|:----:|--------|------|------|
|
|
40
|
+
| id | 主键 | Long | ✅ | 雪花算法 | PK | |
|
|
41
|
+
| | | | | | | |
|
|
42
|
+
|
|
43
|
+
**审计字段**(自动填充):
|
|
44
|
+
- created_by, created_date, last_updated_by, last_updated_date
|
|
45
|
+
|
|
46
|
+
### 2.3 表关系
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
<表关系图(ASCII)>
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## 3. 现有代码扫描
|
|
55
|
+
|
|
56
|
+
### 3.1 已有代码
|
|
57
|
+
|
|
58
|
+
| 组件 | 路径 | 状态 | 说明 |
|
|
59
|
+
|------|------|:----:|------|
|
|
60
|
+
| Entity | | 已有 / 需新建 / 需修改 | |
|
|
61
|
+
| Mapper | | | |
|
|
62
|
+
| Service | | | |
|
|
63
|
+
| Controller | | | |
|
|
64
|
+
| 前端 API | | | |
|
|
65
|
+
| 前端页面 | | | |
|
|
66
|
+
|
|
67
|
+
### 3.2 可复用部分
|
|
68
|
+
|
|
69
|
+
- <列出可以直接复用的代码>
|
|
70
|
+
|
|
71
|
+
### 3.3 需要新建/修改的部分
|
|
72
|
+
|
|
73
|
+
- <列出需要新增或修改的代码>
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## 4. 技术约束
|
|
78
|
+
|
|
79
|
+
| 维度 | 约束 | 来源 |
|
|
80
|
+
|------|------|------|
|
|
81
|
+
| 技术栈 | Spring Boot 2.7 / MyBatis-Plus / Oracle / Vue2 / ViewUI | 项目规范 |
|
|
82
|
+
| 实体基类 | 继承 BaseModel | CLAUDE.md |
|
|
83
|
+
| 响应格式 | ResponseWrapper<T> | CLAUDE.md |
|
|
84
|
+
| 查询方式 | LambdaQueryWrapper | CLAUDE.md |
|
|
85
|
+
| 编号生成 | @AutoGenCode(如为单据) | 项目规范 |
|
|
86
|
+
| 前端组件 | search-table + indexPage / master-sub | 项目规范 |
|
|
87
|
+
| 数据库操作 | dbx MCP(优先) / SQL 脚本 | 项目规范 |
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## 5. 影响范围
|
|
92
|
+
|
|
93
|
+
### 5.1 后端影响
|
|
94
|
+
|
|
95
|
+
| 模块 | 路径 | 影响说明 |
|
|
96
|
+
|------|------|----------|
|
|
97
|
+
| | modules-center/{module}-center/ | |
|
|
98
|
+
|
|
99
|
+
### 5.2 前端影响
|
|
100
|
+
|
|
101
|
+
| 目录 | 路径 | 影响说明 |
|
|
102
|
+
|------|------|----------|
|
|
103
|
+
| API | src/api/{domain}/ | |
|
|
104
|
+
| 页面 | src/views/{domain}/ | |
|
|
105
|
+
|
|
106
|
+
### 5.3 数据库影响
|
|
107
|
+
|
|
108
|
+
| Schema | 操作 | 说明 |
|
|
109
|
+
|--------|------|------|
|
|
110
|
+
| | 新建表 / 修改表 | |
|
|
111
|
+
|
|
112
|
+
### 5.4 集成点
|
|
113
|
+
|
|
114
|
+
| 集成方 | 方式 | 说明 |
|
|
115
|
+
|--------|------|------|
|
|
116
|
+
| | Feign / 直接调用 / 消息 | |
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## 6. 风险与疑问
|
|
121
|
+
|
|
122
|
+
| 编号 | 类型 | 描述 | 建议 |
|
|
123
|
+
|:----:|------|------|------|
|
|
124
|
+
| R-01 | 风险 / 疑问 | | |
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## 7. 结论
|
|
129
|
+
|
|
130
|
+
- **新建实体数**:
|
|
131
|
+
- **新建接口数**:
|
|
132
|
+
- **新建页面数**:
|
|
133
|
+
- **预估任务数**:
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
# 技术设计: <功能名称>
|
|
2
|
+
|
|
3
|
+
> 输入: 需求分析报告 (analysis.md)
|
|
4
|
+
> 设计日期: <日期>
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. 数据库设计
|
|
9
|
+
|
|
10
|
+
### 1.1 表结构
|
|
11
|
+
|
|
12
|
+
#### 表: <table_name>
|
|
13
|
+
|
|
14
|
+
```sql
|
|
15
|
+
CREATE TABLE <table_name> (
|
|
16
|
+
id NUMBER(19) NOT NULL,
|
|
17
|
+
-- 业务字段
|
|
18
|
+
<column> <type> <constraint>,
|
|
19
|
+
-- 审计字段
|
|
20
|
+
created_by VARCHAR2(64),
|
|
21
|
+
created_date DATE DEFAULT SYSDATE,
|
|
22
|
+
last_updated_by VARCHAR2(64),
|
|
23
|
+
last_updated_date DATE DEFAULT SYSDATE,
|
|
24
|
+
CONSTRAINT pk_<table_name> PRIMARY KEY (id)
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
COMMENT ON TABLE <table_name> IS '<表中文名>';
|
|
28
|
+
COMMENT ON COLUMN <table_name>.id IS '主键';
|
|
29
|
+
-- 其他字段注释
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**索引**:
|
|
33
|
+
|
|
34
|
+
| 索引名 | 字段 | 类型 | 说明 |
|
|
35
|
+
|--------|------|------|------|
|
|
36
|
+
| | | UNIQUE / NORMAL | |
|
|
37
|
+
|
|
38
|
+
**数据库操作方式**:
|
|
39
|
+
- [ ] 优先使用 dbx MCP 工具建表
|
|
40
|
+
- [ ] 备选: 执行 SQL 脚本
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## 2. API 接口设计
|
|
45
|
+
|
|
46
|
+
### 2.1 接口清单
|
|
47
|
+
|
|
48
|
+
| # | Method | Path | 描述 | 请求体 | 响应体 |
|
|
49
|
+
|:-:|--------|------|------|--------|--------|
|
|
50
|
+
| 1 | POST | `/{entity}/search` | 分页查询 | PageForm<Entity> | Page<Entity> |
|
|
51
|
+
| 2 | POST | `/{entity}/add` | 新增 | Entity | — |
|
|
52
|
+
| 3 | PUT | `/{entity}/update` | 修改 | Entity | — |
|
|
53
|
+
| 4 | DELETE | `/{entity}/delete` | 批量删除 | Long[] ids | — |
|
|
54
|
+
| 5 | POST | `/{entity}/export` | 导出 Excel | Entity | file |
|
|
55
|
+
| 6 | POST | `/{entity}/uploadExcel` | 导入 Excel | file | — |
|
|
56
|
+
|
|
57
|
+
### 2.2 接口详情
|
|
58
|
+
|
|
59
|
+
#### API-1: 分页查询
|
|
60
|
+
|
|
61
|
+
- **路径**: `POST /{entity}/search`
|
|
62
|
+
- **描述**: 分页查询<实体>列表
|
|
63
|
+
- **请求体**:
|
|
64
|
+
```json
|
|
65
|
+
{
|
|
66
|
+
"size": 20,
|
|
67
|
+
"current": 1,
|
|
68
|
+
"condition": {
|
|
69
|
+
"<field1>": "<value>"
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
- **响应体**:
|
|
74
|
+
```json
|
|
75
|
+
{
|
|
76
|
+
"code": 200,
|
|
77
|
+
"message": "success",
|
|
78
|
+
"data": {
|
|
79
|
+
"records": [...],
|
|
80
|
+
"total": 100,
|
|
81
|
+
"size": 20,
|
|
82
|
+
"current": 1
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
<!-- 按需补充其他接口详情 -->
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## 3. 后端代码结构
|
|
92
|
+
|
|
93
|
+
### 3.1 Entity
|
|
94
|
+
|
|
95
|
+
**路径**: `modules-center/{module}-center/{module}-service/src/main/java/com/twsz/mom/{module}/{sub}/model/{Entity}.java`
|
|
96
|
+
|
|
97
|
+
```java
|
|
98
|
+
@Data
|
|
99
|
+
@EqualsAndHashCode(callSuper = false)
|
|
100
|
+
@JsonInclude(JsonInclude.Include.NON_NULL)
|
|
101
|
+
@TableName("<table_name>")
|
|
102
|
+
public class {Entity} extends BaseModel implements Serializable {
|
|
103
|
+
|
|
104
|
+
private static final long serialVersionUID = 1L;
|
|
105
|
+
|
|
106
|
+
@TableId(type = IdType.ASSIGN_ID)
|
|
107
|
+
@JsonSerialize(using = ToStringSerializer.class)
|
|
108
|
+
private Long id;
|
|
109
|
+
|
|
110
|
+
// 业务字段(含 @ExcelProperty 注解)
|
|
111
|
+
}
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### 3.2 Mapper
|
|
115
|
+
|
|
116
|
+
**接口路径**: `.../{module}/mapper/{Entity}Mapper.java`
|
|
117
|
+
**XML 路径**: `resources/mapper/{module}/{Entity}Mapper.xml`
|
|
118
|
+
|
|
119
|
+
```java
|
|
120
|
+
@Mapper
|
|
121
|
+
public interface {Entity}Mapper extends BaseMapper<{Entity}> {
|
|
122
|
+
IPage<{Entity}> pageSearch(Page<{Entity}> p, @Param("entity") {Entity} entity);
|
|
123
|
+
List<{Entity}> list(@Param("entity") {Entity} entity);
|
|
124
|
+
}
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
**XML 关键片段**:
|
|
128
|
+
- `<sql id="Columns">` — 字段列表
|
|
129
|
+
- `<sql id="Where">` — 查询条件
|
|
130
|
+
- `pageSearch` — 分页查询
|
|
131
|
+
- `list` — 不分页列表
|
|
132
|
+
|
|
133
|
+
### 3.3 Service
|
|
134
|
+
|
|
135
|
+
**接口路径**: `.../{module}/service/{Entity}Service.java`
|
|
136
|
+
|
|
137
|
+
```java
|
|
138
|
+
public interface {Entity}Service extends IService<{Entity}> {
|
|
139
|
+
ResponseWrapper<?> insert({Entity} entity);
|
|
140
|
+
ResponseWrapper<String> update({Entity} entity);
|
|
141
|
+
ResponseWrapper<String> deleteByIds(Collection<BigDecimal> ids);
|
|
142
|
+
ResponseWrapper<Page<{Entity}>> search(PageForm<{Entity}> pageForm);
|
|
143
|
+
List<{Entity}> list({Entity} entity);
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### 3.4 ServiceImpl
|
|
148
|
+
|
|
149
|
+
**路径**: `.../{module}/service/impl/{Entity}ServiceImpl.java`
|
|
150
|
+
|
|
151
|
+
关键逻辑:
|
|
152
|
+
- `insert()`: 校验唯一性等
|
|
153
|
+
- `update()`: 校验存在性 + 唯一性
|
|
154
|
+
- `deleteByIds()`: 批量删除
|
|
155
|
+
- `search()`: 分页查询
|
|
156
|
+
|
|
157
|
+
### 3.5 Controller
|
|
158
|
+
|
|
159
|
+
**路径**: `.../{module}/controller/{Entity}Controller.java`
|
|
160
|
+
|
|
161
|
+
```java
|
|
162
|
+
@RestController
|
|
163
|
+
@RequestMapping("/api/{api-path}/{entity}")
|
|
164
|
+
public class {Entity}Controller {
|
|
165
|
+
|
|
166
|
+
@PostMapping("/search")
|
|
167
|
+
public ResponseWrapper<Page<{Entity}>> search(@RequestBody PageForm<{Entity}> pageForm) { ... }
|
|
168
|
+
|
|
169
|
+
@PostMapping("/add")
|
|
170
|
+
public ResponseWrapper<?> add(@RequestBody {Entity} entity) { ... }
|
|
171
|
+
|
|
172
|
+
@PutMapping("/update")
|
|
173
|
+
public ResponseWrapper<String> update(@RequestBody {Entity} entity) { ... }
|
|
174
|
+
|
|
175
|
+
@DeleteMapping("/delete")
|
|
176
|
+
public ResponseWrapper<String> delete(@RequestBody Collection<BigDecimal> ids) { ... }
|
|
177
|
+
|
|
178
|
+
@PostMapping("/export")
|
|
179
|
+
public void export(@RequestBody {Entity} entity, HttpServletResponse response) { ... }
|
|
180
|
+
|
|
181
|
+
@PostMapping("/uploadExcel")
|
|
182
|
+
public ResponseWrapper<?> uploadExcel(@RequestParam("file") MultipartFile file) { ... }
|
|
183
|
+
}
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## 4. 前端代码结构
|
|
189
|
+
|
|
190
|
+
### 4.1 API 文件
|
|
191
|
+
|
|
192
|
+
**路径**: `src/api/{domain}/{entity}.js`
|
|
193
|
+
|
|
194
|
+
```javascript
|
|
195
|
+
import axios from '@/libs/request'
|
|
196
|
+
import { exportExcel } from '../file'
|
|
197
|
+
const root = '/mm/api' // 根据实际微服务调整
|
|
198
|
+
|
|
199
|
+
// search, add, update, delete, export, uploadExcel
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
### 4.2 列表页
|
|
203
|
+
|
|
204
|
+
**路径**: `src/views/{domain}/{entity}/index.vue`
|
|
205
|
+
|
|
206
|
+
- 组件: `search-table` + `indexPage` mixin
|
|
207
|
+
- 搜索条件: <列出搜索字段>
|
|
208
|
+
- 表格列: <列出列定义>
|
|
209
|
+
- 工具栏: 新增 / 编辑 / 查看 / 删除 / 导出 / 导入
|
|
210
|
+
|
|
211
|
+
### 4.3 表单页
|
|
212
|
+
|
|
213
|
+
**路径**: `src/views/{domain}/{entity}/{entity}-form.vue`
|
|
214
|
+
|
|
215
|
+
- 组件: `master-sub`
|
|
216
|
+
- 表单字段: <列出字段及校验规则>
|
|
217
|
+
- 提交逻辑: 判断新增/编辑 → 调用对应 API
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## 5. 业务逻辑流程
|
|
222
|
+
|
|
223
|
+
### 5.1 核心流程
|
|
224
|
+
|
|
225
|
+
```
|
|
226
|
+
<ASCII 流程图>
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
### 5.2 校验规则
|
|
230
|
+
|
|
231
|
+
| 编号 | 校验项 | 规则 | 错误提示 |
|
|
232
|
+
|:----:|--------|------|----------|
|
|
233
|
+
| V-01 | | | |
|
|
234
|
+
|
|
235
|
+
### 5.3 状态流转(如有)
|
|
236
|
+
|
|
237
|
+
```
|
|
238
|
+
<状态机图>
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
## 6. 集成点
|
|
244
|
+
|
|
245
|
+
### 6.1 被调用方
|
|
246
|
+
|
|
247
|
+
| 调用方 | 接口方式 | 说明 |
|
|
248
|
+
|--------|----------|------|
|
|
249
|
+
| | | |
|
|
250
|
+
|
|
251
|
+
### 6.2 菜单权限
|
|
252
|
+
|
|
253
|
+
| 菜单名 | 权限标识 | 类型 |
|
|
254
|
+
|--------|----------|------|
|
|
255
|
+
| | | 路由 / 按钮 / API |
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
## 7. 设计决策记录
|
|
260
|
+
|
|
261
|
+
| 决策 | 选项 | 结论 | 原因 |
|
|
262
|
+
|------|------|------|------|
|
|
263
|
+
| | | | |
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# 实施任务: <功能名称>
|
|
2
|
+
|
|
3
|
+
> 输入: 技术设计文档 (tech-design.md)
|
|
4
|
+
> 创建日期: <日期>
|
|
5
|
+
>
|
|
6
|
+
> 这些任务将由 SDD (子代理驱动开发) 引擎逐个执行。
|
|
7
|
+
> 每个任务应该足够小(2-5分钟),包含精确的文件路径和验证步骤。
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 数据库任务
|
|
12
|
+
|
|
13
|
+
- [ ] **Task-001**: 创建数据库表 <table_name>
|
|
14
|
+
- **文件**: SQL 脚本 或 dbx MCP
|
|
15
|
+
- **操作**:
|
|
16
|
+
```sql
|
|
17
|
+
-- 如果使用 dbx MCP,通过 dbx 工具建表
|
|
18
|
+
-- 如果使用 SQL 脚本,执行以下 DDL:
|
|
19
|
+
CREATE TABLE <table_name> (
|
|
20
|
+
...
|
|
21
|
+
);
|
|
22
|
+
```
|
|
23
|
+
- **验证**: 表创建成功,字段和约束正确
|
|
24
|
+
- **依赖**: 无
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## 后端任务
|
|
29
|
+
|
|
30
|
+
- [ ] **Task-002**: 创建 Entity 实体类
|
|
31
|
+
- **文件**: `modules-center/{module}-center/{module}-service/src/main/java/com/twsz/mom/{module}/{sub}/model/{Entity}.java`
|
|
32
|
+
- **操作**: 创建实体类,继承 BaseModel,定义字段和注解
|
|
33
|
+
- **验证**: 编译通过
|
|
34
|
+
- **依赖**: Task-001
|
|
35
|
+
|
|
36
|
+
- [ ] **Task-003**: 创建 Mapper 接口
|
|
37
|
+
- **文件**: `.../{module}/mapper/{Entity}Mapper.java`
|
|
38
|
+
- **操作**: 创建 Mapper 接口,继承 BaseMapper,定义查询方法
|
|
39
|
+
- **验证**: 编译通过
|
|
40
|
+
- **依赖**: Task-002
|
|
41
|
+
|
|
42
|
+
- [ ] **Task-004**: 创建 Mapper XML
|
|
43
|
+
- **文件**: `resources/mapper/{module}/{Entity}Mapper.xml`
|
|
44
|
+
- **操作**: 创建 XML,定义 Columns/Where 片段和查询语句
|
|
45
|
+
- **验证**: XML 格式正确,SQL 语法正确
|
|
46
|
+
- **依赖**: Task-003
|
|
47
|
+
|
|
48
|
+
- [ ] **Task-005**: 创建 Service 接口
|
|
49
|
+
- **文件**: `.../{module}/service/{Entity}Service.java`
|
|
50
|
+
- **操作**: 创建 Service 接口,定义 CRUD 方法签名
|
|
51
|
+
- **验证**: 编译通过
|
|
52
|
+
- **依赖**: Task-002
|
|
53
|
+
|
|
54
|
+
- [ ] **Task-006**: 创建 ServiceImpl 实现
|
|
55
|
+
- **文件**: `.../{module}/service/impl/{Entity}ServiceImpl.java`
|
|
56
|
+
- **操作**: 实现 Service 接口,包含业务校验逻辑
|
|
57
|
+
- **验证**: 编译通过,单元测试通过
|
|
58
|
+
- **依赖**: Task-004, Task-005
|
|
59
|
+
|
|
60
|
+
- [ ] **Task-007**: 创建 Controller
|
|
61
|
+
- **文件**: `.../{module}/controller/{Entity}Controller.java`
|
|
62
|
+
- **操作**: 创建 Controller,定义 REST 接口
|
|
63
|
+
- **验证**: 编译通过,接口可访问
|
|
64
|
+
- **依赖**: Task-006
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## 前端任务
|
|
69
|
+
|
|
70
|
+
- [ ] **Task-008**: 创建 API 文件
|
|
71
|
+
- **文件**: `src/api/{domain}/{entity}.js`
|
|
72
|
+
- **操作**: 创建 API 模块,定义 search/add/update/delete/export 等方法
|
|
73
|
+
- **验证**: 语法检查通过
|
|
74
|
+
- **依赖**: Task-007
|
|
75
|
+
|
|
76
|
+
- [ ] **Task-009**: 创建列表页
|
|
77
|
+
- **文件**: `src/views/{domain}/{entity}/index.vue`
|
|
78
|
+
- **操作**: 创建列表页组件,配置 search-table + indexPage mixin
|
|
79
|
+
- **验证**: 页面可渲染,查询功能正常
|
|
80
|
+
- **依赖**: Task-008
|
|
81
|
+
|
|
82
|
+
- [ ] **Task-010**: 创建表单页
|
|
83
|
+
- **文件**: `src/views/{domain}/{entity}/{entity}-form.vue`
|
|
84
|
+
- **操作**: 创建表单页组件,配置 master-sub + Form 字段
|
|
85
|
+
- **验证**: 新增/编辑/查看功能正常
|
|
86
|
+
- **依赖**: Task-009
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## 配置任务
|
|
91
|
+
|
|
92
|
+
- [ ] **Task-011**: 菜单注册
|
|
93
|
+
- **文件**: SQL 脚本
|
|
94
|
+
- **操作**: 在 c_sys_resource 表插入菜单和按钮权限记录
|
|
95
|
+
- **验证**: 菜单可见,权限生效
|
|
96
|
+
- **依赖**: Task-007
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## 任务依赖图
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
Task-001 (建表)
|
|
104
|
+
│
|
|
105
|
+
▼
|
|
106
|
+
Task-002 (Entity)
|
|
107
|
+
│
|
|
108
|
+
├──→ Task-003 (Mapper接口) ──→ Task-004 (Mapper XML)
|
|
109
|
+
│ │
|
|
110
|
+
├──→ Task-005 (Service接口) │
|
|
111
|
+
│ │ │
|
|
112
|
+
│ ▼ ▼
|
|
113
|
+
│ Task-006 (ServiceImpl) ◄────────┘
|
|
114
|
+
│ │
|
|
115
|
+
│ ▼
|
|
116
|
+
│ Task-007 (Controller)
|
|
117
|
+
│ │
|
|
118
|
+
│ ├──→ Task-008 (API JS) ──→ Task-009 (列表页) ──→ Task-010 (表单页)
|
|
119
|
+
│ │
|
|
120
|
+
│ └──→ Task-011 (菜单注册)
|
|
121
|
+
│
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## 任务统计
|
|
127
|
+
|
|
128
|
+
| 类型 | 数量 |
|
|
129
|
+
|------|:----:|
|
|
130
|
+
| 数据库 | 1 |
|
|
131
|
+
| 后端 | 6 |
|
|
132
|
+
| 前端 | 3 |
|
|
133
|
+
| 配置 | 1 |
|
|
134
|
+
| **合计** | **11** |
|