const util = require('../../utils/util.js') Page({ /** * 页面的初始数据 */ data: { publisherId: '', publisherInfo: {}, like: false, likeDisabled: true, pageToken: 0, mainDatas: [] }, detail: function () { wx.navigateTo({ url: '/pages/publisherDetail/publisherDetail', }).then(res => { res.eventChannel.emit('loadCommonData', { data: this.data.publisherInfo }) }) }, loadExtraData: function () { wx.showNavigationBarLoading() const arr = [] arr.push(wx.cloud.callFunction({ name: 'listMessages', data: { pub_id: this.data.publisherId, page_token: this.data.pageToken, page_size: 20 } })) arr.push(wx.cloud.callFunction({ name: 'getFollow', data: { pub_id: this.data.publisherId } })) Promise.all(arr).then(res => { wx.hideNavigationBarLoading() if (res[0].result.status !== 'OK' || res[1].result.status !== 'OK') { wx.showToast({ title: res[0].result.errMsg || res[1].result.errMsg, icon: 'none' }) return } for (let i = 0; i < res[0].result.list.length; i++) { res[0].result.list[i] = util.dbToMsg(res[0].result.list[i]) res[0].result.list[i].publisher = this.data.publisherInfo } this.setData({ mainDatas: this.data.mainDatas.concat(res[0].result.list), pageToken: res[0].result.next_page_token, like: res[1].result.total === 1, likeDisabled: false }) }) }, toggleLike: function () { if (this.data.likeDisabled) { return } wx.showLoading({ title: this.data.like ? '取消关注' : '关注中' }) wx.cloud.callFunction({ name: this.data.like ? 'deleteFollow' : 'createFollow', data: { pub_id: this.data.publisherId } }).then(res => { wx.hideLoading() if (res.result.status !== 'OK') { wx.showToast({ title: res.result.errMsg, icon: 'none' }) return } wx.showToast({ title: this.data.like ? '取消关注成功' : '关注成功', icon: 'none' }) this.setData({ like: !this.data.like }) }) }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { if (options.id) { this.setData({ publisherId: options.id }) wx.showLoading({ title: "加载中" }) wx.cloud.callFunction({ name: 'getPublisher', data: { pub_id: this.data.publisherId } }).then(res => { wx.hideLoading() if (res.result.status !== 'OK') { wx.showToast({ title: res.result.errMsg, icon: 'none' }) return } this.setData({ publisherInfo: res.result.data }) this.loadExtraData() }) } else { const eventChannel = this.getOpenerEventChannel() eventChannel.on('loadCommonData', res => { this.setData({ publisherId: res.data._id, publisherInfo: res.data }) this.loadExtraData() }) } }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { this.loadMessageData() }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })