Commit 2dd1e01183c6e2c356c8e253683f88579e2d4417

Authored by xingyu
1 parent 6a9244a7

perf: 简化login代码

yudao-ui-admin-vue3/src/hooks/web/useVxeCrudSchemas.ts
@@ -165,7 +165,7 @@ const filterSearchSchema = (crudSchema: VxeCrudSchema): VxeFormItemProps[] => { @@ -165,7 +165,7 @@ const filterSearchSchema = (crudSchema: VxeCrudSchema): VxeFormItemProps[] => {
165 // 添加搜索按钮 165 // 添加搜索按钮
166 const buttons: VxeFormItemProps = { 166 const buttons: VxeFormItemProps = {
167 span: 24, 167 span: 24,
168 - align: 'center', 168 + align: 'right',
169 collapseNode: searchSchema.length > spanLength, 169 collapseNode: searchSchema.length > spanLength,
170 itemRender: { 170 itemRender: {
171 name: '$buttons', 171 name: '$buttons',
yudao-ui-admin-vue3/src/utils/auth.ts
@@ -36,45 +36,28 @@ export const formatToken = (token: string): string => { @@ -36,45 +36,28 @@ export const formatToken = (token: string): string => {
36 } 36 }
37 // ========== 账号相关 ========== 37 // ========== 账号相关 ==========
38 38
39 -const UsernameKey = 'USERNAME'  
40 -const PasswordKey = 'PASSWORD'  
41 -const RememberMeKey = 'REMEMBER_ME' 39 +const LoginFormKey = 'LOGINFORM'
42 40
43 -export const getUsername = () => {  
44 - return wsCache.get(UsernameKey) 41 +export type LoginFormType = {
  42 + tenantName: string
  43 + username: string
  44 + password: string
  45 + rememberMe: boolean
45 } 46 }
46 47
47 -export const setUsername = (username: string) => {  
48 - wsCache.set(UsernameKey, username, { exp: 30 * 24 * 60 * 60 }) 48 +export const getLoginForm = () => {
  49 + const loginForm: LoginFormType = wsCache.get(LoginFormKey)
  50 + loginForm.password = decrypt(loginForm.password) as string
  51 + return loginForm
49 } 52 }
50 53
51 -export const removeUsername = () => {  
52 - wsCache.delete(UsernameKey) 54 +export const setLoginForm = (loginForm: LoginFormType) => {
  55 + loginForm.password = encrypt(loginForm.password) as string
  56 + wsCache.set(LoginFormKey, loginForm, { exp: 30 * 24 * 60 * 60 })
53 } 57 }
54 58
55 -export const getPassword = () => {  
56 - const password = wsCache.get(PasswordKey)  
57 - return password ? decrypt(password) : undefined  
58 -}  
59 -  
60 -export const setPassword = (password: string) => {  
61 - wsCache.set(PasswordKey, encrypt(password), { exp: 30 * 24 * 60 * 60 })  
62 -}  
63 -  
64 -export const removePassword = () => {  
65 - wsCache.delete(PasswordKey)  
66 -}  
67 -  
68 -export const getRememberMe = () => {  
69 - return wsCache.get(RememberMeKey) === true  
70 -}  
71 -  
72 -export const setRememberMe = (rememberMe: boolean) => {  
73 - wsCache.set(RememberMeKey, rememberMe, { exp: 30 * 24 * 60 * 60 })  
74 -}  
75 -  
76 -export const removeRememberMe = () => {  
77 - wsCache.delete(RememberMeKey) 59 +export const removeLoginForm = () => {
  60 + wsCache.delete(LoginFormKey)
78 } 61 }
79 62
80 // ========== 租户相关 ========== 63 // ========== 租户相关 ==========
yudao-ui-admin-vue3/src/views/Login/components/LoginForm.vue
@@ -148,7 +148,6 @@ import { useIcon } from '@/hooks/web/useIcon' @@ -148,7 +148,6 @@ import { useIcon } from '@/hooks/web/useIcon'
148 import { useMessage } from '@/hooks/web/useMessage' 148 import { useMessage } from '@/hooks/web/useMessage'
149 import { required } from '@/utils/formRules' 149 import { required } from '@/utils/formRules'
150 import * as authUtil from '@/utils/auth' 150 import * as authUtil from '@/utils/auth'
151 -import { decrypt } from '@/utils/jsencrypt'  
152 import { Verify } from '@/components/Verifition' 151 import { Verify } from '@/components/Verifition'
153 import { usePermissionStore } from '@/store/modules/permission' 152 import { usePermissionStore } from '@/store/modules/permission'
154 import * as LoginApi from '@/api/login' 153 import * as LoginApi from '@/api/login'
@@ -180,10 +179,6 @@ const loginData = reactive({ @@ -180,10 +179,6 @@ const loginData = reactive({
180 isShowPassword: false, 179 isShowPassword: false,
181 captchaEnable: import.meta.env.VITE_APP_CAPTCHA_ENABLE, 180 captchaEnable: import.meta.env.VITE_APP_CAPTCHA_ENABLE,
182 tenantEnable: import.meta.env.VITE_APP_TENANT_ENABLE, 181 tenantEnable: import.meta.env.VITE_APP_TENANT_ENABLE,
183 - token: '',  
184 - loading: {  
185 - signIn: false  
186 - },  
187 loginForm: { 182 loginForm: {
188 tenantName: '芋道源码', 183 tenantName: '芋道源码',
189 username: 'admin', 184 username: 'admin',
@@ -194,22 +189,10 @@ const loginData = reactive({ @@ -194,22 +189,10 @@ const loginData = reactive({
194 }) 189 })
195 190
196 const socialList = [ 191 const socialList = [
197 - {  
198 - icon: 'ant-design:github-filled',  
199 - type: 0  
200 - },  
201 - {  
202 - icon: 'ant-design:wechat-filled',  
203 - type: 30  
204 - },  
205 - {  
206 - icon: 'ant-design:alipay-circle-filled',  
207 - type: 0  
208 - },  
209 - {  
210 - icon: 'ant-design:dingtalk-circle-filled',  
211 - type: 20  
212 - } 192 + { icon: 'ant-design:github-filled', type: 0 },
  193 + { icon: 'ant-design:wechat-filled', type: 30 },
  194 + { icon: 'ant-design:alipay-circle-filled', type: 0 },
  195 + { icon: 'ant-design:dingtalk-circle-filled', type: 20 }
213 ] 196 ]
214 197
215 // 获取验证码 198 // 获取验证码
@@ -232,12 +215,7 @@ const getTenantId = async () => { @@ -232,12 +215,7 @@ const getTenantId = async () => {
232 } 215 }
233 // 记住我 216 // 记住我
234 const getCookie = () => { 217 const getCookie = () => {
235 - const username = authUtil.getUsername()  
236 - const password = authUtil.getPassword()  
237 - ? decrypt(authUtil.getPassword() as unknown as string)  
238 - : undefined  
239 - const rememberMe = authUtil.getRememberMe()  
240 - const tenantName = authUtil.getTenantName() 218 + const { username, password, rememberMe, tenantName } = authUtil.getLoginForm()
241 loginData.loginForm = { 219 loginData.loginForm = {
242 ...loginData.loginForm, 220 ...loginData.loginForm,
243 username: username ? username : loginData.loginForm.username, 221 username: username ? username : loginData.loginForm.username,
@@ -266,15 +244,9 @@ const handleLogin = async (params) => { @@ -266,15 +244,9 @@ const handleLogin = async (params) => {
266 background: 'rgba(0, 0, 0, 0.7)' 244 background: 'rgba(0, 0, 0, 0.7)'
267 }) 245 })
268 if (loginData.loginForm.rememberMe) { 246 if (loginData.loginForm.rememberMe) {
269 - authUtil.setUsername(loginData.loginForm.username)  
270 - authUtil.setPassword(loginData.loginForm.password)  
271 - authUtil.setRememberMe(loginData.loginForm.rememberMe)  
272 - authUtil.setTenantName(loginData.loginForm.tenantName) 247 + authUtil.setLoginForm(loginData.loginForm)
273 } else { 248 } else {
274 - authUtil.removeUsername()  
275 - authUtil.removePassword()  
276 - authUtil.removeRememberMe()  
277 - authUtil.removeTenantName() 249 + authUtil.removeLoginForm()
278 } 250 }
279 authUtil.setToken(res) 251 authUtil.setToken(res)
280 if (!redirect.value) { 252 if (!redirect.value) {