import { getMomentDetail, getCommentList, likeMoment, likeComment, commentMoment } from "../../api/moment" const util = require('../../../utils/util') const app = getApp() // pages/moment/detail/index.js Page({ /** * 页面的初始数据 */ data: { id: null, safeBottom: app.globalData.safeBottom, height: app.globalData.safeFragmentHeight, type: 0, tabList: [{ id: 0, name: '评论', badge: 12 }, { id: 1, name: '系统', badge: 0 } ], tabIndex: 0, inputBottom: 0, keyboardHeight: 0, focus: false, comment: '', momentDetail: null, commentList: [], requesting: false, finished: false, form: { pageNum: 1, pageSize:15 }, maskHidden: false, }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { this.data.keyboardHeight = wx.getStorageSync('keyboardHeight') if (options.type) { this.data.type = Number(options.type) } this.setData({ type: this.data.type, safeBottom: app.globalData.safeBottom, height: app.globalData.safeFragmentHeight - 100 }) if (options.id) { this.data.id = options.id this.data.form.articleId = options.id wx.showLoading({ title: '加载中', mask: true }) getMomentDetail(options.id).then(result => { this.setData({ momentDetail: result.data }) this.fetchCommentList() wx.hideLoading() }).catch(err => { wx.hideLoading() util.showToast(err) }) } }, onRefreshList: function () { if (this.data.requesting) { return } this.setData({ commentList: [], ['form.pageNum']: 1, finished: false }) this.fetchCommentList() }, fetchCommentList: function () { if (this.data.requesting || this.data.finished) { return } this.setData({ requesting: true }) getCommentList(this.data.id, this.data.form).then(result => { if (result.data.records.length) { var respList = result.data.records let nowList = `commentList[${this.data.commentList.length}]` var num = this.data.form.pageNum var finished = this.data.form.pageNum >= result.data.pages if (num == 1) { this.setData({ commentList: [], [nowList]: respList, requesting: false, ['form.pageNum']: (num + 1), ['momentDetail.replyQuantity']: result.data.total, finished }) } else { this.setData({ [nowList]: respList, requesting: false, ['form.pageNum']: (num + 1), ['momentDetail.replyQuantity']: result.data.total, finished }) } } else { this.setData({ requesting: false, finished: true }) } }).catch(err => { this.setData({ requesting: false }) }) }, onTabChange: function (e) { if (this.data.tabIndex == Number(e.detail.key)) { return } this.data.tabIndex = Number(e.detail.key) }, bindInput: function (e) { this.data.comment = e.detail.value }, inputFocus: function (e) { if (this.data.keyboardHeight) { return } this.data.keyboardHeight = Number(e.detail.height) wx.setStorageSync('keyboardHeight', this.data.keyboardHeight) this.setData({ inputBottom: e.detail.height }) }, inputBlur: function (e) { this.setData({ inputBottom: 0, focus: false }) }, showComment: function (e) { if (!app.globalData.userInfo) { wx.navigateTo({ url: '/pages/login/index' }) return } if (this.data.keyboardHeight) { this.setData({ focus: true, inputBottom: this.data.keyboardHeight }) } else { this.setData({ focus: true }) } }, submitComment: function () { if (util.isEmpty(this.data.comment)) { util.showToast('请输入评论内容') return } wx.showLoading({ title: '处理中', mask: true }) var form = { content: this.data.comment, articleId: this.data.id } commentMoment(form).then(result => { this.setData({ inputBottom: 0, focus: false, comment: '' }) wx.hideLoading() util.showToast('评论成功') this.onRefreshList() }).catch(error => { wx.hideLoading() util.showToast(error) }) }, postLikeComment: function (e) { if (!app.globalData.userInfo) { wx.navigateTo({ url: '/pages/login/index' }) return } var item = this.data.commentList[e.currentTarget.dataset.page][e.currentTarget.dataset.index] if (item.isLiked) { util.showToast('请勿重复点赞') return } likeComment({ replyId: item.id }).then(result => { if (item.isLiked) { this.setData({ ['commentList[' + e.currentTarget.dataset.page + '][' + e.currentTarget.dataset.index + '].likeQuantity']: result.data.likeQuantity, ['commentList[' + e.currentTarget.dataset.page + '][' + e.currentTarget.dataset.index + '].isLiked']: 0 }) } else { this.setData({ ['commentList[' + e.currentTarget.dataset.page + '][' + e.currentTarget.dataset.index + '].likeQuantity']: result.data.likeQuantity, ['commentList[' + e.currentTarget.dataset.page + '][' + e.currentTarget.dataset.index + '].isLiked']: 1 }) } }).catch(error => { util.showToast(error) }) }, likePost: function () { if (!app.globalData.userInfo) { wx.navigateTo({ url: '/pages/login/index' }) return } if (this.data.momentDetail.isLiked) { util.showToast('请勿重复点赞') return } likeMoment({ articleId: this.data.id }).then(result => { this.setData({ ['momentDetail.likeQuantity']: result.data.likeQuantity, ['momentDetail.isLiked']: 1 }) }).catch(error => { util.showToast(error) }) }, toMill: function () { util.navigateTo('/pages/agent/factory/index?id=' + this.data.momentDetail.millPaperId) }, onShareAppMessage: function () { var imageUrl = '/assets/image/icon_logo.png' if (this.data.momentDetail.imgUrlList && this.data.momentDetail.imgUrlList.length > 0) { imageUrl = this.data.momentDetail.imgUrlList[0] } return { title: this.data.momentDetail.title, path: 'pages/index/index?url=/pages/article/detail/index&key=id&value=' + this.data.momentDetail.id, // imageUrl: this.data.imagePath } }, //分享至朋友圈 onShareTimeline(res) { var imageUrl = '/assets/image/icon_logo.png' if (this.data.momentDetail.imgUrlList && this.data.momentDetail.imgUrlList.length > 0) { imageUrl = this.data.momentDetail.imgUrlList[0] } return { title: this.data.momentDetail.title, path: 'pages/index/index?url=/pages/article/detail/index&key=id&value=' + this.data.momentDetail.id, imageUrl: imageUrl } }, createPoster(){ }, createNewImg() { var that = this; var context = wx.createCanvasContext('mycanvas'); context.setFillStyle("red") context.fillRect(0, 0, 375, 667) var path = "/assets/image/def_image.png"; var path2 = "/assets/image/def_image.png"; var path3 = "/assets/image/def_image.png"; var path4 = "/assets/image/def_image.png"; var path5 = "/assets/image/def_image.png"; context.drawImage(path2, 126, 186, 120, 120); // context.save(); // 保存当前context的状态 var name = 'hahahaha'; //绘制名字 context.setFontSize(24); context.setFillStyle('#333333'); context.setTextAlign('center'); context.fillText(name, 185, 340); context.stroke(); context.draw(); //将生成好的图片保存到本地,需要延迟一会,绘制期间耗时 setTimeout(function () { wx.canvasToTempFilePath({ canvasId: 'mycanvas', success: function (res) { var tempFilePath = res.tempFilePath; that.setData({ imagePath: tempFilePath, canvasHidden:true, maskHidden: true, }); }, fail: function (res) { console.log(res); } }); }, 200); }, baocun(){ this.setData({ maskHidden:false }) } })