登录页-功能优化

main
ysn 4 days ago
parent fb9809bb5a
commit 5c2e8f3f5a
  1. BIN
      src/assets/images/profile.jpg
  2. 5
      src/layout/components/Navbar.vue
  3. 2
      src/permission.js
  4. 6
      src/store/modules/user.js
  5. 21
      src/views/login.vue

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

@ -50,10 +50,7 @@
trigger="hover" trigger="hover"
> >
<div class="avatar-wrapper"> <div class="avatar-wrapper">
<img <img :src="userInfo.avatar" class="user-avatar" />
:src="config.MINIO_ENDPOINT_HTTPS + userInfo.avatar"
class="user-avatar"
/>
<span class="user-nickname"> <span class="user-nickname">
{{ userInfo.name }} {{ userInfo.name }}
</span> </span>

@ -36,8 +36,8 @@ router.beforeEach((to, from, next) => {
if (store.getters.roles.length === 0) { if (store.getters.roles.length === 0) {
isRelogin.show = true isRelogin.show = true
// 判断当前用户是否已拉取完user_info信息 // 判断当前用户是否已拉取完user_info信息
store.dispatch('GetInfo').then(() => {
store.dispatch('GetNetConfig').then(res => { store.dispatch('GetNetConfig').then(res => {
store.dispatch('GetInfo').then(() => {
isRelogin.show = false isRelogin.show = false
store.dispatch('GenerateRoutes').then(accessRoutes => { store.dispatch('GenerateRoutes').then(accessRoutes => {
// 根据roles权限生成可访问的路由表 // 根据roles权限生成可访问的路由表

@ -7,7 +7,7 @@ import { getToken, getLoginInfo, setToken, setLoginInfo, removeToken, removeLogi
import { isHttp, isEmpty } from "@/utils/validate" import { isHttp, isEmpty } from "@/utils/validate"
import defAva from '@/assets/images/profile.jpg' import defAva from '@/assets/images/profile.jpg'
import { initMinioClient, parseMinioFilePath } from '@/utils/requestMinio' import { initMinioClient, parseMinioFilePath } from '@/utils/requestMinio'
import Cookies from 'js-cookie'
const user = { const user = {
state: { state: {
loginInfo: getLoginInfo(), loginInfo: getLoginInfo(),
@ -78,7 +78,9 @@ const user = {
} else { } else {
commit('SET_ROLES', ['ROLE_DEFAULT']) commit('SET_ROLES', ['ROLE_DEFAULT'])
} }
commit('SET_USER_INFO', user) Cookies.set("avatar", state.netConfig.MINIO_ENDPOINT_HTTPS + user.avatar || defAva, { expires: 30 });
Cookies.set("name", user.name || "", { expires: 30 });
commit('SET_USER_INFO', { ...user, avatar: state.netConfig.MINIO_ENDPOINT_HTTPS + user.avatar || defAva })
cache.session.set('pwrChrtype', res.pwdChrtype) cache.session.set('pwrChrtype', res.pwdChrtype)
/* 初始密码提示 */ /* 初始密码提示 */
if (res.isDefaultModifyPwd) { if (res.isDefaultModifyPwd) {

@ -29,9 +29,9 @@
> >
<div class="form-header"> <div class="form-header">
<div class="role-icon"> <div class="role-icon">
<img :src="$store.state.user.userInfo.avatar" alt="" /> <img :src="loginForm.avatar" alt="" />
</div> </div>
<h3 class="title">你好, {{ $store.state.user.userName }}</h3> <h3 class="title">你好, {{ loginForm.name }}</h3>
</div> </div>
<el-form-item prop="username"> <el-form-item prop="username">
<el-input <el-input
@ -161,22 +161,33 @@ export default {
return CryptoJS.MD5(str).toString(); return CryptoJS.MD5(str).toString();
}, },
getCookie() { getCookie() {
const name = Cookies.get("name");
const avatar = Cookies.get("avatar");
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 = {
name: name,
avatar: avatar,
username: username === undefined ? this.loginForm.username : username, username: username === undefined ? this.loginForm.username : username,
password: password:
password === undefined ? this.loginForm.password : decrypt(password), password === undefined ? this.loginForm.password : decrypt(password),
rememberMe: rememberMe === undefined ? false : Boolean(rememberMe), rememberMe: rememberMe === undefined ? false : Boolean(rememberMe),
}; };
if (this.loginForm.rememberMe == true) {
console.log(this.loginForm);
this.handleLogin(); this.handleLogin();
}
}, },
handleLogin() { handleLogin() {
console.log(this.loginForm,this.$refs.loginFormRef);
this.$refs.loginForm.validate((valid) => { this.$refs.loginForm.validate((valid) => {
console.log(this.loginForm);
if (valid) { if (valid) {
this.loading = true; this.loading = true;
if (this.loginForm.rememberMe) { if (this.loginForm.rememberMe) {
Cookies.set("avatar", this.loginForm.avatar, { expires: 30 });
Cookies.set("name", this.loginForm.name, { expires: 30 });
Cookies.set("username", this.loginForm.username, { expires: 30 }); Cookies.set("username", this.loginForm.username, { expires: 30 });
Cookies.set("password", encrypt(this.loginForm.password), { Cookies.set("password", encrypt(this.loginForm.password), {
expires: 30, expires: 30,
@ -185,6 +196,8 @@ export default {
expires: 30, expires: 30,
}); });
} else { } else {
Cookies.remove("avatar");
Cookies.remove("name");
Cookies.remove("username"); Cookies.remove("username");
Cookies.remove("password"); Cookies.remove("password");
Cookies.remove("rememberMe"); Cookies.remove("rememberMe");
@ -194,7 +207,9 @@ export default {
username: this.loginForm.username, username: this.loginForm.username,
password: this.md5Encrypt(this.loginForm.password), password: this.md5Encrypt(this.loginForm.password),
psign: this.md5Encrypt("xycloud_" + this.loginForm.password), psign: this.md5Encrypt("xycloud_" + this.loginForm.password),
version: this.$store.getters.loginInfo?.upgrade_data?.version || "V01.01.16", version:
this.$store.getters.loginInfo?.upgrade_data?.version ||
"V01.01.16",
}) })
.then(() => { .then(() => {
this.$router.push({ path: this.redirect || "/" }).catch(() => {}); this.$router.push({ path: this.redirect || "/" }).catch(() => {});

Loading…
Cancel
Save