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.
102 lines
2.4 KiB
JavaScript
102 lines
2.4 KiB
JavaScript
import Vue from "vue";
|
|
import App from "./App.vue";
|
|
import router from "./router";
|
|
import store from "./store";
|
|
|
|
//引入element-ui
|
|
import "../src/assets/css/theme/index.css"; //l绿色主题
|
|
import ElementUI from "element-ui";
|
|
// import "element-ui/lib/theme-chalk/index.css";
|
|
Vue.use(ElementUI, {
|
|
size: "small",
|
|
});
|
|
|
|
//引入Echarts;
|
|
import * as echarts from "echarts";
|
|
Vue.prototype.$echarts = echarts;
|
|
|
|
// // 引入 vue-awesome-swiper
|
|
// import VueAwesomeSwiper from "vue-awesome-swiper";
|
|
// //引入 vue-awesome-swiper 样式
|
|
// import "swiper/dist/css/swiper.css";
|
|
// Vue.use(VueAwesomeSwiper /* { 全局组件的默认选项 } */);
|
|
|
|
import "./assets/css/reset.css"; //默认样式
|
|
import "./assets/css/theme.less"; //修改主题颜色
|
|
import "./assets/css/global.less"; //全局定义颜色
|
|
import "./assets/css/element.less"; //全局定义颜色
|
|
import "./assets/fonts/iconfont.css"; //按钮
|
|
import VueLazyload from "vue-lazyload";
|
|
//注册插件
|
|
// 全局配置vue-lazyload
|
|
// Vue.use(VueLazyload, {
|
|
|
|
// listenEvents: ["scroll"], // 监听的事件类型
|
|
// });
|
|
Vue.use(VueLazyload, {
|
|
error: require("./assets/img/nodatapic2.jpg"),
|
|
listenEvents: [
|
|
"scroll",
|
|
"wheel",
|
|
"mousewheel",
|
|
"resize",
|
|
"animationend",
|
|
"transitionend",
|
|
"touchmove",
|
|
],
|
|
});
|
|
//引入md5加密
|
|
import md5 from "js-md5";
|
|
Vue.prototype.$md5 = md5;
|
|
|
|
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,
|
|
});
|
|
//使用jq
|
|
import jquery from "jquery";
|
|
Vue.prototype.$ = jquery;
|
|
//使用钩子函数对路由进行权限跳转
|
|
router.beforeEach((to, from, next) => {
|
|
document.title = `${to.meta.title} | 视频监控可视化平台`;
|
|
const role = localStorage.getItem("role");
|
|
const token = localStorage.getItem("token");
|
|
console.log(role, token);
|
|
if (!token && to.path !== "/login") {
|
|
//next("/login");
|
|
next({
|
|
path: "/login",
|
|
});
|
|
} else {
|
|
next();
|
|
}
|
|
});
|
|
|
|
new Vue({
|
|
router,
|
|
store,
|
|
render: (h) => h(App),
|
|
}).$mount("#app");
|
|
|
|
Vue.directive("debounce", {
|
|
inserted(el, binding, vnode) {
|
|
let timer = {};
|
|
el.addEventListener("click", () => {
|
|
if (timer) {
|
|
clearTimeout(timer);
|
|
}
|
|
timer = setTimeout(() => {
|
|
binding.value();
|
|
}, 500);
|
|
});
|
|
},
|
|
});
|