// package-user/pages/register/index.js const api = require('../../../api/index.js'); Page({ /** * 页面的初始数据 */ data: { items: [ {value: 5, name: '买电'}, {value: 6, name: '卖电'}, ], fileurl:'', back:'', identitycard:'', greenelectricity:'', nickname:'', telephone:'', powerstationname:'' }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { }, // 上传 onchooseImage(e) { this.setData({ identitycard:e.target.dataset.name }) let _this = this // 先检查隐私授权状态 wx.getPrivacySetting({ success: (res) => { if (res.needAuthorization) { // 弹出隐私协议弹窗 wx.requirePrivacyAuthorize({ success: () => { console.log('用户已同意隐私协议'); _this.doUploadImage(); // 继续执行上传 }, fail: () => { console.log('用户拒绝了隐私协议'); wx.showToast({ title: '需同意隐私协议才能使用', icon: 'none' }); } }); } else { _this.chooseImage(); // 已授权,直接上传 } } }); }, // 上传图片 chooseImage() { let _this = this wx.chooseMedia({ count: 1, mediaType: ['image'], sourceType: ['album', 'camera'], success(res) { console.log(res); const tempFiles = res.tempFiles; _this.setData({ imageList: tempFiles.map(file => file.tempFilePath), }); _this.uploadImages(tempFiles); }, fail(err) { console.error("选择失败:", err); } }) }, radioChange(e) { console.log('radio发生change事件,携带value值为:', e.detail.value) // const items = this.data.items // for (let i = 0, len = items.length; i < len; ++i) { // items[i].checked = items[i].value === e.detail.value // } this.setData({ greenelectricity:e.detail.value }) console.log(this.data.greenelectricity); }, bindKeyInput(e){ console.log(e.detail.value); this.setData({ nickname:e.detail.value }) }, bindtelephone(e){ console.log(e.detail.value); this.setData({ telephone:e.detail.value }) }, bindpowerstationname(e){ console.log(e.detail.value); this.setData({ powerstationname:e.detail.value }) }, // 上传到服务器 uploadImages(files) { let _this =this const token = wx.getStorageSync('token'); files.forEach((file) => { wx.uploadFile({ url: 'https://esos-iot.com:9443/system/config/upload/webPost', filePath: file.tempFilePath, name: 'file', formData: { type:_this.data.identitycard, front:file.tempFilePath }, header: { // 'Authorization': 'Bearer ' + token // Also add to header if needed }, success: (res) => { const obj = JSON.parse(res.data); console.log(obj.data.companyLicense); _this.setData({ fileurl:obj.data.companyLicense }) console.log(this.data.fileurl); }, fail: (err) => { console.error('上传失败', err); }, }); }); }, register(){ const phone = this.data.telephone.trim(); const phoneReg = /^1[3-9]\d{9}$/; console.log(phone); // 1. 校验是否为空 if (!phone) { wx.showToast({ title:'请输入手机号', icon: 'none', }); return false; } // 2. 校验格式是否正确 if (!phoneReg.test(phone)) { wx.showToast({ title:'请输入正确的手机号', icon: 'none', }); return false; } if (this.data.nickname==''||this.data.greenelectricity==''||this.data.powerstationname=='') { wx.showToast({ title:'请填写完整信息', icon: 'success', }); return } let obj = { phonecode:this.data.telephone, operationName:this.data.nickname, operationRole:this.data.greenelectricity, companyName:this.data.powerstationname, companyLicense:this.data.fileurl, } api.request(`/sysoperation/registeredusers`, 'post',obj,{ isPublic: true }) .then((data) => { console.log(data); if (data.code == 200) { if (data.msg=='当前用户已注册') { wx.showToast({ title:data.msg, icon: 'success', }); return } wx.showToast({ title:data.msg, icon: 'success', }); wx.navigateTo({ url: '/package-user/pages/login/index', // 登录页面的路径,注意路径前面加上 '/' 表示从根目录开始 }); }else{ wx.showToast({ title: data.msg, icon: 'success', }); } }) .catch((err) => { wx.showToast({ title:'注册失败', icon: 'none', }); console.error('请求失败:', err); }); }, previewSingleImage(e) { // 获取大图路径 const largePicUrl = e.currentTarget.dataset.url; // 调用API预览大图 wx.previewImage({ current: largePicUrl, // 当前展示的大图路径 urls: [largePicUrl] // 需预览的图片数组,单图时数组中仅存该图路径 }); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })