主要改进:
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类
- 优化导入路径和模块引用
- 清理无用的空壳目录和文件
3.0 KiB
3.0 KiB
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(前台用户访问)
import { getMemberProfile, memberSignIn, getSiteInfo } from '@/api/frontend';
// 获取个人资料
const profile = await getMemberProfile();
// 会员签到
const signResult = await memberSignIn();
// 获取站点信息
const siteInfo = await getSiteInfo();
后台管理API(后台管理员访问)
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类型
npm run openapi:gen:frontend
生成后台管理API类型
npm run openapi:gen:admin
生成统一API类型
npm run openapi:gen
📋 API分类说明
前台API(/api/*)
- 会员相关:个人资料、签到、等级、积分等
- 站点相关:站点信息、配置、公告等
- 菜单相关:前台菜单、权限等
- 角色相关:前台角色、权限等
后台管理API(/admin/*)
- 会员管理:会员列表、创建、编辑、删除等
- 站点管理:站点配置、管理、设置等
- 菜单管理:后台菜单、权限配置等
- 角色管理:后台角色、权限分配等
🛡️ 认证和权限
前台API认证
- 使用JWT Token认证
- 用户只能访问自己的数据
- 支持公开接口(无需认证)
后台管理API认证
- 使用JWT Token + 管理员权限认证
- 管理员可以访问所有数据
- 严格的权限控制
📝 注意事项
- 类型安全:所有API都使用TypeScript类型定义
- 错误处理:统一的错误处理机制
- 数据验证:前后端数据验证一致
- 多租户:支持SaaS多租户和独立版部署
- 自动同步:OpenAPI自动生成前端类型定义
🚀 开发建议
- 优先使用前台API:前台用户功能优先使用前台API
- 合理使用后台API:管理功能使用后台管理API
- 保持类型同步:定期运行OpenAPI生成命令
- 遵循命名规范:API路径和函数名保持一致
- 测试覆盖:为所有API编写测试用例