tt.getUserGroupTagInfo
基础库 3.80.0 开始支持本方法,这是一个异步方法。
获取用户群聊标签信息
前提条件 | 无 |
业务背景 | 无 |
使用限制 | 无 |
注意事项 | 已删除的标签不会出现在返回的userGroupTags列表中 |
相关教程 | 无 |
语法
tt.getUserGroupTagInfo(options)
参数说明
options 为 object 类型,属性如下:
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
---|---|---|---|---|---|
openId | string | 是 | 指定用户的openId | 3.80.0 | |
success | function | 否 | 接口调用成功的回调函数 | 3.80.0 | |
fail | function | 否 | 接口调用失败的回调函数 | 3.80.0 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) | 3.80.0 |
回调成功
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
userGroupTags | array | openId对应用户的所有群聊标签信息 | 3.80.0 |
errMsg | string | 固定为 "getUserGroupTagInfo:ok" | 3.80.0 |
userGroupTags 类型说明
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
tagId | string | 标签id,可在开发者后台中获取 | 3.80.0 |
status | enum | number 类型,群聊标签的佩载状态 | 3.80.0 |
status 的合法值
值 | 说明 | 最低支持版本 |
---|---|---|
1 | 已佩戴 | 3.80.0 |
回调失败
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
errMsg | string | 错误信息 | 3.80.0 |
errNo | number | 错误码 | 3.80.0 |
错误码
errNo | errMsg | 说明 | 最低支持版本 |
---|---|---|---|
20001 | params.xxx should be xxx, but got xxx | 根据实际情况,返回参数错误原因 请检测参数类型和取值范围,是否和文档说明一致 | 3.80.0 |
10103 | network unavailable | 无网络 | 3.80.0 |
10401 | internal error | 小游戏框架内部错误,有需要请创建工单咨询 | 3.80.0 |
21101 | open_id invalid | openId 不合法 | 3.80.0 |
21102 | mp_id 非法 | 小游戏框架内部错误,有需要请创建工单咨询 | 3.80.0 |
21103 | server internal error | 小游戏框架内部错误,有需要请创建工单咨询 | 3.80.0 |
代码示例
/** * @template {typeof tt} S * @template {keyof S} T * @template {Parameters<S[T]>[0]} Opt * @template {Parameters<Opt['success']>[0]} Res * @param {T} apiName * @param {S} instance * @returns {(opt: Opt) => Promise<Res>} */ function api(apiName, instance = tt) { return (opt = {}) => new Promise((ok, no) => { const originOk = opt.success; const originNo = opt.fail; const originComplete = opt.complete; instance[apiName].bind(instance)({ ...opt, success(...args) { ok(...args); originOk?.(...args); }, fail(...args) { no(...args); originNo?.(...args); }, complete(res) { console.info('>>> 调用异步api ' + apiName + ' 的结果: ', res); originComplete?.(res); } }) }) } async function main() { const loginInfo = await api('login')(); const openId = await getOpenId(loginInfo.code); // 请求服务端,在服务端换取openId try { const res = await api('getUserGroupTagInfo')({ openId, }); console.log(res.userGroupTags); } catch (failObj) { console.log(failObj.errMsg ?? failObj.message); if (failObj.errNo) { switch (failObj.errNo) { case 20001: console.log('参数错误'); return; case 10401: console.log('内部接口请求错误'); return; case 10103: console.log('无网络'); return; case 21101: console.log('openId 非法'); return; case 21102: console.log('内部错误,获取appId 失败'); return; case 21103: console.log('内部错误,兜底异常'); return; case 21104: console.log('status 参数不合法'); return; } } } } main();