pnoker 3 years ago
parent 5e7c5cf3cc
commit 91c0c7d245

@ -27,4 +27,5 @@ COPY ./dc3/dependencies/conf.crt/ /etc/nginx/conf.crt/
EXPOSE 80 443
VOLUME /var/log/nginx
CMD /bin/wait-for dc3-auth:8300 dc3-manager:8400 dc3-data:8500 -t 5 -- nginx -g 'daemon off;'
#CMD /bin/wait-for dc3-auth:8300 dc3-manager:8400 dc3-data:8500 -t 5 -- nginx -g 'daemon off;'
CMD nginx -g 'daemon off;'

@ -1,13 +1,13 @@
server {
listen 80;
rewrite ^/$ /dc3/demo permanent;
rewrite ^(.*)$ https://$host$1 permanent;
include /etc/nginx/conf.d/location;
include /etc/nginx/location/*.conf;
}
server {
listen 443 ssl;
listen 443 ssl http2;
add_header X-Xss-Protection 1;
add_header X-Frame-Options DENY;
@ -23,6 +23,6 @@ server {
rewrite ^/$ /dc3/demo permanent;
include /etc/nginx/conf.d/location;
include /etc/nginx/location/*.conf;
}

@ -1,9 +1,9 @@
{
"name": "dc3-web",
"version": "3.0.0",
"version": "1.2.2",
"private": true,
"author": "pnoker",
"description": "IOT DC3 UI",
"description": "IOT DC3 Demo Application UI",
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",

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

Loading…
Cancel
Save