mirror of https://gitee.com/pnoker/dc3-web.git
parent
1c24246631
commit
e6fed5d652
@ -1,111 +1,124 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="login-container">
|
<div class="login-container">
|
||||||
<div class="login-wrapper-left animated bounceInDown">
|
<div class="login-wrapper-left animated bounceInDown">
|
||||||
<div class="login-left">
|
<div class="login-left">
|
||||||
<img class="img" src="images/logo/logo-white.png">
|
<img class="img" src="images/logo/logo-white.png">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<particles/>
|
<particles/>
|
||||||
<div class="login-wrapper-right animated bounceInDown">
|
<div class="login-wrapper-right animated bounceInDown">
|
||||||
<div class="login-border">
|
<div class="login-border">
|
||||||
<div class="login-main">
|
<div class="login-main">
|
||||||
<h4 class="login-title">
|
<h4 class="login-title">
|
||||||
Demo Application
|
Demo Application
|
||||||
</h4>
|
</h4>
|
||||||
<p style="text-align: center;">基于 DC3 1.2.3.SR 接口开发的 demo 应用<br/>仅供演示和测试用途!</p>
|
<p style="text-align: center;">基于 DC3 1.2.3.SR 接口开发的 demo 应用<br/>仅供演示和测试用途!</p>
|
||||||
<el-form class="login-form"
|
<el-form class="login-form"
|
||||||
status-icon
|
status-icon
|
||||||
:rules="loginRules"
|
:rules="loginRules"
|
||||||
ref="loginForm"
|
ref="loginForm"
|
||||||
:model="loginForm"
|
:model="loginForm"
|
||||||
label-width="0">
|
label-width="0">
|
||||||
<el-form-item prop="name">
|
<el-form-item prop="tenant">
|
||||||
<el-input size="small"
|
<el-input size="small"
|
||||||
@keyup.enter.native="handleLogin"
|
@keyup.enter.native="handleLogin"
|
||||||
v-model="loginForm.name"
|
v-model="loginForm.tenant"
|
||||||
auto-complete="off"
|
auto-complete="off"
|
||||||
placeholder="请输入用户名">
|
placeholder="请输入租户名">
|
||||||
<i slot="prefix" class="el-icon-user"/>
|
<i slot="prefix" class="el-icon-suitcase"/>
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="password">
|
<el-form-item prop="name">
|
||||||
<el-input size="small"
|
<el-input size="small"
|
||||||
@keyup.enter.native="handleLogin"
|
@keyup.enter.native="handleLogin"
|
||||||
:type="passwordType"
|
v-model="loginForm.name"
|
||||||
v-model="loginForm.password"
|
auto-complete="off"
|
||||||
auto-complete="off"
|
placeholder="请输入用户名">
|
||||||
placeholder="请输入密码">
|
<i slot="prefix" class="el-icon-user"/>
|
||||||
<i class="el-icon-view el-input__icon" slot="suffix" @click="showPassword"/>
|
</el-input>
|
||||||
<i slot="prefix" class="el-icon-lock"/>
|
</el-form-item>
|
||||||
</el-input>
|
<el-form-item prop="password">
|
||||||
</el-form-item>
|
<el-input size="small"
|
||||||
<el-form-item>
|
@keyup.enter.native="handleLogin"
|
||||||
<el-button type="primary"
|
:type="passwordType"
|
||||||
size="small"
|
v-model="loginForm.password"
|
||||||
@click.native.prevent="handleLogin"
|
auto-complete="off"
|
||||||
class="login-submit">登录
|
placeholder="请输入密码">
|
||||||
</el-button>
|
<i class="el-icon-view el-input__icon" slot="suffix" @click="showPassword"/>
|
||||||
</el-form-item>
|
<i slot="prefix" class="el-icon-lock"/>
|
||||||
</el-form>
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary"
|
||||||
|
size="small"
|
||||||
|
@click.native.prevent="handleLogin"
|
||||||
|
class="login-submit">登录
|
||||||
|
</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import particles from "@/components/particles/particles";
|
import particles from "@/components/particles/particles";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "login",
|
name: "login",
|
||||||
components: {particles},
|
components: {particles},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loginForm: {
|
loginForm: {
|
||||||
name: "pnoker",
|
tenant: "default",
|
||||||
password: "dc3dc3dc3"
|
name: "pnoker",
|
||||||
},
|
password: "dc3dc3dc3"
|
||||||
loginRules: {
|
},
|
||||||
name: [
|
loginRules: {
|
||||||
{required: true, message: "请输入用户名", trigger: "blur"}
|
tenant: [
|
||||||
],
|
{required: true, message: "请输入租户名", trigger: "blur"}
|
||||||
password: [
|
],
|
||||||
{required: true, message: "请输入密码", trigger: "blur"},
|
name: [
|
||||||
{min: 1, message: "密码长度最少为6位", trigger: "blur"}
|
{required: true, message: "请输入用户名", trigger: "blur"}
|
||||||
]
|
],
|
||||||
},
|
password: [
|
||||||
passwordType: "password"
|
{required: true, message: "请输入密码", trigger: "blur"},
|
||||||
};
|
{min: 1, message: "密码长度最少为6位", trigger: "blur"}
|
||||||
},
|
]
|
||||||
methods: {
|
},
|
||||||
showPassword() {
|
passwordType: "password"
|
||||||
this.passwordType === ""
|
};
|
||||||
? (this.passwordType = "password")
|
},
|
||||||
: (this.passwordType = "");
|
methods: {
|
||||||
},
|
showPassword() {
|
||||||
handleLogin() {
|
this.passwordType === ""
|
||||||
this.$refs.loginForm.validate(valid => {
|
? (this.passwordType = "password")
|
||||||
if (valid) {
|
: (this.passwordType = "");
|
||||||
let loading = this.$loading({
|
},
|
||||||
lock: true,
|
handleLogin() {
|
||||||
text: '登录中,请稍后。。。',
|
this.$refs.loginForm.validate(valid => {
|
||||||
spinner: "el-icon-loading"
|
if (valid) {
|
||||||
});
|
let loading = this.$loading({
|
||||||
this.$store.dispatch("GenerateSalt", this.loginForm.name).then((salt) => {
|
lock: true,
|
||||||
this.$store.dispatch("GenerateToken", {salt, user: this.loginForm}).then(() => {
|
text: '登录中,请稍后。。。',
|
||||||
this.$router.push({path: '/'}).then(() => loading.close());
|
spinner: "el-icon-loading"
|
||||||
}).catch(() => {
|
});
|
||||||
loading.close();
|
this.$store.dispatch("GenerateSalt", this.loginForm.name).then((salt) => {
|
||||||
});
|
this.$store.dispatch("GenerateToken", {salt, ...this.loginForm}).then(() => {
|
||||||
}).catch(() => {
|
this.$router.push({path: '/'}).then(() => loading.close());
|
||||||
loading.close();
|
}).catch(() => {
|
||||||
});
|
loading.close();
|
||||||
|
});
|
||||||
|
}).catch(() => {
|
||||||
|
loading.close();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
};
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
@import "~@/assets/styles/login.scss";
|
@import "~@/assets/styles/login.scss";
|
||||||
</style>
|
</style>
|
||||||
|
Loading…
Reference in new issue