123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379 |
- const app = getApp();
- import HTTP from "../../../requestFn/Api"
- Page({
- data: {
- garden_id: null,
- article_list: [],
- page: 1,
- page_size: 10,
- hasMore: true,
- comment_page: 1,
- class_list: [],
- comment_list: [],
- class: {},
- files: [],
- inputValue: '',
- tabbar: {},
- article_height: 50,
- oldHeight: 50
- },
- onLoad() {
- const {unreadCountNeig} = app.globalData;
- this.setData({unreadCountNeig});
- getApp().watch('unreadCountNeig',this.watchBack);
- app.editTabbar();
- },
- watchBack(name, value) {
- let data = {};
- data[name] = value;
- this.setData(data);
- },
- onShow() {
- const {
- garden_id
- } = app.globalData;
- if (garden_id) {
- this.setData({
- garden_id
- })
- }
- this.init();
- },
- init() {
- this.setData({
- page: 1,
- hasMore: true
- })
- this.getArticle(true);
- this.getNeighbor_list();
- },
- getArticle(flag = false) {
- const that = this;
- let {
- page,
- page_size,
- article_list,
- garden_id
- } = that.data;
- HTTP.NeighborArticle({
- garden_id,
- page,
- page_size,
- is_me: false
- }).then(res => {
- that.setData({
- article_list: flag ? res.list : [...article_list, ...res.list],
- page: ++page,
- hasMore: res.list.length === page_size
- })
- })
- },
- onReachBottom() {
- if (!this.data.hasMore) {
- wx.showToast({
- title: '没有更多数据了',
- icon: 'none'
- })
- return console.log('没有更多数据了');
- }
- this.getArticle()
- },
- deleteArticle(e) {
- const that = this;
- const {
- id
- } = e.currentTarget.dataset;
- const {
- garden_id
- } = that.data;
- console.log(id);
- wx.showModal({
- title: "提示",
- content: "是否删除该文章",
- success: function (res) {
- if (res.confirm) {
- HTTP.DeleteArticle({
- method: 'delete',
- garden_id,
- id
- }).then(res => {
- if (res.code == 0) {
- setTimeout(() => {
- wx.showToast({
- title: '删除成功',
- icon: "success"
- })
- }, 500)
- that.init()
- }
- })
- }
- }
- })
- },
- like(e) {
- const that = this;
- const {
- garden_id,
- article_list
- } = that.data;
- const {
- like,
- like_id,
- like_type,
- article_id
- } = e.currentTarget.dataset;
- HTTP.Like({
- like: !like,
- like_id,
- like_type: like_type - 0,
- garden_id
- }).then(res => {
- if (res.code == 0) {
- if (like_type == 1) {
- article_list.map(item => {
- if (item.id == like_id) {
- item.like = !item.like;
- if (item.like) {
- item.likes++
- } else {
- item.likes--
- }
- }
- })
- that.setData({
- article_list
- })
- } else {
- article_list.map(item => {
- if (item.id == article_id) {
- item.comment_list.map(key => {
- if (key.id == like_id) {
- key.like = !key.like
- if (key.like) {
- key.likes++
- } else {
- key.likes--
- }
- }
- })
- }
- })
- that.setData({
- article_list
- })
- // that.get_Neighbor_comment(article_id, like_id)
- }
- }
- })
- },
- getNeighbor_list() {
- const {
- garden_id
- } = this.data;
- HTTP.Neighbor_class({
- garden_id
- }).then(res => {
- this.setData({
- class_list: res.list
- })
- })
- },
- getNeighbor_cpmment(e) {
- const that = this;
- const {
- article_id
- } = e.currentTarget.dataset
- that.get_Neighbor_comment(article_id)
- },
- get_Neighbor_comment(article_id, pid = '', flag = false) {
- console.log(article_id, pid, flag);
- const that = this;
- const {
- garden_id,
- comment_page
- } = this.data;
- HTTP.NeighborComment({
- comment_page,
- page_size: 10,
- garden_id,
- article_id,
- pid
- }).then(res => {
- const commentTag = [];
- const arr = that.data.article_list;
- arr.map(item => {
- if (item.id == article_id) {
- if (item.comment_list && flag) {
- item.comment_list = that.removeDuplicates(item.comment_list.concat(res.list));
- for (let i = 0; i < item.comment_list.length; i++) {
- commentTag.push(false)
- }
- item.commentTag = commentTag
- } else {
- item.comment_list = res.list
- for (let i = 0; i < res.list.length; i++) {
- commentTag.push(false)
- }
- item.commentTag = commentTag
- }
- }
- })
- console.log(arr);
- that.setData({
- article_list: arr
- })
- console.log(that.data.article_list);
- })
- },
- previewImage(e) {
- const {
- id
- } = e.currentTarget;
- const files = this.data.article_list.filter(item => item.id == id)
- console.log(files);
- this.setData({
- files: files[0].pics
- })
- wx.previewImage({
- current: this.data.files[e.currentTarget.dataset.index],
- urls: this.data.files,
- });
- },
- addComment(e) {
- const that = this;
- const {
- garden_id,
- inputValue
- } = that.data;
- const {
- pid,
- article_id
- } = e.currentTarget.dataset;
- HTTP.NeighborComment({
- method: 'post',
- content: inputValue,
- pid,
- garden_id,
- pics: []
- }).then(res => {
- if (res.code == 0) {
- wx.showToast({
- title: '评论成功',
- icon: "success",
- success() {
- that.get_Neighbor_comment(article_id)
- }
- })
- }
- })
- },
- showComment(e) {
- const {
- index,
- id,
- article_id
- } = e.currentTarget.dataset;
- const {
- article_list
- } = this.data;
- article_list.map(item => {
- if (item.id == article_id) {
- item.commentTag[index] = true;
- }
- })
- this.setData({
- article_list
- })
- },
- hiddenComment(e) {
- const {
- index,
- article_id
- } = e.currentTarget.dataset;
- const {
- article_list
- } = this.data;
- console.log(article_list);
- article_list.map(item => {
- if (item.id == article_id) {
- item.commentTag[index] = false
- }
- })
- this.setData({
- article_list
- })
- },
- deleteComment(e) {
- console.log(e);
- const that = this;
- wx.showModal({
- title: "提示",
- content: "是否删除该条评论",
- success: function (res) {
- if (res.confirm) {
- const {
- garden_id
- } = that.data;
- const {
- id,
- article_id
- } = e.currentTarget.dataset
- HTTP.DeleteComment({
- garden_id,
- id
- }).then(res => {
- if (res.code == 0) {
- that.get_Neighbor_comment(article_id)
- }
- })
- }
- }
- })
- },
- goAddArticle() {
- wx.navigateTo({
- url: '/page/neighbor/pages/addArticle/addArticle',
- })
- },
- getComment_son(e) {
- const {
- article_id,
- pid
- } = e.currentTarget.dataset
- this.get_Neighbor_comment(article_id, pid, true)
- },
- removeDuplicates(arr) {
- let newObj = {};
- arr = arr.reduce((preVal, curVal) => {
- newObj[curVal.id] ? '' : newObj[curVal.id] = preVal.push(curVal);
- return preVal
- }, [])
- return arr
- },
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh: function () {
- app.onRefresh();
- this.init();
- },
- getCommentValue(e) {
- this.setData({
- inputValue: e.detail.value
- })
- },
- goDetail(e) {
- const {
- item
- } = e.currentTarget.dataset;
- let data = item;
- console.log(data);
- wx.navigateTo({
- url: `../../neighbor/pages/Detail/Detail`,
- success: function (res) {
- res.eventChannel.emit('acceptDataFromOpenerPage', data)
- }
- })
- }
- })
|