登录修改

main
mo 1 year ago
parent c103785f50
commit c32c0628f6

@ -78,6 +78,10 @@ const user = {
const socialType = userInfo.socialType
return new Promise((resolve, reject) => {
login(username, password, captchaVerification, socialType, socialCode, socialState).then(res => {
console.log(res)
if(res.result){
alert(res.result)
}
res = res.data;
// 设置 token
setToken(res)

@ -2,42 +2,89 @@
<div class="login">
<div class="login-in-box">
<div class="login-left">
<img src="@/assets/images/demo.png" alt="">
<img src="@/assets/images/demo.png" alt="" />
</div>
<div class="login-right">
<div class="login-form">
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
<el-form
ref="loginForm"
:model="loginForm"
:rules="loginRules"
class="login-form"
>
<el-form-item>
<div class="login-title">链友融财务数字一体化信息系统</div>
</el-form-item>
<el-form-item prop="tenantName" v-if="tenantEnable">
<el-input v-model="loginForm.tenantName" type="text" size="small" auto-complete="off" placeholder='单位'>
<svg-icon slot="prefix" icon-class="tree" class="el-input__icon input-icon" />
<el-input
v-model="loginForm.tenantName"
type="text"
size="small"
auto-complete="off"
placeholder="单位"
>
<svg-icon
slot="prefix"
icon-class="tree"
class="el-input__icon input-icon"
/>
</el-input>
</el-form-item>
<el-form-item prop="username">
<el-input v-model="loginForm.username" type="text" size="small" auto-complete="off" placeholder="账号">
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
<el-input
v-model="loginForm.username"
type="text"
size="small"
auto-complete="off"
placeholder="账号"
>
<svg-icon
slot="prefix"
icon-class="user"
class="el-input__icon input-icon"
/>
</el-input>
</el-form-item>
<el-form-item prop="password">
<el-input v-model="loginForm.password" type="password" size="small" auto-complete="off" placeholder="密码">
<svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
<el-input
v-model="loginForm.password"
type="password"
size="small"
auto-complete="off"
placeholder="密码"
>
<svg-icon
slot="prefix"
icon-class="password"
class="el-input__icon input-icon"
/>
</el-input>
</el-form-item>
<el-form-item>
<div class="login-btn">
<div class="btn-lf">
<el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;"></el-checkbox>
<el-checkbox
v-model="loginForm.rememberMe"
style="margin: 0px 0px 25px 0px"
>记住密码</el-checkbox
>
</div>
<div class="btn-rt">
<el-button type="primary" @click.native.prevent="getCode" size="small" :loading="loading">登陆</el-button>
<el-button
type="primary"
@click.native.prevent="getCode"
size="small"
:loading="loading"
>登陆</el-button
>
</div>
</div>
</el-form-item>
<el-form-item>
<div class="forget-box">
<el-button type="text" @click="handleToRepass"></el-button>
<el-button type="text" @click="handleToRepass"
>忘记密码</el-button
>
</div>
</el-form-item>
</el-form>
@ -45,7 +92,12 @@
</div>
</div>
<!-- 图形验证码 -->
<Verify ref="verify" :captcha-type="'blockPuzzle'" :img-size="{width:'400px',height:'200px'}" @success="handleLogin" />
<Verify
ref="verify"
:captcha-type="'blockPuzzle'"
:img-size="{ width: '400px', height: '200px' }"
@success="handleLogin"
/>
</div>
</template>
@ -56,21 +108,27 @@ import { SystemUserSocialTypeEnum } from "@/utils/constants";
import { getCaptchaEnable, getTenantEnable } from "@/utils/ruoyi";
import {
getPassword,
getRememberMe, getTenantName,
getRememberMe,
getTenantName,
getUsername,
removePassword, removeRememberMe, removeTenantName,
removePassword,
removeRememberMe,
removeTenantName,
removeUsername,
setPassword, setRememberMe, setTenantId, setTenantName,
setUsername
setPassword,
setRememberMe,
setTenantId,
setTenantName,
setUsername,
} from "@/utils/auth";
import Verify from '@/components/Verifition/Verify';
import Verify from "@/components/Verifition/Verify";
import { resetUserPwd } from "@/api/system/user";
export default {
name: "Login",
components: {
Verify
Verify,
},
data() {
return {
@ -91,10 +149,10 @@ export default {
scene: 21,
loginRules: {
username: [
{ required: true, trigger: "blur", message: "请输入您的账号" }
{ required: true, trigger: "blur", message: "请输入您的账号" },
],
password: [
{ required: true, trigger: "blur", message: "请输入您的密码" }
{ required: true, trigger: "blur", message: "请输入您的密码" },
],
code: [{ required: true, trigger: "change", message: "请输入验证码" }],
tenantName: [
@ -102,20 +160,20 @@ export default {
{
validator: (rule, value, callback) => {
// debugger
getTenantIdByName(value).then(res => {
getTenantIdByName(value).then((res) => {
const tenantId = res.data.id;
if (tenantId && tenantId >= 0) {
//
setTenantId(tenantId)
setTenantId(tenantId);
callback();
} else {
callback('单位不存在');
callback("单位不存在");
}
});
},
trigger: 'blur'
}
]
trigger: "blur",
},
],
},
loading: false,
redirect: undefined,
@ -127,35 +185,38 @@ export default {
//
this.tenantEnable = getTenantEnable();
if (this.tenantEnable) {
getTenantIdByName(this.loginForm.tenantName).then(res => { //
getTenantIdByName(this.loginForm.tenantName).then((res) => {
//
const tenantId = res.data.id;
window.localStorage.setItem('cn', res.data.name)
window.localStorage.setItem("cn", res.data.name);
if (tenantId && tenantId >= 0) {
setTenantId(tenantId)
setTenantId(tenantId);
}
});
}
//
this.captchaEnable = getCaptchaEnable();
//
this.redirect = this.$route.query.redirect ? decodeURIComponent(this.$route.query.redirect) : undefined;
console.log('this.redirect', this.redirect);
this.redirect = this.$route.query.redirect
? decodeURIComponent(this.$route.query.redirect)
: undefined;
console.log("this.redirect", this.redirect);
this.getCookie();
},
methods: {
handleToRepass() {
this.$router.push("/rePassword")
this.$router.push("/rePassword");
},
getCode() {
//
if (!this.captchaEnable) {
this.handleLogin({})
this.handleLogin({});
return;
}
//
//
this.$refs.verify.show()
this.$refs.verify.show();
},
getCookie() {
const username = getUsername();
@ -171,29 +232,35 @@ export default {
};
},
handleLogin(captchaParams) {
console.log('151131', captchaParams);
this.$refs.loginForm.validate(valid => {
// console.log("151131", captchaParams);
this.$refs.loginForm.validate((valid) => {
if (valid) {
this.loading = true;
// Cookie
if (this.loginForm.rememberMe) {
setUsername(this.loginForm.username)
setPassword(this.loginForm.password)
setRememberMe(this.loginForm.rememberMe)
setTenantName(this.loginForm.tenantName)
setUsername(this.loginForm.username);
setPassword(this.loginForm.password);
setRememberMe(this.loginForm.rememberMe);
setTenantName(this.loginForm.tenantName);
} else {
removeUsername()
removePassword()
removeRememberMe()
removeTenantName()
removeUsername();
removePassword();
removeRememberMe();
removeTenantName();
}
this.loginForm.captchaVerification = captchaParams.captchaVerification
this.loginForm.captchaVerification =
captchaParams.captchaVerification;
//
// console.log("", this.loginForm);
this.$store.dispatch(this.loginForm.loginType === "sms" ? "SmsLogin" : "Login", this.loginForm).then(() => {
this.$router.push({ path: this.redirect || "/" }).catch(() => {
});
}).catch(() => {
this.$store
.dispatch(
this.loginForm.loginType === "sms" ? "SmsLogin" : "Login",
this.loginForm
)
.then(() => {
this.$router.push({ path: this.redirect || "/" }).catch(() => {});
})
.catch(() => {
this.loading = false;
});
}
@ -204,35 +271,47 @@ export default {
this.loading = true;
let tenant = false;
if (this.tenantEnable) {
await this.$prompt('请输入租户名称', "提示", {
await this.$prompt("请输入租户名称", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消"
}).then(async ({ value }) => {
await getTenantIdByName(value).then(res => {
cancelButtonText: "取消",
})
.then(async ({ value }) => {
await getTenantIdByName(value).then((res) => {
const tenantId = res.data.id;
window.localStorage.setItem('cn', res.data.name)
tenant = true
window.localStorage.setItem("cn", res.data.name);
tenant = true;
if (tenantId && tenantId >= 0) {
setTenantId(tenantId)
setTenantId(tenantId);
}
});
}).catch(() => {
})
.catch(() => {
// loading
this.loading = false;
return false
return false;
});
} else {
tenant = true
tenant = true;
}
if (tenant) {
// redirectUri
const redirectUri = location.origin + '/social-login?'
+ encodeURIComponent('type=' + socialTypeEnum.type + '&redirect=' + (this.redirect || "/")); //
const redirectUri =
location.origin +
"/social-login?" +
encodeURIComponent(
"type=" +
socialTypeEnum.type +
"&redirect=" +
(this.redirect || "/")
); //
// const redirectUri = 'http://127.0.0.1:48080/api/gitee/callback';
// const redirectUri = 'http://127.0.0.1:48080/api/dingtalk/callback';
//
socialAuthRedirect(socialTypeEnum.type, encodeURIComponent(redirectUri)).then((res) => {
socialAuthRedirect(
socialTypeEnum.type,
encodeURIComponent(redirectUri)
).then((res) => {
// console.log(res.url);
window.location.href = res.data;
});
@ -241,10 +320,15 @@ export default {
/** ========== 以下为升级短信登录 ========== */
getSmsCode() {
if (this.mobileCodeTimer > 0) return;
this.$refs.loginForm.validate(valid => {
this.$refs.loginForm.validate((valid) => {
if (!valid) return;
sendSmsCode(this.loginForm.mobile, this.scene, this.loginForm.uuid, this.loginForm.code).then(res => {
this.$modal.msgSuccess("获取验证码成功")
sendSmsCode(
this.loginForm.mobile,
this.scene,
this.loginForm.uuid,
this.loginForm.code
).then((res) => {
this.$modal.msgSuccess("获取验证码成功");
this.mobileCodeTimer = 60;
let msgTimer = setInterval(() => {
this.mobileCodeTimer = this.mobileCodeTimer - 1;
@ -254,10 +338,10 @@ export default {
}, 1000);
});
});
}
}
},
},
};
</script>
<style lang="scss" scoped>
@import '~@/assets/styles/login.scss';
@import "~@/assets/styles/login.scss";
</style>

Loading…
Cancel
Save