2.4 KiB
2.4 KiB
管理后台 API 设计(Admin API)
- 项目:TakeoutSaaS.AdminApi
- 版本前缀:/api/admin/v1
- 认证:JWT + RBAC(平台、租户、商家角色)
- 租户识别:X-Tenant-Id 头或 Token Claim
1. 通用规范
- Content-Type: application/json
- 成功响应 { "success": true, "code": 200, "message": "OK", "data": {} }
- 失败响应 { "success": false, "code": 422, "message": "业务异常" }
2. 认证与权限
- POST /api/admin/v1/auth/login
- POST /api/admin/v1/auth/refresh
- GET /api/admin/v1/auth/profile
- 角色:PlatformAdmin、TenantAdmin、MerchantAdmin、Staff
3. 租户与商家管理
- 租户
- GET /api/admin/v1/tenants
- POST /api/admin/v1/tenants
- PUT /api/admin/v1/tenants/{id}
- PATCH/api/admin/v1/tenants/{id}/status
- 商家
- GET /api/admin/v1/merchants
- POST /api/admin/v1/merchants
- GET /api/admin/v1/merchants/{id}
- PUT /api/admin/v1/merchants/{id}
- DELETE /api/admin/v1/merchants/{id}
- 门店
- GET /api/admin/v1/stores
- POST /api/admin/v1/stores
4. 菜品管理
- 分类
- GET /api/admin/v1/categories
- POST /api/admin/v1/categories
- PUT /api/admin/v1/categories/{id}
- DELETE /api/admin/v1/categories/{id}
- 菜品
- GET /api/admin/v1/dishes
- POST /api/admin/v1/dishes
- GET /api/admin/v1/dishes/{id}
- PUT /api/admin/v1/dishes/{id}
- PATCH/api/admin/v1/dishes/batch-status
5. 订单与售后
- 订单
- GET /api/admin/v1/orders
- GET /api/admin/v1/orders/{id}
- POST /api/admin/v1/orders/{id}/accept
- POST /api/admin/v1/orders/{id}/cook
- POST /api/admin/v1/orders/{id}/deliver
- POST /api/admin/v1/orders/{id}/complete
- POST /api/admin/v1/orders/{id}/cancel
- 售后
- GET /api/admin/v1/refunds
- POST /api/admin/v1/refunds/{id}/approve
- POST /api/admin/v1/refunds/{id}/reject
6. 营销与用户运营
- 优惠券
- GET /api/admin/v1/coupons
- POST /api/admin/v1/coupons
- PUT /api/admin/v1/coupons/{id}
- PATCH/api/admin/v1/coupons/{id}/status
- 评价
- GET /api/admin/v1/reviews
- POST /api/admin/v1/reviews/{id}/reply
7. 统计报表
- GET /api/admin/v1/statistics/merchant/overview?merchantId=
- GET /api/admin/v1/statistics/platform/overview
8. 文件上传
- POST /api/admin/v1/files/upload (multipart/form-data)
9. WebSocket(可选)
- ws://{host}/ws/admin?token=xxx
- 主题:order.new、order.status、refund.updated