微信小程序--封装ajax

全局封装 ajax ,方便添加默认参数 ,判断本地存储信息 ,登录情况

// 基准路径

const baseUrl = ‘http://www.xxx.com/xxxx/methods/’

//获取countryCode 和 exchange_rate

function getExrate(url, method, header={}) {

wx.request({

url: baseUrl + url,

method: "GET",

data:{},

header,

success: res => { 

  if(res.statusCode == 200){

    //设置countryCode 和 exchange_rate

    let countryCode = res.data.data.countryCode;

    let exchange_rate = res.data.data.exchange_rate;

    wx.setStorage({

      key: "countryCode",

      data: countryCode

    })

    wx.setStorage({

      key: "exchange_rate",

      data: exchange_rate

    })

  }

  wx.hideLoading()

},

fail: err => {

  console.log(err);

}

})

}

// 1.0 返回一个 promise 对象

function request(url, method = ‘GET’, data = {}, header = {}) {

//获取本地存储信息

try {

const res = wx.getStorageInfoSync()

//已经登录  添加user_id

if (res.hhauseUser){

  let hhauseUser = JSON.parse(res.hhauseUser)

  data.user_id = hhauseUser.user_id

}

//添加来源

data.source = 'WeChat'

if (!res.countryCode || !res.exchange_rate){

  getExrate('system.getExrate', method)

}

//添加地区编码

data.countryCode = res.countryCode || "CN"

//添加汇率

data.exchange_rate = res.exchange_rate || "7.0406"

//添加版本

data.v = '1.0'

} catch (e) {

console.log(e);

}

return new Promise((resolve, reject) => {

wx.showLoading({

  title: '加载中'

})

// 2.0 完成逻辑处理

wx.request({

  url:  url,

  method: method,

  data: data,

  header,

  success: res => { 

    resolve(res)

    wx.hideLoading()

  },

  fail: err => {

    reject(err)

  }

})

})

}

// 封装一个单独的 get 方法

request.get = function (url, data = {}) {

return request(baseUrl + url, ‘GET’, data)

}

// 封装一个单独的 post 方法

request.post = function (url, data = {}) {

return request(baseUrl + url, ‘POST’, data)

}

// 3.0 暴露给外界

export default request

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值