f
This commit is contained in:
57
src/pages/report/webview.vue
Normal file
57
src/pages/report/webview.vue
Normal file
@@ -0,0 +1,57 @@
|
||||
<script setup>
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
import { ref } from 'vue'
|
||||
|
||||
definePage({
|
||||
style: {
|
||||
navigationBarTitleText: '完整版报告',
|
||||
navigationStyle: 'default',
|
||||
navigationBarBackgroundColor: '#ffffff',
|
||||
navigationBarTextStyle: 'black',
|
||||
},
|
||||
})
|
||||
|
||||
const pageUrl = ref('')
|
||||
const loadError = ref('')
|
||||
|
||||
onLoad((options) => {
|
||||
const raw = options?.url || ''
|
||||
if (!raw) {
|
||||
loadError.value = '缺少报告地址'
|
||||
return
|
||||
}
|
||||
try {
|
||||
pageUrl.value = decodeURIComponent(raw)
|
||||
}
|
||||
catch {
|
||||
pageUrl.value = raw
|
||||
}
|
||||
if (!/^https:\/\//i.test(pageUrl.value)) {
|
||||
loadError.value = '报告链接无效'
|
||||
pageUrl.value = ''
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<view class="page">
|
||||
<web-view v-if="pageUrl" :src="pageUrl" />
|
||||
<view v-else class="err">
|
||||
<text>{{ loadError || '无法加载报告' }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.page {
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
.err {
|
||||
padding: 80rpx 32rpx;
|
||||
text-align: center;
|
||||
font-size: 28rpx;
|
||||
color: #86909c;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user