You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
2.1 KiB
57 lines
2.1 KiB
syntax = "v1"
|
|
|
|
// ========== 类型定义 ==========
|
|
type (
|
|
// 创建用户请求
|
|
CreateUserRequest {
|
|
Username string `json:"username" validate:"required,min=3,max=32"` // 用户名
|
|
Email string `json:"email" validate:"required,email"` // 邮箱
|
|
Password string `json:"password" validate:"required,min=6,max=32"` // 密码
|
|
Phone string `json:"phone,optional"` // 手机号
|
|
Role string `json:"role,optional"` // 角色
|
|
Remark string `json:"remark,optional"` // 备注
|
|
}
|
|
// 用户信息
|
|
UserInfo {
|
|
Id int64 `json:"id"` // 用户ID
|
|
Username string `json:"username"` // 用户名
|
|
Email string `json:"email"` // 邮箱
|
|
Phone string `json:"phone"` // 手机号
|
|
Role string `json:"role"` // 角色
|
|
Source string `json:"source"` // 来源
|
|
Remark string `json:"remark"` // 备注
|
|
Status int `json:"status"` // 状态 1-正常 2-禁用
|
|
CreatedAt string `json:"createdAt"` // 创建时间
|
|
UpdatedAt string `json:"updatedAt"` // 更新时间
|
|
}
|
|
// 更新用户请求
|
|
UpdateUserRequest {
|
|
Id int64 `path:"id" validate:"required,min=1"` // 用户ID
|
|
Username string `json:"username,optional"` // 用户名
|
|
Email string `json:"email,optional"` // 邮箱
|
|
Phone string `json:"phone,optional"` // 手机号
|
|
Status int `json:"status,optional"` // 状态
|
|
Role string `json:"role,optional"` // 角色
|
|
Remark string `json:"remark,optional"` // 备注
|
|
}
|
|
// 用户列表查询请求
|
|
UserListRequest {
|
|
Page int `form:"page,default=1"` // 页码
|
|
PageSize int `form:"pageSize,default=10"` // 每页数量
|
|
Keyword string `form:"keyword,optional"` // 关键词搜索
|
|
Status int `form:"status,optional"` // 状态筛选
|
|
}
|
|
// 用户列表响应
|
|
UserListResponse {
|
|
Total int64 `json:"total"` // 总数
|
|
List []UserInfo `json:"list"` // 用户列表
|
|
}
|
|
// 删除用户请求
|
|
DeleteUserRequest {
|
|
Id int64 `path:"id" validate:"required,min=1"` // 用户ID
|
|
}
|
|
// 获取用户详情请求
|
|
GetUserRequest {
|
|
Id int64 `path:"id" validate:"required,min=1"` // 用户ID
|
|
}
|
|
)
|
|
|