Files
wwjcloud-nest-v1/admin/apps/web-ele/src/api/README.md
万物街 be07b9ffec 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类
- 优化导入路径和模块引用
- 清理无用的空壳目录和文件
2025-08-24 02:55:13 +08:00

3.0 KiB
Raw Blame History

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 + 管理员权限认证
  • 管理员可以访问所有数据
  • 严格的权限控制

📝 注意事项

  1. 类型安全所有API都使用TypeScript类型定义
  2. 错误处理:统一的错误处理机制
  3. 数据验证:前后端数据验证一致
  4. 多租户支持SaaS多租户和独立版部署
  5. 自动同步OpenAPI自动生成前端类型定义

🚀 开发建议

  1. 优先使用前台API前台用户功能优先使用前台API
  2. 合理使用后台API管理功能使用后台管理API
  3. 保持类型同步定期运行OpenAPI生成命令
  4. 遵循命名规范API路径和函数名保持一致
  5. 测试覆盖为所有API编写测试用例