main.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. import App from './App'
  2. // #ifndef VUE3
  3. import Vue from 'vue'
  4. import store from "@/store/index.js"
  5. import './uni.promisify.adaptor'
  6. import uView from '@/uni_modules/uview-ui'
  7. import "./utils/permission.js"
  8. import {
  9. $http
  10. } from "@escook/request-miniprogram"
  11. uni.$http = $http
  12. // 请求的根路径
  13. $http.baseUrl = "https://pro.cloud.boyuantech.net/manage"
  14. // 请求拦截器
  15. $http.beforeRequest = function(options) {
  16. // uni.showLoading({
  17. // title: '数据加载中...',
  18. // mask: true,
  19. // })
  20. // console.log(options);
  21. options.header = {
  22. Token: uni.getStorageSync('Token')
  23. }
  24. }
  25. // 响应拦截器
  26. $http.afterRequest = function(err) {
  27. console.log(err.errMsg);
  28. if (err.errMsg == 'request:fail ') {
  29. console.log(1)
  30. uni.showToast({
  31. icon: 'error',
  32. title: '无网络'
  33. })
  34. }
  35. // if (err.errMsg) {
  36. // console.log('无网络');
  37. // uni.showToast({
  38. // icon: 'error',
  39. // title: '无网络'
  40. // })
  41. // uni.hideLoading()
  42. // return
  43. // }
  44. // uni.hideLoading()
  45. if (err.data.code === 2000) {
  46. uni.showToast({
  47. title: '令牌过期,请重新登录',
  48. icon: 'none',
  49. duration: 2000
  50. })
  51. // uni.hideLoading()
  52. uni.redirectTo({
  53. url: "/pages/login/login"
  54. })
  55. return
  56. }
  57. }
  58. // (response) => {
  59. // // console.log(response,'1');
  60. // const {
  61. // success,
  62. // msg,
  63. // data
  64. // } = response.data
  65. // // 要根据success的成功与否决定下面的操作
  66. // console.log(success,msg,data);
  67. // if (success) {
  68. // return data
  69. // } else {
  70. // // 业务已经错误了 还能进then ? 不能 ! 应该进catch
  71. // console.log(response.data.msg);
  72. // return Promise.reject(new Error(message))
  73. // }
  74. // }, error => {
  75. // error 信息 里面 response的对象
  76. // if (err.data.code === 2000) {
  77. // uni.showToast({
  78. // title: '令牌过期,请重新登录',
  79. // icon: 'none',
  80. // duration: 2000
  81. // })
  82. // // uni.hideLoading()
  83. // uni.redirectTo({
  84. // url: "/pages/login/login"
  85. // })
  86. // } else {
  87. // console.log(error.msg); // 提示错误信息
  88. // }
  89. // return Promise.reject(error)
  90. // }
  91. // 封装弹框的方法
  92. uni.$showMsg = function(title = '数据请求失败!', duration = 1500) {
  93. uni.showToast({
  94. title,
  95. duration,
  96. icon: 'none',
  97. mask: true
  98. })
  99. }
  100. Vue.use(uView);
  101. Vue.config.productionTip = false
  102. App.mpType = 'app'
  103. const app = new Vue({
  104. ...App,
  105. store
  106. })
  107. app.$mount()
  108. // #endif
  109. // #ifdef VUE3
  110. import {
  111. createSSRApp
  112. } from 'vue'
  113. export function createApp() {
  114. const app = createSSRApp(App)
  115. return {
  116. app
  117. }
  118. }
  119. // #endif