This commit is contained in:
曹辉 2022-11-21 17:10:52 +08:00
parent d07c6f64f0
commit 34cfa5e34c
3 changed files with 261 additions and 250 deletions

View File

@ -82,8 +82,7 @@ service.interceptors.response.use(res => {
confirmButtonText: '重新登录', confirmButtonText: '重新登录',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
} }).then(() => {
).then(() => {
isRelogin.show = false; isRelogin.show = false;
store.dispatch('LogOut').then(() => { store.dispatch('LogOut').then(() => {
location.href = '/index'; location.href = '/index';
@ -99,6 +98,8 @@ service.interceptors.response.use(res => {
type: 'error' type: 'error'
}) })
return Promise.reject(new Error(msg)) return Promise.reject(new Error(msg))
} else if (code === 600) {
return Promise.reject(new Error(msg))
} else if (code !== 200) { } else if (code !== 200) {
Notification.error({ Notification.error({
title: msg title: msg
@ -113,11 +114,9 @@ service.interceptors.response.use(res => {
let { message } = error; let { message } = error;
if (message == "Network Error") { if (message == "Network Error") {
message = "后端接口连接异常"; message = "后端接口连接异常";
} } else if (message.includes("timeout")) {
else if (message.includes("timeout")) {
message = "系统接口请求超时"; message = "系统接口请求超时";
} } else if (message.includes("Request failed with status code")) {
else if (message.includes("Request failed with status code")) {
message = "系统接口" + message.substr(message.length - 3) + "异常"; message = "系统接口" + message.substr(message.length - 3) + "异常";
} }
Message({ Message({

View File

@ -13,7 +13,7 @@
type="text" type="text"
auto-complete="off" auto-complete="off"
placeholder="账号" placeholder="账号"
style="width: 310px;" style="width: 310px"
> >
<svg-icon <svg-icon
slot="prefix" slot="prefix"
@ -68,7 +68,7 @@
style=" style="
width: 300px; width: 300px;
height: 50px; height: 50px;
background-image: linear-gradient(to right, #01A4FF, #1259EE ); background-image: linear-gradient(to right, #01a4ff, #1259ee);
border-radius: -33px; border-radius: -33px;
border: none; border: none;
color: #ffffff; color: #ffffff;
@ -90,7 +90,7 @@
<img <img
src="../assets/images/bg3.png" src="../assets/images/bg3.png"
alt="" alt=""
style="width: 1400px; height: 700px; border-radius: 0 6px 6px 0;" style="width: 1400px; height: 700px; border-radius: 0 6px 6px 0"
/> />
</div> </div>
<!-- 底部 --> <!-- 底部 -->
@ -103,7 +103,7 @@
<script> <script>
import { getCodeImg } from "@/api/login"; import { getCodeImg } from "@/api/login";
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import { encrypt, decrypt } from '@/utils/jsencrypt' import { encrypt, decrypt } from "@/utils/jsencrypt";
export default { export default {
name: "Login", name: "Login",
@ -115,23 +115,23 @@ export default {
password: "admin123", password: "admin123",
rememberMe: false, rememberMe: false,
code: "", code: "",
uuid: "" uuid: "",
}, },
loginRules: { loginRules: {
username: [ username: [
{ required: true, trigger: "blur", message: "请输入您的账号" } { required: true, trigger: "blur", message: "请输入您的账号" },
], ],
password: [ password: [
{ required: true, trigger: "blur", message: "请输入您的密码" } { required: true, trigger: "blur", message: "请输入您的密码" },
], ],
code: [{ required: true, trigger: "change", message: "请输入验证码" }] code: [{ required: true, trigger: "change", message: "请输入验证码" }],
}, },
loading: false, loading: false,
// //
captchaOnOff: true, captchaOnOff: true,
// //
register: false, register: false,
redirect: undefined redirect: undefined,
}; };
}, },
watch: { watch: {
@ -139,8 +139,8 @@ export default {
handler: function (route) { handler: function (route) {
this.redirect = route.query && route.query.redirect; this.redirect = route.query && route.query.redirect;
}, },
immediate: true immediate: true,
} },
}, },
created() { created() {
this.getCode(); this.getCode();
@ -148,8 +148,9 @@ export default {
}, },
methods: { methods: {
getCode() { getCode() {
getCodeImg().then(res => { getCodeImg().then((res) => {
this.captchaOnOff = res.captchaOnOff === undefined ? true : res.captchaOnOff; this.captchaOnOff =
res.captchaOnOff === undefined ? true : res.captchaOnOff;
if (this.captchaOnOff) { if (this.captchaOnOff) {
this.codeUrl = "data:image/gif;base64," + res.img; this.codeUrl = "data:image/gif;base64," + res.img;
this.loginForm.uuid = res.uuid; this.loginForm.uuid = res.uuid;
@ -159,29 +160,40 @@ export default {
getCookie() { getCookie() {
const username = Cookies.get("username"); const username = Cookies.get("username");
const password = Cookies.get("password"); const password = Cookies.get("password");
const rememberMe = Cookies.get('rememberMe') const rememberMe = Cookies.get("rememberMe");
this.loginForm = { this.loginForm = {
username: username === undefined ? this.loginForm.username : username, username: username === undefined ? this.loginForm.username : username,
password: password === undefined ? this.loginForm.password : decrypt(password), password:
rememberMe: rememberMe === undefined ? false : Boolean(rememberMe) password === undefined ? this.loginForm.password : decrypt(password),
rememberMe: rememberMe === undefined ? false : Boolean(rememberMe),
}; };
}, },
handleLogin() { handleLogin() {
this.$refs.loginForm.validate(valid => { this.$refs.loginForm.validate((valid) => {
if (valid) { if (valid) {
this.loading = true; this.loading = true;
if (this.loginForm.rememberMe) { if (this.loginForm.rememberMe) {
Cookies.set("username", this.loginForm.username, { expires: 30 }); Cookies.set("username", this.loginForm.username, { expires: 30 });
Cookies.set("password", encrypt(this.loginForm.password), { expires: 30 }); Cookies.set("password", encrypt(this.loginForm.password), {
Cookies.set('rememberMe', this.loginForm.rememberMe, { expires: 30 }); expires: 30,
});
Cookies.set("rememberMe", this.loginForm.rememberMe, {
expires: 30,
});
} else { } else {
Cookies.remove("username"); Cookies.remove("username");
Cookies.remove("password"); Cookies.remove("password");
Cookies.remove('rememberMe'); Cookies.remove("rememberMe");
} }
this.$store.dispatch("Login", this.loginForm).then(() => { this.$store
.dispatch("Login", this.loginForm)
.then(() => {
this.$router.push({ path: this.redirect || "/" }).catch(() => {}); this.$router.push({ path: this.redirect || "/" }).catch(() => {});
}).catch(() => { setTimeout(() => {
this.loading = false;
}, 1500);
})
.catch(() => {
this.loading = false; this.loading = false;
if (this.captchaOnOff) { if (this.captchaOnOff) {
this.getCode(); this.getCode();
@ -189,8 +201,8 @@ export default {
}); });
} }
}); });
} },
} },
}; };
</script> </script>
@ -210,7 +222,7 @@ export default {
line-height: 36px; line-height: 36px;
// background-color: red; // background-color: red;
border: none; border: none;
border: 1px solid #E5E5E5; border: 1px solid #e5e5e5;
border-radius: 36px; border-radius: 36px;
} }
.login { .login {