index.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. import { log } from "@/utils/base.js"
  2. import store from "@/store/index.js"
  3. import { RouterMount, createRouter } from 'uni-simple-router'
  4. import Vue from 'vue'
  5. const router = createRouter({
  6. platform: process.env.VUE_APP_PLATFORM,
  7. routes: [...ROUTES]
  8. });
  9. //全局路由前置守卫
  10. router.beforeEach((to, from, next) => {
  11. if (to.path == "/pages/login/login") {
  12. next();
  13. } else if (store.getters.hasLogin) {
  14. //log('跳转前===>', "\r\nTO===>", to, "\r\nFROM===>", from)
  15. if (!store.state.menu.list || store.state.menu.list.length <= 0) {
  16. store.dispatch("menu/getMenus");
  17. }
  18. next();
  19. }
  20. // #ifndef H5
  21. else if (store.state.needWxLogin) {
  22. store.dispatch("getTokenByWxCode").then(({restluLis})=>{
  23. log(`APP____getTokenByOpenid=========>${restluLis.wxLoginInfo.openid}`);
  24. if (!store.state.menu.list || store.state.menu.list.length <= 0) {
  25. store.dispatch("menu/getMenus");
  26. }
  27. next();
  28. }).catch(()=>{
  29. next({
  30. path:"/pages/login/login",
  31. query:{
  32. redirect:to.path
  33. }
  34. })
  35. })
  36. }
  37. // #endif
  38. // else if (store.state.openid) {
  39. // store.dispatch("getTokenByOpenid")
  40. // .then(res => {
  41. // log(`APP____getTokenByOpenid=========>${res}`);
  42. // log('跳转前===>', "\r\nTO===>", to, "\r\nFROM===>", from)
  43. // next();
  44. // })
  45. // .catch(() => {
  46. // log('跳转去登录===>openid:[${store.state.openid}]', "\r\nTO===>", to)
  47. // next({
  48. // path: "/pages/login/login",
  49. // query: {
  50. // redirect: to.path
  51. // }
  52. // })
  53. // });
  54. // }
  55. else {
  56. log('跳转去登录===>', "\r\nTO===>", to)
  57. next({
  58. path: "/pages/login/login",
  59. query: {
  60. redirect: to.path
  61. }
  62. })
  63. // uni.reLaunch({
  64. // url: `/pages/login/login?redirect=${to.path}`,
  65. // })
  66. }
  67. });
  68. // 全局路由后置守卫
  69. router.afterEach((to, from) => {
  70. //log('跳转结束', to, from)
  71. })
  72. export {
  73. router,
  74. RouterMount
  75. }