mirror of https://github.com/veypi/OneAuth.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.3 KiB
Vue
65 lines
1.3 KiB
Vue
<!--
|
|
* [...furl].vue
|
|
* Copyright (C) 2024 veypi <i@veypi.com>
|
|
* 2024-11-05 18:08
|
|
* Distributed under terms of the GPL license.
|
|
-->
|
|
|
|
<template>
|
|
<div class="w-full h-full">
|
|
<!-- <h1 class="page-h1">文档中心</h1> -->
|
|
<!-- <q-inner-loading :showing="!visible" label="Please wait..." label-class="text-teal" label-style="font-size: 1.1em" /> -->
|
|
<div class="w-full px-8">
|
|
<Editor v-if='doc' eid='doc' preview :content="doc"></Editor>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
<script lang="ts" setup>
|
|
import msg from '@veypi/msg';
|
|
import { fs } from '@veypi/oaer';
|
|
let doc = ref('')
|
|
|
|
let route = useRoute()
|
|
let router = useRouter()
|
|
let typ = computed(() => route.params.typ)
|
|
let furl = computed(() => {
|
|
let f = route.params.furl
|
|
if (typ.value === 'pub') {
|
|
return '/doc/' + f
|
|
}
|
|
return f
|
|
})
|
|
|
|
const visible = ref(false)
|
|
|
|
|
|
|
|
const render = (url: string) => {
|
|
console.log(url)
|
|
if (!url) {
|
|
return
|
|
}
|
|
if (typ.value === 'pub') {
|
|
fs.download(url).then(t => {
|
|
doc.value = t
|
|
visible.value = true
|
|
}).catch(e => {
|
|
console.warn(e)
|
|
msg.Warn('访问文档地址不存在')
|
|
router.back()
|
|
})
|
|
}
|
|
}
|
|
|
|
watch(furl, (u, o) => {
|
|
if (u && u !== o) {
|
|
render(u as string)
|
|
}
|
|
}, { immediate: true })
|
|
|
|
onMounted(() => {
|
|
})
|
|
</script>
|
|
|
|
<style scoped></style>
|