120 lines
3.9 KiB
Plaintext
120 lines
3.9 KiB
Plaintext
// 公共响应结构体(基础字段:状态码、提示信息)
|
||
type BaseResp {
|
||
Code int32 `json:"code"` // 0成功,非0失败
|
||
Message string `json:"message"` // 提示信息
|
||
}
|
||
|
||
// 管理员信息结构体(与表字段对应)
|
||
type AdminInfo {
|
||
Id int64 `json:"id"` // 用户ID
|
||
Username string `json:"username"` // 用户名
|
||
Password string `json:"password"` // 密码(仅创建/更新时传递)
|
||
CoverUrl string `json:"cover_url"` // 封面URL
|
||
Intro string `json:"intro"` // 简介
|
||
CreateTime string `json:"create_time"` // 创建时间
|
||
UpdateTime string `json:"update_time"` // 更新时间
|
||
Role string `json:"role"` // 角色(super_admin/normal_admin)
|
||
Status int32 `json:"status"` // 1启用,0禁用
|
||
}
|
||
|
||
// 1. 管理员列表相关
|
||
type ListAdminReq {
|
||
Page int32 `json:"page,optional" form:"page"` // 页码,默认1
|
||
Size int32 `json:"size,optional" form:"size"` // 每页条数,默认10
|
||
Role string `json:"role,optional" form:"role"` // 按角色筛选
|
||
Status int32 `json:"status,optional" form:"status"` // 按状态筛选
|
||
}
|
||
|
||
// 列表响应数据体
|
||
type ListAdminData {
|
||
Total int64 `json:"total"` // 总条数
|
||
List []AdminInfo `json:"list"` // 管理员列表
|
||
}
|
||
|
||
// 列表完整响应(显式嵌套BaseResp)
|
||
type ListAdminResp {
|
||
BaseResp // 继承基础响应字段
|
||
Data ListAdminData `json:"data"` // 业务数据
|
||
}
|
||
|
||
// 2. 创建管理员相关
|
||
type CreateAdminReq {
|
||
Username string `json:"username" form:"username"` // 用户名(必填)
|
||
Password string `json:"password" form:"password"` // 密码(必填,需加密)
|
||
CoverUrl string `json:"cover_url,optional" form:"cover_url"` // 封面URL(可选)
|
||
Intro string `json:"intro,optional" form:"intro"` // 简介(可选)
|
||
Role string `json:"role,optional" form:"role"` // 角色(默认normal_admin)
|
||
Status int32 `json:"status,optional" form:"status"` // 状态(默认1)
|
||
}
|
||
|
||
// 创建响应数据体
|
||
type CreateAdminData {
|
||
Id int64 `json:"id"` // 新增的管理员ID
|
||
}
|
||
|
||
// 创建完整响应(显式嵌套BaseResp)
|
||
type CreateAdminResp {
|
||
BaseResp // 继承基础响应字段
|
||
Data CreateAdminData `json:"data,optional"` // 业务数据(可选)
|
||
}
|
||
|
||
// 3. 更新管理员相关
|
||
type UpdateAdminReq {
|
||
Id int64 `json:"id" form:"id"` // 用户ID(必填)
|
||
Username string `json:"username,optional" form:"username"` // 用户名(可选)
|
||
Password string `json:"password,optional" form:"password"` // 密码(可选)
|
||
CoverUrl string `json:"cover_url,optional" form:"cover_url"` // 封面URL(可选)
|
||
Intro string `json:"intro,optional" form:"intro"` // 简介(可选)
|
||
Role string `json:"role,optional" form:"role"` // 角色(可选)
|
||
Status int32 `json:"status,optional" form:"status"` // 状态(可选)
|
||
}
|
||
|
||
// 更新完整响应(显式嵌套BaseResp,无额外数据)
|
||
type UpdateAdminResp {
|
||
BaseResp // 仅继承基础响应字段
|
||
}
|
||
|
||
// 4. 获取单个管理员详情相关
|
||
type GetAdminReq {
|
||
Id int64 `json:"id" form:"id"` // 用户ID(必填)
|
||
}
|
||
|
||
// 获取详情响应(显式嵌套BaseResp)
|
||
type GetAdminResp {
|
||
BaseResp // 继承基础响应字段
|
||
Data AdminInfo `json:"data"` // 管理员详情数据
|
||
}
|
||
|
||
// 5. 删除管理员相关
|
||
type DeleteAdminReq {
|
||
Id int64 `json:"id" form:"id"` // 用户ID(必填)
|
||
}
|
||
|
||
// 删除完整响应(显式嵌套BaseResp,无额外数据)
|
||
type DeleteAdminResp {
|
||
BaseResp // 仅继承基础响应字段
|
||
}
|
||
|
||
// 管理员相关接口
|
||
@server (
|
||
group: admin
|
||
prefix: /api/admin
|
||
)
|
||
service admin-api {
|
||
@handler ListAdminHandler
|
||
get /admin/list (ListAdminReq) returns (ListAdminResp)
|
||
|
||
@handler GetAdminHandler
|
||
get /admin (GetAdminReq) returns (GetAdminResp)
|
||
|
||
@handler CreateAdminHandler
|
||
post /admin (CreateAdminReq) returns (CreateAdminResp)
|
||
|
||
@handler UpdateAdminHandler
|
||
put /admin (UpdateAdminReq) returns (UpdateAdminResp)
|
||
|
||
@handler DeleteAdminHandler
|
||
delete /admin (DeleteAdminReq) returns (DeleteAdminResp)
|
||
}
|
||
|