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' import { autoLogin } from '@/assets/js/api/autoLogin-xingXuan' import { decode, encode } from 'js-base64' import { loginApi, companyLoginApi, projectLoginApi } from '@/assets/js/api/loginSign' // 全局组件挂载 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]; login(projectId) } function login(projectNumber) { // TODO: 对接登录接口 autoLogin({ projectNumber }).then(res => { if (res.code != 200) return 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) { // debugger // router.push("/projectIndex"); // } else { // router.push("/projectV2/taskList"); // } store.commit("setProjectSn", data.sn); break; case 6: // if (data.styleType == 1 || !data.styleType) { // debugger // router.push("/projectIndex"); // } else { // router.push("/projectV2/taskList"); // } store.commit("setProjectSn", data.sn); break; } } } function parseLoginData(data) { console.log(data, 'dllmhjc'); window._paq.push(['trackEvent', '点击', '登录', '登录账号']) axios.defaults.headers.common['Authorization'] = 'Bearer' + ' ' + data.token axios.defaults.headers.common['operateId'] = data.userId store.commit('setUserInfo', data) const sn = data.sn const xxx = JSON.parse(sessionStorage.getItem('vuex')) xxx.projectSn = sn console.log(data, 'sssssssssssssssssssssssssssss', xxx); var moduleList = data.menuAuthority.moduleList ? data.menuAuthority.moduleList : [] var companyModule = [] if (moduleList.length == 0 && data.accountType != 1) { 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) console.log('-----------', 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: // styleType == 3 衢州版 if (data.styleType == 1 || !data.styleType) { router.push('/projectIndex') } else if (data.styleType == 2) { router.push('/projectV2/taskList') } else { router.push('/projectV3/taskList') } store.commit('setProjectSn', data.sn) break case 6: if (data.styleType == 1 || !data.styleType) { router.push('/projectIndex') } else if (data.styleType == 2) { router.push('/projectV2/taskList') } else { router.push('/projectV3/taskList') } store.commit('setProjectSn', data.sn) break } // this.selectMp3FileList() } 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) => { const direction = to.query.direction if (direction) { const info = JSON.parse(decode(direction)) console.log(to, encode('{"account":"17512009894","password":"123456789"}')); if (LOGINTYPE == 1) { loginApi(info).then(res => { parseLoginData(res.result) return next({ path: to.path }) }) } else if (LOGINTYPE == 2) { companyLoginApi(info).then(res => { parseLoginData(res.result) return next({ path: to.path }) }) } else if (LOGINTYPE == 3) { projectLoginApi(info).then(res => { parseLoginData(res.result) return next({ path: to.path }) }) } } else { 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')