初始化仓库
This commit is contained in:
109
router.js
Normal file
109
router.js
Normal file
@ -0,0 +1,109 @@
|
||||
import {
|
||||
RouterMount,
|
||||
createRouter,
|
||||
runtimeQuit
|
||||
} from './js_sdk/uni-simple-router';
|
||||
import {
|
||||
BACK_URL
|
||||
} from './config/cachekey'
|
||||
import store from './store'
|
||||
import {
|
||||
silentLogin
|
||||
} from '@/api/app'
|
||||
import {
|
||||
getWxCode
|
||||
} from './utils/login'
|
||||
import Cache from './utils/cache'
|
||||
import wechath5 from './utils/wechath5'
|
||||
import {isWeixinClient} from './utils/tools'
|
||||
const scrollInfo = {};
|
||||
let first = null;
|
||||
const whiteList = ['register', 'login', 'forget_pwd']
|
||||
const router = createRouter({
|
||||
platform: process.env.VUE_APP_PLATFORM,
|
||||
APP: {
|
||||
animation: {}
|
||||
},
|
||||
h5: {
|
||||
scrollBehavior: (to, from, savedPosition) => {
|
||||
const XY = scrollInfo[to.name];
|
||||
if (XY) return XY;
|
||||
return {
|
||||
x: 0,
|
||||
y: 0
|
||||
};
|
||||
}
|
||||
},
|
||||
routerErrorEach: ({
|
||||
type,
|
||||
msg
|
||||
}) => {
|
||||
router.$lockStatus = false;
|
||||
// #ifdef APP-PLUS
|
||||
if (type === 3) {
|
||||
runtimeQuit();
|
||||
}
|
||||
// #endif
|
||||
},
|
||||
debugger: false,
|
||||
routes: [
|
||||
...ROUTES,
|
||||
{
|
||||
path: '*',
|
||||
redirect: (to) => {
|
||||
return {
|
||||
name: '404'
|
||||
}
|
||||
}
|
||||
},
|
||||
]
|
||||
});
|
||||
|
||||
console.log(router)
|
||||
|
||||
let count = 0;
|
||||
router.beforeEach((to, from, next) => {
|
||||
// #ifdef H5
|
||||
// tab页面的滚动缓存
|
||||
if (from.meta.keepScroll === true) {
|
||||
scrollInfo[from.name] = {
|
||||
x: window.scrollX,
|
||||
y: window.scrollY
|
||||
}
|
||||
}
|
||||
// #endif
|
||||
|
||||
|
||||
console.log(to,from, 'beforeEach---开始跳转')
|
||||
let index = whiteList.findIndex((item) => from.path.includes(item))
|
||||
if (index == -1 && !store.getters.token) {
|
||||
Cache.set(BACK_URL, from.fullPath)
|
||||
}
|
||||
if (to.meta.auth && !store.getters.token) {
|
||||
next('/pages/login/login');
|
||||
return
|
||||
} else {
|
||||
next()
|
||||
}
|
||||
|
||||
});
|
||||
router.afterEach( (to, from, next) => {
|
||||
// #ifdef H5
|
||||
// 添加定时器防止拿到的域名是上一个域名
|
||||
setTimeout(async () => {
|
||||
if (isWeixinClient()) {
|
||||
// jssdk配置
|
||||
await wechath5.config()
|
||||
// 分享配置
|
||||
if (to.path.includes('goods_details')) return
|
||||
store.dispatch('wxShare')
|
||||
}
|
||||
})
|
||||
|
||||
// #endif
|
||||
});
|
||||
|
||||
export {
|
||||
router,
|
||||
RouterMount
|
||||
}
|
||||
Reference in New Issue
Block a user