import Vue from 'vue'
import store from "@/store"
import common from '../util/common'
import Router from 'vue-router'
import sa from'sa-sdk-javascript';
Vue.use(Router);
const router =new Router({
routes: [
{
path: '/',
name: 'index',
component: e=>require(['@/components/index'],e),//
meta:{
deep:0
}
}, {
path: '/newLesson',
name: 'newLesson',
component: e=>require(['@/components/newLesson'],e),//
meta:{
deep:0
}
}, {
path: '/myGoodsList',
name: 'myGoodsList',
component: e=>require(['@/components/myGoodsList'],e),
meta:{
deep:1
}
},{
path: '/mine',
name: 'mine',
component: e=>require(['@/components/mine'],e),
meta:{
deep:1
}
},{
path: '/order',
name: 'order',
component: e=>require(['@/components/order'],e),
meta:{
deep:2
}
},{
path: '/share',
name: 'share',
component: e=>require(['@/components/share'],e),
meta:{
deep:2
}
},
{
path: '/author',
name: 'author',
component: e=>require(['@/components/author'],e),
meta:{
deep:100,
noNew:true
}
},{
path: '/buyDetail',
name: 'buyDetail',
component: e=>require(['@/components/buy/index'],e),
meta:{
skip_login:true,
noNew:true,
deep:10
}
}, {
path: '/buy',
name: 'buy',
component: e=>require(['@/components/buy/buy'],e),
meta:{
noNew:true,
deep:11
}
}, {
path: '/success',
name: 'success',
component: e=>require(['@/components/buy/success'],e),
meta:{
noNew:true,
deep:12
}
},{
path: '/buySuccess',
name: 'buySuccess',
component: e=>require(['@/components/buy/buySuccess'],e),
meta:{
noNew:true,
deep:12
}
}, {
path: '/map',
name: 'map',
component: e=>require(['@/components/map/index'],e),
meta:{
deep:3
}
},
{
path: '/saleSuccess',
name: 'saleSuccess',
component: e=>require(['@/components/buy/saleSuccess'],e),
meta:{
deep:4
}
}, {
path: '/bindMobile',
name: 'bindMobile',
component: e=>require(['@/components/bindMobile'],e),
meta:{
deep:0
}
},
{
path: '/activity',
name: 'activity',
component: e=>require(['@/components/buy/activity'],e),
meta:{
skip_login:true
}
},
{
path: '/activityInvite',
name: 'activityInvite',
component: e=>require(['@/components/buy/activityInvite'],e),
meta:{
skip_login:true
}
},
{
path: '/inviteList',
name: 'inviteList',
component: e=>require(['@/components/buy/inviteList'],e),
meta:{
skip_login:true
}
},
{
path: '/collection',
name: 'collection',
component: e=>require(['@/components/collection'],e),
meta:{
skip_login:true
}
},
{
path: '/noWechat',
name: 'noWechat',
component: e=>require(['@/components/noWechat'],e),
meta:{
skip_login:false
}
},
{
path:'*',
component: e=>require(['@/components/error'],e),
},
]
});
router.beforeEach((to,from,next)=> {
// Vue.nextTick(() => {
// sa.quick("autoTrackSinglePage");
// });
let ua = window.navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i) == 'micromessenger' || ua.match(/_SQ_/i) == '_sq_'){
if(to.name == 'noWechat'){
next({name:'index'});
}
}else{
if(to.name !== 'noWechat') {
next({name:'noWechat'});
}
}
let browser = {
versions: function () {
let u = navigator.userAgent, app = navigator.appVersion;
return { //移动终端浏览器版本信息
trident: u.indexOf('Trident') > -1, //IE内核
presto: u.indexOf('Presto') > -1, //opera内核
webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') === -1, //火狐内核
mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或uc浏览器
iPhone: u.indexOf('iPhone') > -1, //是否为iPhone或者QQHD浏览器
iPad: u.indexOf('iPad') > -1, //是否iPad
webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
};
}(),
language: (navigator.browserLanguage || navigator.language).toLowerCase()
};
if (browser.versions.mobile) {//判断是否是移动设备打开。browser代码在下面
let ua = navigator.userAgent.toLowerCase();//获取判断用的对象
if (ua.match(/MicroMessenger/i) == "micromessenger") {
}else{
}
}
store.dispatch('isMobile',browser.versions.mobile);
document.title = '唱唱启蒙英语';
let goOn=function(){
if(localStorage.getItem('retUrl') && localStorage.getItem('retUrl') !== null && localStorage.getItem('retUrl') !== ''){
let retUrl = localStorage.getItem('retUrl').toString();
localStorage.removeItem('retUrl');
next(retUrl);
}else{
next()
}
};
if(to.name === 'author' || to.name === 'bindMobile' || to.name === 'noWechat'){
next()
}else if(window.location.href.indexOf('token')>-1){
let token = common.getUrlParam().token || to.query.token;
store.dispatch('setToken',token);
goOn()
// 通过cookie获取token
}else if(localStorage.getItem('cc_token')) {
store.dispatch('setToken', localStorage.getItem('cc_token'));
goOn()
// 无需token登录页面
}else if(to.meta.skip_login){
goOn()
}else{
let query = {retUrl:to.fullPath};
if(to.meta.noNew){
query.is_new_user_url = 1
}
next({name:'author',query:query})
}
// if(to.meta.skip_login){
// next();
// }
});
export default router;