Repository navigation
Expand file tree
/
Copy pathsys.api
More file actions
229 lines (221 loc) · 7.97 KB
/
Copy pathsys.api
File metadata and controls
229 lines (221 loc) · 7.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
syntax = "v1"
//系统管理 RBAC 网关编排(对标 RuoYi:用户/角色/菜单/按钮权限/动态路由)
//类型与 sys/rpc/sys.proto 对齐;GET 用 optional+form(query 传参),POST 用 json-only;列表分页 page/size 同既有服务
// ============ 用户管理 ============
type SysUserInfo {
Id int64 `json:"id,optional"`
Username string `json:"username,optional"` //登录名
Nickname string `json:"nickname,optional"`
Mobile string `json:"mobile,optional"`
Email string `json:"email,optional"`
Status int32 `json:"status,optional"` //1.启用 0.停用
Remark string `json:"remark,optional"`
CreatedAt int64 `json:"created_at,optional"`
RoleIds []int64 `json:"role_ids,optional"` //用户角色
}
type SysUserResp {
User SysUserInfo `json:"user"`
}
type SysUserCreateReq {
Username string `json:"username"`
Password string `json:"password"`
Nickname string `json:"nickname,optional"`
Mobile string `json:"mobile,optional"`
Email string `json:"email,optional"`
Remark string `json:"remark,optional"`
RoleIds []int64 `json:"role_ids,optional"`
Beid int64 `json:"beid,optional"` //缺省取 JWT ctx 中的 beid
}
type SysUserUpdateReq {
Id int64 `json:"id"`
Nickname string `json:"nickname,optional"`
Mobile string `json:"mobile,optional"`
Email string `json:"email,optional"`
Status int32 `json:"status,optional"`
Remark string `json:"remark,optional"`
Password string `json:"password,optional"` //空=不修改
RoleIds []int64 `json:"role_ids,optional"`
Beid int64 `json:"beid,optional"`
}
type SysUserIdReq {
Id int64 `json:"id,optional" form:"id,optional"`
Beid int64 `json:"beid,optional" form:"beid,optional"`
}
type SysUserListReq {
Beid int64 `json:"beid,optional" form:"beid,optional"`
Keyword string `json:"keyword,optional" form:"keyword,optional"` //username/nickname/mobile
Status int32 `json:"status,optional" form:"status,optional"`
Page int64 `json:"page,optional" form:"page,optional"`
Size int64 `json:"size,optional" form:"size,optional"`
}
type SysUserListResp {
List []SysUserInfo `json:"list"`
Total int64 `json:"total"`
}
type SysUserResetPwdReq {
Id int64 `json:"id"`
Password string `json:"password"`
Beid int64 `json:"beid,optional"`
}
// ============ 角色管理 ============
type SysRoleInfo {
Id int64 `json:"id,optional"`
RoleKey string `json:"role_key,optional"` //权限字符(如 admin/operator)
RoleName string `json:"role_name,optional"`
Status int32 `json:"status,optional"` //1.启用 0.停用
Remark string `json:"remark,optional"`
Beid int64 `json:"beid,optional"`
MenuIds []int64 `json:"menu_ids,optional"` //角色菜单
}
type SysRoleResp {
Role SysRoleInfo `json:"role"`
}
type SysRoleSaveReq {
Id int64 `json:"id,optional"` //0 新建
RoleKey string `json:"role_key"`
RoleName string `json:"role_name"`
Status int32 `json:"status,optional"`
Remark string `json:"remark,optional"`
MenuIds []int64 `json:"menu_ids,optional"`
Beid int64 `json:"beid,optional"`
}
type SysRoleIdReq {
Id int64 `json:"id,optional" form:"id,optional"`
Beid int64 `json:"beid,optional" form:"beid,optional"`
}
type SysRoleListReq {
Beid int64 `json:"beid,optional" form:"beid,optional"`
Keyword string `json:"keyword,optional" form:"keyword,optional"`
Page int64 `json:"page,optional" form:"page,optional"`
Size int64 `json:"size,optional" form:"size,optional"`
}
type SysRoleListResp {
List []SysRoleInfo `json:"list"`
Total int64 `json:"total"`
}
// ============ 菜单管理 ============
type SysMenuInfo {
Id int64 `json:"id,optional"`
ParentId int64 `json:"parent_id,optional"` //0 根
Name string `json:"name,optional"` //菜单名
Path string `json:"path,optional"` //前端路由路径(如 /datasource)
Component string `json:"component,optional"` //前端组件路径
Sort int32 `json:"sort,optional"`
Icon string `json:"icon,optional"` //element 图标名
MenuType int32 `json:"menu_type,optional"` //1.目录 2.菜单 3.按钮
Perm string `json:"perm,optional"` //按钮权限标识(如 datasource:create)
Visible int32 `json:"visible,optional"` //1.显示 0.隐藏
Beid int64 `json:"beid,optional"`
Children []SysMenuInfo `json:"children,optional"` //树形返回
}
type SysMenuResp {
Menu SysMenuInfo `json:"menu"`
}
type SysMenuSaveReq {
Id int64 `json:"id,optional"` //0 新建
ParentId int64 `json:"parent_id,optional"`
Name string `json:"name"`
Path string `json:"path,optional"`
Component string `json:"component,optional"`
Sort int32 `json:"sort,optional"`
Icon string `json:"icon,optional"`
MenuType int32 `json:"menu_type"`
Perm string `json:"perm,optional"`
Visible int32 `json:"visible,optional"`
Beid int64 `json:"beid,optional"`
}
type SysMenuIdReq {
Id int64 `json:"id,optional" form:"id,optional"`
Beid int64 `json:"beid,optional" form:"beid,optional"`
}
type SysMenuTreeReq {
Beid int64 `json:"beid,optional" form:"beid,optional"`
}
type SysMenuTreeResp {
List []SysMenuInfo `json:"list"`
}
// ============ 登录增强(uid/beid 由网关从 JWT ctx 注入) ============
type SysGetInfoResp {
Uid int64 `json:"uid,optional"`
Username string `json:"username,optional"`
Nickname string `json:"nickname,optional"`
Roles []string `json:"roles,optional"` //角色 key 集
Perms []string `json:"perms,optional"` //按钮权限标识集
Menus []SysMenuInfo `json:"menus,optional"` //菜单树(目录+菜单,不含按钮)
}
type SysRouterBranch {
Name string `json:"name,optional"`
Path string `json:"path,optional"`
Component string `json:"component,optional"`
Icon string `json:"icon,optional"`
Children []SysRouterBranch `json:"children,optional"`
}
type SysRoutersResp {
Routers []SysRouterBranch `json:"routers"`
}
@server(
jwt: Auth
group: sys
)
service datacenter-api {
//用户管理
@handler sysUserCreate
post /sys/user/create (SysUserCreateReq) returns (SysUserResp)
@handler sysUserUpdate
post /sys/user/update (SysUserUpdateReq) returns (SysUserResp)
@handler sysUserDelete
post /sys/user/delete (SysUserIdReq)
@handler sysUserList
get /sys/user/list (SysUserListReq) returns (SysUserListResp)
@handler sysUserInfo
get /sys/user/info (SysUserIdReq) returns (SysUserResp)
@handler sysUserResetpwd
post /sys/user/resetpwd (SysUserResetPwdReq)
//角色管理
@handler sysRoleCreate
post /sys/role/create (SysRoleSaveReq) returns (SysRoleResp)
@handler sysRoleUpdate
post /sys/role/update (SysRoleSaveReq) returns (SysRoleResp)
@handler sysRoleDelete
post /sys/role/delete (SysRoleIdReq)
@handler sysRoleList
get /sys/role/list (SysRoleListReq) returns (SysRoleListResp)
@handler sysRoleInfo
get /sys/role/info (SysRoleIdReq) returns (SysRoleResp)
//菜单管理
@handler sysMenuSave
post /sys/menu/save (SysMenuSaveReq) returns (SysMenuResp)
@handler sysMenuDelete
post /sys/menu/delete (SysMenuIdReq)
@handler sysMenuTree
get /sys/menu/tree (SysMenuTreeReq) returns (SysMenuTreeResp)
//登录增强(当前登录用户)
@handler sysGetinfo
get /sys/getinfo () returns (SysGetInfoResp)
@handler sysGetrouters
get /sys/getrouters () returns (SysRoutersResp)
}
//管理台登录(不走 JWT,成功后签发)
type SysLoginReq {
Username string `json:"username"`
Password string `json:"password"`
Beid int64 `json:"beid,optional"`
}
type SysLoginResp {
Token string `json:"token"`
Uid int64 `json:"uid"`
Username string `json:"username"`
Nickname string `json:"nickname,optional"`
Roles []string `json:"roles"`
Perms []string `json:"perms"`
}
@server(
group: sys
)
service datacenter-api {
@doc(
summary: "管理台登录"
)
@handler sysLogin
post /sys/login (SysLoginReq) returns (SysLoginResp)
}