/* * @Author: ch * @Date: 2021-07-26 23:22:16 * @LastEditors: ch * @LastEditTime: 2022-06-20 17:38:48 * @Description: file content */ import Vue from 'vue'; import App from './App'; import {router,RouterMount} from '@/common/router/index.js'; import uView from 'uview-ui'; import store from '@/common/store'; import {FormatSearchJson} from '@/common/utils'; import {ApiGetOpenId, ApiGetAuthUrl} from '@/common/api/wx'; import {ApiGetCurrentUser} from '@/common/api/account'; import {Im, ImInit} from '@/common/utils'; import { ApiSktSysGetSession, ApiSktSysHeart } from './common/api/im'; const socketInit = () => { if (!store.state.userInfo.id) { setTimeout(() => { socketInit(); },10000) return false; } // 初始化IM ImInit().then(() => { // 获取到会话列表 Im.getSessionList(); }); } const getUserInfo = async () => { const { error, result } = await ApiGetCurrentUser(); if (error) { uni.$u.toast(error.message); return false; } store.commit('SET_USER_INFO', result); }; if (store.state.token) { socketInit(); getUserInfo(); } // 微信打开需要授权 const ua = navigator ? navigator.userAgent.toLowerCase() : ''; if(ua.includes('micromessenger')) { if(!store.state.openId){ let query = FormatSearchJson(window.location.search) if(query.code){ ApiGetOpenId({ code : query.code }).then(({error, result}) => { if(error){ uni.$u.toast(error.message); return false; } store.commit('SET_OPEN_ID', result.openId); }) }else{ ApiGetAuthUrl({ redirectUrl : window.location.href, scope : 'snsapi_base' }).then(({result, error}) => { if(error){ uni.$u.toast(error.message); return false; } window.location.href = result; }) } } } Vue.use(router); Vue.use(uView); Vue.prototype.$store = store; Vue.config.productionTip = false; App.mpType = 'app' const app = new Vue({ ...App }) // #ifdef H5 RouterMount(app,router,'#app') // #endif // #ifndef H5 app.$mount(); //为了兼容小程序及app端必须这样写才有效果 // #endif