first commit
This commit is contained in:
407
pages/login/login.vue
Normal file
407
pages/login/login.vue
Normal file
@@ -0,0 +1,407 @@
|
||||
<template>
|
||||
<view class="body">
|
||||
<back :errorMsg="errorMsg" :showFlag="showFlag" :backShowFlag="backShowFlag"></back>
|
||||
<view class="content-block">
|
||||
<view class="login-explain">欢迎登录灿能云</view>
|
||||
<view class="login-detail">
|
||||
<view class="login-agreement">登录注册即表示同意</view>
|
||||
<view class="login-user" @click="jumpToUserAgreement">用户协议、</view>
|
||||
<view class="login-user" @click="jumpToPrivacyAgreement">隐私协议</view>
|
||||
</view>
|
||||
|
||||
<view class="phone-block">
|
||||
<view class="num">+86</view>
|
||||
<image class="pull" src="/static/pic/pull.png"></image>
|
||||
<view class="phone">
|
||||
<input class="phone-input" placeholder="输入手机号" placeholder-class="phone-placeholder" type="number" @input="changeClass" maxlength="11" confirm-type="done" :value='phoneNum'/>
|
||||
</view>
|
||||
<view class="reset-block" @click="resetPhoneNum" v-if="resetFlag==1">
|
||||
<image class="phone-pic" src="/static/pic/close.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="password-block" v-if="loginType==1">
|
||||
<input type="text" :password="passwordFlag" placeholder="请输入密码" confirm-type="done" placeholder-class="password-placeholder" class="phone-input" @input="changePasswordClass" :value="password" maxlength="18"/>
|
||||
<view class="see-block" v-if="seeFlag==1">
|
||||
<view class="reset-block" @click="reset">
|
||||
<image src="/static/pic/close.png" class="close" ></image>
|
||||
</view>
|
||||
<view class="line"></view>
|
||||
<view class="reset-block" @click="see(false)" v-if="passwordFlag">
|
||||
<image src="/static/pic/see.png" class="see"></image>
|
||||
</view>
|
||||
<view class="reset-block" @click="see(true)" v-else>
|
||||
<image src="/static/pic/see_close.png" class="see"></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="rememberMe-block" @click="changeRememberFlag" v-if="loginType==1">
|
||||
<image src="/static/pic/choose.png" class="rememberMe-pic" v-if="rememberFlag==1"></image>
|
||||
<image src="/static/pic/nochoose.png" class="rememberMe-pic" v-else></image>
|
||||
<view class="rememberMe-text">
|
||||
记住密码
|
||||
</view>
|
||||
</view>
|
||||
<button class="login-vercode" :loading='loadingFlag' v-if="vercodeFlag==0&&loginType==0">
|
||||
<view class="text">获取验证码</view>
|
||||
</button>
|
||||
<button class="login-vercode" :loading='loadingFlag' v-if="vercodeFlag==1&&loginType==0" @click="getVercode" :disabled="disabledFlag">
|
||||
<view class="textHigh" >获取验证码</view>
|
||||
</button>
|
||||
<button class="login-vercode" :loading='loadingFlag' v-if="vercodeFlag==0&&loginType==1">
|
||||
<view class="text">登录</view>
|
||||
</button>
|
||||
<button class="login-vercode" :loading='loadingFlag' v-if="vercodeFlag==1&&loginType==1" @click="loginIn(phoneNum,password)" :disabled="disabledFlag">
|
||||
<view class="textHigh">登录</view>
|
||||
</button>
|
||||
<view class="login-other" v-if="loginType==0">
|
||||
<view class="login-account" @click="changeLoginType(1)">用账号密码登录</view>
|
||||
<view class="login-fast" @click="jumpToFastlogin">快速注册</view>
|
||||
</view>
|
||||
<view class="login-other" v-if="loginType==1">
|
||||
<view class="login-account" @click="changeLoginType(0)">短信验证码登录</view>
|
||||
<view class="login-right">
|
||||
<view class="login-fast" @click="jumpToForgetPassword">忘记密码</view>
|
||||
<view class="login-line"></view>
|
||||
<view class="login-fast" @click="jumpToFastlogin">快速注册</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<view class="introduce-block">
|
||||
—— 寻电能质量之因,解电能质量之惑,治电能质量之本 ——
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import back from "../../components/back.vue";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
vercodeFlag:0,
|
||||
loadingFlag:false,
|
||||
phoneNum:'',
|
||||
errorMsg:'',
|
||||
showFlag:0,
|
||||
loginType:1 ,//0-验证码登录 1-账号密码
|
||||
password:'',
|
||||
passwordFlag:true,
|
||||
seeFlag:0,
|
||||
resetFlag:0,
|
||||
backShowFlag:0,
|
||||
rememberFlag:1,
|
||||
disabledFlag:false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
changeRememberFlag(){
|
||||
var that = this;
|
||||
if(that.rememberFlag==0){
|
||||
that.rememberFlag=1;
|
||||
}else{
|
||||
that.rememberFlag=0
|
||||
}
|
||||
},
|
||||
changeClass(e){
|
||||
var that = this;
|
||||
var length = e.detail.value.length;
|
||||
var loginType =that.loginType;
|
||||
if(length>0){
|
||||
that.resetFlag=1
|
||||
that.phoneNum=e.detail.value;
|
||||
}else{
|
||||
that.resetFlag=0;
|
||||
that.phoneNum='';
|
||||
}
|
||||
if(length>=10){
|
||||
if(loginType==0){
|
||||
that.vercodeFlag=1;
|
||||
}else{
|
||||
if(that.password!=null&&that.password!=''){
|
||||
that.vercodeFlag=1;
|
||||
}
|
||||
}
|
||||
}else{
|
||||
that.vercodeFlag=0;
|
||||
}
|
||||
},
|
||||
resetPhoneNum(){
|
||||
this.phoneNum="";
|
||||
this.resetFlag=0;
|
||||
this.vercodeFlag=0;
|
||||
},
|
||||
changePasswordClass(e){
|
||||
var that = this;
|
||||
var length = e.detail.value.length;
|
||||
var phoneNum =that.phoneNum;
|
||||
if(length>0){
|
||||
that.password=e.detail.value;
|
||||
that.seeFlag=1;
|
||||
if(phoneNum!=null&&phoneNum!=''){
|
||||
that.vercodeFlag=1;
|
||||
}
|
||||
}else{
|
||||
that.vercodeFlag=0;
|
||||
that.password='';
|
||||
that.seeFlag=0;
|
||||
}
|
||||
},
|
||||
reset(){
|
||||
this.password='';
|
||||
this.passwordFlag=true;
|
||||
this.seeFlag=0;
|
||||
this.vercodeFlag=0;
|
||||
},
|
||||
see(flag){
|
||||
this.passwordFlag=flag;
|
||||
},
|
||||
getVercode(){
|
||||
var that = this;
|
||||
that.disabledFlag=true;
|
||||
that.loadingFlag=true;
|
||||
if(that.phoneNum.length!=11){
|
||||
that.showFlag=1;
|
||||
that.errorMsg='请检查号码';
|
||||
that.loadingFlag=false;
|
||||
setTimeout(function() {
|
||||
that.errorMsg='';
|
||||
that.showFlag=0;
|
||||
that.disabledFlag=false;
|
||||
}, 5000);
|
||||
return;
|
||||
}
|
||||
uni.request({
|
||||
url: that.serverUrl+'/user/authCode',
|
||||
method:'POST',
|
||||
data: {
|
||||
phone:that.phoneNum,
|
||||
devCode:that.cid(),
|
||||
type:0
|
||||
},
|
||||
header: {
|
||||
'content-type': 'application/x-www-form-urlencoded'
|
||||
},
|
||||
sslVerify:false,
|
||||
success: (res) => {
|
||||
that.loadingFlag=false;
|
||||
if(res.data.resultCode=='10000'){
|
||||
that.disabledFlag=false;
|
||||
uni.navigateTo({
|
||||
url:'../vercode/vercode?phoneNum='+that.phoneNum,
|
||||
})
|
||||
}else{
|
||||
that.errorMsg=that.showError(res.data.msgCode,res.data.msg);
|
||||
that.showFlag=1
|
||||
setTimeout(function() {
|
||||
that.errorMsg='';
|
||||
that.showFlag=0;
|
||||
that.disabledFlag=false;
|
||||
}, 5000);
|
||||
}
|
||||
},
|
||||
fail:(re)=>{
|
||||
that.loadingFlag=false;
|
||||
that.disabledFlag=false;
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '网络或服务器异常,请稍后再试',
|
||||
showCancel:false,
|
||||
success: function (res) {
|
||||
if (res.confirm) {
|
||||
console.log('用户点击确定');
|
||||
} else if (res.cancel) {
|
||||
console.log('用户点击取消');
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
},
|
||||
loginIn(account,password){
|
||||
var that = this;
|
||||
that.loadingFlag=true;
|
||||
that.disabledFlag=true;
|
||||
if(account.length!=11){
|
||||
that.loadingFlag=false;
|
||||
that.showFlag=1;
|
||||
that.errorMsg='请检查号码';
|
||||
setTimeout(function() {
|
||||
that.errorMsg='';
|
||||
that.showFlag=0;
|
||||
that.disabledFlag=false;
|
||||
}, 5000);
|
||||
return;
|
||||
}
|
||||
uni.request({
|
||||
url: that.serverUrl+'/user/login',
|
||||
method:'POST',
|
||||
data: {
|
||||
phone:account,
|
||||
devCode:that.cid(),
|
||||
key:password.trim(),
|
||||
type:1
|
||||
},
|
||||
header: {
|
||||
'content-type': 'application/x-www-form-urlencoded'
|
||||
},
|
||||
sslVerify:false,
|
||||
success: (res) => {
|
||||
that.loadingFlag=false;
|
||||
if(res.data.resultCode=='10000'){
|
||||
if(that.rememberFlag==1&&that.phoneNum!=null&&that.phoneNum!=undefined&&that.phoneNum!=''&&that.password!=null&&that.password!=undefined&&that.password!=''){
|
||||
uni.setStorageSync("account",that.phoneNum);
|
||||
uni.setStorageSync("password",that.password);
|
||||
}
|
||||
uni.setStorageSync('loginType',1);
|
||||
uni.setStorageSync("loginTime",new Date())
|
||||
var userInfo = eval(res.data.data);
|
||||
userInfo.phoneNum=that.phoneNum;
|
||||
uni.setStorageSync('userInfo',userInfo);
|
||||
that.disabledFlag=false;
|
||||
// console.log(userInfo.userId)
|
||||
uni.switchTab({
|
||||
url:'../information/information',
|
||||
})
|
||||
}else{
|
||||
var msg = '';
|
||||
if(res.data.msg==undefined||res.data.msg==null||res.data.msg==''){
|
||||
msg = '服务器或网络异常'
|
||||
}else{
|
||||
msg = res.data.msg
|
||||
}
|
||||
that.errorMsg=that.showError(res.data.msgCode,msg);
|
||||
that.showFlag = 1
|
||||
setTimeout(function() {
|
||||
that.errorMsg='';
|
||||
that.showFlag=0;
|
||||
that.disabledFlag=false;
|
||||
}, 5000);
|
||||
}
|
||||
},
|
||||
fail:(re)=>{
|
||||
that.disabledFlag=false;
|
||||
that.loadingFlag=false;
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '服务器或网络异常',
|
||||
showCancel:false,
|
||||
success: function (res) {
|
||||
if (res.confirm) {
|
||||
console.log('用户点击确定');
|
||||
} else if (res.cancel) {
|
||||
console.log('用户点击取消');
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
changeLoginType(type){
|
||||
var that = this;
|
||||
that.loginType=type;
|
||||
that.loadingFlag=false;
|
||||
that.errorMsg='';
|
||||
that.showFlag=0;
|
||||
that.password='';
|
||||
that.passwordFlag=false;
|
||||
that.seeFlag=0;
|
||||
that.vercodeFlag=0
|
||||
if(type==0&&that.phoneNum.length>=10){
|
||||
that.vercodeFlag=1
|
||||
}
|
||||
},
|
||||
jumpToForgetPassword(){
|
||||
uni.navigateTo({
|
||||
url:'../forgetPassword/forgetPassword',
|
||||
})
|
||||
},
|
||||
jumpToFastlogin(){
|
||||
uni.navigateTo({
|
||||
url: '../fastLogin/fastLogin',
|
||||
});
|
||||
},
|
||||
jumpToUserAgreement(){
|
||||
uni.navigateTo({
|
||||
url: '../userAgreement/userAgreement',
|
||||
});
|
||||
},
|
||||
jumpToPrivacyAgreement(){
|
||||
uni.navigateTo({
|
||||
url: '../privacyAgreement/privacyAgreement',
|
||||
});
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
var that=this;
|
||||
// var style = plus.navigator.getUiStyle();
|
||||
// console.log(style)
|
||||
// if('dark'==style){
|
||||
// console.log('当前为暗黑模式');
|
||||
// }else{
|
||||
// console.log('当前为普通模式');
|
||||
// }
|
||||
that.getCid();
|
||||
var cid = that.cid();
|
||||
if(cid){
|
||||
var loginTime = uni.getStorageSync("loginTime");
|
||||
if(loginTime){
|
||||
if((new Date()-loginTime)/(1000*24*60*60)>30||(new Date()-loginTime)<0){
|
||||
uni.removeStorageSync("account");
|
||||
uni.removeStorageSync("password");
|
||||
}else{
|
||||
if(uni.getStorageSync("loginType")==1){
|
||||
var account = uni.getStorageSync("account");
|
||||
var password = uni.getStorageSync("password");
|
||||
if(account!=null&&account!=undefined&&account!=''&&password!=null&&password!=undefined&&password!=''){
|
||||
that.phoneNum=account;
|
||||
that.password=password;
|
||||
that.vercodeFlag=1;
|
||||
that.resetFlag=1;
|
||||
that.seeFlag=1;
|
||||
that.passwordFlag=1;
|
||||
that.loginIn(account,password)
|
||||
}
|
||||
}else{
|
||||
if(uni.getStorageSync("userInfo")){
|
||||
uni.switchTab({
|
||||
url:'../information/information'
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
setTimeout(function(){
|
||||
var loginTime = uni.getStorageSync("loginTime");
|
||||
if(loginTime){
|
||||
if((new Date()-loginTime)/(1000*24*60*60)>30||(new Date()-loginTime)<0){
|
||||
uni.removeStorageSync("account");
|
||||
uni.removeStorageSync("password");
|
||||
}else{
|
||||
var account = uni.getStorageSync("account");
|
||||
var password = uni.getStorageSync("password");
|
||||
if(account!=null&&account!=undefined&&account!=''&&password!=null&&password!=undefined&&password!=''){
|
||||
that.phoneNum=account;
|
||||
that.password=password;
|
||||
that.vercodeFlag=1;
|
||||
that.resetFlag=1;
|
||||
that.seeFlag=1;
|
||||
that.passwordFlag=1;
|
||||
that.loginIn(account,password)
|
||||
}
|
||||
}
|
||||
}
|
||||
},2000)
|
||||
}
|
||||
},
|
||||
components: {
|
||||
back
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
@import url("login.css");
|
||||
</style>
|
||||
Reference in New Issue
Block a user