import Vue from 'vue' import App from './index.vue' import router from '@/router/index' import VueMatomo from 'vue-matomo' import store from '@/store' import '@/plugins/element.js' import vuescroll from 'vuescroll' import uploader from 'vue-simple-uploader' import i18n from '@/assets/i18n/i18n' import preview from 'vue-photo-preview' import 'vue-photo-preview/dist/skin.css' import * as filters from '@/filters/index.js' import '@/assets/iconfont/iconfont.css' import '@/assets/style/layout.less' import '@/assets/style/button.less' import '@/assets/style/table.less' import '@/assets/style/dialog.less' import '@/assets/style/pagination.less' import axios from 'axios' import { Message } from 'element-ui' import Pagination from '@/components/Pagination' import { resetForm } from '@/util' // 全局组件挂载 Vue.component('Pagination', Pagination) // 全局方法挂载 Vue.prototype.resetForm = resetForm if (COMPANY == 'xingxuan') { // tag: 测试功能 if(window.location.href.indexOf('?project_id=') != -1) { const projectId = window.location.href.split('?project_id=')[1].split('&')[0]; console.log('projectId: ', projectId); // login() } function login() { // TODO: 对接登录接口 parseLoginData(res.result); } function parseLoginData(data) { window._paq.push(['trackEvent', '点击', '登录','登录账号']) axios.defaults.headers.common["Authorization"] = "Bearer" + " " + data.token; axios.defaults.headers.common["operateId"] = data.userId; store.commit("setUserInfo", data); var moduleList = data.menuAuthority.moduleList ? data.menuAuthority.moduleList : []; var companyModule = []; if (moduleList.length == 0 && data.accountType != 1) { Message.warning("当前账号还没分配权限"); return false; } moduleList.forEach((element) => { if (element.moduleType == 1) { companyModule.push(element); } }); var menu2 = [ { menuName: "企业管理", id: 9199, path: "/registerAudit", }, { menuName: "模块菜单管理", id: 9299, path: "/moduleMenuManage", }, { menuName: "app版本管理", id: 9297, path: "/operateManage", }, { menuName: "塔吊模型管理", id: 9298, path: "/brand", }, ]; switch (data.accountType) { case 1: store.commit("setMenuList", menu2); store.commit("setProjectManageMenuList",menu2) store.commit("setIsShowBackIndex", false); router.push("/registerAudit"); break; case 2: store.commit("setMenuList", companyModule); store.commit("setProjectManageMenuList",companyModule) store.commit("setIsShowBackIndex", false); router.push(companyModule[0].modulePath); break; case 3: store.commit("setMenuList", companyModule); store.commit("setProjectManageMenuList",companyModule) store.commit("setIsShowBackIndex", false); router.push(companyModule[0].modulePath); break; case 4: store.commit("setMenuList", companyModule); store.commit("setProjectManageMenuList",companyModule) store.commit("setIsShowBackIndex", false); router.push(companyModule[0].modulePath); break; case 7: store.commit("setMenuList", companyModule); store.commit("setProjectManageMenuList",companyModule) store.commit("setIsShowBackIndex", false); router.push(companyModule[0].modulePath); break; case 5: if (data.styleType == 1 || !data.styleType) { router.push("/projectIndex"); } else { router.push("/projectV2/taskList"); } store.commit("setProjectSn", data.sn); break; case 6: if (data.styleType == 1 || !data.styleType) { router.push("/projectIndex"); } else { router.push("/projectV2/taskList"); } store.commit("setProjectSn", data.sn); break; } } } let url = '' console.log(COMPANY) if(COMPANY == 'longguang'){ url = 'http://matomo.logan.com.cn'; } Vue.use(VueMatomo,{ // url http://matomo-sit.logan.com.cn/index.php测试地址 host: 'http://matomo.logan.com.cn', //生产 // host:'http://matomo-sit.logan.com.cn', //测试 // host:url, siteId:47, router:router, requireConsent:false, enbleLinkTracking:true, trackInitialView:true, disableCookies:false, requireCookieConsent: false, enableHeartBeatTimer: true, heartBeatTimerInterval: 15, // trackerFileName: 'piwik', userId : '' , trackerFileName: 'matomo', trackerUrl: undefined, trackerScriptUrl: undefined, debug: true, }) Vue.use(preview) Vue.use(uploader); Vue.prototype.$EventBus = new Vue() Object.keys(filters).forEach(key => { Vue.filter(key, filters[key]) }) Vue.config.productionTip = false Vue.use(vuescroll, { ops: { bar: { // background: "rgba(54, 51, 106, 0.6)", background: "rgba(166, 166, 167, 0.6)", // keepShow: false, onlyShowBarOnScroll: false, size: "5px", minSize: 0.2 } } }); // 加载缩略图 Vue.prototype.downloadImgMin = function (row) { let fileUrl = store.state.FILEURL+row.fileUrl // let isOSS = row.isOSS // if (isOSS == 1) { //阿里云OSS对象存储 // fileUrl = "https://" + sessionStorage.getItem("viewDomain") + fileUrl + "?x-oss-process=image/resize,m_fill,h_150,w_150/rotate,0"; // } else { //本地磁盘存储 // let index = fileUrl.lastIndexOf("."); // fileUrl = "api" + fileUrl.substr(0, index) + "_min" + fileUrl.substr(index); // } return fileUrl }; /** * 当然,你还可以在这里封装并挂载更多的全局函数在这里,示例同上 */ //获取文件下载路径 Vue.prototype.getDownloadFilePath = function (row) { let fileUrl = store.state.FILEURL+row.fileUrl // let isOSS = row.isOSS // if (isOSS == 1) { //阿里云OSS对象存储 // fileUrl = "https://" + sessionStorage.getItem("downloadDomain") + fileUrl; // } else { //本地磁盘存储 // fileUrl = "api" + fileUrl; // } return fileUrl }; //文件查看大图 Vue.prototype.getViewFilePath = function (row) { let fileUrl = store.state.FILEURL+row.fileUrl // let isOSS = row.isOSS // if (isOSS == 1) { //阿里云OSS对象存储 // fileUrl = "https://" + sessionStorage.getItem("viewDomain") + fileUrl; // } else { //本地磁盘存储 // fileUrl = "api" + fileUrl; // } return fileUrl }; //监听 路由 router.beforeEach((to,form,next)=>{ if (COMPANY == 'xingxuan') return next() if(store.state.userInfo){ next(); }else if(!store.state.userInfo && to.path!='/login'&& to.path!='/'&& to.path!='/sign'&&!isDockingToWoer&& to.path!='/authorization'){ // next({path:'login'}); next({path:'/'}); }else{ next(); } }) // Vue.prototype.$EventBus = new Vue() new Vue({ router, store, i18n, render: h => h(App) }).$mount('#app')