diff --git a/packages/canvas/DesignCanvas/src/DesignCanvas.vue b/packages/canvas/DesignCanvas/src/DesignCanvas.vue index 0d1a98b373..17182a5039 100644 --- a/packages/canvas/DesignCanvas/src/DesignCanvas.vue +++ b/packages/canvas/DesignCanvas/src/DesignCanvas.vue @@ -273,7 +273,7 @@ export default { getMaterial: useMaterial().getMaterial, addHistory: useHistory().addHistory, request: getMetaApi(META_SERVICE.Http).getHttp(), - getPageById: getMetaApi(META_APP.AppManage).getPageById, + getPageById: getMetaApi(META_APP.AppManage)?.getPageById, getPageAncestors: usePage().getAncestors, getBaseInfo: () => getMetaApi(META_SERVICE.GlobalService).getBaseInfo(), addHistoryDataChangedCallback, diff --git a/packages/canvas/render/src/RenderMain.ts b/packages/canvas/render/src/RenderMain.ts index f7786ae78f..f185c80c4e 100644 --- a/packages/canvas/render/src/RenderMain.ts +++ b/packages/canvas/render/src/RenderMain.ts @@ -63,7 +63,7 @@ const { getDataSourceMap }) const { getRenderer, setRenderer } = useCustomRenderer() -const { setCondition } = activePageContext +const { setCondition, getConditions } = activePageContext const updateCanvas = () => { refreshKey.value++ } @@ -75,6 +75,8 @@ setCurrentApi({ // 设置物料配置 setConfigure, setCondition, + getController, + getConditions, getRenderer, setRenderer, getDesignMode, @@ -91,7 +93,6 @@ const throttleUpdateSchema = useThrottleFn( true ) -const pageRenderer = getRenderer() const { routerViewSetting } = useRouterViewSetting() export default defineComponent({ @@ -275,6 +276,8 @@ export default defineComponent({ ) } + const pageRenderer = getRenderer() + return () => pageAncestors.value === null ? h(CanvasEmpty, { placeholderText: '页面分析加载中' }) diff --git a/packages/canvas/render/src/canvas-function/canvas-api.ts b/packages/canvas/render/src/canvas-function/canvas-api.ts index 867c568ff8..239db1e240 100644 --- a/packages/canvas/render/src/canvas-function/canvas-api.ts +++ b/packages/canvas/render/src/canvas-function/canvas-api.ts @@ -3,16 +3,17 @@ import type { IPageContext } from '../page-block-function' import type { useCustomRenderer } from './custom-renderer' import type { removeBlockCompsCache, setConfigure } from '../material-function' import type { getDesignMode, setDesignMode } from './design-mode' -import type { setController } from './controller' +import type { setController, getController } from './controller' export interface IApplicationFunctionAPI extends Pick, 'getUtils'>, Pick, 'getDataSourceMap'> {} -export type IPageContextAPI = Pick -export interface ICanvasFunctionAPI extends Pick, 'getRenderer' | 'setRenderer'> { +export type IPageContextAPI = Pick +export interface ICanvasFunctionAPI extends ReturnType { getDesignMode: typeof getDesignMode setDesignMode: typeof setDesignMode setController: typeof setController + getController: typeof getController setConfigure: typeof setConfigure updateCanvas: () => void } @@ -31,8 +32,10 @@ export function setCurrentApi(activeApi: IInnerCanvasAPI) { export const api: IInnerCanvasAPI = { getUtils: (...args) => currentApi?.getUtils(...args), setController: (...args) => currentApi?.setController(...args), + getController: (...args) => currentApi?.getController(...args), setConfigure: (...args) => currentApi?.setConfigure(...args), setCondition: (...args) => currentApi?.setCondition(...args), + getConditions: (...args) => currentApi?.getConditions(...args), getDataSourceMap: (...args) => currentApi?.getDataSourceMap(...args), getRenderer: (...args) => currentApi?.getRenderer(...args), setRenderer: (...args) => currentApi?.setRenderer(...args), diff --git a/packages/canvas/render/src/runner.ts b/packages/canvas/render/src/runner.ts index 903c83cd02..0b53ee4270 100644 --- a/packages/canvas/render/src/runner.ts +++ b/packages/canvas/render/src/runner.ts @@ -66,7 +66,7 @@ const create = async (config) => { App = createApp(Main).use(TinyI18nHost).provide(I18nInjectionKey, TinyI18nHost) if (typeof appCreated === 'function') { - await appCreated(App) + await appCreated(App, { api: renderer }) } App.config.globalProperties.lowcodeConfig = window.parent.TinyGlobalConfig diff --git a/packages/vue-generator/src/templates/vue-template/templateFiles/genViteConfig.js b/packages/vue-generator/src/templates/vue-template/templateFiles/genViteConfig.js index da9563182d..99dde75cd1 100644 --- a/packages/vue-generator/src/templates/vue-template/templateFiles/genViteConfig.js +++ b/packages/vue-generator/src/templates/vue-template/templateFiles/genViteConfig.js @@ -24,7 +24,8 @@ export default () => { transformMixedEsModules: true }, cssCodeSplit: false - } + }, + base: './' })` return res