refactor(frontend): replace toast system with zibll notyf

This commit is contained in:
kate522 committed 2026-08-18 02:38:43 +08:00
1 parent fb11a7ed0c
commit 86614c4905
33 files changed
+603 -802

No files matched your search

+18 -35
View File
@@ -56,7 +56,7 @@
const phone = phoneInput ? phoneInput.value.trim() : ''
if (!/^1[3-9]\d{9}$/.test(phone)) {
showToast('请输入正确的手机号', 'warning')
notyf('请输入正确的手机号', 'warning')
if (phoneInput) phoneInput.focus()
return
}
@@ -91,13 +91,13 @@
.then(r => r.json().then(data => ({ ok: r.ok, data })))
.then(({ ok, data }) => {
if (ok && data.success) {
showToast(data.message || '验证码已发送', 'success')
notyf(data.message || '验证码已发送', 'success')
const seconds = (data.data && data.data.remaining_time) || cooldown
sessionStorage.setItem(COUNTDOWN_KEY, String(Date.now() + seconds * 1000))
startCountdown(btn, seconds)
} else {
const msg = (data.data && data.data.message) || data.message || '发送失败'
showToast(msg, 'error')
notyf(msg, 'danger')
try {
const captchaState = window.AKSRTCaptchaState
if (captchaState && captchaState.scenes && captchaState.scenes[scene]) {
@@ -115,7 +115,7 @@
}
})
.catch(() => {
showToast('网络错误,请重试', 'error')
notyf('网络错误,请重试', 'danger')
btn.disabled = false
btn.textContent = original
})
@@ -187,15 +187,15 @@
const ref = form.querySelector('[name="ref"]')?.value?.trim()
if (!phone || !code || !password) {
showToast('请填写完整信息', 'warning')
notyf('请填写完整信息', 'warning')
return
}
if (password !== confirm) {
showToast('两次密码不一致', 'warning')
notyf('两次密码不一致', 'warning')
return
}
if (password.length < 6) {
showToast('密码至少 6 位', 'warning')
notyf('密码至少 6 位', 'warning')
return
}
@@ -216,13 +216,13 @@
.then(r => r.json().then(data => ({ ok: r.ok, data })))
.then(({ ok, data }) => {
if (ok && data.success) {
showToast(data.message || '注册成功', 'success')
if (data.notice) showToast(data.notice, 'warning')
notyf(data.message || '注册成功', 'success')
if (data.notice) notyf(data.notice, 'warning')
setTimeout(() => {
window.location.href = data.redirect || '/'
}, 500)
} else {
showToast(data.message || '注册失败', 'error')
notyf(data.message || '注册失败', 'danger')
try {
if (captchaState && captchaState.scenes && captchaState.scenes.register) {
captchaState.scenes.register.reset()
@@ -235,7 +235,7 @@
}
})
.catch(() => {
showToast('网络错误', 'error')
notyf('网络错误', 'danger')
try {
if (captchaState && captchaState.scenes && captchaState.scenes.register) {
captchaState.scenes.register.reset()
@@ -261,7 +261,7 @@
const loginMode = form.querySelector('[name="login_mode"]')?.value || 'password'
if (!phone) {
showToast('请输入手机号', 'warning')
notyf('请输入手机号', 'warning')
return
}
@@ -275,7 +275,7 @@
if (loginMode === 'code') {
const code = form.querySelector('[name="code"]')?.value?.trim()
if (!code) {
showToast('请输入验证码', 'warning')
notyf('请输入验证码', 'warning')
if (submitBtn) { submitBtn.disabled = false; submitBtn.textContent = '登录' }
return
}
@@ -283,7 +283,7 @@
body = { phone, code }
} else {
if (!password) {
showToast('请输入密码', 'warning')
notyf('请输入密码', 'warning')
if (submitBtn) { submitBtn.disabled = false; submitBtn.textContent = '登录' }
return
}
@@ -302,12 +302,12 @@
.then(r => r.json().then(data => ({ ok: r.ok, data })))
.then(({ ok, data }) => {
if (ok && data.success) {
showToast('登录成功', 'success')
notyf('登录成功', 'success')
setTimeout(() => {
window.location.href = data.data?.redirect || '/'
}, 500)
} else {
showToast(data.message || '登录失败', 'error')
notyf(data.message || '登录失败', 'danger')
if (captchaState && captchaState.scenes && captchaState.scenes.login) {
captchaState.scenes.login.reset()
}
@@ -318,7 +318,7 @@
}
})
.catch(() => {
showToast('网络错误', 'error')
notyf('网络错误', 'danger')
if (submitBtn) {
submitBtn.disabled = false
submitBtn.textContent = '登录'
@@ -388,7 +388,7 @@
const confirm = form.querySelector('[name="password_confirm"]')
if (password && confirm && password.value !== confirm.value) {
e.preventDefault()
showToast('两次密码不一致', 'warning')
notyf('两次密码不一致', 'warning')
confirm.focus()
return
}
@@ -396,22 +396,6 @@
})
}
function showToast(message, type) {
if (typeof window.aksrtShowToast === 'function') {
window.aksrtShowToast(message, type)
return
}
const toast = document.createElement('div')
toast.className = 'aksrt-auth-toast aksrt-auth-toast--' + (type || 'info')
toast.textContent = message
document.body.appendChild(toast)
setTimeout(() => toast.classList.add('aksrt-auth-toast--show'), 10)
setTimeout(() => {
toast.classList.remove('aksrt-auth-toast--show')
setTimeout(() => toast.remove(), 300)
}, 3000)
}
// 初始化
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', initAuthPages)
@@ -424,6 +408,5 @@
init: initAuthPages,
sendSmsCode,
switchAuthTab,
showToast,
}
})()