Merge pull request 'zj' (#17) from zj into master
Reviewed-on: http://git.luyuan.tk/luyuan/beelink/pulls/17
@ -40,6 +40,16 @@ const routes: Array<RouteRecordRaw> = [
|
||||
name: 'Sign',
|
||||
component: () => import('../views/login/Sign.vue')
|
||||
},
|
||||
{
|
||||
path: '/reset',
|
||||
name: 'Reset',
|
||||
component: () => import('../views/login/Reset.vue')
|
||||
},
|
||||
{
|
||||
path: '/about',
|
||||
name: 'About',
|
||||
component: () => import('../views/login/About.vue')
|
||||
},
|
||||
]
|
||||
|
||||
const router = createRouter({
|
||||
|
Before Width: | Height: | Size: 274 B After Width: | Height: | Size: 274 B |
Before Width: | Height: | Size: 533 B After Width: | Height: | Size: 533 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 168 KiB After Width: | Height: | Size: 168 KiB |
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 449 B After Width: | Height: | Size: 449 B |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
23
src/views/login/About.vue
Normal file
@ -0,0 +1,23 @@
|
||||
<template>
|
||||
<div class="about">
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { defineComponent, ref } from "vue";
|
||||
export default defineComponent({
|
||||
name: "About",
|
||||
components: {
|
||||
},
|
||||
setup() {
|
||||
|
||||
return {
|
||||
|
||||
};
|
||||
},
|
||||
});
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
|
||||
</style>
|
@ -114,9 +114,9 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="icons">
|
||||
<img src="../../../static/weixin.png" alt="" class="icon" />
|
||||
<img src="../../../static/weibo.png" alt="" class="icon" />
|
||||
<img src="../../../static/facebook.png" alt="" class="icon" />
|
||||
<img src="@/static/images/weixin.png" alt="" class="icon" />
|
||||
<img src="@/static/images/weibo.png" alt="" class="icon" />
|
||||
<img src="@/static/images/facebook.png" alt="" class="icon" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -131,10 +131,10 @@
|
||||
</div>
|
||||
<div class="relation">
|
||||
<div class="more">了解更多</div>
|
||||
<img src="../../../static/tel.png" alt="" class="icon">
|
||||
<img src="@/static/images/tel.png" alt="" class="icon">
|
||||
<div>136-0111-1111</div>
|
||||
|
||||
<img src="../../../static/email.png" alt="" class="icon email">
|
||||
<img src="@/static/images/email.png" alt="" class="icon email">
|
||||
<div>136-0111-1111</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -208,7 +208,7 @@ export default defineComponent({
|
||||
.login {
|
||||
min-width: 100%;
|
||||
height: 100vh;
|
||||
background: url("../../../static/loginbg.png");
|
||||
background: url("../../static/images/loginbg.png");
|
||||
background-size: 100% 130%;
|
||||
background-repeat: no-repeat;
|
||||
padding-top: 145px;
|
||||
|
340
src/views/login/Reset.vue
Normal file
@ -0,0 +1,340 @@
|
||||
<template>
|
||||
<div class="login">
|
||||
<div class="box">
|
||||
<div :class="stepnow != 2 ? 'left' : 'left left1'">
|
||||
<div class="title">
|
||||
<span class="orgname">Beelink</span>密码重置
|
||||
</div>
|
||||
|
||||
<div v-if="stepnow == 1">
|
||||
<div class="nosign">
|
||||
想起密码?
|
||||
<span class="tosign"> 去登录 </span>
|
||||
</div>
|
||||
|
||||
<a-form :layout="formLayout">
|
||||
<a-form-item label="账户名" class="form-item">
|
||||
<a-input class="shuru" placeholder="请输入您的邮箱或者手机号" />
|
||||
</a-form-item>
|
||||
<div class="submit" @click="next(2)">下一步</div>
|
||||
|
||||
</a-form>
|
||||
</div>
|
||||
|
||||
<div v-if="stepnow == 2">
|
||||
<div class="nosign">
|
||||
已有账号?
|
||||
<span class="tosign"> 去登录 </span>
|
||||
</div>
|
||||
<a-form :layout="formLayout">
|
||||
<div class="signform">
|
||||
<a-form-item label="手机号" class="form-item">
|
||||
<a-input style="width: 50%" placeholder="请输入您的手机号" />
|
||||
|
||||
</a-form-item>
|
||||
<a-form-item label="验证码" class="form-item">
|
||||
<!-- <a-input-group compact>
|
||||
<div class="getcode" @/click="getcode">
|
||||
点击获取验证码{{ time == 60 ? "" : "(" + time + ")" }}
|
||||
</div>
|
||||
<div class="line"></div>
|
||||
<a-input style="width: 50%" placeholder="请输入您的验证码" />
|
||||
</a-input-group> -->
|
||||
|
||||
<a-input-group compact>
|
||||
<div class="getcode" @click="getcode">
|
||||
点击获取验证码{{ time == 60 ? "" : "(" + time + ")" }}
|
||||
</div>
|
||||
|
||||
<div class="line"></div>
|
||||
<a-input style="width: 50%" placeholder="请输入您的手机号" />
|
||||
</a-input-group>
|
||||
</a-form-item>
|
||||
</div>
|
||||
|
||||
<div class="submit" @click="next(3)">立刻注册</div>
|
||||
<div class="orginfo">Beelink公司版权所有 2019—2022</div>
|
||||
</a-form>
|
||||
</div>
|
||||
|
||||
<div v-if="stepnow == 3">
|
||||
<div class="nosign">您已完成注册</div>
|
||||
<img src="@/static/images/success.png" alt="" class="success">
|
||||
<div class="ale">恭喜您注册成功,点击跳转到我的档案页面</div>
|
||||
</div>
|
||||
</div>
|
||||
<div :class="stepnow != 2 ? 'right' : 'right right1'">
|
||||
<div class="steps">
|
||||
<div class="step">
|
||||
<div :class="stepnow == 1 ? 'circle step1' : 'circle'">01</div>
|
||||
<div :class="stepnow == 1 ? 'stepnow' : ''">验证手机号</div>
|
||||
</div>
|
||||
<div class="stepline"></div>
|
||||
<div class="step">
|
||||
<div :class="stepnow == 2 ? 'circle step1' : 'circle'">02</div>
|
||||
<div :class="stepnow == 2 ? 'stepnow' : ''">填写帐号信息</div>
|
||||
<div class="back" @click="next(1)" v-if="stepnow==2">
|
||||
返回上一步
|
||||
</div>
|
||||
</div>
|
||||
<div class="stepline"></div>
|
||||
<div class="step">
|
||||
<div :class="stepnow == 3 ? 'circle step1' : 'circle'">03</div>
|
||||
<div :class="stepnow == 3 ? 'stepnow' : ''">帐号注册完成</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="icons" v-if="stepnow == 2">
|
||||
<img src="@/static/images/weixin.png" alt="" class="icon" />
|
||||
<img src="@/static/images/weibo.png" alt="" class="icon" />
|
||||
<img src="@/static/images/facebook.png" alt="" class="icon" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { defineComponent, ref } from "vue";
|
||||
export default defineComponent({
|
||||
name: "Sign",
|
||||
components: {},
|
||||
setup() {
|
||||
const formLayout = {
|
||||
labelCol: 4,
|
||||
wrapperCol: 14,
|
||||
};
|
||||
const time = ref(60);
|
||||
const getcode: () => void = () => {
|
||||
console.log(11111);
|
||||
const timestep = setInterval(() => {
|
||||
console.log(11112);
|
||||
time.value = time.value - 1;
|
||||
if (time.value > 0) {
|
||||
console.log();
|
||||
} else {
|
||||
time.value = 60;
|
||||
clearInterval(timestep);
|
||||
}
|
||||
}, 1000);
|
||||
};
|
||||
const ifagree = ref(true);
|
||||
const agree: () => void = () => {
|
||||
ifagree.value = ifagree.value == true ? false : true;
|
||||
console.log(ifagree.value, 600);
|
||||
};
|
||||
|
||||
const stepnow = ref(1);
|
||||
const next: (e: number) => void = (e: number) => {
|
||||
stepnow.value = e;
|
||||
};
|
||||
return {
|
||||
formLayout,
|
||||
getcode,
|
||||
time,
|
||||
agree,
|
||||
ifagree,
|
||||
stepnow,
|
||||
next,
|
||||
};
|
||||
},
|
||||
});
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.login /deep/ .ant-select-selection {
|
||||
border: none;
|
||||
}
|
||||
.login /deep/ .ant-input {
|
||||
border: none;
|
||||
}
|
||||
.ant-input:focus {
|
||||
border: none;
|
||||
border-bottom: 1px solid white !important;
|
||||
box-shadow: none;
|
||||
}
|
||||
.login /deep/ .ant-form-item-label {
|
||||
line-height: 14px;
|
||||
}
|
||||
.login /deep/ .ant-form-item /deep/ label {
|
||||
color: #0dbba4;
|
||||
font-size: 11px;
|
||||
left: 1px;
|
||||
}
|
||||
.login {
|
||||
min-width: 100vw;
|
||||
height: 100vh;
|
||||
background: url("../../static/images/loginbg.png");
|
||||
background-size: 100% 130%;
|
||||
background-repeat: no-repeat;
|
||||
padding-top: 145px;
|
||||
.box {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
.left1 {
|
||||
width: 710px !important;
|
||||
}
|
||||
.left {
|
||||
width: 314px;
|
||||
.title {
|
||||
font-size: 17px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.orgname {
|
||||
font-size: 29px;
|
||||
color: #0dbba4;
|
||||
cursor: pointer;
|
||||
}
|
||||
.nosign {
|
||||
font-size: 12px;
|
||||
color: #666666;
|
||||
margin-top: 17px;
|
||||
margin-bottom: 35px;
|
||||
}
|
||||
.tosign {
|
||||
color: #0dbba4;
|
||||
cursor: pointer;
|
||||
}
|
||||
.tab {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.form-item {
|
||||
border-bottom: 1px solid #e5e5e5;
|
||||
font-size: 15px;
|
||||
margin-right: 40px;
|
||||
}
|
||||
.line {
|
||||
width: 1px;
|
||||
height: 14px;
|
||||
background: #e5e5e5;
|
||||
margin-top: 10px;
|
||||
position: relative;
|
||||
z-index: 999;
|
||||
}
|
||||
.getcode {
|
||||
font-size: 15px;
|
||||
color: #08ae98;
|
||||
width: 119px;
|
||||
line-height: 30px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.orginfo {
|
||||
margin-top: 178px;
|
||||
}
|
||||
.submit {
|
||||
width: 143px;
|
||||
height: 35px;
|
||||
background: linear-gradient(
|
||||
90deg,
|
||||
#00dac2,
|
||||
#42de9e,
|
||||
#88e062,
|
||||
#d0eb3e,
|
||||
#fffa18
|
||||
);
|
||||
border-radius: 18px;
|
||||
font-size: 15px;
|
||||
color: white;
|
||||
font-weight: 800;
|
||||
text-align: center;
|
||||
line-height: 35px;
|
||||
margin-top: 45px;
|
||||
}
|
||||
.agreement {
|
||||
font-size: 12px;
|
||||
display: flex;
|
||||
margin-top: 23px;
|
||||
cursor: default;
|
||||
.ifagree {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border-radius: 3px;
|
||||
border: 1px solid #0ebca4;
|
||||
margin: auto 0;
|
||||
margin-right: 7px;
|
||||
.agree {
|
||||
width: 8px;
|
||||
height: 6px;
|
||||
position: relative;
|
||||
top: -4px;
|
||||
left: 2.5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.right1 {
|
||||
width: 230px !important;
|
||||
}
|
||||
.right {
|
||||
width: 690px;
|
||||
.steps {
|
||||
padding-top: 112px;
|
||||
.stepline {
|
||||
width: 1px;
|
||||
height: 50px;
|
||||
border: 1px dashed #eeeeee;
|
||||
position: relative;
|
||||
left: 13px;
|
||||
}
|
||||
.step {
|
||||
display: flex;
|
||||
color: #999999;
|
||||
font-size: 11px;
|
||||
line-height: 28px;
|
||||
font-weight: bold;
|
||||
.back {
|
||||
color: #0dbba4;
|
||||
margin-left: 23px;
|
||||
}
|
||||
.circle {
|
||||
width: 29px;
|
||||
height: 29px;
|
||||
border-radius: 15px;
|
||||
background: #eeeeee;
|
||||
font-size: 12px;
|
||||
color: #999999;
|
||||
text-align: center;
|
||||
line-height: 29px;
|
||||
font-weight: 800;
|
||||
margin-right: 17px;
|
||||
}
|
||||
}
|
||||
.step1 {
|
||||
background: #08ae98 !important;
|
||||
color: white !important;
|
||||
}
|
||||
.stepnow {
|
||||
color: #111111;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.signform {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
.shuru {
|
||||
width: 313px;
|
||||
}
|
||||
}
|
||||
.icons {
|
||||
margin-right: 41px;
|
||||
margin-top: 227px;
|
||||
.icon {
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
margin-right: 18px;
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
.success{
|
||||
width: 250px;
|
||||
height: 233px;
|
||||
}
|
||||
.ale{
|
||||
color:#08AE98;
|
||||
font-size: 14px;
|
||||
font-weight: 800;
|
||||
margin-top: 34px;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
</style>
|
@ -42,7 +42,7 @@
|
||||
<div class="agreement" @click="agree">
|
||||
<div class="ifagree">
|
||||
<img
|
||||
src="../../../static/agree.png"
|
||||
src="@/static/images/agree.png"
|
||||
alt=""
|
||||
class="agree"
|
||||
v-if="ifagree"
|
||||
@ -92,7 +92,7 @@
|
||||
|
||||
<div v-if="stepnow == 3">
|
||||
<div class="nosign">您已完成注册</div>
|
||||
<img src="../../../static/success.png" alt="" class="success">
|
||||
<img src="@/static/images/success.png" alt="" class="success">
|
||||
<div class="ale">恭喜您注册成功,点击跳转到我的档案页面</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -117,9 +117,9 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="icons" v-if="stepnow == 2">
|
||||
<img src="../../../static/weixin.png" alt="" class="icon" />
|
||||
<img src="../../../static/weibo.png" alt="" class="icon" />
|
||||
<img src="../../../static/facebook.png" alt="" class="icon" />
|
||||
<img src="@/static/images/weixin.png" alt="" class="icon" />
|
||||
<img src="@/static/images/weibo.png" alt="" class="icon" />
|
||||
<img src="@/static/images/facebook.png" alt="" class="icon" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -195,7 +195,7 @@ export default defineComponent({
|
||||
.login {
|
||||
min-width: 100vw;
|
||||
height: 100vh;
|
||||
background: url("../../../static/loginbg.png");
|
||||
background: url("../../static/images/loginbg.png");
|
||||
background-size: 100% 130%;
|
||||
background-repeat: no-repeat;
|
||||
padding-top: 145px;
|
||||
|