|
|
|
@ -154,10 +154,24 @@ import { useRouter } from 'vue-router'
|
|
|
|
import type { RouteLocationNormalizedLoaded } from 'vue-router'
|
|
|
|
import type { RouteLocationNormalizedLoaded } from 'vue-router'
|
|
|
|
import { useI18n } from '@/hooks/web/useI18n'
|
|
|
|
import { useI18n } from '@/hooks/web/useI18n'
|
|
|
|
import { useIcon } from '@/hooks/web/useIcon'
|
|
|
|
import { useIcon } from '@/hooks/web/useIcon'
|
|
|
|
import { useCache } from '@/hooks/web/useCache'
|
|
|
|
|
|
|
|
import { required } from '@/utils/formRules'
|
|
|
|
import { required } from '@/utils/formRules'
|
|
|
|
import { setToken, setTenantId } from '@/utils/auth'
|
|
|
|
import {
|
|
|
|
import { decrypt, encrypt } from '@/utils/jsencrypt'
|
|
|
|
setToken,
|
|
|
|
|
|
|
|
setTenantId,
|
|
|
|
|
|
|
|
setUsername,
|
|
|
|
|
|
|
|
setPassword,
|
|
|
|
|
|
|
|
setRememberMe,
|
|
|
|
|
|
|
|
setTenantName,
|
|
|
|
|
|
|
|
removeUsername,
|
|
|
|
|
|
|
|
removePassword,
|
|
|
|
|
|
|
|
removeRememberMe,
|
|
|
|
|
|
|
|
removeTenantName,
|
|
|
|
|
|
|
|
getUsername,
|
|
|
|
|
|
|
|
getPassword,
|
|
|
|
|
|
|
|
getRememberMe,
|
|
|
|
|
|
|
|
getTenantName
|
|
|
|
|
|
|
|
} from '@/utils/auth'
|
|
|
|
|
|
|
|
import { decrypt } from '@/utils/jsencrypt'
|
|
|
|
import { Icon } from '@/components/Icon'
|
|
|
|
import { Icon } from '@/components/Icon'
|
|
|
|
import { Verify } from '@/components/Verifition'
|
|
|
|
import { Verify } from '@/components/Verifition'
|
|
|
|
import { usePermissionStore } from '@/store/modules/permission'
|
|
|
|
import { usePermissionStore } from '@/store/modules/permission'
|
|
|
|
@ -166,7 +180,6 @@ import { LoginStateEnum, useLoginState, useFormValid } from './useLogin'
|
|
|
|
|
|
|
|
|
|
|
|
const { t } = useI18n()
|
|
|
|
const { t } = useI18n()
|
|
|
|
const formLogin = ref()
|
|
|
|
const formLogin = ref()
|
|
|
|
const { wsCache } = useCache()
|
|
|
|
|
|
|
|
const { validForm } = useFormValid(formLogin)
|
|
|
|
const { validForm } = useFormValid(formLogin)
|
|
|
|
const { setLoginState, getLoginState } = useLoginState()
|
|
|
|
const { setLoginState, getLoginState } = useLoginState()
|
|
|
|
const { currentRoute, push } = useRouter()
|
|
|
|
const { currentRoute, push } = useRouter()
|
|
|
|
@ -195,11 +208,9 @@ const loginData = reactive({
|
|
|
|
signIn: false
|
|
|
|
signIn: false
|
|
|
|
},
|
|
|
|
},
|
|
|
|
loginForm: {
|
|
|
|
loginForm: {
|
|
|
|
tenantName: wsCache.get('tenantName') ? wsCache.get('tenantName') : '芋道源码',
|
|
|
|
tenantName: '芋道源码',
|
|
|
|
username: wsCache.get('username') ? wsCache.get('username') : 'admin',
|
|
|
|
username: 'admin',
|
|
|
|
password: wsCache.get('password')
|
|
|
|
password: 'admin123',
|
|
|
|
? (decrypt(wsCache.get('password')) as unknown as string)
|
|
|
|
|
|
|
|
: 'admin123',
|
|
|
|
|
|
|
|
captchaVerification: '',
|
|
|
|
captchaVerification: '',
|
|
|
|
rememberMe: false
|
|
|
|
rememberMe: false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -223,12 +234,10 @@ const getTenantId = async () => {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// 记住我
|
|
|
|
// 记住我
|
|
|
|
const getCookie = () => {
|
|
|
|
const getCookie = () => {
|
|
|
|
const username = wsCache.get('username')
|
|
|
|
const username = getUsername()
|
|
|
|
const password = wsCache.get('password')
|
|
|
|
const password = getPassword() ? decrypt(getPassword() as unknown as string) : undefined
|
|
|
|
? (decrypt(wsCache.get('password')) as unknown as string)
|
|
|
|
const rememberMe = getRememberMe()
|
|
|
|
: undefined
|
|
|
|
const tenantName = getTenantName()
|
|
|
|
const rememberMe = wsCache.get('rememberMe')
|
|
|
|
|
|
|
|
const tenantName = wsCache.get('tenantName')
|
|
|
|
|
|
|
|
loginData.loginForm = {
|
|
|
|
loginData.loginForm = {
|
|
|
|
...loginData.loginForm,
|
|
|
|
...loginData.loginForm,
|
|
|
|
username: username ? username : loginData.loginForm.username,
|
|
|
|
username: username ? username : loginData.loginForm.username,
|
|
|
|
@ -257,17 +266,15 @@ const handleLogin = async (params) => {
|
|
|
|
background: 'rgba(0, 0, 0, 0.7)'
|
|
|
|
background: 'rgba(0, 0, 0, 0.7)'
|
|
|
|
})
|
|
|
|
})
|
|
|
|
if (loginData.loginForm.rememberMe) {
|
|
|
|
if (loginData.loginForm.rememberMe) {
|
|
|
|
wsCache.set('username', loginData.loginForm.username, { exp: 30 * 24 * 60 * 60 })
|
|
|
|
setUsername(loginData.loginForm.username)
|
|
|
|
wsCache.set('password', encrypt(loginData.loginForm.password as unknown as string), {
|
|
|
|
setPassword(loginData.loginForm.password)
|
|
|
|
exp: 30
|
|
|
|
setRememberMe(loginData.loginForm.rememberMe)
|
|
|
|
})
|
|
|
|
setTenantName(loginData.loginForm.tenantName)
|
|
|
|
wsCache.set('rememberMe', loginData.loginForm.rememberMe, { exp: 30 * 24 * 60 * 60 })
|
|
|
|
|
|
|
|
wsCache.set('tenantName', loginData.loginForm.tenantName, { exp: 30 * 24 * 60 * 60 })
|
|
|
|
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
wsCache.delete('username')
|
|
|
|
removeUsername()
|
|
|
|
wsCache.delete('password')
|
|
|
|
removePassword()
|
|
|
|
wsCache.delete('rememberMe')
|
|
|
|
removeRememberMe()
|
|
|
|
wsCache.delete('tenantName')
|
|
|
|
removeTenantName()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
setToken(res)
|
|
|
|
setToken(res)
|
|
|
|
if (!redirect.value) {
|
|
|
|
if (!redirect.value) {
|
|
|
|
|