php 连接微信api 超时,微信小程序网络超时怎么办?

微信小程序网络超时的解决办法:1、在onLaunch运行任务如果超时,就把错误级别定为0,并转向错误页面;2、如果是页面请求超时,就把错误定为2,可以通过重试来修复。

7184fc99bc223f04f99d15d3f7d1f53c.png

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

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中所带的参数可以查看options

console.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);

},

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值