信息平台
一些下拉菜单之类的地方需要的数据,因为不同页面需要的数据不同但是又有些重合,所以把这类数据放在一个接口里,前端可以通过 request 来决定需要哪些数据
method
GET
request
stations bool O (0 或 1)
roles bool O (0 或 1)
ma_permissions bool O (0 或 1)
response
{
data: {
stations: [ // 登录的加盟商管理员 对应的加盟商 旗下的所有站点
{
id: str
name: str
}
],
roles: [
{
id: int
name: str
}
],
ma_permissions: [
{
"id": 1, // level 1 id
"name": "部门", // level 1 name
"content": [
{
"id": 4, // level 2 id
"name": "部门管理", // level 2 name
"permissions": [
{
"id": 4, // permission id
"name": "增加部门", // permission name
},
]
},
]
},
]
},
msg: 'OK',
code: 0,
}
graphql
query {
stations (partner_id: {}) { id name }
roles (partner_id: {}) { id name }
permission (partner_id: {}) {
id
name
permission_level2_class {
id
name
permission_level1_class {
id
name
}
}
}
}
信息平台,角色管理,按角色查看
/ma/role/search
搜索(ma)角色
method
GET
request
search_text O str 角色名字
response
{
"code": 0,
"data": {
"roles": [
{
"create_date": null,
"name": "saas测试站点",
"id": 124,
"description": "1"
},
{
"create_date": "2018-01-05",
"name": "好人",
"id": 932,
"description": "我是好人"
}
]
},
"msg": "ok"
}
graphql
query {
roles (partner_id: {}, contain_role_name: {}) {
id
name
create_time
description
}
}
/ma/role/detail
(ma)角色详情
method
GET
request
id M int 角色 id
response
{
"code": 0,
"data": {
"role": {
"name": "好人",
"permission_ids": [
69,
106
],
"description": "我是好人"
}
},
"msg": "ok"
}
graphql
query {
role (id: {}) {
name
description
permissions { id }
}
}
/ma/role/create
创建(ma)角色
method
POST
request
name M str
description O str
permission_ids M list of int
response
{
data: { id: 123 },
msg: 'OK',
code: 0
}
microservices
/ma/role/get
/ma/role/update
更新(ma)角色
method
POST
request
id M int 角色 id
name O str
description O str
permission_ids O list of int
response
{ "code": 0, "msg": "OK", "data": null }
microservices
/ma/role/update
/ma/role/delete
删除(ma)角色
method
POST
request
id M int
response
{ "code": 0, "msg": "OK", "data": null }
microservices
/ma/role/delete
信息平台,角色管理,按权限查看
/ma/role/permission/search
搜索(ma)权限
method
GET
request
level_1_id int O 一级权限的id,不传代表全部一级权限
level_2_id int O 二级,同上
search_text string O 要搜索的权限名,不传代表全部
response
{
"code": 0,
"data": {
"permissions": [
{
"id": 1,
"name": "增加权限",
role_names": [ // role_names 最多有 11 条数据
"经理1",
"经理2",
"经理3",
"经理4",
"经理5",
"经理6",
"经理7",
"经理8",
"经理9",
"经理10",
"经理11"
],
"user_count": 23,
"role_count": 49,
"level_1_name": "用户权限管理",
"level_2_name": "权限"
}
]
},
"msg": "ok"
}
logic
1. user_count 和 role_count 只统计登录用户(MA管理员)所在加盟商下面的
2. user_count 只统计「有效」的用户,不统计「无效」的用户
graphql
query {
permissions (partner_id: {}) {
id
name
permission_level2_class {
id
name
permission_level1_class {
id
name
}
}
stations {
id
name
}
roles {
name
}
users {
id
}
}
}
/ma/role/permission/detail
查看「激活某个(ma)权限的所有(ma)角色」
method
GET
request
id M int 权限 id
response
{
data: {
roles: [
{
id: M int
name: M str
}
]
}
msg: 'OK',
code: 0,
}
graphql
query {
permission (id: {}) {
roles {
id
name
}
}
}
/ma/role/permission/update
更新「激活某个(ma)权限的所有(ma)角色」
method
POST
request
id M int 权限 id
role_ids M list of int
response
{ "code": 0, "msg": "OK", "data": null }
microservice
/ma/role_permission/update
信息平台,用户管理
/ma/user/search
搜索(ma)用户
method
GET
request
is_valid O bool
role_id O int
search_text O str 用户名
is_admin O bool (0 或 1) 是否是管理员
// 分页
offset O int 默认 0
limit O int 默认 20
response
{
data: {
users: [
{
id M int
username M str
// station [ M list
// {
// id: M str
// name: M str
// }
// ]
roles: [
{
id: 123,
name: '角色名'
}
],
visible_stations: [
{
id: 'T12345',
name: '某某站点'
}
],
is_admin M bool
is_sale_manager M bool 是否是销售管理员
name M str
create_date M str or null
is_valid M bool
}
]
},
msg: 'OK',
code: 0,
}
logic
request 里不传的字段代表全部
graphql
{
query {
users {
id
name
username
is_admin
is_valid
role_name
create_time
roles {
id
name
}
visible_stations {
id
name
}
}
}
}
/ma/user/detail
查看(ma)用户详情
method
GET
request
id M str
response
{
data: {
id M int user id
username M str 用户名
// station_id M str
roles: [
{
id: 123,
name: '角色名'
}
]
is_admin M bool 是否是管理员
name M str 姓名
create_date M str
is_valid M bool 是否有效
is_sale_manager M bool 是否是销售管理员
phone M str
email M str
card_id M str 身份证号码
visible_stations: [
{
id: 'T123',
name: '某某站点'
}
]
card_emblem_img_url M str 身份证国徽面的图片 url
card_photo_img_url M str 身份证照片面的图片 url
},
msg: 'OK',
code: 0,
}
graphql
{
user {
id
username
station_id
is_admin
name
phone
email
roles {
id
name
}
visible_stations {
id
name
}
is_admin
name
phone
email
card_id
is_valid
card_emblem_img_url
card_photo_img_url
}
}
# TODO 图片在 ma 上传
/ma/user/create
创建(ma)用户
method
POST
request
username M str
role_ids M list of int
visible_station_ids M list of str
is_admin M bool (0 或 1)
is_valid M bool (0 或 1)
password M str
name O str
phone O str
email O str
card_id O str 身份证号码
card_emblem_img O str 身份证带国徽一面 id
card_photo_img O str 身份证带相片一面 id (由 image/upload 返回)
is_sale_manager M bool (0 或 1)
response
{
data: { id: 123 } // M int
msg: 'OK',
code: 0,
}
logic
如果这个用户的 is_admin 为 true,那么他必须是 is_sale_manager
如果一个用户是 is_sale_manager,那么他未必是 is_admin
microservices
/ma/user/create
/ma/user/update
更新(ma)用户
method
POST
request
id M int
username O str
role_ids O list of int
visible_station_ids O list of str
is_admin O bool (0 或 1)
is_valid O bool (0 或 1)
password O str
name O str
phone O str
email O str
card_id O str 身份证号码
card_emblem_img O str 身份证带国徽一面 id
card_photo_img O str 身份证带相片一面 id
is_sale_manager O bool (0 或 1)
response
{ "code": 0, "msg": "OK", "data": null }
logic 这些逻辑在微服务端执行
- 所有非必须的参数,如果不传就代表不修改
- 当前登录用户不可以修改自己的「username, role_ids, visible_station_ids, is_admin, is_valid」,如果传了这几个字段的话后台会报错
- 如果这个用户的 is_admin 为 true,那么他必须是 is_sale_manager
如果一个用户是 is_sale_manager,那么他未必是 is_admin
microservices
/ma/user/update
/ma/user/delete
删除(ma)用户
method
POST
request
id M int
response
{ "code": 0, "msg": "OK", "data": null }
logic
当前登录用户不可以删除自己
microservices
/ma/user/delete