Files
wwjcloud-nest-v1/admin/apps/web-ele/src/api/README.md

118 lines
3.0 KiB
Markdown
Raw Normal View 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前台用户访问
```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编写测试用例