79 lines
3.2 KiB
Plaintext
Executable File
79 lines
3.2 KiB
Plaintext
Executable File
<script type="text/ls-javascript" id="leancloud-like-script">
|
|
function showTime(Like) {
|
|
var query = new AV.Query(Like);
|
|
$('.leancloud-like_num').each(function() {
|
|
var url = $(this).attr('id').trim();
|
|
query.equalTo('url', url);
|
|
query.find({
|
|
success: function(results) {
|
|
if (results.length === 0) {
|
|
var content = '0 ' + $(document.getElementById(url)).text();
|
|
$(document.getElementById(url)).text(content);
|
|
return;
|
|
}
|
|
for (var i = 0; i < results.length; i++) {
|
|
var object = results[i];
|
|
var content = object.get('time') + ' ' + $(document.getElementById(url)).text();
|
|
$(document.getElementById(url)).text(content);
|
|
}
|
|
},
|
|
error: function(object, error) {
|
|
console.log('Error: ' + error.code + ' ' + error.message);
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
function addCount(Like) {
|
|
var Like = AV.Object.extend('Like');
|
|
url = $('.leancloud-like_num').attr('id').trim();
|
|
title = $('.leancloud-like_num').attr('data-flag-title').trim();
|
|
var query = new AV.Query(Like);
|
|
query.equalTo('url', url);
|
|
query.find({
|
|
success: function(results) {
|
|
if (results.length > 0) {
|
|
var like = results[0];
|
|
like.fetchWhenSave(true);
|
|
like.increment('time');
|
|
like.save(null, {
|
|
success: function(like) {
|
|
var content = like.get('time') + ' ' + $(document.getElementById(url)).text();
|
|
$(document.getElementById(url)).text(content);
|
|
},
|
|
error: function(like, error) {
|
|
console.log('Failed to save Visitor num, with error message: ' + error.message);
|
|
}
|
|
});
|
|
} else {
|
|
var newlike = new Like();
|
|
newlike.set('title', title);
|
|
newlike.set('url', url);
|
|
newlike.set('time', 1);
|
|
newlike.save(null, {
|
|
success: function(newlike) {
|
|
console.log('newlike.get(\'time\')='+newlike.get('time'));
|
|
var content = newlike.get('time') + ' ' + $(document.getElementById(url)).text();
|
|
$(document.getElementById(url)).text(content);
|
|
},
|
|
error: function(newlike, error) {
|
|
console.log('Failed to create');
|
|
}
|
|
});
|
|
}
|
|
},
|
|
error: function(error) {
|
|
console.log('Error:' + error.code + ' ' + error.message);
|
|
}
|
|
});
|
|
}
|
|
$(function() {
|
|
var Like = AV.Object.extend('Like');
|
|
if ($('.leancloud-like_num').length === 1) {
|
|
addCount(Like);
|
|
} else if ($('.post-title-link').length > 1) {
|
|
showTime(Like);
|
|
}
|
|
});
|
|
</script>
|