feat: 无界渲染适配器
This commit is contained in:
@@ -6,8 +6,15 @@ import { jsonp, request } from '@vtj/utils';
|
||||
import { createProvider } from '@vtj/web';
|
||||
import { ElLoading, ElMessage } from 'element-plus';
|
||||
|
||||
import { getFile } from './io';
|
||||
import { LowCodeService } from './service';
|
||||
|
||||
console.log('window', window);
|
||||
|
||||
const rawWindow = window;
|
||||
|
||||
console.log('window.$wujie', window.$wujie);
|
||||
|
||||
// 定义 wujie props 的类型
|
||||
interface WujieProps {
|
||||
accessToken?: string;
|
||||
@@ -19,15 +26,9 @@ interface WujieProps {
|
||||
}
|
||||
|
||||
// 从 wujie props 获取数据,提供默认值
|
||||
const wujieProps: WujieProps = window.$wujie?.props || {
|
||||
fileId,
|
||||
projectId,
|
||||
};
|
||||
const wujieProps: WujieProps = window.$wujie?.props || {};
|
||||
console.log('wujie props:', wujieProps);
|
||||
|
||||
// 文件加载时,清空一次 sessionStorage
|
||||
sessionStorage.clear();
|
||||
|
||||
// 响应式状态
|
||||
const renderer = ref();
|
||||
const lowCodeService = new LowCodeService();
|
||||
@@ -103,11 +104,15 @@ const getRenderComponent = async () => {
|
||||
const instance = getCurrentInstance();
|
||||
instance?.appContext.app.use(lowCodeProvider);
|
||||
try {
|
||||
const renderComponent = await lowCodeProvider.getRenderComponent(
|
||||
wujieProps.fileId,
|
||||
const file = await getFile(wujieProps.fileId);
|
||||
const { renderer } = await lowCodeProvider.createDslRenderer(
|
||||
file.published_dsl,
|
||||
{
|
||||
// window: rawWindow,
|
||||
},
|
||||
);
|
||||
console.log('渲染组件获取成功');
|
||||
resolve(renderComponent);
|
||||
resolve(renderer);
|
||||
} catch (error) {
|
||||
console.error('获取渲染组件失败:', error);
|
||||
ElMessage.error('获取渲染组件失败');
|
||||
|
||||
Reference in New Issue
Block a user