| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- // 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 });
- }
- }
- });
|