90 lines
2.6 KiB
TypeScript
90 lines
2.6 KiB
TypeScript
import { createApp } from 'vue';
|
|
// global css
|
|
import 'virtual:uno.css';
|
|
import '@/assets/styles/index.scss';
|
|
import 'element-plus/theme-chalk/dark/css-vars.css';
|
|
|
|
// App、router、store
|
|
import App from './App.vue';
|
|
import store from './store';
|
|
import router from './router';
|
|
import { TUIComponents, TUIChatKit } from './TUIKit';
|
|
import { TUIStore, StoreName, TUITranslateService } from '@tencentcloud/chat-uikit-engine';
|
|
import TUINotification from './TUIKit/components/TUINotification/index';
|
|
// 自定义指令
|
|
import directive from './directive';
|
|
|
|
// 注册插件
|
|
import plugins from './plugins/index'; // plugins
|
|
|
|
// 高亮组件
|
|
// import 'highlight.js/styles/a11y-light.css';
|
|
import 'highlight.js/styles/atom-one-dark.css';
|
|
import 'highlight.js/lib/common';
|
|
import HighLight from '@highlightjs/vue-plugin';
|
|
|
|
// svg图标
|
|
import 'virtual:svg-icons-register';
|
|
import ElementIcons from '@/plugins/svgicon';
|
|
|
|
// permission control
|
|
import './permission';
|
|
|
|
// 国际化
|
|
import i18n from '@/lang/index';
|
|
|
|
// vxeTable
|
|
import VXETable from 'vxe-table';
|
|
import 'vxe-table/lib/style.css';
|
|
VXETable.setConfig({
|
|
zIndex: 999999
|
|
});
|
|
|
|
// 修改 el-dialog 默认点击遮照为不关闭
|
|
import { ElDialog } from 'element-plus';
|
|
ElDialog.props.closeOnClickModal.default = false;
|
|
|
|
const app = createApp(App);
|
|
|
|
/*app.component('MyComponent', MyComponent)*/
|
|
app.use(HighLight);
|
|
app.use(ElementIcons);
|
|
app.use(router);
|
|
app.use(store);
|
|
app.use(i18n);
|
|
app.use(VXETable);
|
|
app.use(plugins);
|
|
// 自定义指令
|
|
directive(app);
|
|
|
|
app.mount('#app');
|
|
|
|
const SDKAppID = 1600089570; // Your SDKAppID
|
|
const secretKey = 'b84abcf1d5c41a702b1c63fe50adaa1bc77cc51233d0073f044e25c6f21fcb58';
|
|
const userSig =
|
|
'eJyrVgrxCdYrSy1SslIy0jNQ0gHzM1NS80oy0zLBwpX5pUCUk5mYl16ckZgPVVKckp1YUJCZomRlaGZgYGBhaWpuAJFJrSjILEoFipuamhoBpSCiJZm5IDFzEwtTSwsTY2OoKZnpQBtcPYq8XMvLkiKjTC1yDPLcM53zI7yS3POLLfyyDSNzK0ucjMOT-Q1Lgn09bZVqAf37Nfg_'; // Your secretKey
|
|
TUIChatKit.components(TUIComponents, app);
|
|
TUIChatKit.init();
|
|
/**
|
|
* Init TUINotification configuration.
|
|
*/
|
|
TUINotification.setNotificationConfiguration({
|
|
showPreviews: true,
|
|
allowNotifications: true,
|
|
notificationTitle: 'Tencent Cloud Chat',
|
|
notificationIcon: 'https://web.sdk.qcloud.com/im/demo/latest/faviconnew.png'
|
|
});
|
|
|
|
/**
|
|
* Listen for new messages and use notification components.
|
|
* This capability is only available in the web environment.
|
|
*/
|
|
TUIStore.watch(StoreName.CHAT, {
|
|
newMessageList: (newMessageList: unknown) => {
|
|
if (Array.isArray(newMessageList)) {
|
|
newMessageList.forEach((message) => TUINotification.notify(message));
|
|
}
|
|
}
|
|
});
|
|
export { SDKAppID, secretKey, userSig };
|