http.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. var config = require('../config/config.js')
  2. import {
  3. showToast
  4. } from '../utils/tips.js'
  5. //服务器地址
  6. const apiUrl = config.apiUrl;
  7. /**
  8. * 封装http 请求方法
  9. */
  10. const http = (params) => {
  11. // console.log(params)
  12. //返回promise 对象
  13. wx.showLoading({
  14. title: 'loading',
  15. mask: true
  16. });
  17. return new Promise((resolve, reject) => {
  18. wx.request({
  19. url: apiUrl + params.url, //服务器url+参数中携带的接口具体地址
  20. data: params.data, //请求参数
  21. header: Object.assign({
  22. "Content-Type": "application/json" //设置后端需要的常用的格式就好,特殊情况调用的时候单独设置
  23. }, params.header || {}),
  24. method: params.method || 'GET', //默认为GET,可以不写,如常用请求格式为POST,可以设置POST为默认请求方式
  25. dataType: params.dataType, //返回的数据格式,默认为JSON,特殊格式可以在调用的时候传入参数
  26. responseType: params.responseType, //响应的数据类型
  27. success: function(res) {
  28. console.log("11", res.data)
  29. wx.hideLoading()
  30. if (res.statusCode == 200) {
  31. var errorCode = res.data.errcode
  32. if (errorCode == 0) {
  33. return resolve(res.data)
  34. } else if (errorCode == 1020) {
  35. //未获取到用户手机信息
  36. wx.navigateTo({
  37. url: '/pages/auth/auth',
  38. })
  39. } else if (errorCode == 1005) {
  40. //未获取到微信登录信息
  41. wx.navigateTo({
  42. url: '/pages/login/login',
  43. })
  44. } else if (errorCode == 2008) {
  45. //账号不存在,或token无效
  46. } else if (errorCode == 1007) {
  47. //手机号已被绑定
  48. } else if (errorCode == 40005) {
  49. //用户信息和微信信息不匹配
  50. } else if (errorCode == 1015) {
  51. //用户尚未创建简历
  52. var targetUrl = wx.getStorageSync('resumeUrl')
  53. if (!targetUrl) {
  54. targetUrl = '/pages/user-info/user-info'
  55. }
  56. // wx.navigateTo({
  57. // url: targetUrl,
  58. // })
  59. } else if (errorCode == 40007) {
  60. //账号类型不符
  61. } else if (errorCode == 2006) {
  62. //后台接口异常
  63. }
  64. showToast(res.data.errmsg)
  65. reject(res.data)
  66. } else {
  67. //2. 操作不成功返回数据,以toast方式弹出响应信息,如后端未格式化非操作成功异常信息,则可以统一定义异常提示
  68. wx.showToast({
  69. icon: "none",
  70. title: "网络异常"
  71. })
  72. }
  73. },
  74. fail: function(e) {
  75. wx.hideLoading()
  76. console.log(e)
  77. wx.showToast({
  78. icon: "none",
  79. title: "网络异常"
  80. })
  81. }
  82. })
  83. })
  84. }
  85. module.exports = {
  86. http
  87. }