feat: Phase 1 完成 — 基础设施 + 用户认证 + 管理端 + 端到端验证
Phase 1 (基础设施与用户认证) 全部 11 个 Task 开发完成: 后端 (Go): - Auth 模块: 注册/登录/JWT(有状态)/Profile/密码修改 - Admin 模块: 用户列表/详情/禁用/启用/角色分配/创建用户 - 中间件: JWT认证 + RBAC角色权限 + 请求日志 + CORS + Panic恢复 - Dockerfile 多阶段构建 + Docker Compose 全栈部署 前台 (uni-app): - 登录/注册页面 + 自定义 TabBar + 个人中心 - 请求封装 + 状态管理 (Pinia) 管理端 (Vue 3 + Element Plus): - 登录/仪表盘/用户列表/用户详情 - Axios 封装 + 路由守卫 + Pinia 状态管理 验证: - 全流程 API 端到端测试通过 - Playwright 页面自动化验证通过 - code-reviewer 代码审查通过 Made-with: Cursor
This commit is contained in:
53
backend/go-service/app/dto/admin_dto.go
Normal file
53
backend/go-service/app/dto/admin_dto.go
Normal file
@@ -0,0 +1,53 @@
|
||||
// Package dto 定义数据传输对象
|
||||
package dto
|
||||
|
||||
// UserListRequest 管理端用户列表查询请求参数
|
||||
type UserListRequest struct {
|
||||
Page int `form:"page" binding:"required,min=1"` // 页码,从 1 开始
|
||||
PageSize int `form:"page_size" binding:"required,min=1,max=100"` // 每页数量,1-100
|
||||
Keyword string `form:"keyword"` // 搜索关键词(匹配用户名或邮箱)
|
||||
Status *int `form:"status"` // 状态筛选:1=正常, 2=禁用, 3=注销;为空则不筛选
|
||||
}
|
||||
|
||||
// UserListResponse 管理端用户列表响应
|
||||
type UserListResponse struct {
|
||||
Total int64 `json:"total"` // 符合条件的用户总数
|
||||
List []AdminUserInfo `json:"list"` // 当前页的用户列表
|
||||
}
|
||||
|
||||
// AdminUserInfo 管理端用户信息(比 UserInfo 更详细,包含管理字段)
|
||||
type AdminUserInfo struct {
|
||||
ID int64 `json:"id"` // 用户 ID
|
||||
Username string `json:"username"` // 用户名
|
||||
Email string `json:"email"` // 邮箱
|
||||
Nickname string `json:"nickname"` // 昵称
|
||||
Avatar string `json:"avatar"` // 头像 URL
|
||||
Gender int `json:"gender"` // 性别:0=未知, 1=男, 2=女
|
||||
Phone string `json:"phone,omitempty"` // 手机号
|
||||
Status int `json:"status"` // 账号状态
|
||||
StatusText string `json:"status_text"` // 状态中文描述
|
||||
Roles []string `json:"roles"` // 角色代码列表
|
||||
LastLoginAt string `json:"last_login_at,omitempty"` // 最后登录时间
|
||||
LastLoginIP string `json:"last_login_ip,omitempty"` // 最后登录 IP
|
||||
CreatedAt string `json:"created_at"` // 注册时间
|
||||
UpdatedAt string `json:"updated_at"` // 更新时间
|
||||
}
|
||||
|
||||
// UpdateUserStatusRequest 更新用户状态请求
|
||||
type UpdateUserStatusRequest struct {
|
||||
Status int `json:"status" binding:"required,oneof=1 2"` // 目标状态:1=正常, 2=禁用
|
||||
}
|
||||
|
||||
// AssignRoleRequest 分配角色请求
|
||||
type AssignRoleRequest struct {
|
||||
RoleCode string `json:"role_code" binding:"required"` // 角色代码:user/admin/super_admin
|
||||
}
|
||||
|
||||
// AdminCreateUserRequest 管理员手动创建用户请求
|
||||
type AdminCreateUserRequest struct {
|
||||
Username string `json:"username" binding:"required,min=3,max=50"` // 用户名
|
||||
Email string `json:"email" binding:"required,email"` // 邮箱
|
||||
Password string `json:"password" binding:"required,min=6,max=50"` // 初始密码
|
||||
Nickname string `json:"nickname" binding:"max=50"` // 昵称(选填)
|
||||
RoleCode string `json:"role_code" binding:"omitempty"` // 初始角色(选填,默认 user)
|
||||
}
|
||||
Reference in New Issue
Block a user