role.api
2.9 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
syntax = "v1"
type(
Role{
Id int64 `json:"id,optional,omitempty"` // 角色ID
Name string `json:"name,optional,omitempty"` // 角色名称
Menus []Menu `json:"menus,optional,omitempty"` // 菜单列表
AuthUsers []User `json:"users,optional,omitempty"` // 拥护该角色的用户列表 user_id 列表
AuthRange int `json:"authRange,optional,omitempty,option=0|1|2"` // 权限范围(1:全部权限 2:部分权限)
UpdatedAt int64 `json:"updatedAt,optional,omitempty"` // 更新时间
}
)
@server(
prefix: v1/system
group: role
middleware: LogRequest
jwt: SystemAuth
)
service Core {
@doc "角色-详情"
@handler systemRoleGet
get /role/:id (RoleGetRequest) returns (RoleGetResponse)
@doc "角色-保存"
@handler systemRoleSave
post /role (RoleSaveRequest) returns (RoleSaveResponse)
@doc "角色-删除"
@handler systemRoleDelete
delete /role/:id (RoleDeleteRequest) returns (RoleDeleteResponse)
@doc "角色-更新"
@handler systemRoleUpdate
put /role/:id (RoleUpdateRequest) returns (RoleUpdateResponse)
@doc "角色-搜索"
@handler systemRoleSearch
post /role/search (RoleSearchRequest) returns (RoleSearchResponse)
@doc "菜单-列表"
@handler systemMenuList
post /menu/list (MenuListRequest) returns (MenuListResponse)
}
type (
RoleGetRequest {
Id int64 `path:"id"`
}
RoleGetResponse struct{
Role Role `json:"role"`
}
RoleSaveRequest struct{
Role Role `json:"role"`
}
RoleSaveResponse struct{}
RoleDeleteRequest struct{
Id int64 `path:"id"`
}
RoleDeleteResponse struct{}
RoleUpdateRequest struct{
Id int64 `path:"id"`
Role Role `json:"role"`
}
RoleUpdateResponse struct{}
RoleSearchRequest struct{
Page int `json:"page"`
Size int `json:"size"`
RoleName string `json:"rolename,optional"` // 角色名称
UserName string `json:"userName,optional"` // 用户名称
}
RoleSearchResponse{
List []Role `json:"list"`
Total int64 `json:"total"`
}
)
// 菜单列表
type(
MenuListRequest{
}
MenuListResponse{
List []Menu `json:"list"`
}
Menu{
Id int64 `json:"id,optional,omitempty"` // 菜单ID
ParentId int64 `json:"parentId,optional"` // 父级ID
Name string `json:"name,optional,omitempty"` // 菜单名称
Code string `json:"code,optional,omitempty"` // 菜单编码
MenuType string `json:"menuType,optional,omitempty"` // 菜单类型 (目录catalog、菜单menu、按钮button)
Icon string `json:"icon,optional,omitempty"` // 图标
Sort int64 `json:"sort,optional,omitempty"` // 排序
}
)