syshxcx/pages/talk/talkDetail.js
dong_bo0602 a1f9e23f6d 0607
2022-06-07 15:43:05 +08:00

331 lines
7.6 KiB
JavaScript

// pages/talk/talkDetail.js
const app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
sourceUrl: app.baseUrls.sourceUrl,
trifleMyselfId: '',
token: app.globalData.token,
talkDetail: {},
serviceUrl: app.baseUrls.serviceUrl,
baseImgUrl: app.baseUrls.baseImgUrl,
reply: '',
userIcon: '',
userName: '',
replyList: [],
goodCount: 0,
isClickGood: 'no',
clickGoodPeople: [],
isGetFocus: false,
placeholder: '讨论一下',
replyTo: '',
replyUserName: ''
},
// 获取详情
getTalkDetail: function () {
var self = this
app.restAjax.get(app.restAjax.path(app.apis.getTalkDetail, [app.baseUrls.requestUrl, self.data.trifleMyselfId]), {}, {
headers: {
token: self.data.token
}
}, function (code, data) {
if (data.photo) {
data.photo = data.photo.split(',')
}
self.setData({
talkDetail: data
})
}, function (code, data) {
console.log(data)
})
},
// 发布评论
doReplyTalk: function () {
var self = this
var info = {
content: self.data.reply,
headPortrait: self.data.userIcon,
userName: self.data.userName,
trifleMyselfId: self.data.trifleMyselfId
}
app.restAjax.post(app.restAjax.path(app.apis.replyTalk, [app.baseUrls.requestUrl]), info, {
headers: {
token: self.data.token
}
}, function (code, data) {
if (code == '200') {
wx.showToast({
title: '评论成功!',
icon: 'success'
})
self.setData({
reply: '',
})
self.getReplyList()
}
}, function (code, data) {
console.log(data)
})
},
// 获取评论
getReplyList: function () {
var self = this
app.restAjax.get(app.restAjax.path(app.apis.getTalkReplyList, [app.baseUrls.requestUrl]), {
trifleMyselfId: self.data.trifleMyselfId
}, {
headers: {
token: self.data.token
}
}, function (code, data) {
self.setData({
replyList: data
})
}, function (code, data) {
console.log(data)
})
},
// 获取点赞数
getGoodCount: function () {
var self = this
app.restAjax.get(app.restAjax.path(app.apis.getTalkGoodCount, [app.baseUrls.requestUrl]), {
trifleMyselfId: self.data.trifleMyselfId
}, {
headers: {
token: self.data.token
}
}, function (code, data) {
self.setData({
goodCount: data.data
})
}, function (code, data) {
console.log(data)
})
},
// 判断我有没有点赞
getIsClickGood: function () {
var self = this
app.restAjax.get(app.restAjax.path(app.apis.talkIsClicked, [app.baseUrls.requestUrl, self.data.trifleMyselfId]), {}, {
headers: {
token: self.data.token
}
}, function (code, data) {
self.setData({
isClickGood: data
})
}, function (code, data) {
console.log(data)
})
},
// 点赞/取消赞
toggleGood: function () {
if (this.data.isClickGood == 'no') {
this.clickGood()
} else {
this.cancelGood()
}
},
// 获取点赞人列表
getClickedPeople: function () {
var self = this
app.restAjax.get(app.restAjax.path(app.apis.talkClickPeople, [app.baseUrls.requestUrl]), {
page: 1,
rows: 10,
trifleMyselfId: self.data.trifleMyselfId
}, {
headers: {
token: self.data.token
}
}, function (code, data) {
console.log(data)
self.setData({
clickGoodPeople: data.rows
})
}, function (code, data) {
console.log(data)
})
},
// 点赞
clickGood: function () {
var self = this
var info = {
trifleMyselfId: self.data.trifleMyselfId,
userName: self.data.userName,
headPortrait: self.data.userIcon
}
app.restAjax.post(app.restAjax.path(app.apis.talkClickGood, [app.baseUrls.requestUrl]), info, {
headers: {
token: self.data.token
}
}, function (code, data) {
if (code == '200') {
self.getGoodCount()
self.getClickedPeople()
self.getIsClickGood()
}
// self.setData({
// isClickGood: data.data
// })
}, function (code, data) {
console.log(data)
})
},
// 取消咱
cancelGood: function () {
var self = this
app.restAjax.delete(app.restAjax.path(app.apis.talkCancelGood, [app.baseUrls.requestUrl, self.data.trifleMyselfId]), {}, {
headers: {
token: self.data.token
}
}, function (code, data) {
if (code == '200') {
self.getGoodCount()
self.getClickedPeople()
self.getIsClickGood()
}
}, function (code, data) {
console.log(data)
})
},
// 输入评论
getFocus: function (e) {
var user = e.currentTarget.dataset.user
var replyTo = e.currentTarget.dataset.id
var name = e.currentTarget.dataset.name
this.setData({
isGetFocus: true,
placeholder: '回复' + user + ':',
replyTo: replyTo,
replyUserName: name
})
},
// 输入框失去焦点判断文字
inputBlur: function () {
if (!this.data.reply) {
this.setData({
placeholder: '讨论一下',
isGetFocus: false
})
}
},
// 确认回复
doReply: function () {
if (!this.data.replyTo) {
this.doReplyTalk()
} else {
this.doReplyReply()
}
},
// 回复
doReplyReply: function () {
var self = this
var info = {
content: self.data.reply,
headPortrait: self.data.userIcon,
userName: self.data.userName,
trifleMyselfId: self.data.trifleMyselfId,
commentId: self.data.replyTo,
replyCommentId: self.data.replyTo,
replyUserName: self.data.replyUserName
}
app.restAjax.post(app.restAjax.path(app.apis.replyTalk, [app.baseUrls.requestUrl]), info, {
headers: {
token: self.data.token
}
}, function (code, data) {
if (code == '200') {
wx.showToast({
title: '评论成功!',
icon: 'success'
})
self.getReplyList()
self.setData({
reply: '',
replyTo: '',
replyUserName: '',
placeholder: '讨论一下'
})
}
}, function (code, data) {
console.log(data)
})
},
viewImg: function (e) {
var id = this.data.serviceUrl + this.data.baseImgUrl + e.currentTarget.dataset.id
var arr = []
for (let i = 0; i < this.data.talkDetail.photo.length; i++) {
var video = this.data.serviceUrl + this.data.baseImgUrl + this.data.talkDetail.photo[i]
arr.push(video)
}
wx.previewImage({
current: id,
urls: arr,
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.setData({
trifleMyselfId: options.trifleMyselfId,
userIcon: wx.getStorageSync('userIcon'),
userName: wx.getStorageSync('name')
})
this.getTalkDetail()
this.getReplyList()
this.getGoodCount()
this.getIsClickGood()
this.getClickedPeople()
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})