import { models, db } from '../../utils/cloudbase.js' Page({ /** * 页面的初始数据 */ data: { levelOptions: ['小班', '中班', '大班'], selectedLevelIndex: 0, xiala: '', phone: '', gardenList: [], // 这里替换为实际园所名称数组 gardenIndex: null, contactsname: '', selected: {}, code: '' // 用户输入的验证码 }, // 监听手机号输入框 onPhoneInput(e) { this.setData({ phone: e.detail.value }); }, // 监听姓名输入框 onContactsInput(e) { this.setData({ contactsname: e.detail.value }); }, // 监听验证码输入 onInputCode(e) { this.setData({ code: e.detail.value }); }, onLoad(options) { this.onScholl(); const fileIDs = [ 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/icon/xiala.png', ] // 并发下载多个 fileID Promise.all( fileIDs.map(fileID => wx.cloud.downloadFile({ fileID })) ).then(results => { // 每个 result 对应一个下载结果 const tempFilePaths = results.map(r => r.tempFilePath); console.log('全部下载成功:', tempFilePaths); this.setData({ xiala: tempFilePaths[0], }); }).catch(err => { console.error('有文件下载失败:', err); }); }, // 获取学校数据 async onScholl() { try { let allRecords = []; let pageNumber = 1; const pageSize = 100; // 每次查询 100 条 while (true) { const { data } = await models.wx_school.list({ filter: { where: {} }, pageSize: pageSize, pageNumber: pageNumber, getCount: true, envType: "prod", }); if (data.records.length === 0) { break; // 没有更多数据,退出循环 } allRecords = allRecords.concat(data.records); // 将当前页数据添加到全部数据中 pageNumber++; // 查询下一页 } this.setData({ gardenList: allRecords // 按实际字段替换 }); console.log(this.data.gardenList, 'gardenList'); } catch (error) { console.error('获取数据失败:', error); wx.showToast({ title: '获取数据失败,请稍后再试', icon: 'none' }); } }, // 选择学校下拉框 async onGardenChange(e) { const index = parseInt(e.detail.value); this.setData({ gardenIndex: index }); const selected = this.data.gardenList[index]; this.setData({ selected: selected }) }, // 获取验证码 getCode() { const { phone } = this.data; if (!phone || !/^1[3-9]\d{9}$/.test(phone)) { wx.showToast({ title: '请输入有效的手机号码', icon: 'none' }); return; } const code = this.generateCode(); // 本地生成验证码(用于发送) // 保存验证码到 data this.setData({ code }); console.log(code, 'codecode'); }, generateCode() { return Math.floor(100000 + Math.random() * 900000).toString(); }, // 注册 async bindingevents() { try { const { data } = await models.wx_user.create({ data: { img: "", // 头像 gender: 1, // 性别 teacher_id: "", // 老师id user_name: this.data.contactsname, // 用户名 remark: "", // 备注 delete: 0, // 逻辑删除 school_id: this.data.selected._id, // 学校id phone: this.data.phone, // 手机号 grade: this.data.selectedLevelIndex, // 班级 log_off: "", // 注销原因 name: this.data.contactsname, // 姓名 }, envType: "prod", }); // 注册成功提示 wx.showToast({ title: '注册成功,去登录', icon: 'success', duration: 1500, // 提示显示 1.5 秒 }); // 提示消失后跳转到登录页面 setTimeout(() => { wx.reLaunch({ url: '/pages/logins/logins', // 替换为你的登录页面路径 }); }, 1500); } catch (error) { console.error('注册失败:', error); wx.showToast({ title: '注册失败,请稍后再试', icon: 'none', }); } } })