blessing-skin-server/resources/assets/src/views/user/profile/password.ts
2025-01-19 14:16:55 +08:00

31 lines
845 B
TypeScript

import {t} from '@/scripts/i18n';
import {post, type ResponseBody} from '@/scripts/net';
import {showModal, toast} from '@/scripts/notify';
export default async function handler(event: Event) {
event.preventDefault();
const form = event.target as HTMLFormElement;
const oldPassword = form.oldPassword.value;
const newPassword = form.newPassword.value;
const confirmPassword = form.confirm.value;
if (newPassword !== confirmPassword) {
toast.error(t('auth.invalidConfirmPwd'));
(form.confirm as HTMLInputElement).focus();
return;
}
const {code, message}: ResponseBody = await post(
'/user/profile?action=password',
{
current_password: oldPassword,
new_password: newPassword,
},
);
await showModal({mode: 'alert', text: message});
if (code === 0) {
window.location.href = `${blessing.base_url}/auth/login`;
}
}