// miniprogram/pages/detail/detail.js var util = require('../../utils/util.js') const app = getApp(); const db=wx.cloud.database().collection('user') const dd=wx.cloud.database() const db2=wx.cloud.database().collection('community') Page({ /** * 页面的初始数据 */ data: { main_top:'', openid:'', currentdate:'', canIUse: wx.canIUse('button.open-type.getUserInfo'), userInfo: {}, hasUserInfo: false, canIUseGetUserProfile: false, imgList: [], head_cut:'', authorname:'', content:[], comment:[], commentinput:'', showtop:false }, formSubmit(e) { const that= this var input_content=e.detail.value.com_content var _time = util.formatTime(new Date()) if(!input_content){ wx.showToast({ title: '请输入评论内容!', icon:'none' }) return } const _=dd.command dd.collection('comment').add({ data: { commentid: that.data.content._id, username:that.data.userInfo.nickName, img:that.data.userInfo.avatarUrl, content:input_content, date:_time }, success: function(res) { // res 是一个对象,其中有 _id 字段标记刚创建的记录的 id console.log(res) wx.showToast({ title: '评论成功!', }) var array=[{ commentid: that.data.content._id, username:that.data.userInfo.nickName, img:that.data.userInfo.avatarUrl, content:input_content, date:_time }] that.setData({ comment:array.concat(that.data.comment), commentinput:'' }) db2.doc(that.data.content._id).update({ data:{ comment:_.inc(1) } }).then() } }) }, preview(event) { let currentUrl = event.currentTarget.dataset.src const that=this wx.cloud.getTempFileURL({ fileList:[currentUrl], success(res){ console.log(res) const a = `imgList[${0}]` that.setData({ [a]:res.fileList[0].tempFileURL }) console.log(that.data.imgList) wx.previewImage({ current: currentUrl, // 当前显示图片的http链接 urls: that.data.imgList // 需要预览的图片http链接列表 }) } }) }, getUserProfile(e) { // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认 // 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗 const that= this if(that.data.hasUserInfo){ console.log(that.data.userInfo) }else{ wx.getUserProfile({ desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写 success: (res) => { that.setData({ userInfo: res.userInfo, hasUserInfo: true }) wx.setStorageSync('userInfo', that.data.userInfo) db.add({ data:{ _id:that.data.openid, nickName:that.data.userInfo.nickName, avatarUrl:that.data.userInfo.avatarUrl, city:that.data.userInfo.city, collect:[], like:[] } }) } }) } }, onShow:function(){ const that=this var _time = util.formatTime(new Date()) that.setData({ currentdate:_time }) }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { const that= this if (wx.getUserProfile) { this.setData({ canIUseGetUserProfile: true }) } var openid=wx.getStorageSync('openid') that.setData({ content:JSON.parse(options.content), comment:[], openid:openid }) db.doc(that.data.content._openid).get({ success:function(res){ console.log(res.data) that.setData({ head_cut:res.data.avatarUrl, authorname:res.data.nickName }) } }) dd.collection('comment').orderBy("date","desc").where({ commentid:that.data.content._id }).get({ success: function(res) { // res.data 是包含以上定义的两条记录的数组 wx.showLoading({ title: '加载中', mask:'true' }) that.setData({ comment:res.data, }, () => { wx.hideLoading() }) } }) var arr=wx.getStorageSync('userInfo') console.log(arr) that.setData({ userInfo:arr }) }, lower(e){ const that=this var x=that.data.comment.length let old_data = that.data.comment wx.showLoading({ title: '加载中...', mask:'true' }) var _=dd.command dd.collection('comment').where({ commentid:that.data.content._id, date:_.lt(that.data.currentdate) }).orderBy('date','desc').skip(x) // 限制返回数量为 20 条 .get() .then(res => { console.log(res.data) // 利用concat函数连接新数据与旧数据 if(res.data.length==0){ wx.hideLoading() wx.showToast({ title: '已经到底了!', icon:'none' }) return } this.setData({ comment: old_data.concat(res.data), }) wx.hideLoading({ success: (res) => {}, }) }) .catch(err => { console.error(err) }) } })