340 lines
8.7 KiB
JavaScript
340 lines
8.7 KiB
JavaScript
// packageI/newMedia/components/comment/comment.js
|
|
var app = getApp();
|
|
Component({
|
|
/**
|
|
* 组件的属性列表
|
|
*/
|
|
properties: {
|
|
advertisingt_id:{
|
|
value:10,
|
|
type:Number
|
|
},
|
|
commentsShow:{
|
|
value:false,
|
|
type:Boolean
|
|
},
|
|
autoRequest:{
|
|
value:false,
|
|
type:Boolean
|
|
}
|
|
},
|
|
|
|
/**
|
|
* 组件的初始数据
|
|
*/
|
|
data: {
|
|
|
|
// getCommentFlag:true,
|
|
mainCommentShow: false,
|
|
maincomment: "",
|
|
|
|
comment_total: 0,
|
|
comment_page: 1,
|
|
comment_loading: false,
|
|
comment_total_count: 0,
|
|
StickCommentData: [],
|
|
|
|
replyName: "",
|
|
replyContent: "",
|
|
host_comment_id: "",
|
|
second_comment_id: "",
|
|
|
|
is_own: false,
|
|
commentManagement: false,
|
|
replyshow: false,
|
|
},
|
|
|
|
ready(){
|
|
if(this.data.autoRequest){
|
|
this.getStickComment();
|
|
}
|
|
|
|
},
|
|
|
|
/**
|
|
* 组件的方法列表
|
|
*/
|
|
methods: {
|
|
subMainCommentBtn() {
|
|
this.setData({
|
|
maincomment: "",
|
|
mainCommentShow: !this.data.mainCommentShow,
|
|
});
|
|
},
|
|
openComments() {
|
|
this.setData({
|
|
commentsShow: !this.data.commentsShow,
|
|
});
|
|
this.triggerEvent("closeComment");
|
|
},
|
|
subMainBtn() {
|
|
if (!this.data.maincomment) {
|
|
return app.tips("请输入你的精彩评论");
|
|
}
|
|
this.setData({
|
|
mainCommentShow: false,
|
|
});
|
|
this.getReplyComments("main");
|
|
},
|
|
|
|
getReplyComments(getType) {
|
|
let dataJson = {};
|
|
let urlStr = app.getNetAddresss("plugin.new-media-advertising.frontend.comment.comment");
|
|
dataJson.advertisingt_id = this.data.advertisingt_id;
|
|
if (getType == "main") {
|
|
dataJson.comment = this.data.maincomment;
|
|
} else {
|
|
dataJson.comment = this.data.replyContent;
|
|
}
|
|
if (getType == "reply") {
|
|
if (this.data.host_comment_id) {
|
|
dataJson.parent_id = this.data.host_comment_id;
|
|
}
|
|
if (this.data.second_comment_id) {
|
|
dataJson.subordinate_id = this.data.second_comment_id;
|
|
}
|
|
}
|
|
app._postNetWork({
|
|
url: urlStr,
|
|
showToastIn: false,
|
|
data: dataJson,
|
|
success: (resdata) => {
|
|
var res = resdata.data;
|
|
app.tips(res.msg);
|
|
if (res.result == 1) {
|
|
this.getStickComment();
|
|
this.triggerEvent('commentSuccess',{type:'add'});
|
|
if(res.data.is_reward && res.data.is_reward==1){
|
|
this.triggerEvent("reward",res.data);
|
|
}
|
|
}
|
|
},
|
|
fail: function (res) {},
|
|
});
|
|
},
|
|
|
|
getStickComment() {
|
|
this.setData({
|
|
comment_page: 1,
|
|
comment_total: 0,
|
|
});
|
|
let dataJson = {
|
|
advertisingt_id: this.data.advertisingt_id,
|
|
};
|
|
let urlStr = app.getNetAddresss("plugin.new-media-advertising.frontend.comment.get-comment-list");
|
|
app._postNetWork({
|
|
url: urlStr,
|
|
showToastIn: false,
|
|
data: dataJson,
|
|
success: (resdata) => {
|
|
var res = resdata.data;
|
|
if (res.result == 1) {
|
|
this.setData({
|
|
comment_total: res.data.last_page,
|
|
StickCommentData: res.data.data,
|
|
comment_total_count: res.data.total,
|
|
});
|
|
} else {
|
|
app.tips(res.msg);
|
|
}
|
|
},
|
|
fail: function (res) {},
|
|
});
|
|
},
|
|
|
|
replyCommentsBtn(e) {
|
|
let host_comment_id = e.currentTarget.dataset.hostcommentid;
|
|
let second_comment_id = e.currentTarget.dataset.secondcommentid;
|
|
let uname = e.currentTarget.dataset.uname;
|
|
let content = e.currentTarget.dataset.content;
|
|
let is_own = e.currentTarget.dataset.isown;
|
|
this.setData({
|
|
host_comment_id: host_comment_id,
|
|
second_comment_id: second_comment_id,
|
|
replyContent: "",
|
|
replyName: uname,
|
|
replyshowcontent: content,
|
|
});
|
|
if (is_own == 1) {
|
|
this.setData({
|
|
is_own: true,
|
|
});
|
|
} else {
|
|
this.setData({
|
|
is_own: false,
|
|
});
|
|
}
|
|
this.setData({
|
|
commentManagement: true,
|
|
});
|
|
},
|
|
|
|
replyBtn() {
|
|
this.setData({
|
|
replyshow: true,
|
|
commentManagement: false,
|
|
});
|
|
},
|
|
|
|
replySubmitBtn() {
|
|
if (!this.data.replyContent) {
|
|
return app.tips("请输入回复内容");
|
|
}
|
|
this.setData({
|
|
replyshow: false,
|
|
});
|
|
this.getReplyComments("reply");
|
|
},
|
|
|
|
replyshowClose() {
|
|
this.setData({
|
|
replyshow: false,
|
|
});
|
|
},
|
|
|
|
commentManagementClose() {
|
|
this.setData({
|
|
commentManagement: false,
|
|
});
|
|
},
|
|
|
|
|
|
delBtn() {
|
|
if (this.data.host_comment_id && this.data.second_comment_id) {
|
|
this.setData({
|
|
commend_id: this.data.second_comment_id,
|
|
});
|
|
} else {
|
|
this.setData({
|
|
commend_id: this.data.host_comment_id,
|
|
});
|
|
}
|
|
this.setData({
|
|
commentManagement: false,
|
|
});
|
|
this.delReply();
|
|
},
|
|
delReply() {
|
|
let dataJson = {};
|
|
let urlStr = app.getNetAddresss("plugin.new-media-advertising.frontend.comment.delete-comment");
|
|
dataJson.comment_id = this.data.commend_id;
|
|
app._postNetWork({
|
|
url: urlStr,
|
|
showToastIn: false,
|
|
data: dataJson,
|
|
success: (resdata) => {
|
|
var res = resdata.data;
|
|
app.tips(res.msg);
|
|
if (res.result == 1) {
|
|
this.triggerEvent('commentSuccess',{type:'reduce'});
|
|
this.getStickComment();
|
|
}
|
|
},
|
|
fail: function (res) {},
|
|
});
|
|
},
|
|
|
|
|
|
|
|
praiseBtn(e) {
|
|
let host_comment_id = e.currentTarget.dataset.hostcommentid;
|
|
let second_comment_id = e.currentTarget.dataset.secondcommentid;
|
|
let index = e.currentTarget.dataset.index;
|
|
let chilindex = e.currentTarget.dataset.chilindex;
|
|
let is_praise = e.currentTarget.dataset.ispraise;
|
|
if (is_praise == 1) {
|
|
return app.tips("你已赞过该贴");
|
|
}
|
|
this.getPraiseData(host_comment_id, second_comment_id, index, chilindex);
|
|
},
|
|
getPraiseData(host_comment_id, second_comment_id, index, chilindex) {
|
|
let dataJson = {};
|
|
let urlStr = app.getNetAddresss("plugin.new-media-advertising.frontend.comment.comment-like");
|
|
|
|
dataJson.advertisingt_id = this.data.advertisingt_id;
|
|
|
|
if (host_comment_id && second_comment_id) {
|
|
dataJson.comment_id = second_comment_id;
|
|
} else {
|
|
dataJson.comment_id = host_comment_id;
|
|
}
|
|
app._postNetWork({
|
|
url: urlStr,
|
|
showToastIn: false,
|
|
data: dataJson,
|
|
success: (resdata) => {
|
|
var res = resdata.data;
|
|
app.tips(res.msg);
|
|
if (res.result != 1) return;
|
|
|
|
if (host_comment_id && second_comment_id) {
|
|
this.setData({
|
|
["StickCommentData.[" + index + "].has_many_comment[" + chilindex + "].is_like"]: 1,
|
|
["StickCommentData.[" + index + "].has_many_comment[" + chilindex + "].like_count"]: this.data.StickCommentData[index].has_many_comment[chilindex].like_count ?
|
|
this.data.StickCommentData[index].has_many_comment[chilindex].like_count + 1 :
|
|
1,
|
|
});
|
|
} else {
|
|
this.setData({
|
|
["StickCommentData[" + index + "].is_like"]: 1,
|
|
["StickCommentData[" + index + "].like_count"]: this.data.StickCommentData[index].like_count ? this.data.StickCommentData[index].like_count + 1 : 1,
|
|
});
|
|
}
|
|
},
|
|
fail: function (res) {},
|
|
});
|
|
},
|
|
|
|
|
|
|
|
getMoreStickComment() {
|
|
let json = {
|
|
advertisingt_id: this.data.advertisingt_id,
|
|
};
|
|
if (this.data.comment_loading) return;
|
|
this.setData({
|
|
comment_loading: true,
|
|
});
|
|
|
|
let urlStr = app.getNetAddresss("plugin.new-media-advertising.frontend.comment.get-comment-list");
|
|
if (this.data.comment_page >= this.data.comment_total) {
|
|
this.setData({
|
|
loading: true,
|
|
});
|
|
return;
|
|
} else {
|
|
this.setData({
|
|
comment_page: this.data.comment_page + 1,
|
|
});
|
|
json.page = this.data.comment_page;
|
|
app._postNetWork({
|
|
url: urlStr,
|
|
showToastIn: false,
|
|
data: json,
|
|
success: (resdata) => {
|
|
var res = resdata.data;
|
|
if (res.result == 1) {
|
|
var myData = res.data.data;
|
|
this.setData({
|
|
StickCommentData: this.data.StickCommentData.concat(myData),
|
|
comment_loading: false,
|
|
});
|
|
} else {
|
|
this.setData({
|
|
comment_page: this.data.comment_page - 1,
|
|
comment_loading: false,
|
|
});
|
|
}
|
|
},
|
|
fail: function (res) {},
|
|
});
|
|
}
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
});
|