小程序 文章点赞和踩缓存

<view class="button">
        <view class="button_items" bindtap='thumbsup'>
            <image class="yangtaozan" mode="widthFix" s-if="{{checkeddz}}" src="/images/ico_Praised@3x.png" style="width: 1.1rem;height:1.2rem"></image>
            <image class="yangtaozan" mode="widthFix" s-else src="/images/yangtaozan.png"></image>
            <text>{{ giveLikeNum }}</text>
         </view>
        <view class="button_items" bindtap='step'>
            <image class="yangtaozan" mode="widthFix" s-if="{{checkedstep}}" src="/images/ico_opposed@3x.png"></image>
            <image class="yangtaozan" mode="widthFix" s-else src="/images/ico_oppose@3x.png"></image>
            <text>{{ giveStepNum }}</text>
        </view>
    </view>
Page({
    data: {
        // 点赞、踩
        aid: '',
        storeArr: [],
        storeStep: [],
        checkeddz : false,
        checkedstep: false,
        giveLikeNum: 0,
        giveStepNum: 0,
        commonNum: 0,
    },
    // 判断用户是否登录
    checklogin: function () {
        if(swan.getStorageSync('user').encryption_uid){
            return true
        }else{
            swan.showToast({ title: "请先登录",icon: 'none',duration: 1000,}) ;
        }
    },
    // 初始化点赞状态
    resertthumbsup: function (){
        if(this.checklogin){
            var storeArr = swan.getStorageSync('answerthumbsup') || [];      //查看缓存中是否存在点赞
           
            if(storeArr.indexOf(this.data.aid) != -1){
                this.setData({
                    checkeddz: true,
                    giveLikeNum: this.data.giveLikeNum + 1
                });
            };
            this.setData({storeArr: storeArr});
        }
    },
    // 点赞
    thumbsup: function(){
        if(this.checklogin){                    //判断登录状态
            if(this.data.checkeddz){            //判断当前状态
                this.havethumb(this.data.storeArr);
            }else{
                this.notthumb(this.data.storeArr);
            }
            swan.setStorageSync('answerthumbsup', this.data.storeArr);  //更新缓存
        }
    },
    // 未点赞
    notthumb: function(arr){
        arr.push(this.data.aid)
        this.setData({
            checkeddz: true,
            giveLikeNum: this.data.giveLikeNum + 1,
            storeArr: arr
        });
        if(this.data.checkedstep){
            this.step();
        }
    },
    // 已点赞
    havethumb: function(arr){
        var index = arr.indexOf(this.data.aid);
        arr.splice(index, 1);
        this.setData({
            checkeddz: false,
            giveLikeNum: this.data.giveLikeNum - 1,
            storeArr: arr
        });
    },
    // 踩踩
    resertstepsup: function (){
        if(this.checklogin){
            var storeStep = swan.getStorageSync('answerstepon') || [];      //查看缓存中是否存在点赞
            if(storeStep.indexOf(this.data.aid) != -1){
                this.setData({
                    checkedstep: true,
                    giveStepNum: this.data.giveStepNum + 1
                });
            };
            this.setData({storeStep: storeStep});
        }
    },
    step: function(){
        if(this.checklogin){                    
            if(this.data.checkedstep){            
                this.havestep(this.data.storeStep);
            }else{
                this.notstep(this.data.storeStep);
            }
            swan.setStorageSync('answerstepon', this.data.storeStep); 
        }
    },
    notstep: function(arr){
        arr.push(this.data.aid)
        this.setData({
            checkedstep: true,
            giveStepNum: this.data.giveStepNum + 1,
            storeStep: arr
        });
        if(this.data.checkeddz){
            this.thumbsup();
        }
    },
    havestep: function(arr){
        var index = arr.indexOf(this.data.aid);
        arr.splice(index, 1);
        this.setData({
            checkedstep: false,
            giveStepNum: this.data.giveStepNum - 1,
            storeStep: arr
        });
    },
    common: function() {
        var storecommon = swan.getStorageSync('commonList') || [];
        var index = 0;
        for(var i = 0; i< storecommon.length; i++){
            if(storecommon[i].aid == this.data.aid ){
                index = index + 1
            }
        }
        this.setData({
            commonNum: index
        }); 
    },
    // 接口
    getajax: function(){
        var _this = this;
        swan.request({
            url: 'https://xxx.php',
            method: 'get',
            dataType: 'json',
            data: {
                aid: 1,
            },
            success: function (res) {
                if(res.data.ok){
                    var data = res.data.data;
                    _this.setData({
                        data: data,
                    })
                    console.log(_this.data.data);
                    _this.audio(data.AudioObject.contenturl);
                    _this.resertthumbsup();
                    _this.resertstepsup();
                }
            }
        });
    }
});

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值