实现效果
将时间戳和请求次数,保存到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'); 参考文章













