import {
	RouterMount,
	createRouter,
	runtimeQuit
} from './js_sdk/hhyang-uni-simple-router/uni-simple-router';
import {
	BACK_URL
} from './config/cachekey'
import store from './store'
import {
	getWxCode
} from './utils/login'
import Cache from './utils/cache'
import wechath5 from './utils/wechath5'
import {isWeixinClient} from './utils/tools'
const scrollInfo = {};
const whiteList = ['register', 'login', 'forget_pwd']
const router = createRouter({
	platform: process.env.VUE_APP_PLATFORM,
	APP: {
		animation: {}
	},
	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) => {

	const 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_detail')) return
			store.dispatch('setWxShare')
		}
	})
	
	// #endif
});

export {
	router,
	RouterMount
}