import { log } from "@/utils/base.js" import store from "@/store/index.js" import { RouterMount, createRouter } from 'uni-simple-router' import Vue from 'vue' const router = createRouter({ platform: process.env.VUE_APP_PLATFORM, routes: [...ROUTES] }); //全局路由前置守卫 router.beforeEach((to, from, next) => { if (to.path == "/pages/login/login") { next(); } else if (store.getters.hasLogin) { //log('跳转前===>', "\r\nTO===>", to, "\r\nFROM===>", from) if (!store.state.menu.list || store.state.menu.list.length <= 0) { store.dispatch("menu/getMenus"); } next(); } // #ifndef H5 else if (store.state.needWxLogin) { store.dispatch("getTokenByWxCode").then(({restluLis})=>{ log(`APP____getTokenByOpenid=========>${restluLis.wxLoginInfo.openid}`); if (!store.state.menu.list || store.state.menu.list.length <= 0) { store.dispatch("menu/getMenus"); } next(); }).catch(()=>{ next({ path:"/pages/login/login", query:{ redirect:to.path } }) }) } // #endif // else if (store.state.openid) { // store.dispatch("getTokenByOpenid") // .then(res => { // log(`APP____getTokenByOpenid=========>${res}`); // log('跳转前===>', "\r\nTO===>", to, "\r\nFROM===>", from) // next(); // }) // .catch(() => { // log('跳转去登录===>openid:[${store.state.openid}]', "\r\nTO===>", to) // next({ // path: "/pages/login/login", // query: { // redirect: to.path // } // }) // }); // } else { log('跳转去登录===>', "\r\nTO===>", to) next({ path: "/pages/login/login", query: { redirect: to.path } }) // uni.reLaunch({ // url: `/pages/login/login?redirect=${to.path}`, // }) } }); // 全局路由后置守卫 router.afterEach((to, from) => { //log('跳转结束', to, from) }) export { router, RouterMount }