chore: vtj 依赖更新,微应用集成 postmate

This commit is contained in:
wangxuefeng
2025-02-26 17:26:19 +08:00
parent 11018965bd
commit f7468bde86
22 changed files with 1581 additions and 1035 deletions

View File

@@ -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"

View File

@@ -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();

View File

@@ -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();
}

View File

@@ -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;

View File

@@ -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(() => {