优化cursor使用形式,增加项目文档过程管理,方便cursor生成代码

This commit is contained in:
zlwu committed 2025-06-28 09:48:53 +08:00
1 parent 2f7e1a9c16
commit 65d2d71469
36 files changed
+8872 -1530

No files matched your search

+649
View File
@@ -0,0 +1,649 @@
# 开发文档中心
## 📋 开发文档概述
开发文档中心提供项目开发所需的所有技术文档和规范,为 **Cursor AI 辅助开发** 提供完整的技术上下文和开发指南。
## 🎯 文档目标
### 为 Cursor AI 提供的价值
- **🔧 技术规范**:统一的编码规范和开发标准
- **📚 API 文档**:完整的接口定义和使用说明
- **⚙️ 架构指南**:系统架构和技术选型说明
- **🛠️ 工具配置**:开发工具和环境配置指南
### 文档维护原则
- **实时同步**:API 变更时立即更新文档
- **详细准确**:提供完整的技术细节和示例
- **版本管理**:记录文档版本和变更历史
- **易于理解**:清晰的结构和标准化描述
## 📁 文档结构
```
开发文档/
├── README.md # 本文件 - 开发文档总览
├── API.md # API接口完整文档
├── 开发规范/
│ ├── 后端开发规范.md # Java/Spring Boot开发规范
│ ├── 前端开发规范.md # Vue3/TypeScript开发规范
│ ├── 数据库规范.md # 数据库设计和操作规范
│ ├── 代码审查规范.md # 代码审查流程和标准
│ └── Git使用规范.md # Git分支和提交规范
├── 技术架构/
│ ├── 系统架构设计.md # 整体系统架构
│ ├── 技术选型说明.md # 技术栈选择理由
│ ├── 安全架构设计.md # 安全体系设计
│ └── 性能优化指南.md # 性能优化策略
├── 环境配置/
│ ├── 开发环境搭建.md # 本地开发环境配置
│ ├── 测试环境配置.md # 测试环境搭建
│ ├── 生产环境部署.md # 生产环境部署指南
│ └── 工具配置指南.md # IDE和工具配置
├── 最佳实践/
│ ├── 代码结构设计.md # 代码组织和结构设计
│ ├── 异常处理规范.md # 异常处理最佳实践
│ ├── 日志记录规范.md # 日志记录标准
│ └── 测试策略指南.md # 测试策略和方法
└── 第三方集成/
├── 中间件集成.md # Redis、MQ等中间件集成
├── 第三方服务.md # 第三方API和服务集成
└── 工具库使用.md # 常用工具库使用指南
```
## 🔌 API 文档管理
### API 文档结构
#### 1. 完整性要求
- **接口地址**:完整的请求路径和 HTTP 方法
- **参数说明**:详细的请求参数和数据类型
- **响应格式**:标准的响应体结构和示例
- **错误码**:完整的错误码定义和处理
#### 2. 实时性要求
- **同步更新**:代码变更时立即更新 API 文档
- **版本管理**:记录 API 版本变更历史
- **兼容性说明**:重大变更的向后兼容性说明
#### 3. 标准格式
````markdown
#### 接口名称
**接口地址**: `HTTP方法 /api/路径`
**接口描述**: 接口功能的详细描述
**权限要求**: 权限代码或"需要登录"
**请求参数**:
| 参数名 | 类型 | 必填 | 说明 | 示例值 |
|--------|------|------|------|--------|
| param1 | String | Y | 参数说明 | "example" |
| param2 | Integer | N | 参数说明 | 100 |
**响应示例**:
```json
{
"code": 200,
"msg": "操作成功",
"data": {
"id": 1,
"name": "示例"
}
}
```
````
**错误码**:
| 错误码 | 说明 | 解决方案 |
|--------|------|----------|
| 400001 | 参数错误 | 检查请求参数 |
| 401001 | 未登录 | 请先登录 |
````
### API 文档自动生成
#### Swagger/OpenAPI 集成
```java
@RestController
@RequestMapping("/api/user")
@Api(tags = "用户管理")
public class UserController {
@ApiOperation(value = "获取用户列表", notes = "分页查询用户列表")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页码", defaultValue = "1"),
@ApiImplicitParam(name = "pageSize", value = "每页大小", defaultValue = "10")
})
@GetMapping("/list")
public Result<PageInfo<UserVo>> list(UserQueryBo queryBo, PageQuery pageQuery) {
// 实现逻辑
}
}
````
#### 文档生成脚本
```bash
#!/bin/bash
# API文档生成脚本
generate_api_docs() {
echo "生成API文档..."
mvn clean compile
mvn swagger2markup:convertSwagger2markup
echo "API文档生成完成:docs/开发文档/API.md"
}
```
## 💻 开发规范体系
### 后端开发规范
#### 1. Java 编码规范
- **命名规范**:遵循 Java 命名约定
- **代码结构**:标准的 MVC 分层架构
- **注释规范**:完整的 JavaDoc 注释
- **异常处理**:统一的异常处理机制
#### 2. Spring Boot 规范
```java
// 标准Controller结构
@RestController
@RequestMapping("/api/module")
@Slf4j
public class ModuleController extends BaseController {
@Autowired
private IModuleService moduleService;
@SaCheckPermission("module:list")
@GetMapping("/list")
@Operation(summary = "查询列表")
public TableDataInfo<ModuleVo> list(ModuleBo bo, PageQuery pageQuery) {
return moduleService.queryPageList(bo, pageQuery);
}
}
```
#### 3. 数据库规范
```sql
-- 标准表结构
CREATE TABLE `module_table` (
`id` BIGINT(20) NOT NULL COMMENT '主键ID',
`name` VARCHAR(100) NOT NULL COMMENT '名称',
`status` TINYINT(1) DEFAULT 1 COMMENT '状态:1启用,0禁用',
`tenant_id` VARCHAR(20) NOT NULL COMMENT '租户ID',
`create_by` BIGINT(20) NOT NULL COMMENT '创建人',
`create_time` DATETIME NOT NULL COMMENT '创建时间',
`update_by` BIGINT(20) DEFAULT NULL COMMENT '更新人',
`update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
`deleted` TINYINT(1) DEFAULT 0 COMMENT '删除标记',
PRIMARY KEY (`id`),
KEY `idx_tenant_id` (`tenant_id`),
KEY `idx_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='模块表';
```
### 前端开发规范
#### 1. Vue3 组件规范
```vue
<template>
<div class="module-container">
<el-form ref="formRef" :model="formData" :rules="rules">
<!-- 表单内容 -->
</el-form>
</div>
</template>
<script setup lang="ts" name="ModuleForm">
import { ref, reactive } from 'vue';
import type { FormRules } from 'element-plus';
// 响应式数据
const formRef = ref();
const formData = reactive({
name: '',
status: 1,
});
// 表单验证规则
const rules: FormRules = {
name: [{ required: true, message: '请输入名称', trigger: 'blur' }],
};
// 方法定义
const handleSubmit = () => {
// 提交逻辑
};
</script>
<style lang="scss" scoped>
.module-container {
padding: 20px;
}
</style>
```
#### 2. TypeScript 类型定义
```typescript
// api/types.ts
export interface ModuleVo {
id: number;
name: string;
status: number;
createTime: string;
}
export interface ModuleBo {
name?: string;
status?: number;
}
export interface ModuleForm {
id?: number;
name: string;
status: number;
}
```
#### 3. API 调用规范
```typescript
// api/module.ts
import request from '@/utils/request';
import type { AxiosPromise } from 'axios';
export const listModule = (query?: ModuleBo): AxiosPromise<ModuleVo[]> => {
return request({
url: '/api/module/list',
method: 'get',
params: query,
});
};
export const createModule = (data: ModuleForm): AxiosPromise<void> => {
return request({
url: '/api/module',
method: 'post',
data: data,
});
};
```
## 🏗️ 技术架构指南
### 系统整体架构
```mermaid
graph TB
subgraph "前端层"
A1[Web管理端<br/>Vue3 + Element Plus]
A2[移动端<br/>UniApp + uView UI]
end
subgraph "网关层"
B1[API Gateway<br/>Spring Cloud Gateway]
B2[负载均衡<br/>Nginx]
end
subgraph "应用层"
C1[用户服务<br/>Spring Boot]
C2[业务服务<br/>Spring Boot]
C3[文件服务<br/>Spring Boot]
end
subgraph "数据层"
D1[MySQL<br/>主数据库]
D2[Redis<br/>缓存/会话]
D3[MinIO<br/>文件存储]
end
subgraph "基础设施"
E1[Docker<br/>容器化]
E2[Jenkins<br/>CI/CD]
E3[ELK<br/>日志监控]
end
A1 --> B2
A2 --> B2
B2 --> B1
B1 --> C1
B1 --> C2
B1 --> C3
C1 --> D1
C2 --> D1
C3 --> D1
C1 --> D2
C2 --> D2
C3 --> D3
```
### 技术选型说明
#### 后端技术栈
- **Spring Boot 3.4.6**:主框架,提供依赖注入和自动配置
- **Spring Cloud 2023.0.x**:微服务架构支持
- **MyBatis-Plus 3.5.12**:ORM 框架,简化数据库操作
- **Sa-Token 1.42.0**:权限认证框架
- **Redis 7.0**:缓存和会话存储
- **MySQL 8.0**:主数据库
#### 前端技术栈
- **Vue 3.5.13**:渐进式 JavaScript 框架
- **TypeScript 5.8.3**:静态类型检查
- **Element Plus 2.9.8**:UI 组件库
- **Vite 7.0.9**:构建工具
- **Pinia**:状态管理
## 🛠️ 开发工具配置
### IDE 配置
#### IntelliJ IDEA 配置
```xml
<!-- .idea/codeStyles/Project.xml -->
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<option name="LINE_SEPARATOR" value="&#10;" />
<option name="RIGHT_MARGIN" value="120" />
<JavaCodeStyleSettings>
<option name="IMPORT_LAYOUT_TABLE">
<value>
<package name="" withSubpackages="true" static="false" />
</value>
</option>
</JavaCodeStyleSettings>
</code_scheme>
</component>
```
#### VSCode 配置
```json
{
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"typescript.preferences.importModuleSpecifier": "relative",
"emmet.includeLanguages": {
"vue": "html"
}
}
```
### Git 配置
#### .gitignore 模板
```bash
# 编译输出
target/
dist/
build/
# 依赖目录
node_modules/
# IDE文件
.idea/
.vscode/
*.iml
# 日志文件
logs/
*.log
# 配置文件
application-local.yml
.env.local
```
#### Git Hooks
```bash
#!/bin/bash
# pre-commit hook
echo "运行代码检查..."
# Java代码检查
mvn checkstyle:check
if [ $? -ne 0 ]; then
echo "Java代码规范检查失败!"
exit 1
fi
# 前端代码检查
cd web && npm run lint
if [ $? -ne 0 ]; then
echo "前端代码规范检查失败!"
exit 1
fi
echo "代码检查通过!"
```
## 🔧 Cursor AI 开发指南
### AI 辅助开发流程
#### 1. 需求理解阶段
```
请根据以下需求文档和技术规范,为我开发[功能名称]:
业务需求:docs/需求文档/[具体需求文档]
技术规范:docs/开发文档/[相关规范文档]
API设计:docs/开发文档/API.md
请确保代码符合项目规范,包括:
1. 遵循编码规范
2. 添加完整注释
3. 包含单元测试
4. 更新API文档
```
#### 2. 代码生成阶段
```
基于以下技术架构生成代码:
后端:Spring Boot + MyBatis-Plus + Sa-Token
前端:Vue3 + TypeScript + Element Plus
数据库:MySQL 8.0
请生成以下文件:
1. Controller层 - REST API接口
2. Service层 - 业务逻辑
3. Mapper层 - 数据访问
4. DTO/VO类 - 数据传输对象
5. 前端页面 - Vue3组件
6. API调用 - TypeScript接口
```
#### 3. 文档更新阶段
```
根据刚才生成的代码,请更新以下文档:
1. API文档:docs/开发文档/API.md
- 新增的接口定义
- 请求参数说明
- 响应示例
2. 数据库文档:docs/设计文档/database/
- 新增的表结构
- 字段说明
3. 变更记录:docs/变更管理/code-adjust-record.md
- 本次变更的详细记录
请保持文档格式一致。
```
### 提示词模板库
#### 后端开发模板
```
# 生成Spring Boot Controller
请为[实体名称]生成标准的Spring Boot Controller,要求:
1. 包含CRUD操作接口
2. 使用Sa-Token权限控制
3. 参数验证和异常处理
4. 完整的Swagger注解
5. 统一响应格式
实体字段:[字段列表]
权限前缀:[权限代码]
```
#### 前端开发模板
```
# 生成Vue3组件
请为[功能名称]生成Vue3组件,要求:
1. 使用TypeScript
2. Element Plus组件
3. 响应式设计
4. 表单验证
5. API调用集成
页面类型:[列表页/表单页/详情页]
功能要求:[具体功能说明]
```
#### 数据库设计模板
```
# 生成数据库表
请为[业务实体]设计MySQL表结构,要求:
1. 符合项目命名规范
2. 包含标准基础字段
3. 合理的索引设计
4. 外键关系定义
5. 注释完整
业务字段:[字段需求]
关联表:[关联关系]
```
## 📋 质量控制标准
### 代码质量检查
#### 自动化检查
- **代码规范**:Checkstyle + ESLint
- **代码覆盖率**:JaCoCo > 80%
- **安全扫描**:SonarQube
- **依赖检查**:OWASP Dependency Check
#### 人工审查
- **架构合理性**:是否符合系统架构
- **业务逻辑正确性**:是否满足业务需求
- **代码可读性**:注释完整,命名规范
- **性能考虑**:是否有性能优化
### 文档质量标准
#### 完整性检查
- [ ] API 文档覆盖所有接口
- [ ] 参数说明详细准确
- [ ] 响应示例真实有效
- [ ] 错误码定义完整
#### 准确性检查
- [ ] 文档与代码实现一致
- [ ] 示例可以正常运行
- [ ] 版本信息正确
- [ ] 链接地址有效
### 版本管理
#### 文档版本规则
- **主版本**:重大架构变更
- **次版本**:新增功能模块
- **修订版本**:Bug 修复和文档更新
#### 变更记录
```markdown
## 版本 1.2.3 - 2024-01-15
### 新增
- 新增用户管理 API 文档
- 添加前端开发规范
### 修改
- 更新数据库设计规范
- 优化 API 响应格式
### 修复
- 修正示例代码错误
- 更新过期链接
```
## 🚀 持续改进计划
### 短期目标(1 个月内)
- [ ] 完善 API 文档自动生成
- [ ] 建立代码质量检查流程
- [ ] 优化开发环境配置
- [ ] 提升团队规范执行
### 中期目标(3 个月内)
- [ ] 建立文档质量评估体系
- [ ] 实现开发流程自动化
- [ ] 完善性能监控机制
- [ ] 建立知识库体系
### 长期目标(6 个月内)
- [ ] 实现智能化代码审查
- [ ] 建立自动化测试体系
- [ ] 完善 DevOps 流程
- [ ] 建立技术标准库
---
## 📖 相关文档
- **API 接口文档**:[API.md](./API.md)
- **项目总览**:[项目总览](../项目总览/README.md)
- **业务模块**:[业务模块](../业务模块/README.md)
- **变更管理**:[变更管理](../变更管理/README.md)
- **测试文档**:[测试文档](../测试文档/README.md)
---
**🎯 目标**:通过完善的开发文档体系,为团队提供统一的技术标准,为 Cursor AI 提供准确的开发上下文,提升开发效率和代码质量。