123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- import Vue from 'vue'
- import App from './App.vue'
- import router from './router'
- import store from '$project/store'
- //引入mui
- import mui from '$project/assets/js/mui.js'
- import '$project/assets/css/mui.min.css'
- import Vconsole from 'vconsole'
- window.mui = mui;
- window.mui.init();
- if (location.hostname === 'localhost') {
- Vue.prototype.HTTPLOCAT = ''
- } else {
- const http = window.location.protocol + '//' + location.hostname + ':' + location.port
- Vue.prototype.HTTPLOCAT = http + ''
- }
- Vue.config.productionTip = false
- //图片预览
- import VueDirectiveImagePreviewer from 'vue-directive-image-previewer'
- import 'vue-directive-image-previewer/dist/assets/style.css'
- Vue.use(VueDirectiveImagePreviewer, {
- background: {
- color: '#000'
- },
- // transition
- animate: {
- duration: 600,
- delay: 500
- },
- // loading (not supported)
- loading: {
- image: ''
- },
- // cursor(css)
- cursor: 'pointer',
- clickMethod: 'doubleClick'
- })
- //获取纯权限路由数组
- let funList = [];
- let fun_list = store.state.fun_list;
- if (fun_list && fun_list.length > 0) {
- fun_list.forEach(function(item) {
- item.list.forEach(function(iten) {
- funList.push(iten.iconRoute);
- if (iten.iconSubRouteList) {
- iten.iconSubRouteList.forEach(function(iteb) {
- funList.push(iteb)
- })
- }
- })
- })
- }
- //console.log(funList)
- router.beforeEach((to, from, next) => {
- if (to.query.test) {
- if (to.query.test == 'test') {
- let vConsole = new Vconsole()
- }
- }
- if (to.meta != null && to.meta.requireAuth) {
- if (store.state.person_data) {
- if ((to.meta.form != null && to.meta.form) || (to.meta.mode != null && to.meta.mode)) {
- //验证
- if (funList.indexOf(to.name) > -1) {
- next();
- } else {
- //测试环境不验证权限
- if (process.env.VUE_APP_NODE_NAME == 'devlopment') {
- next();
- } else {
- mui.toast('无权访问');
- }
- }
- } else {
- //不验证
- next();
- }
- } else {
- window.location.href = '../home/#/user/login';
- }
- } else {
- next();
- }
- })
- new Vue({
- router,
- store,
- render: h => h(App)
- }).$mount('#app')
|