From a38fa4625fa0131a3c44f87d33e4d5125131ae27 Mon Sep 17 00:00:00 2001 From: weifashi <605403358@qq.com> Date: Mon, 4 Sep 2023 18:37:14 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E4=BF=AE=E5=A4=8Dokr=E8=B7=AF?= =?UTF-8?q?=E7=94=B1=E8=A7=A3=E6=9E=90=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.yml | 2 +- resources/assets/js/app.js | 5 +++-- resources/assets/js/components/MicroApps.vue | 3 ++- resources/assets/js/microapp.js | 12 ++++-------- resources/assets/js/pages/manage.vue | 6 +----- resources/assets/js/pages/manage/application.vue | 2 +- resources/assets/js/pages/manage/apps.vue | 6 +----- resources/assets/js/store/actions.js | 2 +- vite.config.js | 8 +++++++- 9 files changed, 21 insertions(+), 25 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 4e2c03738..ae8a05a9b 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -176,7 +176,7 @@ services: okr: container_name: "dootask-okr-${APP_ID}" - image: "kuaifan/doookr:0.0.6" + image: "kuaifan/doookr:0.0.7" environment: TZ: "${TIMEZONE:-PRC}" DOO_TASK_URL: "http://${APP_IPPR}.3" diff --git a/resources/assets/js/app.js b/resources/assets/js/app.js index 6ac06f3f5..958a25038 100644 --- a/resources/assets/js/app.js +++ b/resources/assets/js/app.js @@ -2,8 +2,6 @@ const isElectron = !!(window && window.process && window.process.type); const isEEUiApp = window && window.navigator && /eeui/i.test(window.navigator.userAgent); import microappInit from "./microapp" -microappInit() - import {switchLanguage as $L} from "./language"; import './functions/common' @@ -210,6 +208,9 @@ Vue.mixin(mixin) let app; store.dispatch("init").then(action => { + + microappInit(); + app = new Vue({ router, store, diff --git a/resources/assets/js/components/MicroApps.vue b/resources/assets/js/components/MicroApps.vue index d4bbfe096..77eabf74c 100644 --- a/resources/assets/js/components/MicroApps.vue +++ b/resources/assets/js/components/MicroApps.vue @@ -96,7 +96,7 @@ export default { handler(to) { if(to.name == 'manage-apps'){ this.appData = { - path: to.hash + path: to.hash || to.fullPath } } }, @@ -120,6 +120,7 @@ export default { getAppData(){ return { type: 'init', + url: this.url, vues: { Vue, store, diff --git a/resources/assets/js/microapp.js b/resources/assets/js/microapp.js index 0dab8e7a9..7995b45b7 100644 --- a/resources/assets/js/microapp.js +++ b/resources/assets/js/microapp.js @@ -1,11 +1,7 @@ import microApp from '@micro-zoe/micro-app' -const getUrl = (s) => { - let url = $A.apiUrl('../' + s) - if (url.indexOf('http') == -1) { - url = window.location.origin + url - } - return import.meta.env.VITE_OKR_WEB_URL || url; +const getUrl = (url) => { + return import.meta.env.VITE_OKR_WEB_URL || $A.apiUrl(url); } export default function() { @@ -21,7 +17,7 @@ export default function() { route = urls.replace(match[0].replace("@vite/client",""),""); } // 这里 /basename/ 需要和子应用vite.config.js中base的配置保持一致 - code = code.replace( eval(`/(from|import)(\\s*['"])(${route.replace(/\//g,"\\/")})/g`) , all => { + code = code.replace(new RegExp(`(from|import)(\\s*['"])(${route.replace(/\//g,"\\/")})`,'g') , all => { return all.replace(route, urls) }) } @@ -44,7 +40,7 @@ export default function() { microApp.preFetch([ { name: 'micro-app', - url: getUrl("/apps/okr"), + url: getUrl("../apps/okr"), disableSandbox: true } ]) diff --git a/resources/assets/js/pages/manage.vue b/resources/assets/js/pages/manage.vue index e744daedc..70d5ad12c 100644 --- a/resources/assets/js/pages/manage.vue +++ b/resources/assets/js/pages/manage.vue @@ -474,11 +474,7 @@ export default { // okr路由 okrUrl() { - let url = $A.apiUrl("../apps/okr") - if (url.indexOf('http') == -1) { - url = window.location.origin + url - } - return import.meta.env.VITE_OKR_WEB_URL || url + return import.meta.env.VITE_OKR_WEB_URL || $A.apiUrl("../apps/okr") }, /** diff --git a/resources/assets/js/pages/manage/application.vue b/resources/assets/js/pages/manage/application.vue index de1ffdfc5..2c98205b9 100644 --- a/resources/assets/js/pages/manage/application.vue +++ b/resources/assets/js/pages/manage/application.vue @@ -356,7 +356,7 @@ export default { case 'okr': case 'okrAnalyze': this.goForward({ - path: '/manage/apps/' + (item.value == 'okr' ? '/#/list' : '/#/analysis'), + path: '/manage/apps/okr/' + (item.value == 'okr' ? 'list' : 'analysis'), }); break; case 'report': diff --git a/resources/assets/js/pages/manage/apps.vue b/resources/assets/js/pages/manage/apps.vue index ca9924980..850f975fe 100644 --- a/resources/assets/js/pages/manage/apps.vue +++ b/resources/assets/js/pages/manage/apps.vue @@ -26,11 +26,7 @@ export default { if (to.name == 'manage-apps') { this.$nextTick(() => { this.loading = false; - let url = $A.apiUrl("../apps/okr") - if (url.indexOf('http') == -1) { - url = window.location.origin + url - } - this.appUrl = import.meta.env.VITE_OKR_WEB_URL || url + this.appUrl = import.meta.env.VITE_OKR_WEB_URL || $A.apiUrl("../apps/okr") this.path = this.$route.query.path || ''; }) } diff --git a/resources/assets/js/store/actions.js b/resources/assets/js/store/actions.js index a0e26349b..84ea29434 100644 --- a/resources/assets/js/store/actions.js +++ b/resources/assets/js/store/actions.js @@ -3639,7 +3639,7 @@ export default { if (link_id > 0) { if (window.innerWidth < 910) { $A.goForward({ - path:'/manage/apps/#/okrDetails?data='+link_id, + path:'/manage/apps/okr/okrDetails?data=' + link_id, }); }else{ state.okrWindow = { diff --git a/vite.config.js b/vite.config.js index 1fa22d2de..48dc02847 100644 --- a/vite.config.js +++ b/vite.config.js @@ -68,7 +68,13 @@ export default defineConfig(({command, mode}) => { chunkSizeWarningLimit: 3000, }, plugins: [ - createVuePlugin(), + createVuePlugin({ + template: { + compilerOptions: { + isCustomElement: (tag) => tag.includes('micro-app') , + } + } + }), vitePluginRequire(), vitePluginFileCopy([{ src: resolve(__dirname, 'resources/assets/statics/public'),