2021-03-25 18:58:05 +08:00
|
|
|
<template>
|
|
|
|
<div>
|
2021-03-29 14:15:39 +08:00
|
|
|
<link-error v-if="showIndex===0" :resource-id="resourceId" />
|
2021-03-26 18:44:41 +08:00
|
|
|
<link-pwd v-if="showIndex===1" :resource-id="resourceId" />
|
2021-03-29 14:15:39 +08:00
|
|
|
<link-view v-if="showIndex===2" :resource-id="resourceId" />
|
2021-03-25 18:58:05 +08:00
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
<script>
|
|
|
|
import { getQueryVariable } from '@/utils/index'
|
|
|
|
import { validate } from '@/api/link'
|
|
|
|
import LinkView from './view'
|
|
|
|
import LinkError from './error'
|
|
|
|
import LinkPwd from './pwd'
|
|
|
|
export default {
|
|
|
|
components: {
|
|
|
|
LinkError, LinkPwd, LinkView
|
|
|
|
},
|
|
|
|
data() {
|
|
|
|
return {
|
2021-03-29 14:15:39 +08:00
|
|
|
resourceId: null,
|
2021-03-25 18:58:05 +08:00
|
|
|
PARAMKEY: 'link',
|
|
|
|
link: null,
|
|
|
|
showIndex: -1
|
|
|
|
}
|
|
|
|
},
|
|
|
|
created() {
|
|
|
|
this.loadInit()
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
|
|
|
|
loadInit() {
|
|
|
|
this.link = getQueryVariable(this.PARAMKEY)
|
2021-03-26 18:44:41 +08:00
|
|
|
validate({ link: this.link }).then(res => {
|
2021-03-29 14:15:39 +08:00
|
|
|
const { resourceId, valid, enablePwd, passPwd } = res.data
|
|
|
|
this.resourceId = resourceId
|
2021-03-25 18:58:05 +08:00
|
|
|
// 如果链接无效 直接显示无效页面
|
2021-03-29 14:15:39 +08:00
|
|
|
if (!valid || !resourceId) {
|
2021-03-26 18:44:41 +08:00
|
|
|
this.showError()
|
|
|
|
return
|
|
|
|
}
|
2021-03-25 18:58:05 +08:00
|
|
|
|
2021-03-26 18:44:41 +08:00
|
|
|
if (enablePwd && !passPwd) {
|
|
|
|
this.showPwd()
|
|
|
|
return
|
|
|
|
}
|
2021-03-25 18:58:05 +08:00
|
|
|
|
|
|
|
this.showView()
|
2021-03-29 14:15:39 +08:00
|
|
|
}).catch(() => {
|
|
|
|
this.showError()
|
2021-03-25 18:58:05 +08:00
|
|
|
})
|
|
|
|
},
|
2021-03-26 18:44:41 +08:00
|
|
|
|
2021-03-25 18:58:05 +08:00
|
|
|
// 显示无效链接
|
|
|
|
showError() {
|
|
|
|
this.showIndex = 0
|
|
|
|
},
|
|
|
|
// 显示密码框
|
|
|
|
showPwd() {
|
|
|
|
this.showIndex = 1
|
|
|
|
},
|
|
|
|
// 显示仪表板
|
|
|
|
showView() {
|
|
|
|
this.showIndex = 2
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|