# 使用
# 初始化
const slugRoleSelector = new SlugRoleSelector({
game: 'speedm',
site: 'slugm_speedm',
loginType: 'wx',
allowPlatForm: ['wx'],
appid: 'wxa817069bb040f860'
})
1
2
3
4
5
6
7
2
3
4
5
6
7
参数名 | 类型 | 是否必填 | 默认值 | 可选值 | 说明 |
---|---|---|---|---|---|
game | string | 是 | 无 | 游戏名称 | |
site | string | 是 | 无 | 游戏站点名称,如果没有请移步 sop 提单生成 site。 | |
loginType | string | 是 | 无 | 'wx'/'qq' | 当前登录平台 |
allowPlatForm | Array | 是 | 无 | ['wx', 'qq'] | 在平台选择下拉框里展示哪些平台,根据当前登录平台填写 |
appid | string | 是 | wxa817069bb040f860 | 对应平台(微信/QQ)appid,与登陆组件中appid保持一致 |
# 获取已绑定角色
slugRoleSelector
.getRole()
.then(res => {
console.log('获取角色成功', res)
})
.catch(err => {
if (err.status == 404) {
console.log('当前没有角色', err)
}
if (err.status === 401) {
alert('登陆态问题,请处理重新登录')
// 重新登录
// slugLogin.logout();
// slugLogin.login();
}
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 说明
- err.status == 404,表示当前没有已经绑定的角色。
- err.status == 401,注意处理登录态失效情况。重新登录,先 logout 再 login
# 登录态失效契约
status | code 返回码 response.code | 场景描述 |
---|---|---|
401 | 10 | 微信身份态过期(cookie 不存在) |
401 | 11 | 微信身份态过期(缓存找不到) |
401 | 12 | 微信身份态过期(access_token 过期) |
401 | 20 | qq 身份态过期(cookie 不存在) |
401 | 21 | qq 身份态过期(缓存找不到) |
401 | 22 | qq 身份态过期(access_token 过期) |
401 | 23 | 当前登陆 qq 身份与角色绑定不一致无法发奖 |
401 | 24 | 当前登录的 qq 应用号与角色绑定不一致无法发奖 |
401 | 30 | 需要授权查询游戏账号信息(账号关联查询查不到游戏 openid,需调用/sidip/site/collect) |
# 显示角色绑定弹窗
slugRoleSelector.showModal()
1
# 隐藏角色绑定弹窗
slugRoleSelector.hideModal()
1
# 选框切换查询角色之后的回调
slugRoleSelector.afterQuery = (isSuccess, info) => {
if (!isSuccess) {
console.log('未查询到角色', info)
return
}
console.log('查询成功', info)
}
1
2
3
4
5
6
7
2
3
4
5
6
7
# 当用户点击绑定之后的回调
slugRoleSelector.afterBind = (isBinded, info) => {
if (isBinded) {
slugRoleSelector.hideModal()
} else {
console.log(info)
alert(`未绑定成功`)
}
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 例子
https://gzhcos.qq.com/test/slug-role-selector-test.html