// pages/register/index.js const { gender } = require('../../utils/dict') import WxValidate from '../../utils/wxValidate' const app = getApp(); Page({ /** * 页面的初始数据 */ data: { frameStyle: { useTop: true, name: '注册', leftArrow: false, useBar: false }, form: {}, fields: [ { label: '头像', model: 'icon', type: "upload" }, { label: '姓名', model: 'name' }, { label: '身份证号', model: 'card', type: 'idCard' }, { label: '性别', model: 'gender', type: 'select' }, { label: '手机号', model: 'phone' }, { label: '邮箱', model: 'email' }, ] }, initValidate() { const rules = { icon: { required: true }, name: { required: true }, card: { required: true }, gender: { required: true }, phone: { required: true } } // 验证字段的提示信息,若不传则调用默认的信息 const messages = { icon: { required: '请选择头像', }, name: { required: '请输入用户姓名', }, card: { required: '请输入身份证号', }, gender: { required: '请选择性别', }, phone: { required: '请输入手机号', } }; this.WxValidate = new WxValidate(rules, messages) }, async toSubmit(e) { const data = e?.detail; if (!data) return; const wxInfo = app.globalData.wxInfo if (!wxInfo.openid) { wx.showToast({ title: '缺少微信关联', icon: 'error' }) return } data.openid = wxInfo.openid; if (!this.WxValidate.checkForm(data)) { const error = this.WxValidate.errorList[0]; wx.showToast({ title: `${error.msg}`, icon: 'error', duration: 2000 }) return false } else { const res = await app.$post('/newCourt/api/user', data) if (app.$checkRes(res)) { wx.showToast({ title: '注册成功', success: () => { wx.redirectTo({ url: '/pages/index/index' }); } }) } else { const { errmsg = '注册失败' } = res; wx.showModal({ title: errmsg, showCancel: false }) } } }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { const fields = this.data.fields; const fg = fields.find(f => f.model === 'gender') if (fg) fg.list = gender this.setData({ fields }) //验证规则函数 this.initValidate(); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { }, });