feat: 各应用的设计器隔离

This commit is contained in:
wangxuefeng
2025-03-19 16:11:29 +08:00
parent a4c5f633cf
commit 9a2f29e3e4
11 changed files with 82 additions and 53 deletions

View File

@@ -10,6 +10,11 @@ import { LowCodeService } from './service';
// 定义 wujie props 的类型
interface WujieProps {
// 增加一个 axios 请求拦截器
interceptors?: {
request?: (config: any) => any;
response?: (response: any) => any;
};
accessToken?: string;
applicationId?: number | string;
fileId?: string;
@@ -33,6 +38,14 @@ const loadingInstance = ref(null);
const initRequestConfig = (token: string) => {
if (!token) return;
if (wujieProps.interceptors?.request) {
request.useRequest(wujieProps.interceptors.request);
}
if (wujieProps.interceptors?.response) {
request.useResponse(wujieProps.interceptors.response);
}
request.useRequest((req) => {
req.headers.set('Authorization', `Bearer ${token}`);
return req;
@@ -166,7 +179,12 @@ onMounted(async () => {
<template>
<div class="renderer-container">
<component :is="renderer" v-if="renderer" v-bind="wujieProps" />
<component
:is="renderer"
v-if="renderer"
:ctx-props="wujieProps"
v-bind="wujieProps"
/>
<div v-else-if="!isLoading && isError" class="error-message">
组件加载失败请检查参数和网络连接