refactor: 移动 iframe 到 @vben/common-ui

pull/211/head
xingyu4j 2025-09-10 11:55:09 +08:00
parent b3a4a91a25
commit 4cb1ecfb1c
17 changed files with 13 additions and 64 deletions

View File

@ -1,10 +1,9 @@
<script lang="ts" setup>
import { onMounted, ref } from 'vue';
import { DocAlert, Page } from '@vben/common-ui';
import { DocAlert, IFrame, Page } from '@vben/common-ui';
import { getConfigKey } from '#/api/infra/config';
import { IFrame } from '#/components/iframe';
const loading = ref(true); //
const src = ref(`${import.meta.env.VITE_BASE_URL}/druid/index.html`);

View File

@ -1,10 +1,9 @@
<script setup lang="ts">
import { onMounted, ref } from 'vue';
import { DocAlert, Page } from '@vben/common-ui';
import { DocAlert, IFrame, Page } from '@vben/common-ui';
import { getConfigKey } from '#/api/infra/config';
import { IFrame } from '#/components/iframe';
const loading = ref(true); //
const src = ref(`${import.meta.env.VITE_BASE_URL}/admin/applications`);

View File

@ -1,10 +1,9 @@
<script setup lang="ts">
import { onMounted, ref } from 'vue';
import { DocAlert, Page } from '@vben/common-ui';
import { DocAlert, IFrame, Page } from '@vben/common-ui';
import { getConfigKey } from '#/api/infra/config';
import { IFrame } from '#/components/iframe';
const loading = ref(true); //
const src = ref('http://skywalking.shop.iocoder.cn');

View File

@ -1,10 +1,9 @@
<script lang="ts" setup>
import { onMounted, ref } from 'vue';
import { DocAlert, Page } from '@vben/common-ui';
import { DocAlert, IFrame, Page } from '@vben/common-ui';
import { getConfigKey } from '#/api/infra/config';
import { IFrame } from '#/components/iframe';
const loading = ref(true); //
const src = ref(`${import.meta.env.VITE_BASE_URL}/doc.html`); // Knife4j UI

View File

@ -1,11 +1,9 @@
<script lang="ts" setup>
import { ref } from 'vue';
import { DocAlert, Page } from '@vben/common-ui';
import { DocAlert, IFrame, Page } from '@vben/common-ui';
import { useAccessStore } from '@vben/stores';
import { IFrame } from '#/components/iframe';
defineOptions({ name: 'GoView' });
const accessStore = useAccessStore();

View File

@ -1,11 +1,9 @@
<script lang="ts" setup>
import { ref } from 'vue';
import { DocAlert, Page } from '@vben/common-ui';
import { DocAlert, IFrame, Page } from '@vben/common-ui';
import { useAccessStore } from '@vben/stores';
import { IFrame } from '#/components/iframe';
defineOptions({ name: 'JimuBI' });
const accessStore = useAccessStore();

View File

@ -1,11 +1,9 @@
<script lang="ts" setup>
import { ref } from 'vue';
import { DocAlert, Page } from '@vben/common-ui';
import { DocAlert, IFrame, Page } from '@vben/common-ui';
import { useAccessStore } from '@vben/stores';
import { IFrame } from '#/components/iframe';
defineOptions({ name: 'JimuReport' });
const accessStore = useAccessStore();

View File

@ -3,6 +3,7 @@ import type { DiyComponent, DiyComponentLibrary, PageConfig } from './util';
import { inject, onMounted, ref, unref, watch } from 'vue';
import { IFrame } from '@vben/common-ui';
import { IconifyIcon } from '@vben/icons';
import { cloneDeep, isEmpty, isString } from '@vben/utils';

View File

@ -1,38 +0,0 @@
<script setup lang="ts">
import { onMounted, ref } from 'vue';
interface IFrameProps {
/** iframe 的源地址 */
src: string;
}
const props = defineProps<IFrameProps>();
const loading = ref(true);
const height = ref('');
const frameRef = ref<HTMLElement | null>(null);
function init() {
height.value = `${document.documentElement.clientHeight - 94.5}px`;
loading.value = false;
}
onMounted(() => {
setTimeout(() => {
init();
}, 300);
});
// TODO @使 vben
</script>
<template>
<div v-loading="loading" :style="`height:${height}`">
<iframe
ref="frameRef"
:src="props.src"
style="width: 100%; height: 100%"
frameborder="no"
scrolling="auto"
></iframe>
</div>
</template>

View File

@ -1 +0,0 @@
export { default as IFrame } from './iframe.vue';

View File

@ -1,10 +1,9 @@
<script lang="ts" setup>
import { onMounted, ref } from 'vue';
import { DocAlert, Page } from '@vben/common-ui';
import { DocAlert, IFrame, Page } from '@vben/common-ui';
import { getConfigKey } from '#/api/infra/config';
import { IFrame } from '#/components/iframe';
const loading = ref(true); //
const src = ref(`${import.meta.env.VITE_BASE_URL}/druid/index.html`);

View File

@ -1,10 +1,9 @@
<script setup lang="ts">
import { onMounted, ref } from 'vue';
import { DocAlert, Page } from '@vben/common-ui';
import { DocAlert, IFrame, Page } from '@vben/common-ui';
import { getConfigKey } from '#/api/infra/config';
import { IFrame } from '#/components/iframe';
const loading = ref(true); //
const src = ref(`${import.meta.env.VITE_BASE_URL}/admin/applications`);

View File

@ -1,10 +1,9 @@
<script setup lang="ts">
import { onMounted, ref } from 'vue';
import { DocAlert, Page } from '@vben/common-ui';
import { DocAlert, IFrame, Page } from '@vben/common-ui';
import { getConfigKey } from '#/api/infra/config';
import { IFrame } from '#/components/iframe';
const loading = ref(true); //
const src = ref('http://skywalking.shop.iocoder.cn');

View File

@ -1,10 +1,9 @@
<script lang="ts" setup>
import { onMounted, ref } from 'vue';
import { DocAlert, Page } from '@vben/common-ui';
import { DocAlert, IFrame, Page } from '@vben/common-ui';
import { getConfigKey } from '#/api/infra/config';
import { IFrame } from '#/components/iframe';
const loading = ref(true); //
const src = ref(`${import.meta.env.VITE_BASE_URL}/doc.html`); // Knife4j UI

View File

@ -5,6 +5,7 @@ export * from './count-to';
export * from './doc-alert';
export * from './ellipsis-text';
export * from './icon-picker';
export * from './iframe';
export * from './json-viewer';
export * from './loading';
export * from './page';