import Vue from 'vue' import App from './App.vue' import VueBus from 'vue-bus'; import '../../utils/global-import'; import 'vue2-toast/lib/toast.css'; import Toast from 'vue2-toast'; import { Modal, Icon } from 'ant-design-vue' import '../../self-font/style.css'; import "../../commonStyle/commonStyle.scss"; import './themeParams.scss'; import vuescroll from "vuescroll";//引入vuescroll import "vuescroll/dist/vuescroll.css";//引入vuescroll样式 import router from '../../router/router'; import axiosConfig from '../../global-llibs/axios-config'; import BaseConfig from '../../global-llibs/base-config'; import InterfaceConfig from '../../commonInterface/interfaceConfig'; import Cookie from '../../global-llibs/cookie'; import iconFont from './font/iconfont'; import axios from "axios"; const MyIcon = Icon.createFromIconfontCN({ scriptUrl: iconFont, // 在 iconfont.cn 上生成 }); var RongIMClient; function mineReadfile() { return new Promise((resolve, reject) => { axios.all([axios.get("/rongcloud/getRongYunInfo"), axios.get("/rongcloud/getOnlyTokenRongCloud")]).then( axios.spread(function (acct, perms) { // 两个请求现在都执行完成 // console.log(acct, perms, "rongyun"); const data = {} data.key = acct.data.rong_key data.token = perms.data.token resolve(data) // console.log(data) }) // ) ).catch((error) => { reject(error) }); }) } // 获取未读总数数量 function getTotalUnreadCount() { RongIMClient.Conversation.getTotalUnreadCount(false, [ RongIMLib.CONVERSATION_TYPE.PRIVATE, RongIMLib.CONVERSATION_TYPE.GROUP, RongIMLib.ConversationType.SYSTEM, ]).then(function (totalUnreadCount) { // Vue.prototype.RongIMClientNum = totalUnreadCount vueCom.$bus.emit('totalNoticeChange', totalUnreadCount); console.log("获取未读总数成功", totalUnreadCount); // this.notice_count = total_notice(totalUnreadCount); }); } mineReadfile().then(value => { RongIMClient = RongIMLib.init({ appkey: value.key, }); RongIMClient.connect({ token: value.token }) .then((user) => { console.log("连接成功, 用户 id 为:", user.id); localStorage.setItem("user_info", JSON.stringify({ id: user.id })); // 获取消息数量 getTotalUnreadCount() // 添加事件监听 RongIMClient.watch({ // 监听消息通知 message(event) { // 新接收到的消息内容 const message = event.message; console.log("event", event); getTotalUnreadCount() if (event.message.type === 1) { vueCom.$bus.emit("handelSendMessage", 1, event.message); } }, // 监听 IM 连接状态变化 status(event) { // 链接监听失败回调 console.log('connection status:', event.status); } }); // 发送全局融云以便其他地方调取融云方法 Vue.prototype.RongIMClient = RongIMClient }) .catch((error) => { console.log("连接失败: ", error.code, error.msg); }); }, reason => { console.log(reason, 222) }) Vue.use(Toast); Vue.use(VueBus); Vue.use(Modal); Vue.use(MyIcon) Vue.component('my-icon', MyIcon) Vue.component('vueScroll', vuescroll) Vue.config.productionTip = false Vue.prototype.RSALogin = false; Vue.prototype.isTestLogin = false; Vue.prototype.PUBLIC_KEY = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCi0thPP5lZbBp1zWGhHLnEkAcXeBVkz4SW/7grZWdsCa4QVjT/YzbLE8Lj8v2XbrOIcrkCz4AZPrM9n9Vt7nizwTULVypBkhL4cOHbAWahtbEkgVGLkb3Jk/pvO+R24pllfkOeteo82FnR1fCrx+/+Va6il/0VggzhpDKEcBbmawIDAQAB' import { loadMineMapJs } from './loadResources'; let loadedMineMapJs = false;//是否加载完js let sso = ""; function testSSO(to, from, next) { if (sso === "2") {//接入统一认证 if (!loadedMineMapJs) {//未加载js loadMineMapJs().then(() => { loadedMineMapJs = true; }); let interval = setInterval(() => { if (loadedMineMapJs) { clearInterval(interval); testLogin(to, from, next) } }, 100); } else { if (Vue.prototype.isTestLogin === false) { testLogin(to, from, next) } else { testPersonInfo(to, from, next) } } } else {//未接入统一认证 testPersonInfo(to, from, next) } } function testPersonInfo(to, from, next) { let person_id = Cookie.get('person_id'); if (!person_id || person_id === '') {//没有用户信息 进入登录 if (to.name === 'login') { next(); } else { next({ replace: true, name: 'login' }); } } else { gotoPage(to, from, next); } } function testLogin(to, from, next) { let s = new SSO(); s.exeFun(function (data) { Vue.prototype.isTestLogin = true; if (data.success === true) {//已登录过 console.log("登录过") gotoPage(to, from, next); } else {//未登录过 进入登录页面 console.log("未登录过") if (to.name === 'login') { next(); } else { next({ replace: true, name: 'login' }); } } }) } function gotoPage(to, from, next) { if (!window.person_info_my) {//没有人员具体信息 BaseConfig.userInfo.identity_id_cookie = Cookie.get('identity_id'); BaseConfig.userInfo.person_id_cookie = Cookie.get('person_id'); BaseConfig.userInfo.identity_id = Cookie.get('identity_id'); BaseConfig.userInfo.person_id = Cookie.get('person_id'); axiosConfig.callInterface([{ url: InterfaceConfig.getValueByKey.url, params: { key: 'common.server.location' }, method: InterfaceConfig.getValueByKey.method, isTestLogin: InterfaceConfig.getValueByKey.isTestLogin }], (res) => { if (res[0].status === 200) { let env = res[0].data; BaseConfig.pt_type = env["common.server.location"]; window.pt_type = env["common.server.location"]; BaseConfig.ConfigFn.setParamsValue(); // BaseConfig.ConfigFn.getPersonInfo_I(); let interval = setInterval(() => { if (window.person_info_my) { clearInterval(interval); if (to.name === 'login') { next({ replace: true, name: 'mainPlatform' }) } else { next() } } }, 500) } }) } else { if (to.name === 'login') { next({ replace: true, name: 'mainPlatform' }); } else { next(); } } } router.beforeEach((to, from, next) => { if (sso === "") { axiosConfig.callInterface([{ url: InterfaceConfig.getValueByKey.url, params: { key: 'common.sso' }, method: InterfaceConfig.getValueByKey.method, isTestLogin: InterfaceConfig.getValueByKey.isTestLogin }], (res) => { if (res[0].status === 200) { let env = res[0].data; sso = env["common.sso"];//0 未接入统一认证 Vue.prototype.sso_flag = sso; testSSO(to, from, next); } }) } else { testSSO(to, from, next) } }); let vueCom = new Vue({ router, render: h => h(App), // beforeMount(){ // let sn = document.getElementsByTagName('head')[0] // let jsAry = ["jquery.js","jsencrypt.min.js","jquery.cookie.js","base-config.js","sso.js"]; // jsAry.forEach((item)=>{ // let s = document.createElement('script'); // s.src = 'http://10.10.14.199/dsideal_yy/js/' + item; // sn.appendChild(s); // }) // } }).$mount('#app')