yuminge-app/yun-min-program-plugin-master/packageH/circleCommunity/topicDetails/topicDetails.js

954 lines
24 KiB
JavaScript

// packageH/circleCommunity/topicDetails/topicDetails.js
var yz_pay = require("../../../mycomponent/yz_pay/yz_pay");
var app = getApp();
Page({
behaviors: [yz_pay],
/**
* 页面的初始数据
*/
data: {
language: "",
bannerindex: 1,
mainCommentShow: false,
replyshow: false,
adminOperationshow: false,
adminOperationInfo: [],
releaseOperationshow: false,
amountRewardshow: false,
rewardPayshow: false,
stickid: "",
detailsData: {},
StickCommentData: [],
replyName: "",
replyContent: "",
host_comment_id: "",
second_comment_id: "",
maincomment: "",
readertype: 1, // 1普通看帖人 2发帖人 3管理人
is_praise: true,
//打赏金额选项
rewardArr: [
{
value: 1,
name: "5",
},
{
value: 2,
name: "10",
},
{
value: 3,
name: "20",
},
{
value: 4,
name: "50",
},
{
value: 5,
name: "100",
},
],
rewardArrselect: 99999,
rewardArrmoney: "",
rewardArrmoneytype: 2,
btnData: [],
rewardMoney: 0,
commentManagement: false,
is_own: false,
commend_id: "",
mulcommentsshow: true,
Height: 0,
LastHeight: 0,
//more
isLoadMore: true,
page: 1,
total_page: 0,
loading: false,
replyheight: 0,
reward_button: 0,
popupSpecs: false,
passwordInfo: {},
pwds: [],
pwd: "",
pw1: "",
pw2: "",
pw3: "",
pw4: "",
pw5: "",
pw6: "",
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
if (options.stickId) {
this.data.stickid = options.stickId;
} else {
wx.navigateBack({
delta: 1,
});
}
this.getMicroDetails();
this.getCircleSet();
this.getStickComment();
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
let language = wx.getStorageSync("langIndex");
this.setData({ language: language.en });
},
bindChangeBannerIndex(evt) {
this.setData({
bannerindex: evt.detail.current + 1,
});
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {},
adminBtn(evt) {
let type = evt.currentTarget.dataset.type;
if (type == "del") {
this.deleteBtn();
return;
} else if (type == "edit") {
this.reEditBtn();
return;
}
console.log(type);
let dataJson = { circle_id: this.data.detailsData.circle_id, invitation_id: this.data.stickid, invitation_type: type };
let urlStr = app.getNetAddresss("plugin.circle.frontend.circle-invitation.set-invitation-review");
app._postNetWork({
url: urlStr,
showToastIn: false,
data: dataJson,
success: (resdata) => {
let res = resdata.data;
app.tips(res.msg);
if (res.result != 1) return;
let status = 0;
if (this.data.detailsData[type] == 0) status = 1;
let target = "detailsData." + type;
this.setData({
[target]: status,
adminOperationshow: false,
});
},
});
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
if (this.data.loading) {
console.log("没有更多数据");
} else {
this.getMoreData();
}
},
/**
* 朋友圈
*/
onShareTimeline: function () {
return {
title: this.data.detailsData.title ? this.data.detailsData.title : "",
};
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
return {
title: this.data.detailsData.title ? this.data.detailsData.title : "",
};
},
amountRewardshowbtn() {
this.setData({
amountRewardshow: false,
});
},
getMicroDetails() {
let dataJson = {
invitation_id: this.data.stickid,
};
let urlStr = app.getNetAddresss("plugin.circle.frontend.circle-invitation.details");
app._postNetWork({
url: urlStr,
showToastIn: false,
data: dataJson,
success: (resdata) => {
var res = resdata.data;
if (res.result == 1) {
this.setData({
detailsData: res.data,
});
if (this.data.detailsData) {
if (this.data.detailsData.is_master == 1) {
this.setData({
readertype: 3,
});
} else if (this.data.detailsData.is_current_member == 1) {
this.setData({
readertype: 2,
});
}
if (this.data.detailsData.is_manager == 1) {
this.setData({
is_praise: true,
});
} else {
this.setData({
is_praise: false,
});
}
}
} else {
app.tips(res.msg);
}
},
fail: function (res) {},
});
},
pageInit() {
this.data.page = 1;
this.data.total_page = 0;
this.data.isLoadMore = true;
this.data.loading = false;
},
getStickComment() {
this.pageInit();
let dataJson = {
invitation_id: this.data.stickid,
};
let urlStr = app.getNetAddresss("plugin.circle.frontend.circle-invitation.get-comment-list");
app._postNetWork({
url: urlStr,
showToastIn: false,
data: dataJson,
success: (resdata) => {
var res = resdata.data;
if (res.result == 1) {
this.data.total_page = res.data.last_page;
this.setData({
StickCommentData: res.data.data,
});
} else {
wx.showToast({
icon: "none",
title: res.msg,
duration: 1500,
});
}
},
fail: function (res) {},
});
},
gotoCart() {
wx.reLaunch({
url: "/packageG/index/index",
});
},
toShop(e) {
let id = e.currentTarget.dataset.id;
wx.navigateTo({
url: "/packageC/o2o/o2oStore/o2oStore?store_id=" + id,
});
},
toGood(e) {
let good_id = e.currentTarget.dataset.good_id;
wx.navigateTo({
url: "/packageA/detail_v2/detail_v2?id=" + good_id,
});
},
attentionBtn() {
if (this.data.detailsData.is_attention == 1) {
this.cancelAttention();
} else {
this.addAttention();
}
},
cancelAttention() {
let dataJson = {
attention_member_id: this.data.detailsData.member_id,
};
let urlStr = app.getNetAddresss("plugin.circle.frontend.circle-member.cancel-attention");
app._postNetWork({
url: urlStr,
showToastIn: false,
data: dataJson,
success: (resdata) => {
var res = resdata.data;
app.tips(res.msg);
if (res.result != 1) return;
this.setData({
"detailsData.is_attention": 0,
});
},
fail: function (res) {},
});
},
addAttention() {
let dataJson = {
attention_member_id: this.data.detailsData.member_id,
};
let urlStr = app.getNetAddresss("plugin.circle.frontend.circle-member.attention-member");
app._postNetWork({
url: urlStr,
showToastIn: false,
data: dataJson,
success: (resdata) => {
var res = resdata.data;
app.tips(res.msg);
if (res.result != 1) return;
this.setData({
"detailsData.is_attention": 1,
});
},
fail: function (res) {},
});
},
managementBtn() {
let detailsData = this.data.detailsData;
let adminOperationInfo = [];
if (this.data.detailsData.is_master == 1) {
adminOperationInfo = [
{
type: "is_top",
img: "https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/micro_communities/detail_roof@2x.png",
name: detailsData.is_top == 1 ? "取消置顶" : "置顶",
},
{
type: "is_recommend",
img: "https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/micro_communities/detail_recommend@2x.png",
name: detailsData.is_recommend == 1 ? "取消推荐" : "推荐",
},
{
type: "is_show",
img: "https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/micro_communities/detail_invisible@2x.png",
name: detailsData.is_show == 1 ? "取消未加入可见" : "未加入可见",
},
];
}
if (this.data.detailsData.is_current_member == 1) {
adminOperationInfo.push({
type: "edit",
img: "https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/micro_communities/detail_revise@2x.png",
name: "修改",
});
}
adminOperationInfo.push({
type: "del",
img: "https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/micro_communities/detail_delect@2x.png",
name: "删除",
});
this.setData({
adminOperationInfo,
adminOperationshow: true,
});
},
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,
});
console.log(this.data.replyContent);
if (is_own == 1) {
this.setData({
is_own: true,
});
} else {
this.setData({
is_own: false,
});
}
this.setData({
commentManagement: true,
});
},
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.circle.frontend.circle-invitation.comment-like");
dataJson.invitation_id = this.data.stickid;
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 + "].link_count"]: this.data.StickCommentData[index].has_many_comment[chilindex].link_count
? this.data.StickCommentData[index].has_many_comment[chilindex].link_count + 1
: 1,
});
} else {
this.setData({
["StickCommentData[" + index + "].is_like"]: 1,
["StickCommentData[" + index + "].link_count"]: this.data.StickCommentData[index].link_count ? this.data.StickCommentData[index].link_count + 1 : 1,
});
}
},
fail: function (res) {},
});
},
mulchMeatsShowBtn() {
this.setData({
mulcommentsshow: false,
});
this.getMoreData();
},
subMainCommentBtn() {
this.setData({
maincomment: "",
mainCommentShow: true,
});
},
moneyShow() {
this.setData({
rewardArrmoney: "",
rewardArrselect: 9999,
rewardMoney: 0,
amountRewardshow: true,
});
},
isPraiseBtn() {
if (this.data.detailsData.is_like == 1) {
wx.showToast({
icon: "none",
title: "你已赞过该贴",
duration: 1500,
});
return false;
}
let urlStr = app.getNetAddresss("plugin.circle.frontend.circle-invitation.like");
app._postNetWork({
url: urlStr,
showToastIn: false,
data: { invitation_id: this.data.stickid },
success: (resdata) => {
var res = resdata.data;
app.tips(res.msg);
if (res.result != 1) return;
this.setData({
"detailsData.likeCount": this.data.detailsData.likeCount ? this.data.detailsData.likeCount + 1 : 1,
});
},
});
},
subMainBtn() {
if (!this.data.maincomment) {
wx.showToast({
icon: "none",
title: "请输入你的精彩评论",
duration: 1500,
});
return;
}
this.setData({
mainCommentShow: false,
});
this.getReplyComments("main");
},
getReplyComments(getType) {
let dataJson = {};
let urlStr = app.getNetAddresss("plugin.circle.frontend.circle-invitation.comment");
dataJson.invitation_id = this.data.stickid;
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;
if (res.result == 1) {
this.getStickComment();
wx.showToast({
icon: "none",
title: res.msg,
duration: 1500,
});
} else {
wx.showToast({
icon: "none",
title: res.msg,
duration: 1500,
});
}
},
fail: function (res) {},
});
},
replySubmitBtn() {
if (!this.data.replyContent) {
wx.showToast({
icon: "none",
title: "请输入回复内容",
duration: 1500,
});
return;
}
this.setData({
replyshow: false,
});
this.getReplyComments("reply");
},
dminBtn(typenum) {
let that = this;
let dataJson = {};
dataJson.tid = that.stickid;
if (typenum == 1) {
dataJson.operation = 1;
} else if (typenum == 2) {
dataJson.operation = 2;
}
let urlStr = app.getNetAddresss("plugin.micro-communities.api.trick.changeOperation");
app._postNetWork({
url: urlStr,
showToastIn: false,
data: dataJson,
success: function (resdata) {
var res = resdata.data;
if (res.result == 1) {
that.setData({
adminOperationshow: false,
});
wx.showToast({
icon: "none",
title: res.msg,
duration: 1500,
});
} else {
that.setData({
adminOperationshow: false,
});
wx.showToast({
icon: "none",
title: res.msg,
duration: 1500,
});
}
},
fail: function (res) {},
});
},
deleteBtn() {
let that = this;
let dataJson = {};
let urlStr = app.getNetAddresss("plugin.circle.frontend.circle-invitation.del");
dataJson.invitation_id = that.data.stickid;
app._postNetWork({
url: urlStr,
showToastIn: false,
data: dataJson,
success: function (resdata) {
var res = resdata.data;
if (res.result == 1) {
wx.showToast({
icon: "none",
title: res.msg,
duration: 1500,
});
that.setData({
releaseOperationshow: false,
adminOperationshow: false,
});
wx.reLaunch({
url: "/packageH/circleCommunity/circleIndex/circleIndex",
});
} else {
that.setData({
releaseOperationshow: false,
adminOperationshow: false,
});
wx.showToast({
icon: "none",
title: res.msg,
duration: 1500,
});
}
},
fail: function (res) {},
});
},
//获取圈子设置
getCircleSet() {
let urlStr = app.getNetAddresss("plugin.circle.frontend.circle.get-set");
app._getNetWork({
url: urlStr,
data: {},
success: (resdata) => {
var res = resdata.data;
if (res.result != 1) return app.tips(res.msg);
this.setData({
reward_button: res.data.dashan,
});
},
fail: function (res) {
console.log(res);
},
});
},
adCancel() {
this.setData({
adminOperationshow: false,
});
},
reEditBtn() {
wx.navigateTo({
url: "/packageH/circleCommunity/circleTopic/circleTopic?stickId=" + this.data.stickid,
});
},
reCancelBtn() {
this.setData({
releaseOperationshow: false,
});
},
shorewardArrBtn(e) {
let index = e.currentTarget.dataset.index;
this.setData({
rewardArrmoneytype: 1,
rewardArrselect: index,
rewardArrmoney: "",
});
},
confirmRewardBtn() {
this.setData({
amountRewardshow: false,
});
console.log(this.data.rewardArrmoneytype);
if (this.data.rewardArrmoneytype == 1) {
this.setData({
rewardMoney: parseInt(this.data.rewardArr[this.data.rewardArrselect].name),
});
} else if (this.data.rewardArrmoneytype == 2) {
this.setData({
rewardMoney: this.data.rewardArrmoney,
});
}
if (app._isTextEmpty(this.data.rewardMoney)) {
wx.showToast({
icon: "none",
title: "请输入或选择打赏金额",
duration: 1500,
});
return;
}
if (this.data.rewardMoney <= 0) {
wx.showToast({
icon: "none",
title: "打赏金额必须大于0",
duration: 1500,
});
return;
}
this.getPayData();
},
//获取支付类型参数
getPayData() {
let urlStr = app.getNetAddresss("plugin.circle.frontend.circle-pay.get-pay-button");
app._getNetWork({
url: urlStr,
success: (resdata)=> {
var res = resdata.data;
if (res.result == 1) {
let btnData = res.data.buttons;
this.setData({
btnData: btnData,
rewardPayshow: true,
});
}
},
fail: (res)=> {
console.log(res);
},
});
},
payBtn(e) {
let type, name, btn = null;
if (e.currentTarget) {
type = e.currentTarget.dataset.info.value;
name = e.currentTarget.dataset.info.name;
btn = e.currentTarget.dataset.info;
} else {
type = e.value;
name = e.name;
btn = e;
}
let urlStr = app.getNetAddresss("plugin.circle.frontend.circle-pay.invitation-reward");
let dataJson = {
pay_method: type,
price: this.data.rewardMoney,
pay_name: name,
invitation_id: this.data.stickid,
client_type: "2",
};
app._postNetWork({
url: urlStr,
showToastIn: false,
data: dataJson,
success: (resdata)=> {
var res = resdata.data;
if (res.result == 1) {
this.setData({
rewardPayshow: false,
});
this.handleOtherPay(btn, type, res.data);
} else {
wx.showToast({
icon: "none",
title: res.msg,
duration: 1500,
});
}
},
});
},
rewardPayCancelBtn() {
this.setData({
rewardPayshow: false,
});
},
replyBtn() {
this.setData({
replyshow: true,
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 that = this;
let dataJson = {};
let urlStr = app.getNetAddresss("plugin.circle.frontend.circle-invitation.delete-comment");
dataJson.comment_id = this.data.commend_id;
app._postNetWork({
url: urlStr,
showToastIn: false,
data: dataJson,
success: function (resdata) {
var res = resdata.data;
if (res.result == 1) {
that.getStickComment();
wx.showToast({
icon: "none",
title: res.msg,
duration: 1500,
});
} else {
wx.showToast({
icon: "none",
title: res.msg,
duration: 1500,
});
}
},
fail: function (res) {},
});
},
replyCancelBtn() {
this.setData({
commentManagement: false,
});
},
imgHeight: function (e) {
var winWid = wx.getSystemInfoSync().windowWidth; //获取当前屏幕的宽度
var imgh = e.detail.height; //图片高度
var imgw = e.detail.width; //图片宽度
var swiperH = (winWid * imgh) / imgw + "px"; //等比设置swiper的高度。 即 屏幕宽度 / swiper高度 = 图片宽度 / 图片高度 ==》swiper高度 = 屏幕宽度 * 图片高度 / 图片宽度
if (parseInt(swiperH) > this.data.LastHeight) {
this.setData({
Height: swiperH, //设置高度
});
this.data.LastHeight = parseInt(swiperH);
}
},
maincommentinp(e) {
let val = e.detail.value;
this.setData({
maincomment: val,
});
},
rewardArrmoneyinp(e) {
let val = e.detail.value;
this.setData({
rewardArrmoney: val,
});
},
replyContentinp(e) {
let val = e.detail.value;
this.setData({
replyContent: val,
});
},
replyfocus(e) {
let height = e.detail.height;
this.setData({
replyheight: height,
});
},
replyblur(e) {
this.setData({
replyheight: 0,
});
},
replyshowClose() {
this.setData({
replyshow: false,
});
},
mainCommentShowClose() {
this.setData({
mainCommentShow: false,
});
},
adminOperationshowClose() {
this.setData({
adminOperationshow: false,
});
},
releaseOperationshowClose() {
this.setData({
releaseOperationshow: false,
});
},
amountRewardshowClose() {
this.setData({
amountRewardshow: false,
});
},
rewardPayshowClose() {
this.setData({
rewardPayshow: false,
});
},
commentManagementClose() {
this.setData({
commentManagement: false,
});
},
getMoreData() {
if (this.data.mulcommentsshow) {
return false;
}
let json = {
invitation_id: this.data.stickid,
};
this.data.isLoadMore = false; // 防止多次请求分页数据
let urlStr = app.getNetAddresss("plugin.circle.frontend.circle-invitation.get-comment-list");
if (this.data.page >= this.data.total_page) {
this.setData({
loading: true,
});
} else {
this.data.page = this.data.page + 1;
json.page = this.data.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),
});
} else {
this.data.page = this.data.page - 1;
this.data.isLoadMore = false;
}
},
fail: function (res) {},
});
}
},
});