马宇豪
2025-03-04 1b9fea7d4af68d8f933b2dc42bf6084b9646f64c
src/views/loginPage/component/accountLogin.vue
@@ -85,7 +85,7 @@
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 {verifyPhone,verifyIdCard,verifyPwd} from "/@/utils/toolsValidate"
import { Base64 } from 'js-base64'
export default defineComponent({
    name: 'accountLogin',
@@ -150,18 +150,31 @@
                }else callback();
            }, 400)
        }
        // 修改密码
        const validatePass = (rule: any, value: any, callback: any) => {
            if (value === '') {
                callback(new Error('该内容不能为空'))
            } else {
                if (state.identity.rePassword !== '') {
                    if (!identifyRef.value) return
                    identifyRef.value.validateField('rePassword', () => null)
                }
                callback()
        let validatePwd = (rule: any, value: any, callback: any)=>{
          if(value === ''){
            callback(new Error('请输入密码'))
          }else{
            if(!verifyPwd(value)){
              callback(new Error('密码须包含字母、数字、特殊字符,长度在6-16之间'))
            }else{
              callback()
            }
          }
        }
        // 修改密码
        // const validatePass = (rule: any, value: any, callback: any) => {
        //     if (value === '') {
        //         callback(new Error('该内容不能为空'))
        //     } else {
        //         if (state.identity.rePassword !== '') {
        //             if (!identifyRef.value) return
        //             identifyRef.value.validateField('rePassword', () => null)
        //         }
        //         callback()
        //     }
        // }
        const validatePass2 = (rule: any, value: any, callback: any) => {
            if (value === '') {
                callback(new Error('该内容不能为空'))
@@ -175,7 +188,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' }],
            password: [{ required: true, validator: validatePwd, trigger: 'blur' }],
            rePassword: [{ required: true, validator: validatePass2, trigger: 'blur' }]
        });
@@ -187,15 +200,19 @@
        const onSignIn = async () => {
            state.loading.signIn = true;
            // 存储 token 到浏览器缓存
            let res = await useLoginApi().signIn(state.ruleForm);
            const data = JSON.parse(JSON.stringify(state.ruleForm))
            data.password = Base64.encode(data.password)
            let res = await useLoginApi().signIn(data);
            if (res.data.code === '200') {
                await userInfo.setUserInfos(res.data.data);
                Cookies.set('token', res.data.data.accessToken);
                Cookies.set('projectId', '');
                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);
              console.log(state.ruleForm,'form')
                if (state.saveCode) {
                    localStorage.setItem('userCode', state.ruleForm.username)
                    localStorage.setItem('userPassword', Base64.encode(state.ruleForm.password),)
@@ -230,6 +247,7 @@
        // 登录成功后的跳转
        const signInSuccess = async () => {
            // 初始化登录成功时间问候语
            console.log('登录>>>')
            let currentTimeInfo = currentTime.value;
            // 登录成功,跳到转首页
            // 如果是复制粘贴的路径,非首页/登录页,那么登录成功后重定向到对应的路径中
@@ -297,7 +315,6 @@
            onSignIn,
            identify,
            confirmIdentity,
            validatePass,
            validatePass2,
            ...toRefs(state)
        };