# wx.weixinMiniProgramLogin

  • 调用 wx.weixinMiniProgramLogin 即可唤起微信小程序登录,获取临时登录凭证 (code),通过凭证进而换取用户标识信息等。
  • 另外,登录成功后,可以调用微信 JSAPI(如 wx.getMiniProgramCode) 以使用微信开放能力(如,云开发)等

# 前置准备

  • 多端应用账号需绑定移动应用账号
  • 需要再 project.miniapp.json 勾选 OpenSDK
  • 配置唤起的微信小程序版本。
    • app.miniapp.json 中,添加 “authorizeMiniprogramType” 参数,可指定跳转小程序版本 (0:正式版,1:开发版,2:体验版)。
  • 配置小程序官方授权页
    • app.json 中,添加 “useAuthorizePage” 参数,并设为 “true”。配置后,小程序将在编译时插入小程序官方授权页 (官方授权页不占用代码包体积)。
  • 在微信开发者工具中,选择“小程序模式”,点击预览,使用微信扫码。

# 参数

# Object object

属性 类型 默认值 必填 说明
redirectPath string 指定授权完小程序跳转的页面
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数

# object.success 回调函数

# 参数
# Object res
属性 类型 说明
code string 用户登录凭证(有效期五分钟)。开发者可以在开发者服务器调用 code2Verifyinfo,使用 code 换取用户标识信息等;
注意 code2Verifyinfo 用的是多端应用 appid 和secret,不是小程序的 appid 和 secret

# object.fail 回调函数

# 参数
# Object res
属性 类型 说明
errCode number 错误码
errMsg string 错误提示

res.errCode

errCode 说明
-1 system error
10001005 多端应用未接入身份管理
10001008 多端应用未绑定开发小程序
10001016 多端应用模块绑定开发小程序错误
-700000 前端错误,errMsg 将给出详细提示

常见前端错误

errMsg 指引
sendOpenReq:fail launch wechat fail 拉起微信失败,即你的多端应用尚未绑定移动应用账号,导致 openSDK失败了。解决方案:绑定移动应用账号

# 示例代码

wx.weixinMiniProgramLogin({
  redirectPath: 'pages/home/index',
  success (res) {
    if (res.code) {
      // 发起网络请求
      wx.request({
        url: 'https://example.com/onLogin',
        data: {
          code: res.code
        }
      })

      // login 成功后,可以直接使用云开发功能
      wx.cloud.callFunction({
        name: 'myCloudFunction'
      })

    } else {
      console.log('登录失败!' + res.errMsg)
    }
  }
})