重庆小潘seo博客

当前位置:首页 > 重庆网络营销 > 小潘杂谈 >

小潘杂谈

微信小程序网络超时怎么办?

时间:2020-09-11 08:00:05 作者:重庆seo小潘 来源:
微信小程序网络超时的解决办法: onLaunch通过这个我们可以获取用户的基本信息,或者定位用来做下一步处理,如果这个无法获取数据,会导致整个小程序的失败。 所以我建议可以把错误分两个级别,假如是开发者服务器连接不上,可以通过重载页面来处理,但是如

微信小程序网络超时怎么办?

微信小程序网络超时的解决办法:

onLaunch通过这个我们可以获取用户的基本信息,或者定位用来做下一步处理,如果这个无法获取数据,会导致整个小程序的失败。

所以我建议可以把错误分两个级别,假如是开发者服务器连接不上,可以通过重载页面来处理,但是如果是onLaunch中的数据也无法获取就必须让用户退出小程序,重新打开再试了。

app.json 中配置用来设置超时时间,默认为6000毫秒,也就是6秒"networkTimeout": {"request": 6000,"downloadFile": 10000}一、在onLaunch运行任务如果超时,我把错误级别定为0,并转向错误页面wx.login({success(res) {if (res.code) {//console.log(res.code);//发起网络请求wx.request({url: 'https://**/index/zz/getuserinfo',data: {code: res.code},success: res => {wx.setStorageSync('open_id', res.data.openid);wx.setStorageSync('session_id', res.data.session_id);wx.setStorageSync('session_key', res.data.session_key);that.globalData.isSessionkey=true;//console.log(res.data);if (that.sessionCallback) {that.sessionCallback(res);}},fail:f=>{wx.showModal({title: '提示',showCancel: false,content: '可能网络不太好,请重试!',success: function () {wx.navigateTo({url: '/pages/reload?error=0'});}});}})} else {console.log('登录失败!' + res.errMsg)}}, fail: function () {wx.showModal({title: '提示',showCancel: false,content: '可能网络不太好,请重试!',success: function () {wx.navigateTo({url: '/pages/reload?error=0'});}});}});二、如果是页面请求超时,我把错误定为2,可以通过重试来修复wx.request({url: webUrl + model.url,data: model.param,method: model.method,success: function (res) {},fail: function (res) {wx.hideLoading();wx.showModal({title: '提示',showCancel: false,content: '可能网络不太好,请重试!',success: function () {wx.navigateTo({url: '/pages/reload?error=1'});}});}})三、处理页面:要使用getCurrentPages()获取上一页对象,必须使用wx.navigateTo转向此页/*** 页面的初始数据*/ data: {error:0 // 0:需要退出小程序 1:可以重新发起网络请求重试 }, reLoad:function(error) {var pages = getCurrentPages();//获取页面栈if (pages.length > 1) {//上一个页面实例对象var prePage = pages[pages.length - 2];let url=prePage.route;var options = prePage.options //如果要获取url中所带的参数可以查看optionsconsole.log('options', options);//拼接url的参数var urlWithArgs = url + '?'for (var key in options) {var value = options[key]urlWithArgs += key + '=' + value + '&'}urlWithArgs = urlWithArgs.substring(0, urlWithArgs.length - 1)wx.reLaunch({url: '/' + urlWithArgs,fail:function(e){wx.switchTab({url: '/' + prePage.route,})}});}},/*** 生命周期函数--监听页面加载*/onLoad: function (options) {this.setData({ error: options.error});// this.reLoad(options.error);},以上就是微信小程序网络超时怎么办?的详细内容,更多请关注小潘博客其它相关文章!