index.vue 630 B

123456789101112131415161718192021222324252627
  1. <template>
  2. <ContentWrap>
  3. <IFrame :src="src" />
  4. </ContentWrap>
  5. </template>
  6. <script lang="ts" setup>
  7. import * as ConfigApi from '@/api/infra/config'
  8. defineOptions({ name: 'InfraSwagger' })
  9. const loading = ref(true) // 是否加载中
  10. const src = ref(import.meta.env.VITE_BASE_URL + '/doc.html') // Knife4j UI
  11. // const src = ref(import.meta.env.VITE_BASE_URL + '/swagger-ui') // Swagger UI
  12. /** 初始化 */
  13. onMounted(async () => {
  14. try {
  15. const data = await ConfigApi.getConfigKey('url.swagger')
  16. if (data && data.length > 0) {
  17. src.value = data
  18. }
  19. } finally {
  20. loading.value = false
  21. }
  22. })
  23. </script>