diff --git a/src/utils/common.ts b/src/utils/common.ts index 9d425f5..dcc53b2 100644 --- a/src/utils/common.ts +++ b/src/utils/common.ts @@ -1,3 +1,4 @@ +import { Md5 } from 'ts-md5'; import { $t } from '@/locales'; /** @@ -84,3 +85,15 @@ export function tagColor(index: number) { return tagMap[index % 5]; } + +/** + * MD-5 哈希 + * + * @param text 明文 + * @returns md5哈希 + */ +export function md5(text: string): string { + const md5Digest = new Md5(); + md5Digest.appendAsciiStr(text); + return md5Digest.end() as string; +} diff --git a/src/views/_builtin/login/modules/pwd-login.vue b/src/views/_builtin/login/modules/pwd-login.vue index c21580a..04acb95 100644 --- a/src/views/_builtin/login/modules/pwd-login.vue +++ b/src/views/_builtin/login/modules/pwd-login.vue @@ -1,6 +1,6 @@ diff --git a/src/views/user/manager/modules/user-manager-operate-drawer.vue b/src/views/user/manager/modules/user-manager-operate-drawer.vue index f68f0f6..c1a66f8 100644 --- a/src/views/user/manager/modules/user-manager-operate-drawer.vue +++ b/src/views/user/manager/modules/user-manager-operate-drawer.vue @@ -4,6 +4,7 @@ import type { OptionValue } from 'naive-ui/es/transfer/src/interface'; import { useFormRules, useNaiveForm } from '@/hooks/common/form'; import OperateDrawer from '@/components/common/operate-drawer.vue'; import { $t } from '@/locales'; +import { md5 } from '@/utils/common'; import { fetchAddUser, fetchEditUser, fetchGetAllGroupConfigList } from '@/service/api'; import { groupConfigYesOrNoOptions, roleRecordOptions } from '@/constants/business'; import Permission = Api.UserManager.Permission; @@ -101,14 +102,31 @@ async function handleSubmit() { // request if (props.operateType === 'add') { const { username, password, checkPassword, role, permissions } = model; - const { error } = await fetchAddUser({ username, password, checkPassword, role, permissions }); + const passwordMd5 = md5(password); + const checkPasswordMd5 = md5(checkPassword); + const { error } = await fetchAddUser({ + username, + password: passwordMd5, + checkPassword: checkPasswordMd5, + role, + permissions + }); if (error) return; window.$message?.success($t('common.addSuccess')); } if (props.operateType === 'edit') { const { id, username, password, checkPassword, role, permissions } = model; - const { error } = await fetchEditUser({ id, username, password, checkPassword, role, permissions }); + const passwordMd5 = md5(password); + const checkPasswordMd5 = md5(checkPassword); + const { error } = await fetchEditUser({ + id, + username, + password: passwordMd5, + checkPassword: checkPasswordMd5, + role, + permissions + }); if (error) return; window.$message?.success($t('common.updateSuccess')); }