# 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)
}
}
})