实现效果
将时间戳和请求次数,保存到Storage,每次请求豆瓣的时候,调用一次,一旦超过35次就提醒,或者跳走(别刷了),就再也不会被豆瓣关小黑屋了。
function douban_limit() {
var timestamp = Date.parse(new Date());
var requestDoubanTime = wx.getStorageSync('requestDoubanTime');
var requestDoubanNum = wx.getStorageSync('requestDoubanNum');
if (requestDoubanTime && timestamp - requestDoubanTime < 60000) {
wx.setStorageSync('requestDoubanNum', requestDoubanNum += 1);
if (requestDoubanNum < 35) {
//Lower than 35/m,pass
return;
}
else {
wx.showToast({
title: '豆瓣api请求频率超35/m,小心',
icon: 'loading',
duration: 5000
})
//提示或者去别的地方
// wx.redirectTo({
// url:"pages/welcome/welcome"
// });
}
}
else {
wx.setStorageSync('requestDoubanTime', timestamp);
wx.setStorageSync('requestDoubanNum', 1);
}
}
教程中电影第一页中,简化请求函数最简便的方法
请求函数http,settedkey设置为可选参数
另外,把douban_limit()加在请求前面
util.js
function http(url, callBack,settedkey="") {
douban_limit();
wx.request({
url: url,
method: 'GET',
header: {
"content-type": "json"
},
success: function (res) {
callBack(res.data,settedkey);
},
fail: function () {
console.log('fail')
}
})
}
movies.js里就可以直接用了
util.http(inThreatersUrl,this.processDoubanData,'in_theaters');