main.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  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.removeStorageSync('Token')
  47. uni.showToast({
  48. title: '令牌过期,请重新登录',
  49. icon: 'none',
  50. duration: 2000
  51. })
  52. uni.removeStorageSync('Token')
  53. // uni.hideLoading()
  54. uni.redirectTo({
  55. url: "/pages/login/login"
  56. })
  57. return
  58. }
  59. }
  60. // (response) => {
  61. // // console.log(response,'1');
  62. // const {
  63. // success,
  64. // msg,
  65. // data
  66. // } = response.data
  67. // // 要根据success的成功与否决定下面的操作
  68. // console.log(success,msg,data);
  69. // if (success) {
  70. // return data
  71. // } else {
  72. // // 业务已经错误了 还能进then ? 不能 ! 应该进catch
  73. // console.log(response.data.msg);
  74. // return Promise.reject(new Error(message))
  75. // }
  76. // }, error => {
  77. // error 信息 里面 response的对象
  78. // if (err.data.code === 2000) {
  79. // uni.showToast({
  80. // title: '令牌过期,请重新登录',
  81. // icon: 'none',
  82. // duration: 2000
  83. // })
  84. // // uni.hideLoading()
  85. // uni.redirectTo({
  86. // url: "/pages/login/login"
  87. // })
  88. // } else {
  89. // console.log(error.msg); // 提示错误信息
  90. // }
  91. // return Promise.reject(error)
  92. // }
  93. // 封装弹框的方法
  94. uni.$showMsg = function(title = '数据请求失败!', duration = 1500) {
  95. uni.showToast({
  96. title,
  97. duration,
  98. icon: 'none',
  99. mask: true
  100. })
  101. }
  102. Vue.use(uView);
  103. Vue.config.productionTip = false
  104. App.mpType = 'app'
  105. const app = new Vue({
  106. ...App,
  107. store
  108. })
  109. app.$mount()
  110. // #endif
  111. // #ifdef VUE3
  112. import {
  113. createSSRApp
  114. } from 'vue'
  115. export function createApp() {
  116. const app = createSSRApp(App)
  117. return {
  118. app
  119. }
  120. }
  121. // #endif