// pages/register/register.js const userApi = require('../../api/user'); Page({ data: { username: '', password: '', confirmPassword: '', nickname: '', phone: '', email: '', loading: false }, // 输入用户名 onUsernameInput(e) { this.setData({ username: e.detail.value }); }, // 输入密码 onPasswordInput(e) { this.setData({ password: e.detail.value }); }, // 输入确认密码 onConfirmPasswordInput(e) { this.setData({ confirmPassword: e.detail.value }); }, // 输入昵称 onNicknameInput(e) { this.setData({ nickname: e.detail.value }); }, // 输入手机号 onPhoneInput(e) { this.setData({ phone: e.detail.value }); }, // 输入邮箱 onEmailInput(e) { this.setData({ email: e.detail.value }); }, // 注册 async handleRegister() { const { username, password, confirmPassword, nickname, phone, email } = this.data; if (!username || !password) { wx.showToast({ title: '请输入用户名和密码', icon: 'none' }); return; } if (password !== confirmPassword) { wx.showToast({ title: '两次密码输入不一致', icon: 'none' }); return; } if (password.length < 6) { wx.showToast({ title: '密码长度至少6位', icon: 'none' }); return; } this.setData({ loading: true }); try { const userData = { username, password, nickname: nickname || username, phone: phone || '', email: email || '' }; await userApi.userRegister(userData); wx.showToast({ title: '注册成功', icon: 'success' }); setTimeout(() => { wx.navigateBack(); }, 1500); } catch (error) { wx.showToast({ title: error || '注册失败', icon: 'none' }); } finally { this.setData({ loading: false }); } } });