chore: vtj 依赖更新,微应用集成 postmate
This commit is contained in:
@@ -52,7 +52,7 @@
|
||||
"semantic-release": "^24.2.2",
|
||||
"typescript": "~5.3.3",
|
||||
"unplugin-vue-components": "^0.26.0",
|
||||
"vite": "^6.1.1",
|
||||
"vite": "^6.2.0",
|
||||
"vite-plugin-qiankun": "^1.0.15",
|
||||
"vue-tsc": "^2.2.0",
|
||||
"yargs-parser": "^21.1.1"
|
||||
|
||||
@@ -11,7 +11,7 @@ import { useEventListener } from "@vueuse/core";
|
||||
import { qiankunWindow } from 'vite-plugin-qiankun/dist/helper'
|
||||
|
||||
const __POWERED_BY_QIANKUN__ = computed(() => {
|
||||
return qiankunWindow.__POWERED_BY_QIANKUN__ || window.proxy?.__POWERED_BY_QIANKUN__
|
||||
return qiankunWindow.__POWERED_BY_QIANKUN__ || window?.proxy?.__POWERED_BY_QIANKUN__
|
||||
})
|
||||
|
||||
// const userInfoStore = useUserInfoStore();
|
||||
|
||||
@@ -1,59 +1,63 @@
|
||||
import { createApp } from "vue";
|
||||
import { createPinia } from "pinia";
|
||||
import App from "./App.vue";
|
||||
import { createProjectRouter } from './router'
|
||||
import { createProjectRouter } from "./router";
|
||||
import "./global.less";
|
||||
import VueGridLayout from "vue-grid-layout"; // 引入layout
|
||||
import { renderWithQiankun, qiankunWindow } from 'vite-plugin-qiankun/dist/helper'
|
||||
import {
|
||||
renderWithQiankun,
|
||||
qiankunWindow,
|
||||
} from "vite-plugin-qiankun/dist/helper";
|
||||
|
||||
let app
|
||||
let app;
|
||||
function render(props: Object = {}) {
|
||||
app = createApp(App);
|
||||
setStyleSheet(props.styles)
|
||||
const router = createProjectRouter(props.base)
|
||||
app.use(router)
|
||||
setStyleSheet(props.styles);
|
||||
const router = createProjectRouter(props.base);
|
||||
app.use(router);
|
||||
app.use(VueGridLayout);
|
||||
app.use(createPinia())
|
||||
app.mount("#y-code-app")
|
||||
app.use(createPinia());
|
||||
app.mount("#y-code-app");
|
||||
}
|
||||
|
||||
function setStyleSheet(styles: Object = {}) {
|
||||
const styleEle = document.createElement('style')
|
||||
styleEle.type = 'text/css'
|
||||
const styleEle = document.createElement("style");
|
||||
styleEle.type = "text/css";
|
||||
styleEle.innerHTML = `
|
||||
:root {
|
||||
--primary-color: ${styles.primaryColor || '#1677ff'};
|
||||
--primary-light-color: ${styles.primaryLightColor || '#4096ff'};
|
||||
--table-head-bg-color: ${styles.tableHeadBgColor || '#fafafa'};
|
||||
--table-head-font-color: ${styles.tableHeadFontColor || '#191919'};
|
||||
--primary-color: ${styles.primaryColor || "#1677ff"};
|
||||
--primary-light-color: ${styles.primaryLightColor || "#4096ff"};
|
||||
--table-head-bg-color: ${styles.tableHeadBgColor || "#fafafa"};
|
||||
--table-head-font-color: ${styles.tableHeadFontColor || "#191919"};
|
||||
}
|
||||
`
|
||||
document.head.appendChild(styleEle)
|
||||
`;
|
||||
document.head.appendChild(styleEle);
|
||||
}
|
||||
|
||||
const __POWERED_BY_QIANKUN__ = qiankunWindow.__POWERED_BY_QIANKUN__ || window.proxy?.__POWERED_BY_QIANKUN__
|
||||
const __POWERED_BY_QIANKUN__ =
|
||||
qiankunWindow?.__POWERED_BY_QIANKUN__ ||
|
||||
window?.proxy?.__POWERED_BY_QIANKUN__;
|
||||
|
||||
if (__POWERED_BY_QIANKUN__) {
|
||||
renderWithQiankun({
|
||||
bootstrap() {
|
||||
console.log('bootstrap')
|
||||
return Promise.resolve()
|
||||
console.log("bootstrap");
|
||||
return Promise.resolve();
|
||||
},
|
||||
mount(props) {
|
||||
console.log('mount')
|
||||
render(props)
|
||||
return Promise.resolve()
|
||||
console.log("mount");
|
||||
render(props);
|
||||
return Promise.resolve();
|
||||
},
|
||||
unmount() {
|
||||
console.log('unmount')
|
||||
console.log("unmount");
|
||||
if (app) {
|
||||
app.unmount()
|
||||
app.unmount();
|
||||
}
|
||||
return Promise.resolve()
|
||||
return Promise.resolve();
|
||||
},
|
||||
update() {},
|
||||
})
|
||||
});
|
||||
} else {
|
||||
render()
|
||||
render();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,19 +1,23 @@
|
||||
import { createRouter, createWebHistory, type Router } from 'vue-router';
|
||||
import { titleGuard } from './guards';
|
||||
import routeList from './routes';
|
||||
import { qiankunWindow } from 'vite-plugin-qiankun/dist/helper'
|
||||
import { createRouter, createWebHistory, type Router } from "vue-router";
|
||||
import { titleGuard } from "./guards";
|
||||
import routeList from "./routes";
|
||||
import { qiankunWindow } from "vite-plugin-qiankun/dist/helper";
|
||||
|
||||
let router: Router | null = null
|
||||
export const createProjectRouter = (base = '') => {
|
||||
const __POWERED_BY_QIANKUN__ = qiankunWindow.__POWERED_BY_QIANKUN__ || window.proxy?.__POWERED_BY_QIANKUN__
|
||||
let router: Router | null = null;
|
||||
export const createProjectRouter = (base = "") => {
|
||||
const __POWERED_BY_QIANKUN__ =
|
||||
qiankunWindow?.__POWERED_BY_QIANKUN__ ||
|
||||
window.proxy?.__POWERED_BY_QIANKUN__;
|
||||
router = createRouter({
|
||||
history: createWebHistory(base || (__POWERED_BY_QIANKUN__ ? '/y-code-app/' : '')),
|
||||
history: createWebHistory(
|
||||
base || (__POWERED_BY_QIANKUN__ ? "/y-code-app/" : "")
|
||||
),
|
||||
routes: routeList,
|
||||
})
|
||||
});
|
||||
|
||||
// 全局前置守卫
|
||||
router.beforeEach(titleGuard)
|
||||
return router
|
||||
}
|
||||
router.beforeEach(titleGuard);
|
||||
return router;
|
||||
};
|
||||
|
||||
export default router;
|
||||
|
||||
@@ -162,7 +162,7 @@ const projectOptions = shallowRef<Option[]>();
|
||||
const isDraggable = false;
|
||||
|
||||
const isInQiankun = computed(() => {
|
||||
return qiankunWindow.__POWERED_BY_QIANKUN__ || window.proxy?.__POWERED_BY_QIANKUN__
|
||||
return qiankunWindow?.__POWERED_BY_QIANKUN__ || window?.proxy?.__POWERED_BY_QIANKUN__
|
||||
})
|
||||
|
||||
const layoutList = computed(() => {
|
||||
|
||||
Reference in New Issue
Block a user