const RegisterPage = { captcha: null, async render() { try { this.captcha = await API.get('/captcha'); } catch { this.captcha = null; } return `
`; }, toggleSource() { const src = document.getElementById('rs').value; const labels = { netease:['游戏名称','网易UID'], skin:['游戏名称','皮肤站UID'] }; document.getElementById('rs-label1').textContent = labels[src][0] + ' *'; document.getElementById('rs-label2').textContent = labels[src][1] + ' *'; }, async refreshCaptcha() { try { const c = await API.get('/captcha'); document.getElementById('captcha-img').innerHTML = c.svg; document.getElementById('captcha-id').value = c.id; document.getElementById('captcha-a').value = ''; } catch {} }, mount() { document.getElementById('reg-form').addEventListener('submit', async e => { e.preventDefault(); const btn = e.target.querySelector('button'); const err = document.getElementById('regerr'); const ok = document.getElementById('regok'); err.classList.add('hidden'); ok.classList.add('hidden'); btn.disabled = true; btn.innerHTML = ' 注册中...'; try { await Auth.register({ username: document.getElementById('ru').value.trim(), password: document.getElementById('rp').value, email: document.getElementById('re').value.trim(), game_name: document.getElementById('rgn').value.trim(), game_uid: document.getElementById('rgu').value.trim(), source: document.getElementById('rs').value, captcha_id: document.getElementById('captcha-id')?.value, captcha_answer: document.getElementById('captcha-a')?.value.trim(), }); ok.textContent = '注册成功!验证码已发送至邮箱,30分钟内有效'; ok.classList.remove('hidden'); e.target.innerHTML = `