微信小程序重复请求服务器,小程序请求一次,但是服务端收到两次,code会失效,请问什么情况?...

本文详细介绍了微信登录授权的过程,包括获取unionid、用户信息以及使用wx.login接口进行登录验证的步骤。通过wx.getSetting检查授权状态,wx.getUserInfo获取用户头像昵称,再结合wx.login获取code,最后将code发送到后台换取openId、sessionKey和unionId。此过程涉及微信授权、用户信息加密和登录实现的关键环节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

40dd7060d97d65f83160e8ed2b771640.pngsitm

2019-08-02

加粗

标红

插入代码

插入链接

插入图片

上传视频

请 登录 后发表内容

关闭

新增或编辑超链接

链接地址

关闭

插入视频

视频链接

// 首次登录,授权 获取unionid firstLogin: function(source) { console.log(4) var source = source wx.clearStorage('mdd_token') // 获取用户信息 wx.getSetting({ success: res => { // wx.showLoading({ // title: '正在授权···' // }) console.log(5) var that = this if (res.authSetting['scope.userInfo']) { // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框 wx.showLoading({ title: '获取信息中···' }) wx.getUserInfo({ success: res => { console.log(6) console.log(res) var resData = res // 可以将 res 发送给后台解码出 unionId wx.showLoading({ title: '微信登录···' }) wx.login({ success: res => { console.log(7) console.log(res) // 发送 res.code 到后台换取 openId, sessionKey, unionId var code = res.code console.log(code) var iv = resData.iv var encryptedData = resData.encryptedData wx.showLoading({ title: '用户登录中····' }) // that.test(code, iv, encryptedData, source) that.loginWechat(code, iv, encryptedData, source) } }) // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回 // 所以此处加入 callback 以防止这种情况 if (this.userInfoReadyCallback) { console.log(14) this.userInfoReadyCallback(res) } } }) } else { wx.showToast({ title: '取消授权', icon:"none" }) console.log('没有授权权限') } }, fail: res => { wx.showToast({ title: '授权失败', icon: "none" }) console.log('没有授权') } }) },

你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。待楼主反馈

2019-08-02

回复

关闭

请选择投诉理由

广告内容

违法违规

恶意灌水内容

其他

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值