From d0d78b9fbe144326f136ee048bb59d314413032e Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: Tue, 27 May 2025 08:45:29 +0800
Subject: [PATCH] 修改导出
---
src/views/loginPage/component/accountLogin.vue | 83 ++++++++++++++++++++++++++---------------
1 files changed, 53 insertions(+), 30 deletions(-)
diff --git a/src/views/loginPage/component/accountLogin.vue b/src/views/loginPage/component/accountLogin.vue
index 167d6b1..d0c412f 100644
--- a/src/views/loginPage/component/accountLogin.vue
+++ b/src/views/loginPage/component/accountLogin.vue
@@ -1,14 +1,14 @@
<template>
<el-form size="large" class="login-content-form">
<el-form-item class="login-animation1">
- <el-input type="text" :placeholder="$t('message.account.accountPlaceholder1')" v-model="ruleForm.username" clearable autocomplete="off" size="large">
+ <el-input type="text" placeholder="请输入用户名" v-model="ruleForm.name" clearable autocomplete="off" size="large">
<template #prefix>
<el-icon class="el-input__icon" style="margin-right: 20px"><img src="../../../assets/loginPage/login_icon_user.png" style="width: 24px; height: 24px" /></el-icon>
</template>
</el-input>
</el-form-item>
<el-form-item class="login-animation2">
- <el-input :type="isShowPassword ? 'text' : 'password'" :placeholder="$t('message.account.accountPlaceholder2')" v-model="ruleForm.password" autocomplete="off" size="large" @keyup.enter.native="onSignIn">
+ <el-input :type="isShowPassword ? 'text' : 'password'" placeholder="请输入密码" v-model="ruleForm.pwd" autocomplete="off" size="large" @keyup.enter.native="onSignIn">
<template #prefix>
<el-icon class="el-input__icon" style="margin-right: 20px"><img src="../../../assets/loginPage/login_icon_password.png" style="width: 24px; height: 24px" /></el-icon>
</template>
@@ -19,13 +19,13 @@
</el-form-item>
<el-form-item class="login-animation4 codeDeal">
<el-checkbox v-model="saveCode" label="记住密码" size="large" />
- <span class="forgetCode" @click="identify">忘记密码?</span>
+<!-- <span class="forgetCode" @click="identify">忘记密码?</span>-->
</el-form-item>
- <el-form-item class="login-animation4">
+ <div class="btnBox">
<el-button type="primary" class="login-content-submit" round @click="onSignIn" :loading="loading.signIn">
- <span>登录系统</span>
+ <span>登 录</span>
</el-button>
- </el-form-item>
+ </div>
</el-form>
<el-dialog v-model="identifyDialog" title="重置密码" width="30%" center @close="clearIdentity">
<el-form :model="identity" label-width="80px" ref="identifyRef" :rules="identityRules">
@@ -84,9 +84,10 @@
import { useLoginApi } from '/@/api/login';
import { useUserInfo } from '/@/stores/userInfo';
import type { FormInstance, FormRules } from 'element-plus'
-import {workApplyApi} from "/@/api/specialWorkSystem/workApply";
+
import {verifyPhone,verifyIdCard} from "/@/utils/toolsValidate"
import { Base64 } from 'js-base64'
+import {useMenuApi} from "/@/api/systemManage/menu";
export default defineComponent({
name: 'accountLogin',
setup() {
@@ -100,8 +101,8 @@
showRePass: false,
saveCode: false,
ruleForm: {
- username: '',
- password: ''
+ name: '',
+ pwd: ''
},
loading: {
signIn: false
@@ -113,7 +114,8 @@
password: '',
rePassword: ''
},
- identifyDialog: false
+ identifyDialog: false,
+ menu: []
});
const identifyRef = ref<FormInstance>()
@@ -125,7 +127,7 @@
const hasUserCodeOrPassword =()=> {
if (localStorage.getItem('userCode') && localStorage.getItem('userPassword')) {
- state.ruleForm.username = localStorage.getItem('userCode') as string
+ state.ruleForm.name = localStorage.getItem('userCode') as string
state.ruleForm.password = Base64.decode(localStorage.getItem('userPassword'))//解密
state.saveCode = true
}
@@ -175,7 +177,7 @@
realName: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
identify: [{ required: true, validator: checkCode, trigger: 'blur'}],
phone: [{ required: true, validator: checkPhone, trigger: 'blur' }],
- password: [{ required: true, validator: validatePass, trigger: 'blur' }],
+ pwd: [{ required: true, validator: validatePass, trigger: 'blur' }],
rePassword: [{ required: true, validator: validatePass2, trigger: 'blur' }]
});
@@ -188,17 +190,16 @@
state.loading.signIn = true;
// 存储 token 到浏览器缓存
let res = await useLoginApi().signIn(state.ruleForm);
- if (res.data.code === '200') {
+ if (res.data.code === 100) {
+ console.log(res.data.data,'user')
await userInfo.setUserInfos(res.data.data);
- Cookies.set('token', res.data.data.accessToken);
- Cookies.set('projectId', '');
+ Cookies.set('token', res.data.data.tk);
Cookies.set('uid', res.data.data.uid);
- Cookies.set('depId', res.data.data.depId);
// Session.set('token', res.data.data.accessToken);
// Session.set('projectId', '');
// Session.set('uid', res.data.data.uid);
if (state.saveCode) {
- localStorage.setItem('userCode', state.ruleForm.username)
+ localStorage.setItem('userCode', state.ruleForm.name)
localStorage.setItem('userPassword', Base64.encode(state.ruleForm.password),)
} else {
localStorage.removeItem('userCode')
@@ -215,7 +216,7 @@
state.loading.signIn = false;
// Session.set('token', Math.random().toString(36).substr(0));
// // 模拟数据,对接接口时,记得删除多余代码及对应依赖的引入。用于 `/src/stores/userInfo.ts` 中不同用户登录判断(模拟数据)
- // Cookies.set('userName', state.ruleForm.username);
+ // Cookies.set('name', state.ruleForm.name);
// if (!themeConfig.value.isRequestRoutes) {
// // 前端控制路由,2、请注意执行顺序
// await initFrontEndControlRoutes();
@@ -228,17 +229,34 @@
// signInSuccess();
// }
};
+
+ const getMenu = async () => {
+ let res = await useMenuApi().getMenuAdmin();
+ if (res.data.code === 100) {
+ state.menu = JSON.parse(JSON.stringify(res.data.data))
+ router.push(state.menu[0].children[0].path);
+ } else {
+ ElMessage({
+ type: 'warning',
+ message: res.data.msg
+ });
+ }
+
+ };
+
// 登录成功后的跳转
const signInSuccess = async () => {
// 初始化登录成功时间问候语
let currentTimeInfo = currentTime.value;
// 登录成功,跳到转首页
// 如果是复制粘贴的路径,非首页/登录页,那么登录成功后重定向到对应的路径中
- // if (route.query?.redirect) {
- router.push('/newMenu');
+ // if (route.json.query?.redirect) {
+ getMenu()
+ // console.log(state.menu,'menu')
+
// router.push({
- // path: <string>route.query?.redirect,
- // query: Object.keys(<string>route.query?.params).length > 0 ? JSON.parse(<string>route.query?.params) : '',
+ // path: <string>route.json.query?.redirect,
+ // query: Object.keys(<string>route.json.query?.params).length > 0 ? JSON.parse(<string>route.json.query?.params) : '',
// });
// } else {
// router.push('/loginPage');
@@ -294,6 +312,7 @@
return {
identifyRef,
identityRules,
+ getMenu,
clearIdentity,
onSignIn,
identify,
@@ -309,13 +328,12 @@
<style scoped lang="scss">
.login-content-form {
margin-top: 40px;
- width: 100%;
+ width: 80%;
.el-input::v-deep .el-input__wrapper {
height: 56px;
- border-radius: 28px;
+ border-radius: 4px;
padding: 0 30px;
- background: #f2f2f2;
&:focus-within {
border: 1px solid #2053d7;
}
@@ -352,19 +370,24 @@
font-weight: bold;
letter-spacing: 5px;
}
+ .btnBox{
+ display: flex;
+ justify-content: center;
+ }
.login-content-submit {
- width: 100%;
+ width: 55%;
height: 56px;
- font-size: 16px;
- border-radius: 28px;
+ font-size: 18px;
+ border-radius: 6px;
letter-spacing: 4px;
font-weight: 300;
margin-top: 15px;
- background: #2053d7;
+ background-image: linear-gradient(to right,#545EF1,#6B8CF1);
transition: 0.3s;
+ box-shadow: 0 8px 30px rgba(88,101,241,.4);
&:hover {
letter-spacing: 6px;
- background: #4e7aec;
+ background-image: linear-gradient(to left,#545EF1,#6B8CF1);
}
}
}
--
Gitblit v1.9.2