Skip to content

获取我的建群权限

1. 接口定位

  • 接口名称: 获取我的建群权限
  • 所属域: chat/group
  • 业务目标: 返回当前登录用户是否允许建群,以及模式信息

2. 请求定义

  • Method: POST
  • Path: /chatx/group/create_permission/me
  • Content-Type: 推荐 application/json
  • operationID: 必填,请通过 Header operationID 传入
  • 鉴权: 需要 Header token
  • 幂等性: 幂等(只读操作)

3. 请求参数

Header 参数

字段必填类型说明
operationIDstring链路追踪 ID
tokenstring当前登录用户 token

Body 参数

  • 无请求字段;当前接口会从登录态自动提取 userID

4. 响应结构

通用响应包裹

字段类型说明
errCodeint错误码,0 表示成功
errMsgstring错误简述
errDltstring错误详情
dataobject业务数据

data 字段

字段类型说明
allowedbool当前用户是否允许建群
modestring当前全局建群模式
inWhitelistbool当前用户是否命中白名单

5. 业务规则

  • API 层会从当前 token 中提取登录用户 userID
  • RPC 层会调用后台建群权限检查逻辑获取结果。
  • 若后台扩展服务未配置,返回 discovery.rpcService.adminx is not configured
  • 当模式为 whitelist 且当前用户在白名单中时,返回 allowed=trueinWhitelist=true

6. 错误码与失败场景

错误码场景典型报错
1001Header 缺少 operationIDheader must have operationID
-token 无效或缺失由登录态校验链路返回
-后台权限服务未配置discovery.rpcService.adminx is not configured
-权限查询失败由后台权限检查链路返回

7. 示例

fetch 请求示例

javascript
fetch("http://localhost:10010/chatx/group/create_permission/me", {
  method: "POST",
  headers: {
    operationID: "group-create-permission-me-001",
    token: "eyJhbGciOi...",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({}),
})
  .then((res) => res.json())
  .then((data) => console.log(data));

成功响应示例

json
{
  "errCode": 0,
  "errMsg": "",
  "errDlt": "",
  "data": {
    "allowed": true,
    "mode": "whitelist",
    "inWhitelist": true
  }
}

8. 时序流程

  1. 中间件校验用户 token。
  2. API 层从登录态提取当前用户 userID
  3. 调用 chatx RPC 获取当前用户的建群权限。
  4. 返回最终权限判断结果。

9. 变更记录

  • 2026-04-06: 补全文档结构,修正真实服务前缀为 /chatx