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