# 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编写测试用例