Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
import Vue from 'vue'
import VueRouter from 'vue-router'
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
import utils from '@/utils'
import store from '@/store'
import api from '@/api'
import layoutHeaderAside from '@/layout/header-aside'
// fix vue-router NavigationDuplicated
const VueRouterPush = VueRouter.prototype.push
VueRouter.prototype.push = function push (location) {
return VueRouterPush.call(this, location).catch(err => err)
}
const VueRouterReplace = VueRouter.prototype.replace
VueRouter.prototype.replace = function replace (location) {
return VueRouterReplace.call(this, location).catch(err => err)
}
Vue.use(VueRouter)
/**
* @description 创建在 layout 中显示的路由设置
* @param {Array} routes 动态路由设置
*/
export function createRoutesInLayout (routes = []) {
return [
{
path: '/',
redirect: { name: 'index' },
component: layoutHeaderAside,
children: [
import Vue from 'vue'
import VueRouter from 'vue-router'
// 进度条
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
import store from '@/store/index'
import util from '@/libs/util.js'
// 路由数据
import routes from './routes'
// fix vue-router NavigationDuplicated
const VueRouterPush = VueRouter.prototype.push
VueRouter.prototype.push = function push (location) {
return VueRouterPush.call(this, location).catch(err => err)
}
const VueRouterReplace = VueRouter.prototype.replace
VueRouter.prototype.replace = function replace (location) {
return VueRouterReplace.call(this, location).catch(err => err)
}
Vue.use(VueRouter)
// 导出路由 在 main.js 里使用
const router = new VueRouter({
routes
})
/**
import Router from 'vue-router'
import Herader from '../components/header.vue'
import Dashboard from '../components/index.vue'
import Monitor from '../components/monitor/index.vue'
import Download from '../components/download/index.vue'
import Filesystem from '../components/filesystem/index.vue'
import Other from '../components/other/index.vue'
import Login from '../components/login/index.vue'
import User from '../components/user/index.vue'
import Vue from 'vue'
// 解决ElementUI导航栏中的vue-router在3.0版本以上重复点菜单报错问题
const originalPush = Router.prototype.push
Router.prototype.push = function push(location) {
return originalPush.call(this, location).catch(err => err)
}
Vue.use(Router)
const router = new Router({
mode: 'history',
routes: [
// 动态路径参数 以冒号开头
{
path: '/',
redirect: 'dashboard',
component: Herader,
children:[
{
path: '/dashboard',
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
import store from '@/store/index'
import util from '@/libs/util.js'
// 路由数据
import routes from './routes'
// fix vue-router NavigationDuplicated
const VueRouterPush = VueRouter.prototype.push
VueRouter.prototype.push = function push (location) {
return VueRouterPush.call(this, location).catch(err => err)
}
const VueRouterReplace = VueRouter.prototype.replace
VueRouter.prototype.replace = function replace (location) {
return VueRouterReplace.call(this, location).catch(err => err)
}
Vue.use(VueRouter)
// 导出路由 在 main.js 里使用
const router = new VueRouter({
routes
})
/**
* 路由拦截
* 权限验证
*/
router.beforeEach(async (to, from, next) => {
// 确认已经加载多标签页数据 https://github.com/d2-projects/d2-admin/issues/201
// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import BootstrapVue from 'bootstrap-vue';
import 'bootstrap/dist/css/bootstrap.css';
import 'bootstrap-vue/dist/bootstrap-vue.css';
import(/* webpackPreload: true */ '@/assets/font-awesome.css');
import(/* webpackPreload: true */ '@/assets/google-fonts.css');
const ExtensionPopup = () => import('@/layouts/ExtensionPopup');
const app = () => import('./app');
import { getMode } from '@/builds/configs';
import Vue from 'vue';
import Router from 'vue-router';
const originalPush = Router.prototype.push;
const originalReplace = Router.prototype.replace;
Router.prototype.push = function push(path) {
return originalPush.call(this, path).catch(err => err);
};
Router.prototype.replace = function push(path) {
return originalReplace.call(this, path).catch(err => err);
};
Router.prototype.originalPush = originalPush; // Incase we do want to handle on resolve or on abort
Router.prototype.originalReplace = originalReplace; // Incase we do want to handle on resolve or on abort
// import router from '@/router';
import store from '@/store';
import Vuex from 'vuex';
import AddrResolver from '@/directives/AddrResolver';
import ConcatAddr from '@/filters/ConcatAddr';
import { Misc, ExtensionHelpers } from '@/helpers';
import { isAddress } from '@/helpers/addressUtils';
const app = () => import('./app');
import { getMode } from '@/builds/configs';
import Vue from 'vue';
import Router from 'vue-router';
const originalPush = Router.prototype.push;
const originalReplace = Router.prototype.replace;
Router.prototype.push = function push(path) {
return originalPush.call(this, path).catch(err => err);
};
Router.prototype.replace = function push(path) {
return originalReplace.call(this, path).catch(err => err);
};
Router.prototype.originalPush = originalPush; // Incase we do want to handle on resolve or on abort
Router.prototype.originalReplace = originalReplace; // Incase we do want to handle on resolve or on abort
// import router from '@/router';
import store from '@/store';
import Vuex from 'vuex';
import AddrResolver from '@/directives/AddrResolver';
import ConcatAddr from '@/filters/ConcatAddr';
// etc
import languages from '@/translations';
import VueI18n from 'vue-i18n';
// Router
Vue.use(Router);
const storeQuery = query => {
const queryKeys = Object.keys(query);
this.isleft = false
this.push(path)
}
// 需要返回按钮动画的路由用this.$router.goBack(),返回上一个路由
Router.prototype.goBack = function () {
this.isright = true
this.isleft = false
this.go(-1)
}
// 点击浏览器返回按钮执行,此时不需要路由回退
Router.prototype.togoback = function () {
this.isright = true
this.isleft = false
}
// 点击浏览器前进按钮执行
Router.prototype.togoin = function () {
this.isright = false
this.isleft = true
}
export default new Router({
routes: [
{
path: '/',
name: 'index',
component: (resolve) => require(['@/pages/index'], resolve),
redirect: '/home',
children: [
{
path: '/home',
name: 'home',
component: (resolve) => require(['@/pages/index/home'], resolve)
},
import Vue from 'vue'
import Router from 'vue-router'
import App from '../App'
Vue.use(Router)
Router.prototype.go = function() {
this.isBack = true
window.history.go(-1)
}
// 路由懒加载
const index = () => import('@/page/index/index')
const home = () => import('@/page/index/home/home')
const channel = () => import('@/page/index/home/children/channel')
const video = () => import('@/page/index/video/video')
const collect = () => import('@/page/index/collect/collect')
const user = () => import('@/page/index/user/user')
const QRcode = () => import('@/page/index/user/children/QRcode')
const feedBack = () => import('@/page/index/user/children/feedBack')
const myHistory = () => import('@/page/index/user/children/myHistory')
const myComment = () => import('@/page/index/user/children/myComment')
const smallTools = () => import('@/page/index/user/children/smallTools')