时间:2019-05-04 来源:小程序工厂
你好,请提供出现问题的机型和微信版本,以及能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
是ios手机。微信6.7.1。是用户那边出现的问题,如果我这边能复现问题就不会再这里提问了。
能提供的是下面的代码了,用的是wepy框架。
import wepy from 'wepy';import urls from './urls.js';import defer from './defer.js';import global from './global.js';import header from './header';// 登录流程function doLogin(svrLogin) { const deferred = defer(); wxLogin(); // 微信登录 function wxLogin() { wepy.login({ success: function(res) { if (!res.code) { deferred.reject({ success: false, errMsg: '微信登录失败!' + res.errMsg }) return; } serverLogin(res.code); }, fail: function(res) { wepy.showModal({ content: 'wx.login[' + res.errMsg + ']微信登录失败', showCancel: false, confirmText: '再试一次', success: function(res) { if (res.confirm) { wxLogin(); } } }) deferred.reject({ success: false, errMsg: '微信登录失败' }) } }); } // 获取用户信息成功后向服务器请求登录 function serverLogin(code) { wepy.request({ url: urls.login, data: { code, }, method: 'POST', header: { // 设置请求的 header ...header(), 'Accept': 'application/json', 'content-type': 'application/x-www-form-urlencoded;charset=utf-8' }, success: function(res) { if (typeof res.data === 'string') { res.data = JSON.parse(res.data); } if (res.header && res.header['X-SESSION-ID']) { // 自动记录sessionId global.sessionId = res.header['X-SESSION-ID']; wx.setStorageSync('session_id', global.sessionId); } // success if (res.data && res.data.success === true) { console.log('微信登录成功') deferred.resolve({ success: true, ...global, }) } else { wepy.showModal({ content: (res.data && res.data.msg) ? res.data.msg : '微信登录失败', showCancel: false, confirmText: '知道了', }) console.log('微信登录失败', res.data) deferred.reject({ success: false, code: res.data.code, msg: res.data.msg }) } }, fail: function(res) { wepy.showModal({ content: '似乎出错了,请稍后再试。', showCancel: false, confirmText: '知道了', }) deferred.reject({ success: false, msg: res.errMsg }) } }) } return deferred.promise;}// 超时登录回调async function timeoutLogin() { if (global.logining === true) { return; } global.logining = true; await doLogin(); (global.loginCallback || []).forEach(d => d()); delete global.logining; delete global.loginCallback;};export default timeoutLogin;
是不是基础库版本太低了,有些方法不适用导致的失败呢?
应该不会,他手机上微信版本是6.7.1差不多是最新版了。基础库不会低吧。
主要问题是现在只发现两例ios的,其它的手机都很正常。
这个看起来就版本库挺低的了呀
嗯嗯,谢谢你。我们遇到用户在确认一下了
微信小程序的版本库是根据微信的版本自动更新的吧,还是说有能手动更新的地方
是跟随微信版本的