# qq.login

# qq.login(Object object)

调用接口获取登录凭证(code)。通过凭证进而换取用户登录态信息,包括用户的唯一标识(openid)及本次登录的会话密钥(session_key)等。用户数据的加解密通讯需要依赖会话密钥完成。

# 参数

# Object object
属性 类型 默认值 必填 说明 最低版本
timeout number 超时时间,单位ms
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)
# object.success 回调函数

参数

Object res

属性 类型 说明
code string 用户登录凭证(有效期五分钟)。开发者需要在开发者服务器后台调用 code2Session,使用 code 换取 openid 和 session_key 等信息

# 示例代码

qq.login({
  success(res) {
    if (res.code) {
      // 发起网络请求
      qq.request({
        url: 'https://test.com/onLogin',
        data: {
          code: res.code
        }
      })
    } else {
      console.log('登录失败!' + res.errMsg)
    }
  }
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# qq.checkSession

# qq.checkSession(Object object)

检查登录态是否过期。

通过 qq.login 接口获得的用户登录态拥有一定的时效性。用户越久未使用小程序,用户登录态越有可能失效。反之如果用户一直在使用小程序,则用户登录态一直保持有效。具体时效逻辑由QQ维护,对开发者透明。开发者只需要调用 qq.checkSession 接口检测当前用户登录态是否有效。

登录态过期后开发者可以再调用 qq.login 获取新的用户登录态。调用成功说明当前 session_key 未过期,调用失败说明 session_key 已过期。

# 参数

# Object object
属性 类型 默认值 必填 说明
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

# 示例代码

qq.checkSession({
  success() {
    // session_key 未过期,并且在本生命周期一直有效
  },
  fail() {
    // session_key 已经失效,需要重新执行登录流程
    qq.login() // 重新登录
  }
})
1
2
3
4
5
6
7
8
9