118 lines
3.0 KiB
Markdown
118 lines
3.0 KiB
Markdown
|
|
# 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编写测试用例
|