<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();
}
}
});
}
});