refactor(frontend): replace toast system with zibll notyf
This commit is contained in:
1 parent
fb11a7ed0c
commit
86614c4905
33 files changed
+603
-802
No files matched your search
+18
-35
@@ -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,
|
||||
}
|
||||
})()
|
||||
Reference in new issue
Block a user