|
@@ -1,59 +0,0 @@
|
|
|
-<template>
|
|
|
- <doc-alert title="数据库文档" url="https://doc.iocoder.cn/db-doc/" />
|
|
|
-
|
|
|
- <ContentWrap title="数据库文档">
|
|
|
- <div class="mb-10px">
|
|
|
- <el-button type="primary" plain @click="handleExport('HTML')">
|
|
|
- <Icon icon="ep:download" /> 导出 HTML
|
|
|
- </el-button>
|
|
|
- <el-button type="primary" plain @click="handleExport('Word')">
|
|
|
- <Icon icon="ep:download" /> 导出 Word
|
|
|
- </el-button>
|
|
|
- <el-button type="primary" plain @click="handleExport('Markdown')">
|
|
|
- <Icon icon="ep:download" /> 导出 Markdown
|
|
|
- </el-button>
|
|
|
- </div>
|
|
|
- <IFrame v-if="!loading" v-loading="loading" :src="src" />
|
|
|
- </ContentWrap>
|
|
|
-</template>
|
|
|
-<script lang="ts" setup>
|
|
|
-import download from '@/utils/download'
|
|
|
-import * as DbDocApi from '@/api/infra/dbDoc'
|
|
|
-
|
|
|
-defineOptions({ name: 'InfraDBDoc' })
|
|
|
-
|
|
|
-const loading = ref(true) // 是否加载中
|
|
|
-const src = ref('') // HTML 的地址
|
|
|
-
|
|
|
-/** 页面加载 */
|
|
|
-const init = async () => {
|
|
|
- try {
|
|
|
- const data = await DbDocApi.exportHtml()
|
|
|
- const blob = new Blob([data], { type: 'text/html' })
|
|
|
- src.value = window.URL.createObjectURL(blob)
|
|
|
- } finally {
|
|
|
- loading.value = false
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-/** 处理导出 */
|
|
|
-const handleExport = async (type: string) => {
|
|
|
- if (type === 'HTML') {
|
|
|
- const res = await DbDocApi.exportHtml()
|
|
|
- download.html(res, '数据库文档.html')
|
|
|
- }
|
|
|
- if (type === 'Word') {
|
|
|
- const res = await DbDocApi.exportWord()
|
|
|
- download.word(res, '数据库文档.doc')
|
|
|
- }
|
|
|
- if (type === 'Markdown') {
|
|
|
- const res = await DbDocApi.exportMarkdown()
|
|
|
- download.markdown(res, '数据库文档.md')
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-/** 初始化 */
|
|
|
-onMounted(async () => {
|
|
|
- await init()
|
|
|
-})
|
|
|
-</script>
|