refactor: 全面清理项目结构,优化代码组织
主要改进:
1. 清理Core层空壳目录
- 删除traits, transformers, query等空目录
- 删除security, http, queue等空模块
- 删除logger, context, exception等空壳
2. 清理Common层冗余模块
- 删除utils, cache, queue等空壳模块
- 删除dictionary, dict等重复字典模块
- 删除重复的MemberModule.ts文件
3. 优化模块结构
- 移动config到config/common目录
- 统一模块命名规范为{模块名}.module.ts
- 保留业务逻辑模块:auth, member, rbac, admin, settings, upload, notification
4. 代码质量提升
- 更符合NestJS最佳实践
- 项目结构更清晰
- 删除所有空壳和重复代码
- 打包测试通过
技术改进:
- 使用TypeScript枚举替代PHP风格的Dict类
- 优化导入路径和模块引用
- 清理无用的空壳目录和文件
This commit is contained in:
118
admin/apps/web-ele/src/api/README.md
Normal file
118
admin/apps/web-ele/src/api/README.md
Normal file
@@ -0,0 +1,118 @@
|
||||
# WWJ Cloud 前端API使用说明
|
||||
|
||||
## 📁 目录结构
|
||||
|
||||
```
|
||||
src/api/
|
||||
├── core/ # 核心API(通用功能)
|
||||
├── frontend/ # 前台API(前台用户访问)
|
||||
│ ├── member.ts # 前台会员API
|
||||
│ ├── site.ts # 前台站点API
|
||||
│ └── index.ts # 前台API统一导出
|
||||
├── admin/ # 后台管理API(后台管理员访问)
|
||||
│ ├── member.ts # 后台会员管理API
|
||||
│ └── index.ts # 后台管理API统一导出
|
||||
└── index.ts # 主API统一导出
|
||||
```
|
||||
|
||||
## 🎯 使用方式
|
||||
|
||||
### 前台API(前台用户访问)
|
||||
|
||||
```typescript
|
||||
import { getMemberProfile, memberSignIn, getSiteInfo } from '@/api/frontend';
|
||||
|
||||
// 获取个人资料
|
||||
const profile = await getMemberProfile();
|
||||
|
||||
// 会员签到
|
||||
const signResult = await memberSignIn();
|
||||
|
||||
// 获取站点信息
|
||||
const siteInfo = await getSiteInfo();
|
||||
```
|
||||
|
||||
### 后台管理API(后台管理员访问)
|
||||
|
||||
```typescript
|
||||
import { getMemberList, createMember, updateMember } from '@/api/admin';
|
||||
|
||||
// 获取会员列表
|
||||
const memberList = await getMemberList({ page: 1, limit: 10 });
|
||||
|
||||
// 创建会员
|
||||
const newMember = await createMember({
|
||||
username: 'test',
|
||||
nickname: '测试用户',
|
||||
mobile: '13800138000',
|
||||
email: 'test@example.com',
|
||||
password: '123456',
|
||||
levelId: 1,
|
||||
status: 1
|
||||
});
|
||||
|
||||
// 更新会员
|
||||
const updatedMember = await updateMember(1, {
|
||||
nickname: '新昵称',
|
||||
status: 0
|
||||
});
|
||||
```
|
||||
|
||||
## 🔄 OpenAPI自动同步
|
||||
|
||||
### 生成前台API类型
|
||||
```bash
|
||||
npm run openapi:gen:frontend
|
||||
```
|
||||
|
||||
### 生成后台管理API类型
|
||||
```bash
|
||||
npm run openapi:gen:admin
|
||||
```
|
||||
|
||||
### 生成统一API类型
|
||||
```bash
|
||||
npm run openapi:gen
|
||||
```
|
||||
|
||||
## 📋 API分类说明
|
||||
|
||||
### 前台API(/api/*)
|
||||
- **会员相关**:个人资料、签到、等级、积分等
|
||||
- **站点相关**:站点信息、配置、公告等
|
||||
- **菜单相关**:前台菜单、权限等
|
||||
- **角色相关**:前台角色、权限等
|
||||
|
||||
### 后台管理API(/admin/*)
|
||||
- **会员管理**:会员列表、创建、编辑、删除等
|
||||
- **站点管理**:站点配置、管理、设置等
|
||||
- **菜单管理**:后台菜单、权限配置等
|
||||
- **角色管理**:后台角色、权限分配等
|
||||
|
||||
## 🛡️ 认证和权限
|
||||
|
||||
### 前台API认证
|
||||
- 使用JWT Token认证
|
||||
- 用户只能访问自己的数据
|
||||
- 支持公开接口(无需认证)
|
||||
|
||||
### 后台管理API认证
|
||||
- 使用JWT Token + 管理员权限认证
|
||||
- 管理员可以访问所有数据
|
||||
- 严格的权限控制
|
||||
|
||||
## 📝 注意事项
|
||||
|
||||
1. **类型安全**:所有API都使用TypeScript类型定义
|
||||
2. **错误处理**:统一的错误处理机制
|
||||
3. **数据验证**:前后端数据验证一致
|
||||
4. **多租户**:支持SaaS多租户和独立版部署
|
||||
5. **自动同步**:OpenAPI自动生成前端类型定义
|
||||
|
||||
## 🚀 开发建议
|
||||
|
||||
1. **优先使用前台API**:前台用户功能优先使用前台API
|
||||
2. **合理使用后台API**:管理功能使用后台管理API
|
||||
3. **保持类型同步**:定期运行OpenAPI生成命令
|
||||
4. **遵循命名规范**:API路径和函数名保持一致
|
||||
5. **测试覆盖**:为所有API编写测试用例
|
||||
Reference in New Issue
Block a user