用户端 API 对接文档

认证、资料安全、首页内容、商城、游戏、消息社交与 WSS 实时聊天 · API v1

聊天对接:按这 6 步调用

  1. 1. 获取分类列表

    私聊 / 公屏:GET /api/v1/member/chat/conversations
    好友:GET /api/v1/member/chat/friends
    群聊:GET /api/v1/member/chat/groups

  2. 2. 点击进入聊天,获取消息列表

    GET /api/v1/member/chat/messages
    私聊:scene=PRIVATE&peerMemberId=对方ID;群聊:scene=GROUP&groupId=群ID;公屏:scene=PUBLIC。

  3. 3. 获取别人添加我的列表

    GET /api/v1/member/chat/friend-requests

  4. 4. 同意 / 拒绝添加

    POST /api/v1/member/chat/friend-requests/{id}/handle
    accepted=true 同意,accepted=false 拒绝;id 取第 3 步的 request_id。

  5. 5. 发送消息

    POST /api/v1/member/chat/messages,文字传 contentType=TEXT。

  6. 6. 发送图片

    POST /api/v1/member/chat/uploads/image 上传 → GET /api/v1/member/social-governance/image-reviews/status 查审核 → POST /api/v1/member/chat/messages 发送,传 contentType=IMAGE。

第 1 步目前没有统一的 type 筛选接口。好友是一种列表分类,进入聊天后使用 PRIVATE 场景。全部聊天接口都需要会员登录。

通用约定、认证与响应格式
项目说明
服务地址生产环境:https://你的域名;所有文档路径均直接拼接到该域名
接口前缀/api/v1/member。注册完整路径为 POST /api/v1/member/register
兼容前缀当前后端同时支持 /api/v1/member 与 /member-api/api/v1/member。新接入推荐标准前缀;兼容地址见各接口,网关可保留该前缀或先去除一次,不能重复拼接
服务端加密注册、手机号登录及手机号资料接口要求服务端固定配置 DATA_ENCRYPTION_KEY;密钥值不得写入客户端、接口文档、日志或代码仓库,且投入使用后不得随意更换
WSS 地址wss://你的域名/ws/member/chat?ticket=<ws-ticket>
鉴权需要登录的接口传入 Authorization: Bearer <access_token>。会员端 API 登录令牌默认有效期 30 天(720 小时,可由 MEMBER_SESSION_TTL_HOURS 覆盖),从签发时计时,不滑动续期;退出、改密或账号状态变更可提前失效。已有令牌不自动延长。WSS ticket 仍为 60 秒一次性握手票据
统一响应{ "code":0, "message":"OK", "data":{}, "traceId":"..." }
空返回data: null 表示操作成功但无业务数据
金额商城价格、订单金额和钱包金额均为整数最小单位,前端不得使用浮点数计算
商城订单创建订单不占库存;调用支付接口时原子校验并扣减库存和钱包,支付失败会整体回滚
不得在 URL、日志、埋点或错误上报中记录密码、支付密码、短信验证码和完整令牌。WSS URL 仅允许使用 60 秒内有效且一次性的 ws-ticket,不得放入长期 access_token。

HTTP 跨域访问

后端统一允许任意来源访问,无需配置域名白名单。标准路径与 /member-api 兼容路径均支持 OPTIONS 预检;允许 GET、HEAD、POST、PUT、PATCH、DELETE、OPTIONS 方法及任意请求头(含 Content-Type、Authorization)。支持凭据模式,Access-Control-Allow-Origin 返回实际请求来源,预检缓存 3600 秒;可读取 X-Trace-Id、Content-Disposition 响应头。跨域开放不改变登录、角色和业务权限校验。预检成功只代表浏览器可发送请求,不代表登录或业务操作成功。

密码登录标识说明

POST /api/v1/member/auth/password-login 的 loginName 支持登录账号、已绑定手机号、会员编号,以及购买靓号后分配给会员的靓号 ID(该靓号会作为会员 user_code)。短信验证码登录仍仅接受已注册手机号。

图片 URL 公共返回规则

所有接口返回的图片及上传文件 URL(字段名为 url、*Url 或 *_url)统一由服务端公共处理器补全为当前访问域名的绝对地址,例如 https://你的域名/uploads/machines/example.png。服务端会优先读取反向代理的 X-Forwarded-Proto、X-Forwarded-Host,未提供时使用请求域名;无法从请求获取时使用配置项 PUBLIC_BASE_URL。客户端无需再手动拼接域名,已经是完整 http(s)、data: 或其他非相对地址的 URL 不会重复处理。

聊天媒体消息说明

聊天消息类型支持 TEXT(文字)、EMOJI(表情)、IMAGE(图片)、VOICE(语音)和 VIDEO(视频)。文字/表情使用 content;图片、语音、视频先调用 POST /api/v1/member/chat/uploads/media 上传,再将返回的 url 放入 WSS 或 HTTP 消息的 attachment_url/attachmentUrl。mediaType 可传 IMAGE、VOICE、VIDEO,不传时按 MIME 自动识别;图片最大 5MB,语音最大 20MB,视频最大 100MB。