feat: 完成API接口隔离设计和定义
Some checks failed
部署管理后台 / 🧪 测试和构建 (push) Failing after 1m5s
部署管理后台 / 🔒 安全扫描 (push) Has been skipped
部署前端网站 / 🧪 测试和构建 (push) Failing after 2m0s
部署管理后台 / 🚀 部署到生产环境 (push) Has been skipped
部署后端服务 / 🚀 构建并部署 (push) Has been skipped
部署后端服务 / 🧪 测试后端 (push) Failing after 3m15s
部署前端网站 / 🚀 部署到生产环境 (push) Has been skipped
部署管理后台 / 🔄 回滚部署 (push) Has been skipped
部署后端服务 / 🔄 回滚部署 (push) Has been skipped
Some checks failed
部署管理后台 / 🧪 测试和构建 (push) Failing after 1m5s
部署管理后台 / 🔒 安全扫描 (push) Has been skipped
部署前端网站 / 🧪 测试和构建 (push) Failing after 2m0s
部署管理后台 / 🚀 部署到生产环境 (push) Has been skipped
部署后端服务 / 🚀 构建并部署 (push) Has been skipped
部署后端服务 / 🧪 测试后端 (push) Failing after 3m15s
部署前端网站 / 🚀 部署到生产环境 (push) Has been skipped
部署管理后台 / 🔄 回滚部署 (push) Has been skipped
部署后端服务 / 🔄 回滚部署 (push) Has been skipped
🚀 主要功能: - 创建前端公共展示API (/api/v1/public/*) - 创建前端用户认证API (/api/v1/auth/*) - 创建管理后台完整API (/admin/*) - 实现双重认证体系设计 📋 新增文件: - api/desc/frontend/public.api - 前端公共接口定义 - api/desc/frontend/auth.api - 前端认证接口定义 - api/desc/admin.api - 管理后台主入口 - api/desc/admin/auth.api - 管理员认证接口 - api/desc/admin/users.api - 用户管理接口 - api/desc/admin/photos.api - 照片管理接口 - api/desc/admin/categories.api - 分类管理接口 - api/desc/admin/dashboard.api - 仪表板统计接口 🔧 更新文件: - api/desc/common.api - 扩展类型定义支持前端和管理后台 - api/desc/photography.api - 更新为前端主入口 - etc/photographyapi-api.yaml - 修复中间件配置 📚 文档: - docs/API_SEPARATION_DESIGN.md - 接口隔离设计方案 - docs/API_REFACTORING_TASKS.md - 详细任务规划 - docs/COMPLETED_TASKS_ARCHIVE.md - 已完成任务归档 ✨ 特性亮点: - 前端和管理后台权限完全隔离 - 优化的数据结构去除敏感信息 - 完整的CRUD和统计功能 - 支持批量操作和高级筛选 - 详细的仪表板分析功能
This commit is contained in:
116
backend/api/desc/admin/auth.api
Normal file
116
backend/api/desc/admin/auth.api
Normal file
@ -0,0 +1,116 @@
|
||||
syntax = "v1"
|
||||
|
||||
import "common.api"
|
||||
|
||||
// 管理员认证接口 - 强认证
|
||||
|
||||
// 管理员登录请求
|
||||
type AdminLoginRequest {
|
||||
Username string `json:"username" validate:"required"`
|
||||
Password string `json:"password" validate:"required"`
|
||||
Captcha string `json:"captcha,optional"` // 验证码 (可选)
|
||||
}
|
||||
|
||||
// 管理员登录响应
|
||||
type AdminLoginResponse {
|
||||
BaseResponse
|
||||
Data AdminLoginData `json:"data"`
|
||||
}
|
||||
|
||||
type AdminLoginData {
|
||||
Token string `json:"token"`
|
||||
RefreshToken string `json:"refresh_token"`
|
||||
Admin Admin `json:"admin"`
|
||||
ExpiresIn int64 `json:"expires_in"` // Token 过期时间 (秒)
|
||||
}
|
||||
|
||||
// 管理员 Token 刷新请求
|
||||
type AdminRefreshTokenRequest {
|
||||
RefreshToken string `json:"refresh_token" validate:"required"`
|
||||
}
|
||||
|
||||
// 管理员 Token 刷新响应
|
||||
type AdminRefreshTokenResponse {
|
||||
BaseResponse
|
||||
Data AdminRefreshTokenData `json:"data"`
|
||||
}
|
||||
|
||||
type AdminRefreshTokenData {
|
||||
Token string `json:"token"`
|
||||
RefreshToken string `json:"refresh_token"`
|
||||
ExpiresIn int64 `json:"expires_in"`
|
||||
}
|
||||
|
||||
// 管理员信息响应
|
||||
type AdminProfileResponse {
|
||||
BaseResponse
|
||||
Data Admin `json:"data"`
|
||||
}
|
||||
|
||||
// 管理员更新信息请求
|
||||
type UpdateAdminProfileRequest {
|
||||
Username string `json:"username,optional"`
|
||||
Email string `json:"email,optional"`
|
||||
Avatar string `json:"avatar,optional"`
|
||||
}
|
||||
|
||||
// 管理员更新信息响应
|
||||
type UpdateAdminProfileResponse {
|
||||
BaseResponse
|
||||
Data Admin `json:"data"`
|
||||
}
|
||||
|
||||
// 管理员修改密码请求
|
||||
type ChangeAdminPasswordRequest {
|
||||
OldPassword string `json:"old_password" validate:"required"`
|
||||
NewPassword string `json:"new_password" validate:"required,min=8"`
|
||||
}
|
||||
|
||||
// 管理员修改密码响应
|
||||
type ChangeAdminPasswordResponse {
|
||||
BaseResponse
|
||||
}
|
||||
|
||||
// 管理员登出响应
|
||||
type AdminLogoutResponse {
|
||||
BaseResponse
|
||||
}
|
||||
|
||||
// 管理员认证接口组 - 无需认证
|
||||
@server(
|
||||
group: admin_auth
|
||||
prefix: /admin/auth
|
||||
)
|
||||
service photography-api {
|
||||
@doc "管理员登录"
|
||||
@handler adminLogin
|
||||
post /login (AdminLoginRequest) returns (AdminLoginResponse)
|
||||
|
||||
@doc "刷新管理员Token"
|
||||
@handler adminRefreshToken
|
||||
post /refresh (AdminRefreshTokenRequest) returns (AdminRefreshTokenResponse)
|
||||
}
|
||||
|
||||
// 管理员认证接口组 - 需要认证
|
||||
@server(
|
||||
group: admin_auth
|
||||
prefix: /admin/auth
|
||||
jwt: AdminAuth
|
||||
)
|
||||
service photography-api {
|
||||
@doc "获取管理员信息"
|
||||
@handler getAdminProfile
|
||||
get /profile returns (AdminProfileResponse)
|
||||
|
||||
@doc "更新管理员信息"
|
||||
@handler updateAdminProfile
|
||||
put /profile (UpdateAdminProfileRequest) returns (UpdateAdminProfileResponse)
|
||||
|
||||
@doc "修改管理员密码"
|
||||
@handler changeAdminPassword
|
||||
post /change-password (ChangeAdminPasswordRequest) returns (ChangeAdminPasswordResponse)
|
||||
|
||||
@doc "管理员登出"
|
||||
@handler adminLogout
|
||||
post /logout returns (AdminLogoutResponse)
|
||||
}
|
||||
Reference in New Issue
Block a user