# 使用

# 初始化

const slugRoleSelector = new SlugRoleSelector({
  game: 'speedm',
  site: 'slugm_speedm',
  loginType: 'wx',
  allowPlatForm: ['wx'],
  appid: 'wxa817069bb040f860'
})
1
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
# 说明
  1. err.status == 404,表示当前没有已经绑定的角色。
  2. 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

# 当用户点击绑定之后的回调

slugRoleSelector.afterBind = (isBinded, info) => {
  if (isBinded) {
    slugRoleSelector.hideModal()
  } else {
    console.log(info)
    alert(`未绑定成功`)
  }
}
1
2
3
4
5
6
7
8

# 例子

https://gzhcos.qq.com/test/slug-role-selector-test.html