REST API文档

权限管理

系统管理员

查看系统管理员

  • 请求 URL/api/system_admins 返回所有用户
  • 请求 URL/api/system_admins/$id 返回指定 ID 的用户
  • 请求方式GET
  • 返回值: 用户对象,如果找不到会返回 HTTP 状态码404
返回值结果
JSON 字符串成功
404失败
  • 示例

    GET /api/system_admins/1

返回:

{
  "login": "admin",
  "extn_id": 0,
  "tel": "",
  "last_login_at": "2022-05-17 12:07:11",
  "cid_name": "",
  "is_super": 1,
  "ha1": "fd4500fcb6ccd4ee87d5debac892ac59",
  "deleted_at": "",
  "updated_at": "2022-05-17 12:07:11",
  "vm_password": "",
  "created_at": "2022-05-16 09:51:33",
  "agent_info": "{}",
  "extn": "admin",
  "tel_enabled": 0,
  "email": "",
  "domain": "demo.xswitch.cn",
  "auto_record": 0,
  "cid_number": "",
  "ha1b": "747e17632f2443bfdbef0113eba4a266",
  "type": "",
  "context": "context-1",
  "id": 1,
  "name": "Admin",
  "password": "admin"
}
  • curl 示例
curl -XGET -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" 192.168.1.100:8081/api/system_admins/1

创建新管理员

  • 请求 URL/api/users
  • 请求方式POST
  • 消息头Content-Type: application/json
  • Body 信息: 参见用户信息说明。
  • 返回值

正常返回一个 JSON Object。

返回字段必选类型备注
idstring用户 ID

如果出错,返回 HTTP 状态码如403500等,详见HTTP 状态码参考JSON 返回格式参考

  • 示例

    POST /api/users

Body:

{
  "extn": "1234",
  "name": "1234",
  "cid_name": "1234",
  "login": "1234",
  "is_super": "1", // 是否是超级管理员,0否,1是
  "password": "$VeryGoodPassw0rd"
}
  • curl 示例
curl -0 -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" \
-d '{"extn":"1234","name":"1234","cid_name":"1234","is_super":"1","password":"$VeryGoodPassw0rd"}' \
-H "Content-Type: application/json" 192.168.0.1:8081/api/users

返回

{
  "code": 200,
  "data": {
    "id": "32",
    "extn_id": "32"
  },
  "message": "success"
}

修改系统管理员

  • 请求 URL/api/system_admins/$id
  • 请求方式PUT
  • 消息头Content-Type: application/json
  • Body 信息:参见用户信息说明
  • 返回值: 对象,包含被修改的用户的 ID,如: {"id": "3"}
  • 示例
PUT http://192.168.1.100:8081/api/system_admins/3

Body:

{
  "is_super": "1"
}
  • curl 示例
curl -XPUT -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" \
-H "Content-Type: application/json" \
-d '{"is_super": "1"}' \
192.168.1.100:8081/api/system_admins/32

返回:

{
  "id": "32"
}

删除系统管理员

  • 请求 URL/api/system_admins/id
  • 请求方式DELETE
  • 消息头:无
  • 返回值:对象,包含被删除用户的 ID,如 {"id": "3"}
  • 示例
curl -0 -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" -XDELETE 192.168.1.100:8081/api/system_admins/32

返回:

{
  "id": "32"
}

系统角色

查看系统管理员

  • 请求 URL/api/system_roles 返回所有系统角色
  • 请求 URL/api/system_roles/$id 返回指定 ID 的系统角色
  • 请求方式GET
  • 返回值: 用户对象,如果找不到会返回 HTTP 状态码404
返回值结果
JSON 字符串成功
404失败
  • 示例

    GET /api/system_roles

返回:

{
  "page": 1,
  "rowCount": 3,
  "data": [
    {
      "description": "",
      "role_type": 1,
      "updated_at": "2022-05-16 09:51:33",
      "id": 1,
      "created_by": "system",
      "created_at": "2022-05-16 09:51:33",
      "permission_type": 0,
      "name": "超级管理员"
    },
    {
      "description": "",
      "role_type": 1,
      "updated_at": "2022-05-16 09:51:33",
      "id": 2,
      "created_by": "system",
      "created_at": "2022-05-16 09:51:33",
      "permission_type": 0,
      "name": "高级管理员"
    },
    {
      "description": "",
      "role_type": 1,
      "updated_at": "2022-05-16 09:51:33",
      "id": 3,
      "created_by": "system",
      "created_at": "2022-05-16 09:51:33",
      "permission_type": 0,
      "name": "普通管理员"
    }
  ],
  "pageCount": 1
}
  • curl 示例
curl -XGET -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" 192.168.1.100:8081/api/system_roles

创建新系统角色

  • 请求 URL/api/system_roles
  • 请求方式POST
  • 消息头Content-Type: application/json
  • Body 信息: 参见用户信息说明。
  • 返回值

正常返回一个 JSON Object。

返回字段必选类型备注
idstring用户 ID

如果出错,返回 HTTP 状态码如403500等,详见HTTP 状态码参考JSON 返回格式参考

  • 其它说明

  • 示例

    POST /api/system_roles

Body:

{
  "name": "行政管理员", //角色名称
  "description": "行政" //描述
}
  • curl 示例
curl -0 -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" \
-d '{"name":"行政管理员"}' \
-H "Content-Type: application/json" 192.168.0.1:8081/api/system_roles

返回

{
  "code": 200,
  "data": {
    "name": "行政管理员",
    "permission_type": "",
    "created_by": "system",
    "role_type": "",
    "id": "4",
    "created_at": "2022-05-17 13:44:25",
    "description": "行政",
    "updated_at": "2022-05-17 13:44:25"
  },
  "message": "success"
}

修改系统角色

  • 请求 URL/api/system_roles/$id
  • 请求方式PUT
  • 消息头Content-Type: application/json
  • Body 信息:参见用户信息说明
  • 返回值: 对象,包含被修改的系统的 ID,如: 4
  • 示例
PUT http://192.168.1.100:8081/api/system_roles/4

Body:

{
  "name": "测试" //只能修改名称,其他参数不能修改
}
  • curl 示例
curl -XPUT -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" \
-H "Content-Type: application/json" \
-d '{"name": "测试"}' \
192.168.1.100:8081/api/system_roles/4

返回:

{
  "code": 200,
  "message": "success",
  "data": "4"
}

删除系统角色

  • 请求 URL/api/system_roles/id
  • 请求方式DELETE
  • 消息头:无
  • 返回值
  • 示例
curl -0 -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" -XDELETE 192.168.1.100:8081/api/system_roles/4

返回:

{
  "data": "4",
  "code": 200,
  "message": "success"
}

获取角色的用户列表

  • 请求 URL: api/system_roles/:role_id/users

  • 请求方式: GET

  • 请求参数:

    名称描述
    remain表示获取剩余的没有被分配到这个角色的用户列表
    page当前页数
    perPage每页数量
  • curl 示例

curl -XGET -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" 192.168.1.100:8081/api/system_roles/1/users
  • 返回示例

成功

//HTTP Code 200
{
  "pageCount": 1,
  "data": [
    {
      "name": "Admin",
      "id": "1"
    },
    {
      "name": "1001",
      "id": "3"
    }
  ],
  "page": 1,
  "rowCount": 2
}

不存在则返回

{
  "pageCount": 0,
  "data": [],
  "page": 0,
  "rowCount": 0
}

将用户组中所有的用户设置为对应角色

  • 请求 URL/api/system_roles/:role_id/group_users

  • 请求方法: POST

  • 请求参数: 参数为一个包含 group id 的数组

    名称描述
    group_id用户组 ID
  • curl 示例

curl -XPOST -H "X-XTRA-AUTH-ID: 69ee9c54-734b-11e7-a262-b5df20245f60" \
-d '[{"group_id":1},{"group_id":2}]' \
-H "Content-Type: application/json" http://192.168.1.100:8081/api/system_roles/3/group_users
[{ "group_id": 1 }, { "group_id": 2 }]
  • 返回值
{
  "message": "success",
  "code": 200,
  "data": []
}

从角色中删除用户

  • 请求 URL/api/system_roles/id/users/:params_id
  • 请求方式DELETE
  • 消息头:无
  • 返回值
  • 示例
curl -0 -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" -XDELETE 192.168.1.100:8081/api/system_roles/1/users/1

返回:

{
  "code": 200,
  "message": "success",
  "data": "1"
}
AI