diff --git a/src/api/sys/model/userModel.ts b/src/api/sys/model/userModel.ts index 8fb5452d4..c459cee6e 100644 --- a/src/api/sys/model/userModel.ts +++ b/src/api/sys/model/userModel.ts @@ -40,3 +40,9 @@ export interface GetUserInfoModel { desc?: string; homePath?: string; } + +export interface ChangePasswordParams { + oldPassword: string; + newPassword: string; + newPasswordConfirm: string; +} diff --git a/src/api/sys/user.ts b/src/api/sys/user.ts index 73b00bae7..c4fd64216 100644 --- a/src/api/sys/user.ts +++ b/src/api/sys/user.ts @@ -1,5 +1,10 @@ import { ApiServiceEnum, defHttp } from '@/utils/http/axios'; -import { GetUserInfoModel, LoginParams, LoginResultModel } from './model/userModel'; +import { + ChangePasswordParams, + GetUserInfoModel, + LoginParams, + LoginResultModel, +} from './model/userModel'; import { ErrorMessageMode } from '#/axios'; @@ -9,6 +14,7 @@ enum Api { GetUserInfo = '/getUserInfo', GetPermCode = '/getPermCode', TestRetry = '/testRetry', + changePassword = 'sys/auth/changePassword', } /** @@ -54,3 +60,15 @@ export function testRetry() { }, ); } + +/** + * 修改密码 + * @param params 参数 + */ +export const changePasswordApi = (params: ChangePasswordParams) => { + return defHttp.post({ + service: ApiServiceEnum.SMART_SYSTEM, + url: Api.changePassword, + data: params, + }); +}; diff --git a/src/layouts/default/header/components/user-dropdown/ChangePasswordModal.vue b/src/layouts/default/header/components/user-dropdown/ChangePasswordModal.vue new file mode 100644 index 000000000..03df58955 --- /dev/null +++ b/src/layouts/default/header/components/user-dropdown/ChangePasswordModal.vue @@ -0,0 +1,92 @@ + + + + + diff --git a/src/layouts/default/header/components/user-dropdown/index.vue b/src/layouts/default/header/components/user-dropdown/index.vue index d133d3618..911c3331a 100644 --- a/src/layouts/default/header/components/user-dropdown/index.vue +++ b/src/layouts/default/header/components/user-dropdown/index.vue @@ -24,6 +24,11 @@ :text="t('layout.header.dropdownChangeApi')" icon="ant-design:swap-outlined" /> + +