与牧同行-小程序用户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

84 lines
2.5 KiB

6 days ago
6 days ago
6 days ago
  1. var baseUrl = require('../utils/baseUrl')
  2. var ajaxtimes = 0
  3. module.exports = {
  4. http(url, method, params) {
  5. //发送一次请求就加1
  6. ajaxtimes++
  7. let token = 'token' // 获取token,自行获取token和签名,token和签名表示每个接口都要发送的数据
  8. let sign = 'sign' // 获取签名 (后台怎么定义的,就传什么)
  9. let data = {
  10. token,
  11. sign
  12. }
  13. wx.showLoading({
  14. title: '加载中...',
  15. })
  16. let urls = baseUrl + url
  17. if (params.data) { // 在这里判断一下data是否存在,params表示前端需要传递的数据,params是一个对象,有三组键值对,data:表示请求要发送的数据,success:成功的回调,fail:失败的回调,这三个字段可缺可无,其余字段会忽略
  18. for (let key in params.data) { // 在这里判断传过来的参数值为null,就删除这个属性
  19. if (params.data[key] == null || params.data[key] == 'null') {
  20. delete params.data[key]
  21. }
  22. }
  23. data = {
  24. ...data,
  25. ...params.data
  26. }
  27. }
  28. if (params.id) {
  29. urls = urls + '/' + params.id
  30. }
  31. // console.log(urls);
  32. var value = null
  33. try {
  34. value = wx.getStorageSync('token')
  35. if (value) {
  36. // console.log(value);
  37. }
  38. } catch (e) {
  39. // Do something when catch error
  40. }
  41. wx.request({
  42. url: urls, // 就是拼接上前缀,此接口域名是开放接口,可访问
  43. method: method, // 判断请求类型,除了值等于'post'外,其余值均视作get 其他的请求类型也可以自己加上的 method: method == 'post' ? 'post' : 'get'
  44. data,
  45. header: {
  46. 'content-type': 'application/json',
  47. 'Authorization':'Bearer '+ value
  48. },
  49. success(res) {
  50. // console.log(res);
  51. if(res.data.code == 401){
  52. wx.showModal({
  53. title: '提示',
  54. content: '登录已过期,请重新登录',
  55. success (res) {
  56. if (res.confirm) {
  57. wx.reLaunch({
  58. url: '/pages/login/login',
  59. })
  60. } else if (res.cancel) {
  61. }
  62. }
  63. })
  64. }else{
  65. params.success && params.success(res.data)
  66. }
  67. },
  68. fail(err) {
  69. params.fail && params.fail(err)
  70. },
  71. complete(){
  72. //完成一次请求就减一
  73. ajaxtimes--;
  74. if(ajaxtimes===0){
  75. wx.hideLoading()
  76. }
  77. },
  78. })
  79. }
  80. }