import { createApp, watchEffect } from 'vue' import './style.scss' import App from './app.vue' import Components from 'bill/index' import router from './router' import { appStyleImport, appType, params } from '@/env' import { addHook, addUnsetTokenURLS, delHook, delUnsetTokenURLS } from '@/api' import { currentLayout, RoutesName } from './router'; import * as URL from '@/api/constant' const app = createApp(App) app.use(Components) app.use(router) app.mount('#app') if (import.meta.env.DEV) { import('@/hook/notice') } appStyleImport[params.app]() watchEffect((onCleanup) => { if ([RoutesName.show, RoutesName.signModel].includes(currentLayout.value!)) { const untokenURLS = params.share ? [ URL.FUSE_MODEL_LIST, URL.MODEL_LIST, URL.GET_SETTING, URL.TAGGING_LIST, URL.TAGGING_POINT_LIST, URL.TAGGING_STYLE_LIST, URL.MESASURE_LIST, URL.GUIDE_LIST, URL.GUIDE_PATH_LIST, URL.RECORD_LIST, URL.RECORD_FRAGMENT_LIST, URL.VIEW_LIST, URL.FOLDER_TYPE_LIST, URL.FLODER_LIST, URL.MODEL_SIGN, URL.CASE_INFO, URL.AUTH_PWD ] : [URL.AUTH_PWD] const apiHook = { before(config: any) { if (config.headers) { config.headers.share = '1' } else { config.headers = { share: '1' } } } } addHook(apiHook) addUnsetTokenURLS(...untokenURLS) onCleanup(() => { delHook(apiHook) delUnsetTokenURLS(...untokenURLS) }) } }, { flush: 'sync' }) export default app