duidui_mini_program/pages/communityinfocomment/communityinfocomment.js
2026-03-27 10:41:46 +08:00

500 lines
13 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const Apps = getApp();
const api = require('../../config/api.js');
const util = require('../../config/util.js');
Page({
/**
* 页面的初始数据
*/
data: {
id:0,
imagecount:4,
indeximagecount:4,
baseurl: Apps.globalData.baseimgurl,
indexlist:[],
replylist:[],
wordsid:0,
wordstextname:'',
title: '',
content: '',
images: '' ,
upload_picture_list: [],
imagesListp:[],
imagestr:[],
accesstoken:'',
scrollTop: 0,
ispic:0,
xid:0
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
console.log(options);
this.setData({
id:options.id
});
wx.setNavigationBarTitle({
title: this.data.title,
})
this.getacctoken();
// this.pageScrollToBottom();
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
this.getwordsinfo(this.data.id);
this.getwordsreply();
this.pageScrollToBottom();
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
},
getwordsinfo:function(e){
const that = this;
let url = Apps.globalData.baseUrl + '/wordslist/getsinglewords';
var param = {
id: e,
};
//此处为使用封装的post请求
util.post(url, param).then((res) => {
console.log(res);
console.log("================");
that.setData({
indexlist: res.data,
wordsid:res.data.id
});
}).catch((errMsg) => {
console.log(errMsg);
});
},
wordsclick:function(ee){
console.log(ee);
console.log(Apps.globalData.currentuserinfo);
let e1=ee.currentTarget.id;
let e2=wx.getStorageSync('wxuserid');
const that = this;
let url = Apps.globalData.baseUrl + '/wordslist/wordsclickcount';
var param = {
words_id: e1,
user_id: e2,
};
//此处为使用封装的post请求
util.get(url, param).then((res) => {
console.log(res);
this.getwordsinfo(this.data.id);
this.getwordsreply();
}).catch((errMsg) => {
console.log(errMsg);
});
},
getwordsreply:function(){
const that = this;
let url = Apps.globalData.baseUrl + '/wordslist/wordsreply';
var param = {
wordsid: that.data.id
};
//此处为使用封装的post请求
util.get(url, param).then((res) => {
console.log(res);
that.setData({
replylist:res.data
});
}).catch((errMsg) => {
console.log(errMsg);
});
},
uploadpic:function(){
var that = this;
let imagesList = [];
let maxSize = 1024 * 1024;
let maxLength = 6;
let flag = true;
wx.chooseImage({
count: 9, //最多可以选择的图片总数
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: function (res) {
wx.showToast({
title: '正在上传...',
icon: 'loading',
mask: true,
duration: 500
})
for (let i = 0; i < res.tempFiles.length; i++) {
if (res.tempFiles[i].size > maxSize) {
flag = false;
console.log(111)
wx.showModal({
content: '图片太大,不允许上传',
showCancel: false,
success: function (res) {
if (res.confirm) {
console.log('用户点击确定')
}
}
});
}
}
if (res.tempFiles.length > maxLength) {
console.log('222');
wx.showModal({
content: '最多能上传' + maxLength + '张图片',
showCancel: false,
success: function (res) {
if (res.confirm) {
console.log('确定');
}
}
})
}
if (flag == true && res.tempFiles.length <= maxLength) {
that.setData({
imagesListp: res.tempFilePaths
})
that.data.imagestr=[];
var arr='';
for (let i = 0; i < that.data.imagesListp.length; i++) {
that.getpicchekc(that.data.imagesListp[i]);
if(that.data.ispic==1){
wx.uploadFile({
url: Apps.globalData.baseUrl + '/wordslist/uploadpics',
filePath: that.data.imagesListp[i],
name: 'file',
success:function(res){
//打印
console.log("------------响应数据:");
console.log(res.data);
var message = JSON.parse(res.data);
that.data.imagestr.push(message);
that.setData({
imagestr:that.data.imagestr
});
},
})
}
}
}
console.log(res);
},
fail: function (res) {
console.log(res);
}
})
},
formSubmit:function(e) {
Apps.islogin();
if(wx.getStorageSync('wxuserid')==''){
wx.navigateTo({
url: '/pages/userlogin/userlogin',
})
}
let content = this.data.wordstextname;
if (content == '') {
wx.showToast({
title: '留言内容为空,请填写内容',
icon: 'none',
duration: 1500
})
return false;
}
// this.wordsadd(content,this.data.imagestr);
this.getmsgcheck(content,this.data.accesstoken);
this.pageScrollToBottom();
},
bindTextAreaBlur: function(e) {
this.setData({
wordstextname:e.detail.value
})
},
uploadpicsimage:function(e){
const that = this;
let url = Apps.globalData.baseUrl + '/wordslist/uploadpics';
var param = {
url: e
};
//此处为使用封装的post请求
util.post(url, param).then((res) => {
console.log(res);
}).catch((errMsg) => {
console.log(errMsg);
});
},
wordsadd:function(content,imagestr){
const that = this;
let url = Apps.globalData.baseUrl + '/wordslist/wordsadd';
var param = {
content: content,
imagestr:imagestr,
userid:wx.getStorageSync('wxuserid')==''?3:wx.getStorageSync('wxuserid'),
wordsid:that.data.id,
xid:that.data.xid
};
//此处为使用封装的post请求
util.post(url, param).then((res) => {
console.log(res.data);
if(res.data>0){
wx.showToast({
title: '留言内容成功',
icon: 'none',
duration: 1500
})
that.getwordsinfo(that.data.id);
that.getwordsreply();
that.setData({
wordstextname:''
})
}
}).catch((errMsg) => {
console.log(errMsg);
});
},contentclick:function(params) {
let id=params.currentTarget.id;
let xid=params.currentTarget.dataset.xid;
this.setData({
wordstextname:'@'+id,
xid:xid
});
this.getacctoken();
// this.addinccomment(xid)
wx.showToast({
title: '@成功,请移底部留言',//提示文字
duration:2000,//显示时长
mask:true,//是否显示透明蒙层防止触摸穿透默认false
icon:'success', //图标,支持"success"、"loading"
success:function(){ },//接口调用成功
fail: function () { }, //接口调用失败的回调函数
complete: function () { } //接口调用结束的回调函数
})
this.pageScrollToBottom();
},rdclick:function(params) {
wx.navigateTo({
url: '/pages/communityinfo/communityinfo?id='+params.currentTarget.id,
})
},addinccomment:function(params) {
//增加评论数
console.log(params);
let userid=wx.getStorageSync('wxuserid');
const that = this;
let url = Apps.globalData.baseUrl + '/wordslist/addcommentrepycount';
var param = {
id:params,
userid:userid
};
//此处为使用封装的post请求
util.get(url, param).then((res) => {
console.log(res);
// this.wrodtypelist(this.data.courseid)
}).catch((errMsg) => {
console.log(errMsg);
});
},
preview:function (params) {
let that=this;
console.log(params)
let currentUrl = params.currentTarget.dataset.src;
let arrindex=params.currentTarget.dataset.id;
console.log(arrindex);
let rearr=that.data.replylist[arrindex].pics;
console.log(rearr);
let arr=[];
rearr.forEach(function (item,index) {
arr[index]=that.data.baseurl+item
});
console.log(arr);
wx.previewImage({
current: currentUrl, // 当前显示图片的http链接
urls: arr // 需要预览的图片http链接列表
})
},
preview2:function (params) {
let that=this;
console.log(params)
let currentUrl = params.currentTarget.dataset.src;
let arrindex=params.currentTarget.dataset.id;
let rearr=that.data.indexlist[arrindex].pics;
console.log(rearr);
let arr=[];
rearr.forEach(function (item,index) {
arr[index]=that.data.baseurl+item
});
console.log(arr);
wx.previewImage({
current: currentUrl, // 当前显示图片的http链接
urls: arr // 需要预览的图片http链接列表
})
},communityinfoclick:function(e){
//社区留言信息
console.log(e.currentTarget.id);
wx.navigateTo({
url: '/pages/communityinfo/communityinfo?id='+e.currentTarget.id,
})
},
getacctoken:function() {
const that = this;
let url = Apps.globalData.baseUrl + '/user/acctoken';
var param = {
pareid: '1213'
};
//此处为使用封装的post请求
util.get(url, param).then((res) => {
wx.setStorageSync('accesstoen', res.access_token)
that.setData({
accesstoken: res.access_token
});
}).catch((errMsg) => {
console.log(errMsg);
});
},
getmsgcheck:function (params,accesstoken) {
// $url ='https://api.weixin.qq.com/wxa/msg_sec_check?access_token=' .$accessToken;
const that = this;
// let url = 'https://api.weixin.qq.com/wxa/msg_sec_check?access_token='+wx.getStorageSync('accesstoen');
let url=Apps.globalData.baseUrl+'/user/checkmsg'
var param = {
"openid": wx.getStorageSync('wxopenid'),
"scene": 2,
"version": 2,
"content":params,
"access_token":that.data.accesstoken
};
//此处为使用封装的post请求
util.post(url, param).then((res) => {
if(res.errcode=="0"){
that.wordsadd(params,that.data.imagestr)
}else{
wx.showToast({
title: '留言内容有敏感词请重新输入',//提示文字
duration:2000,//显示时长
mask:true,//是否显示透明蒙层防止触摸穿透默认false
icon:'none', //图标,支持"success"、"loading"
success:function(){ },//接口调用成功
fail: function () { }, //接口调用失败的回调函数
complete: function () { } //接口调用结束的回调函数
})
}
}).catch((errMsg) => {
console.log(errMsg);
});
},
getpicchekc:function(params) {
let url=Apps.globalData.baseUrl+'/user/checkpic'
var param = {
"openid": wx.getStorageSync('wxopenid'),
"scene": 2,
"version": 2,
"media_url":params,
"media_type":2,
"version":2,
"access_token":wx.getStorageSync('accesstoen')
};
//此处为使用封装的post请求
util.post(url, param).then((res) => {
this.setData({
ispic:1
})
}).catch((errMsg) => {
console.log(errMsg);
});
},
pageScrollToBottom() {
wx.createSelectorQuery().select('#time-mo').boundingClientRect(function (rect) {
// rect.id // 节点的ID
rect.dataset // 节点的dataset
rect.left // 节点的左边界坐标
rect.right // 节点的右边界坐标
rect.top // 节点的上边界坐标
rect.bottom // 节点的下边界坐标
rect.width // 节点的宽度
rect.height
console.log(rect.bottom*15)
console.log(rect.bottom)
// 使页面滚动到底部
wx.pageScrollTo({
scrollTop: rect.bottom*15
})
}).exec()
},
})