微信小程序request请求封装,验签代码实例-创新互联

这篇文章主要介绍了微信小程序request请求封装,验签代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

创新互联公司是专业的高州网站建设公司,高州接单;提供网站制作、成都做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行高州网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

1.公共文件util添加

request请求

//简单封装请求
function request(params, path, isShowLoading = true, goBack = false, type = 'none', obj={}) {
 try {
  console.log(path)
  let NowTime = Date.parse(new Date()) / 1000;
  let defaultParams = {
   platform: app.globalData.platform,
   appVersion: app.globalData.version,
   deviceId: uuId(),
   timestamp: params.timestamp ? params.timestamp : NowTime
  };
 
  params = Object.assign(params, defaultParams);
  let requestParams = signature(params)
  isShowLoading && wx.showLoading && wx.showLoading({
   title: '加
中...'
  })
  return new Promise((resolve, reject) => {
   let header;
   obj.header = obj.header || {};
   console.log('获取ptkey')
   console.log(plugin.getJdListStorage(['guid', 'pt_key', 'pt_token', 'pt_pin']))
   let [GUID = '', KEY = '', TOKEN = '', PIN = ''] = plugin.getJdListStorage(['guid', 'pt_key', 'pt_token', 'pt_pin']),
    _cookie = `guid=${GUID}; pt_pin=${encodeURIComponent(PIN)}; pt_key=${KEY}; pt_token=${TOKEN};${wx.getStorageSync("accessToken_v1")}`, {
     cookie
    } = obj.header;
   console.log(cookie)
   obj.header.cookie = cookie ? `${cookie};${_cookie}` : _cookie;
   if (!isEmpty(getToken())) {
    obj.header.authorization = 'Bearer ' + getToken()
   }
   console.log(obj.header)

   wx.request({
    url: getApp().globalData.host + path, //获取app.js 全局ip
    data: requestParams,
    method: 'POST',
    header: obj.header,
    success: function(res) {
     console.log(res)
     isShowLoading && wx.hideLoading && wx.hideLoading()
     // 缺少登录失效的处理方法
     if (res.statusCode == 200 && res.data.code == 200) {
      if (isEmpty(res.data.data) || res.data.data == true) {
       resolve('true')
       return
      }
      if (res.data.data) {
       resolve(res.data.data);
      } else if (res.data.data == 0){
       resolve(res.data.data);
      } else {
       resolve('true')
      }
     } else if (res.statusCode == 200 && res.data.code == 401) { //token过期
      Login();
      resolve(false);
      return;
     } else {
      //需要再判断code码
      // errorShow(res.data.msg, goBack, type);
      errorShow(res.data.msg);
      resolve(false);
      // reject(res.data.res);
     }
    },
    fail: function(err) {
     console.log(err)
     // 因为hide会让showToast隐藏
     isShowLoading && wx.hideLoading && wx.hideLoading()
     errorShow('网络请求失败');
     reject(new Error('Network request failed'))
     // throw new Error('Network request failed')
    },
    complete: function() {}
   })
  })
 } catch (err) {
  console.log(err)
  errorShow('网络请求失败');
  return false;
 }
}

标题名称:微信小程序request请求封装,验签代码实例-创新互联
标题网址:http://scjbc.cn/article/hphoo.html

其他资讯