123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- import Vue from 'vue'
- import Router from 'vue-router'
- import { PCMenu } from "../config/menu";
- import { checkWork, checkLogin,getPanoInfo } from '@/api'
- import { $alert } from '@/components/shared/message'
- import store from '../Store'
- let vue = new Vue()
- import { LoginDetector,OnlineDetector } from "@/utils/starter";
- Vue.use(Router)
- const originalPush = Router.prototype.push
- Router.prototype.push = function push (location) {
- return originalPush.call(this, location).catch(err => err)
- }
- let routes = [];
- PCMenu.forEach(item => {
- routes.push({
- name: item.name,
- path: `${item.link}`,
- meta: {
- loading: null,
- loadScene: !item.hidescene
- },
- component: () => import(`../views/${item.name}/index.vue`)
- });
- });
- LoginDetector.register(
- detector => new Promise(resolve => detector.resolve(resolve))
- );
- OnlineDetector.register(
- detector => new Promise(resolve => detector.resolve(resolve))
- );
- //检验是不是该用户作品
- checkWork().then(res=>{
- if (res.data) {
- checkLogin().then(response => {
- if (response.code == 3005) {
- store.commit('UpdateIsShowState', false)
- vue.$bus.emit('canLoad',false)
- return vue.$alert({content: '当前无操作权限'});
- } else{
- vue.$bus.emit('canLoad',true)
- LoginDetector.valid();
- }
- });
- }
- else{
- return vue.$alert({content: '该作品已被删除'});
- }
-
- })
- getPanoInfo().then(() => {
- store.commit('UpdateIsShowState', true)
- // if(response&&response.status == 1){
- // }
- OnlineDetector.valid();
- });
- const router = new Router({
- routes: routes
- })
- router.beforeEach(async (to, from, next) => {
-
- await LoginDetector.listener();
- await OnlineDetector.listener();
- if (from.name == 'hotspot') {
- if (store.getters.isEditing) {
- vue.$confirm({
- content: "热点内容未编辑完,确定要关闭吗",
- ok: () => {
- vue.$bus.emit('delhotspot')
- return next()
- }
- });
- return
- }
- }
- if (to.path == '/') {
- return next({path: "/base" })
- }
-
- next()
- })
- export default router;
|