interface.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import _config from './config'; // 导入私有配置
  2. export default function $http(options) {
  3. options.url = _config.url + options.url;
  4. return new Promise((resolve, reject) => {
  5. let token = uni.getStorageSync('token');
  6. uni.showLoading({
  7. title: "加载中",
  8. mask: true,
  9. });
  10. _config.header = {
  11. 'Content-Type': 'application/json',
  12. 'Authorization':'Bearer '+token
  13. }
  14. _config.complete = (response) => {
  15. if (response.statusCode === 200){
  16. resolve(response);
  17. } else {
  18. if (options.handle) {
  19. reject(response)
  20. } else {
  21. try {
  22. Promise.reject(response).catch(err => {
  23. _page_error(response.statusCode || response.errMsg);
  24. });
  25. } catch (e) {
  26. console.log(e)
  27. }
  28. }
  29. }
  30. // 完成之后关闭加载效果
  31. }
  32. // 开始请求
  33. uni.request(Object.assign({}, _config, options));
  34. uni.hideLoading();
  35. })
  36. }
  37. // 接口錯誤
  38. function _error(err, msg = '') {
  39. switch (err) {
  40. case 400:
  41. console.error(msg)
  42. // 错误码400的处理方式
  43. break;
  44. }
  45. }
  46. // request 錯誤
  47. function _page_error(err) {
  48. switch (err) {
  49. case 401:
  50. // 错误码404的处理方式
  51. uni.reLaunch({
  52. url: "/pages/logon/index.vue",
  53. })
  54. console.error("请求背拒绝")
  55. break;
  56. case 404:
  57. // 错误码404的处理方式
  58. console.error("没有找到页面")
  59. break;
  60. case 405:
  61. console.error("错误的请求")
  62. break;
  63. }
  64. }