账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    小程序 点赞功能 其中有一些判断问题处理不来
    32
    0

    问题描述

    項目需要添加點贊與評論功能 目前點讚頁面顯示 是正常的 但是點贊過後需要添加點讚人姓名 我是卡在這個地方 setData便利 從全局到局部 都試過 目前局部刷新 前十個能實現
    後面失敗 找了下錯誤 原來每次下拉加載的時候 會把list下標改回程0-9 這個是java後台
    我這樣後台不好改 我這邊也不好做 有沒有什麼解決方案?可以給點思路

    问题出现的环境背景及自己尝试过哪些方法

    用过局部刷新

            var param = {};
            var string = "DiggArray[" + index + "]"
            param[string] = res.data.list[index].likeList
            _this.setData(param);

    只能更改前十 后台返回pageNum:2 后 下标更新为另外一个0-9

    相关代码

    // 请把代码文本粘贴到下方(请勿用图片代替代码)

    var Api = "https://www.xiabiapp.com"
    var app = getApp()

    Page({

    data: {

    Nav: ['赞赏', '悬赏'],
    NavTab: 0,
    giftPage: [],
    reward: [],
    pageNum: 1,
    createDate: [],
    
    

    },
    onLoad: function(options) {

    var _this = this
    
    wx.request({
      url: Api + '/gift/giftPage',
      data: {
        pageNum: 1,
        companyId: app.globalData.companyId
      },
      header: {
        'Content-Type': 'application/json'
      },
      method: 'POST',
      success(res) {
        console.log(res)
        var Time = []
        var Timeago = []
        var gift = res.data.list
        for (var i = 0; i < gift.length; i++) {
          var stringTime = gift[i].createDate
          var TimeArray = stringTime.replace(/-/g, '/')
          var timestamp2 = new Date(TimeArray).getTime()
          Time.push(timestamp2)
          Timeago.push(getDateDiff(Time[i]))
        }
    
        var DiggArray = []
        for (var k = 0; k < gift.length; k++) {
          var digg = gift[k].likeList
          DiggArray.push(digg)
        }
        _this.setData({
          giftPage: res.data.list,
          Timeago: Timeago,
          DiggArray: DiggArray
        })
    
      }
    })
    

    },
    NavTab: function(e) {

    var NavTab = e.currentTarget.dataset.id
    this.setData({
      NavTab: NavTab
    })
    var _this = this
    if (NavTab == 0) {
      wx.request({
        url: Api + '/gift/giftPage',
        data: {
          pageNum: 1,
          companyId: app.globalData.companyId
        },
        header: {
          'Content-Type': 'application/json'
        },
        method: 'POST',
        success(res) {
          console.log(res)
          var Time = []
          var Timeago = []
          var gift = res.data.list
          for (var i = 0; i < gift.length; i++) {
            var stringTime = gift[i].createDate
            var TimeArray = stringTime.replace(/-/g, '/')
            var timestamp2 = new Date(TimeArray).getTime()
            Time.push(timestamp2)
            Timeago.push(getDateDiff(Time[i]))
          }
    
          var DiggArray = []
          for (var k = 0; k < gift.length; k++) {
            var digg = gift[k].likeList
            DiggArray.push(digg)
          }
          _this.setData({
            giftPage: [],
            pageNum: 1
          })
          _this.setData({
            giftPage: res.data.list,
            Timeago: Timeago,
            DiggArray: DiggArray
          })
        }
      })
    } else {
     
    }

    },
    onReachBottom(e) {

    var NavTab = this.data.NavTab
    
    if (NavTab == 0) {
      var pageNum = this.data.pageNum
      this.setData({
        pageNum: pageNum += 1
      })
      var giftPageArray = []
      var TimeagoArray = []
      var onDiggArray = []
      var _this = this
      wx.request({
        url: Api + "/gift/giftPage",
        data: {
          companyId: app.globalData.companyId,
          pageNum: pageNum
        },
        header: {
          "content-type": "application/json"
        },
        method: "POST",
        success(res) {
          console.log(res)
          var Time = []
          var Timeago = []
          var gift = res.data.list
          for (var i = 0; i < gift.length; i++) {
            var stringTime = gift[i].createDate
            var TimeArray = stringTime.replace(/-/g, '/')
            var timestamp2 = new Date(TimeArray).getTime()
            Time.push(timestamp2)
            Timeago.push(getDateDiff(Time[i]))
          }
          var DiggArray = []
          for (var k = 0; k < gift.length; k++) {
            var digg = gift[k].likeList
            DiggArray.push(digg)
          }
          onDiggArray = _this.data.DiggArray.concat(DiggArray)
          TimeagoArray = _this.data.Timeago.concat(Timeago)
          giftPageArray = _this.data.giftPage.concat(res.data.list)
          console.log(onDiggArray)
          _this.setData({
            giftPage: giftPageArray,
            Timeago: TimeagoArray,
            DiggArray: onDiggArray
          })
    
        }
      })
    } else if (NavTab == 1) {
      
    }

    },

    digg(e) {

    var _this = this
    var id = e.currentTarget.dataset.id
    var index = e.currentTarget.dataset.index
    console.log(index)
    var giftPage = this.data.giftPage
    _this.setData({
      id: id
    })
    wx.request({
      url: Api + '/gift/like',
      data: {
        userId: app.globalData.userId,
        giftId: id
      },
      header: {
        'Content-Type': 'application/json'
      },
      method: 'POST',
      success(res) {
        wx.showToast({
          title: 'good',
        })
        wx.request({
          url: Api + '/gift/giftPage',
          data: {
            pageNum: 1,
            companyId: app.globalData.companyId
          },
          header: {
            'Content-Type': 'application/json'
          },
          method: 'POST',
          success(res) {
            console.log(res)
            // var DiggArray = []
            // for (var k = 0; k < gift.length; k++) {
            //   var digg = gift[k].likeList
            //   DiggArray.push(digg)
            // }
            var param = {};
            var string = "DiggArray[" + index + "]"
            param[string] = res.data.list[index].likeList
            _this.setData(param);
          }
        })
    
    
      }
    
    })
    

    },

    })

    function getDateDiff(dateTimeStamp) {

    var result;
    var minute = 1000 * 60;
    var hour = minute * 60;
    var day = hour * 24;
    var halfamonth = day * 15;
    var month = day * 30;
    var now = new Date().getTime();
    var diffValue = now - dateTimeStamp;
    if (diffValue < 0) {

    return;

    }
    var monthC = diffValue / month;
    var weekC = diffValue / (7 * day);
    var dayC = diffValue / day;
    var hourC = diffValue / hour;
    var minC = diffValue / minute;
    if (monthC >= 1) {

    if (monthC <= 12)
      result = "" + parseInt(monthC) + "月前";
    else {
      result = "" + parseInt(monthC / 12) + "年前";
    }

    } else if (weekC >= 1) {

    result = "" + parseInt(weekC) + "周前";

    } else if (dayC >= 1) {

    result = "" + parseInt(dayC) + "天前";

    } else if (hourC >= 1) {

    result = "" + parseInt(hourC) + "小时前";

    } else if (minC >= 1) {

    result = "" + parseInt(minC) + "分钟前";

    } else {

    result = "刚刚";

    }

    return result;

    };

    你期待的结果是什么?实际看到的错误信息又是什么?

    希望能有大佬跟我说下 在后台返回会刷新下标的情况下 我该如何判断新数组的下标

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • ︶征服 普通会员 1楼

      小程序点赞功能的判断问题处理可能会涉及到一些复杂的问题,如用户行为分析、社交网络分析等。以下是一些可能的问题和解决方案:

      1. 用户行为分析:点赞可能是因为对某篇文章或者某个人产生了兴趣。这时,你需要通过用户的点击行为和点赞数量来判断他们对这些内容的喜好程度。你可以通过统计用户的点赞数量和点击行为,以及对点赞数量和点击行为进行比较,来判断用户对这些内容的喜好程度。

      2. 社交网络分析:在社交媒体上,点赞可能是因为对某篇文章或者某个人进行了点赞。这时,你需要通过分析用户的点赞行为和他们在社交媒体上的行为,以及他们在社交媒体上的行为和他们的点赞行为进行比较,来判断他们对这些内容的喜好程度。

      3. 处理异常情况:点赞功能可能会遇到一些异常情况,如用户误操作、系统故障等。这时,你需要通过异常处理机制来处理这些问题。你可以通过设置异常处理机制,如错误提示、恢复操作等,来处理这些问题。

      4. 避免过度点赞:点赞过多可能会让用户感到压力,导致他们产生负面情绪。这时,你需要通过限制点赞数量来避免这种情况。你可以通过设置点赞数量限制,或是在用户点赞数量达到一定值后自动限制点赞数量,来避免这种情况。

      以上是一些可能的问题和解决方案,具体的实现可能需要根据你的需求和条件来确定。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部