dataease/frontend/src/views/link/pwd/index.vue

197 lines
4.6 KiB
Vue
Raw Normal View History

2021-03-25 18:58:05 +08:00
<template>
2021-03-26 18:44:41 +08:00
<div class="pwd-body">
<div class="pwd-wrapper">
<div class="pwd-content">
<div class="span-header">
<div class="bi-text">
请输入密码打开链接
</div>
</div>
<div class="input-layout">
<div class="input-main">
<div class="div-input">
<el-input v-model="pwd" class="real-input" />
</div>
</div>
<div class="abs-input">
<div class="input-text">{{ msg }}</div>
</div>
</div>
<div class="auth-root-class">
<span slot="footer">
<el-button size="mini" type="primary" @click="validatePwd">确定</el-button>
</span>
</div>
</div>
</div>
2021-03-25 18:58:05 +08:00
</div>
</template>
<script>
2021-03-26 18:44:41 +08:00
import { validatePwd } from '@/api/link'
2021-03-25 18:58:05 +08:00
export default {
name: 'LinkPwd',
2021-03-26 18:44:41 +08:00
props: {
resourceId: {
type: String,
default: null
}
},
2021-03-25 18:58:05 +08:00
data() {
return {
2021-03-26 18:44:41 +08:00
pwd: null,
msg: null
2021-03-25 18:58:05 +08:00
}
},
methods: {
2021-03-26 18:44:41 +08:00
// 验证密码是否正确 如果正确 设置请求头部带LINK-PWD-TOKEN=entrypt(pwd)再刷新页面
refresh() {
validatePwd({ password: this.pwd, resourceId: this.resourceId }).then(res => {
if (!res.data) {
this.msg = '密码错误'
} else {
window.location.reload()
}
})
}
2021-03-25 18:58:05 +08:00
}
}
</script>
2021-03-26 18:44:41 +08:00
<style lang="scss" scoped>
.pwd-body {
position: absolute;
width: 100%;
margin: 0;
padding: 0;
top: 0;
left: 0;
background-repeat: repeat;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
user-select: none;
color: #3d4d66;
font: normal 12px Helvetica Neue,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,微软雅黑,Heiti,黑体,sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-decoration: none;
-kthml-user-focus: normal;
-moz-user-focus: normal;
-moz-outline: 0 none;
outline: 0 none;
height: 100%;
display: block;
}
.pwd-wrapper {
background-color: #F7F8FA;
height: 100%;
justify-content: center !important;
align-items: center !important;
min-height: 25px;
display: flex;
-moz-flex-direction: row;
-o-flex-direction: row;
flex-direction: row;
-moz-justify-content: flex-start;
-ms-justify-content: flex-start;
-o-justify-content: flex-start;
justify-content: flex-start;
-moz-align-items: flex-start;
-ms-align-items: flex-start;
-o-align-items: flex-start;
align-items: flex-start;
-o-flex-wrap: nowrap;
flex-wrap: nowrap;
}
.pwd-content {
width: 450px;
height: 250px;
position: relative;
flex-shrink: 0;
background-color: #FFFFFF;
display: block;
}
.span-header {
position: relative;
margin: 57px auto 0px;
justify-content: center !important;
align-items: center !important;
}
.bi-text {
max-width: 100%;
text-align: center;
white-space: pre;
text-overflow: ellipsis;
position: relative;
flex-shrink: 0;
box-sizing: border-box;
overflow: hidden;
overflow-x: hidden;
overflow-y: hidden;
word-break: break-all;
display: block;
}
.input-layout{
width: 152px;
position: relative;
margin: 0px auto;
padding: 0;
display: block;
}
.input-main {
width: 150px;
height: 30px;
position: relative;
margin-top: 30px;
border: 1px solid #e8eaed;
display: block;
}
.div-input {
inset: 2px 4px;
position: absolute;
display: block;
}
.abs-input {
height: 20px;
position: relative;
margin-top: 5px;
display: block;
}
.input-text {
height: 20px;
line-height: 20px;
text-align: center;
white-space: pre;
text-overflow: ellipsis;
left: 0px;
top: 0px;
bottom: 0px;
position: absolute;
color: #E65251;
box-sizing: border-box;
}
.real-input {
width: 100%;
height: 100%;
border: none;
outline: none;
padding: 0px;
margin: 0px;
inset: 0px;
position: absolute;
display: block;
}
.auth-root-class {
margin: 15px 0px 5px;
text-align: center;
}
</style>