blessing-skin-server/resources/assets/src/views/user/profile/password.ts
2020-05-20 10:11:38 +08:00

31 lines
869 B
TypeScript

import { post, ResponseBody } from '@/scripts/net'
import { t } from '@/scripts/i18n'
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`
}
}