You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
frontend/src/main.js

67 lines
1.8 KiB
JavaScript

import Vue from "vue";
import App from "./App.vue";
import router from "./router";
import store from "./store";
2 years ago
//引入element-ui
import ElementUI from "element-ui";
import "element-ui/lib/theme-chalk/index.css";
2 years ago
Vue.use(ElementUI, {
size: "small",
2 years ago
});
// 引入Echarts
import * as echarts from "echarts";
Vue.prototype.$echarts = echarts;
2 years ago
2 years ago
// // 引入 vue-awesome-swiper
// import VueAwesomeSwiper from "vue-awesome-swiper";
// //引入 vue-awesome-swiper 样式
// import "swiper/dist/css/swiper.css";
// Vue.use(VueAwesomeSwiper /* { 全局组件的默认选项 } */);
2 years ago
import "./assets/css/reset.css"; //默认样式
import "./assets/css/theme.less"; //修改主题颜色
import "./assets/css/global.less"; //全局定义颜色
2 years ago
import "./assets/css/element.less"; //全局定义颜色
import "./assets/font/iconfont.css"; //按钮
//引入md5加密
import md5 from "js-md5";
Vue.prototype.$md5 = md5;
2 years ago
2 years ago
import moment from "moment"; // 导入文件
// 注册全局 moment
Vue.prototype.$moment = moment;
Vue.config.productionTip = false;
//图片预览
import "viewerjs/dist/viewer.css";
import Viewer from "v-viewer";
Vue.use(Viewer);
// 这里是插件的默认设置
Viewer.setDefaults({
zIndexInline: 9999,
});
2 years ago
new Vue({
router,
store,
render: (h) => h(App),
}).$mount("#app");
2 years ago
//使用钩子函数对路由进行权限跳转
router.beforeEach((to, from, next) => {
2 years ago
document.title = `${to.meta.title} | 视频监控可视化平台`;
2 years ago
const role = localStorage.getItem("username");
const token = localStorage.getItem("token");
if (!role && to.path !== "/login") {
next("/login");
2 years ago
} else if (to.meta.permission) {
console.log(to.meta.permission);
console.log(role);
// 如果是管理员权限则可进入,这里只是简单的模拟管理员权限而已
2 years ago
role === "xytest" ? next() : next("/403");
2 years ago
} else {
next();
2 years ago
}
});