// nova-werun/pages/send-circle/index.js const Parse = getApp().Parse; const company = getApp().globalData.company; Page({ /** * 页面的初始数据 */ data: { //屏幕高度 statusBarHeight: 0, // 状态栏高度 screenHeight: 0, // 屏幕高度 customHeight: 0, // 自定义导航栏高度(如小程序右上角胶囊按钮) bottomNavHeight: 0, // 底部导航栏高度 contentHeight: 0, // 可用内容高度 contentHeight2: 0, contentpadding: 0, //顶部padding高度 //输入框 inputValue: '', // 用于存储输入的内容 textareaHeight: 52, // 初始高度,单位为 rpx // 图片 fileList: [], fileLists:[], uptokenURL: '', domain: '', uploadURL: '', saveimage:false, checked:false, address:'', }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { // 计算 const systemInfo = wx.getSystemInfoSync(); const statusBarHeight = systemInfo.statusBarHeight || 0; const screenHeight = systemInfo.screenHeight || 0; const custom = wx.getMenuButtonBoundingClientRect(); const customHeight = custom.height + 10 + 2 || 0; const bottomNavHeight = systemInfo.screenHeight - systemInfo.safeArea.bottom || 0; const contentpadding = (statusBarHeight + customHeight) * 750 / systemInfo.windowWidth; const contentHeight = (screenHeight - bottomNavHeight - statusBarHeight - customHeight) * 750 / systemInfo.windowWidth; this.setData({ statusBarHeight, screenHeight, customHeight, bottomNavHeight, contentpadding, contentHeight }); const images = [] images.push({ url:options.image }) console.log('options.image',options.image); if(options.image){ this.setData({ fileList:images, saveimage:true, }) } this.getUptoken() }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { }, //输入框高度随字体增多而变大 onInput: function (event) { const value = event.detail.value; // 获取当前输入的值 this.setData({ inputValue: value, }); console.log(this.data.inputValue); }, async getUptoken() { let res = await Parse.Cloud.run('qiniu_uptoken', { company: company }) this.setData({ uptokenURL: res.uptoken, domain: res.domain, uploadURL: res.zoneUrl }) console.log(this.data.uptokenURL, this.data.domain, this.data.uploadURL); }, //获取图片数组 picture(event) { console.log('event', event); let FileList = event.detail this.setData({ fileList: FileList, }) console.log('图片', this.data.fileLists); }, //上传函数 async send() { const currentUser = Parse.User.current(); let Profilequery = new Parse.Query('Profile'); Profilequery.equalTo('company', company); Profilequery.notEqualTo('isDeleted', true); Profilequery.equalTo('user', currentUser.id); let p = await Profilequery.first() let companyPointer = Parse.Object.extend('Company').createWithoutData(company); let Comment = new Parse.Object('AIMoment'); Comment.set('profile', p.toPointer()) Comment.set('company', companyPointer); Comment.set('isVisible', true); if(this.data.fileList.length>0){ let url = [] for (let i = 0; i < this.data.fileList.length; i++) { url.push(this.data.fileList[i].url) } this.setData({ fileLists:url, }) Comment.set('images', this.data.fileLists); } Comment.set('content', this.data.inputValue); if(this.data.checked){ Comment.set('location', this.data.address); } try { if(this.data.fileList.length==0&& !this.data.inputValue){ console.log('新数据保存失败'); }else{ let saveDate2 = await Comment.save(); console.log(saveDate2); console.log("新数据保存成功"); wx.showToast({ title: '发布成功', icon: 'success', duration: 1000 }); setTimeout(()=>{ this.goback() },1000) } } catch (error) { console.error("保存数据时出现错误:", error); } }, async goback(){ if(!this.data.saveimage){ let pages = getCurrentPages(); //页面对象 console.log(pages); let prevpage = pages[pages.length - 2]; //上一个页面对象 console.log(prevpage); await prevpage.updateCom() } wx.navigateBack({ delta: 1 }); }, //选择展示当前位置 onChange(event) { this.setData({ checked: event.detail, }); console.log(this.data.checked); this.Getlocation() }, //获取当前位置 Getlocation() { // 获取当前位置信息 wx.getLocation({ type: 'wgs84', success: (res) => { const { latitude, longitude } = res; //调用api解析地址 wx.request({ url: 'https://api.map.baidu.com/reverse_geocoding/v3/?ak=sHZTomd7grslfP7sPKB8tRgT49FK9TEu&output=json&coordtype=gcj02&location=' + latitude + ',' + longitude, data: {}, header: { 'Content-Type': 'application/json' }, success: (ops) => { // 使用箭头函数 console.log(ops); // const address = ops.data.result.formatted_address;//详细地址 const address = ops.data.result.formatted_address; this.setData({ address: address, }); console.log(this.data.address); }, fail: function (resq) { wx.showModal({ title: '信息提示', content: '请求失败', showCancel: false, confirmColor: '#f37938' }); }, complete: function () {} }) }, fail: (err) => { console.error(err); wx.showToast({ title: '获取位置失败', icon: 'none' }); } }); }, })