// pages/register/register.ts import { ConstsData } from "../../utils/const" import { httpUtil } from "../../utils/restful"; Page({ /** * 页面的初始数据 */ data: { regionOne: Array(), regionTwo: Array(), regionThree: Array(), regionOneIndex: 0, regionTwoIndex: 0, regionThreeIndex: 0, region: [ Array(), Array(), Array() ], regionIndex: [0, 0, 0], schoolArray: [['暂无学校']], schoolIndex: 0, classArray: ['暂无班级'], classIndex: 0, isShowPassWord: true, userName: '', userPhone: "", verificationCode: '', userPwd: '', provinceValue: '',//省份value regionValue: '',//地区value cityValue: '', schoolData: [{ 'id': '' }], schoolId: '', classData: [{ 'id': '' }], classId: '', hasGetVCode: false, getVCodeText: "获取验证码", getvcodeInter: -5, }, /** * 生命周期函数--监听页面加载 */ onLoad() { this.changeOrganizeInfo(); }, changeOrganizeInfo: function () { //切换地区 this.setData({ regionOne: [], regionTwo: [], regionThree: [] }) ConstsData.AppData.organizeInfo.data.children.forEach((item) => { this.data.regionOne.push(item.title) }) ConstsData.AppData.organizeInfo.data.children[this.data.regionOneIndex].children.forEach((item) => { this.data.regionTwo.push(item.title) }) ConstsData.AppData.organizeInfo.data.children[this.data.regionOneIndex].children[this.data.regionTwoIndex].children.forEach((item) => { this.data.regionThree.push(item.title) }) this.setData({ region: [this.data.regionOne, this.data.regionTwo, this.data.regionThree], regionIndex: [this.data.regionOneIndex, this.data.regionTwoIndex, this.data.regionThreeIndex], provinceValue: ConstsData.AppData.organizeInfo.data.children[this.data.regionOneIndex].value.toString(), cityValue: ConstsData.AppData.organizeInfo.data.children[this.data.regionOneIndex].children[this.data.regionTwoIndex].value.toString(), regionValue: ConstsData.AppData.organizeInfo.data.children[this.data.regionOneIndex].children[this.data.regionTwoIndex].children[this.data.regionThreeIndex].value.toString() }) //切换学校 this.changeSchool(); }, //查询学校 changeSchool: function () { //查询学校 let params = { city: this.data.cityValue, province: this.data.provinceValue, region: this.data.regionValue, type: 1, } httpUtil.wxGet(httpUtil.interfaces.getSchoolOrClass, params).then((res: any) => { this.setData({ schoolArray: [], schoolIndex: 0, schoolData: res.data.data, schoolId: res.data.data[0].id }) let newArray: string[] = []; res.data.data.forEach((element: { title: string; }) => { newArray.push(element.title) }); this.data.schoolArray.push(newArray) this.setData({ schoolArray: this.data.schoolArray }) //切换班级 this.changeClass() }).catch(res => { console.log("查询学校error:", res) this.setData({ schoolArray: [['暂无学校']], schoolId: '', classArray: ['暂无班级'], classId: '' }) }) }, //查询班级 changeClass: function () { let params = { "city": this.data.cityValue, "father": this.data.schoolId,//学校ID "province": this.data.provinceValue, "region": this.data.regionValue, "type": 2, } httpUtil.wxGet(httpUtil.interfaces.getSchoolOrClass, params).then((res: any) => { this.setData({ classArray: [], classIndex: 0 }) this.setData({ classData: res.data.data, classId: res.data.data[0].id }) res.data.data.forEach((element: { title: string; }) => { this.data.classArray.push(element.title) }); this.setData({ classArray: this.data.classArray, }) }).catch(res => { console.log("查询班级error:", res) this.setData({ classArray: ['暂无班级'], classId: '' }) }) }, bindMultiPickerColumnChange: function (event: any) { // switch (Number(event.detail.column)) { case 0: //代表第一列 this.setData({ regionOneIndex: event.detail.value, }) break; case 1: //代表第二列 this.setData({ regionTwoIndex: event.detail.value, }) break; case 2: //代表第三列 this.setData({ regionThreeIndex: event.detail.value }) break; } this.changeOrganizeInfo(); }, bindRegionChange: function (event: any) { this.setData({ regionIndex: event.detail.value }) }, bindSchoolPicker: function (event: any) { this.setData({ schoolIndex: event.detail.value, schoolId: this.data.schoolData[event.detail.value].id }) this.changeClass(); }, bindClssPicker: function (event: any) { this.setData({ classIndex: event.detail.value, classId: this.data.classData[event.detail.value].id }) console.log("班级ID:", this.data.classId) }, showPwdTab: function () { if (this.data.isShowPassWord) { this.setData({ isShowPassWord: false }) } else { this.setData({ isShowPassWord: true }) } }, exitPage: function () { wx.navigateBack() }, //获取输入的姓名 bindUserNameInput: function (event: any) { this.setData({ userName: event.detail.value }) }, //获取输入的手机号 bindUserPhoneInput: function (event: any) { this.setData({ userPhone: event.detail.value }) }, //获取输入的验证码 bindVerificationCodeInput: function (event: any) { this.setData({ verificationCode: event.detail.value }) }, //获取输入的密码 bindPwdInput: function (event: any) { this.setData({ userPwd: event.detail.value }) }, //获取验证码 getVerificationCode: function (event: any) { if (this.data.hasGetVCode) { this.showToast("请勿频繁点击") return; } if (!this.data.userPhone) { this.showToast("请输入手机号") return; } let that = this; let time = 60; this.data.getvcodeInter = setInterval(function () { if (time <= 1) { clearInterval(that.data.getvcodeInter) that.setData({ hasGetVCode: false, getVCodeText: '获取验证码', getvcodeInter: -5 }) return; } time--; that.setData({ getVCodeText: time.toString(), hasGetVCode: true }) }, 1000) let params = { mobileNo: this.data.userPhone } httpUtil.wxGet(httpUtil.interfaces.getVerifyCode, params).then((res) => { console.log("获取验证码成功:", res) }).catch((res) => { console.log("获取验证码失败:", res) }) }, doRegister: function () { //注册 if (!this.data.userName) { this.showToast("请输入姓名:") return; } if (!this.data.userPhone) { this.showToast("请输入手机号") return; } if (!this.data.userPwd) { this.showToast("请输入密码") return; } if (!this.data.verificationCode) { this.showToast("请输入验证码") return; } let params = { city: this.data.cityValue, classId: this.data.classId, mobile: this.data.userPhone, name: this.data.userName, password: this.data.userPwd, province: this.data.provinceValue,//省份 region: this.data.regionValue,//地区 schoolId: this.data.schoolId, userName: this.data.userPhone,//账号 verifyCode: this.data.verificationCode// } httpUtil.wxPost(httpUtil.interfaces.phoneRegister, params).then((res: any) => { httpUtil.httpData.userId = res.data.data.id; ConstsData.AppData.myInfoData = res.data.data; console.log(" res.data.data:", res.data.data) wx.navigateTo({ url: '../teacher/index/index', }) }).catch((res) => { console.log("注册失败:", res) }) }, showToast: function (message: string) { wx.showToast({ title: message, icon: 'none' }) }, onUnload() { if (this.data.getvcodeInter != -5) { clearInterval(this.data.getvcodeInter) } } })