http.js 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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 == 1014) {
  35. wx.setStorageSync('openId', res.data.data.openId);
  36. wx.setStorageSync('sessionKey', res.data.data.sessionKey);
  37. wx.setStorageSync('unionId', res.data.data.unionId);
  38. //前往绑定手机号
  39. wx.redirectTo({
  40. url: '/pages/bind-phone/index',
  41. })
  42. } else if (errorCode == 1005) {
  43. //未获取到微信登录信息
  44. wx.navigateTo({
  45. url: '/pages/login/login',
  46. })
  47. } else if (errorCode == 2009) {
  48. //用户信息重复,请选择用户信息
  49. wx.setStorageSync('userList', res.data.data.userList);
  50. wx.redirectTo({
  51. url: '/pages/select-info/index',
  52. })
  53. } else if (errorCode == 2008) {
  54. //账号不存在,或token无效
  55. } else if (errorCode == 1007) {
  56. //手机号已被绑定
  57. } else if (errorCode == 40005) {
  58. //用户信息和微信信息不匹配
  59. } else if (errorCode == 1015) {
  60. //用户尚未创建简历
  61. var targetUrl = wx.getStorageSync('resumeUrl')
  62. if (!targetUrl) {
  63. targetUrl = '/pages/user-info/user-info'
  64. }
  65. } else if (errorCode == 40007) {
  66. //账号类型不符
  67. } else if (errorCode == 2006) {
  68. //后台接口异常
  69. }
  70. showToast(res.data.errmsg);
  71. reject(res.data);
  72. } else {
  73. //2. 操作不成功返回数据,以toast方式弹出响应信息,如后端未格式化非操作成功异常信息,则可以统一定义异常提示
  74. wx.showToast({
  75. icon: "none",
  76. title: "网络异常"
  77. })
  78. }
  79. },
  80. fail: function(e) {
  81. wx.hideLoading()
  82. console.log(e)
  83. wx.showToast({
  84. icon: "none",
  85. title: "网络异常"
  86. })
  87. }
  88. })
  89. })
  90. }
  91. module.exports = {
  92. http
  93. }