|
1 | 1 | {% if theme.leancloud_visitors.enable and !theme.valine.visitor %} |
2 | | - |
3 | 2 | {# custom analytics part create by xiamo; edited by LEAFERx #} |
4 | 3 | <script> |
5 | 4 | {% if page.layout === 'post' %} |
6 | 5 | function addCount(Counter) { |
7 | | - var $visitors = $(".leancloud_visitors"); |
| 6 | + var $visitors = $('.leancloud_visitors'); |
8 | 7 | var url = $visitors.attr('id').trim(); |
9 | 8 | var title = $visitors.attr('data-flag-title').trim(); |
10 | 9 |
|
11 | 10 | Counter('get', '/classes/Counter', { where: JSON.stringify({ url }) }) |
12 | | - .done(function ({ results }) { |
| 11 | + .done(function({ results }) { |
13 | 12 | if (results.length > 0) { |
14 | 13 | var counter = results[0]; |
15 | 14 | {% if theme.leancloud_visitors.betterPerformance %} |
16 | 15 | var $element = $(document.getElementById(url)); |
17 | 16 | $element.find('.leancloud-visitors-count').text(counter.time + 1); |
18 | 17 | {% endif %} |
19 | | - Counter('put', `/classes/Counter/${counter.objectId}`, JSON.stringify({ time: { "__op":"Increment", "amount":1 } })) |
| 18 | + Counter('put', '/classes/Counter/' + counter.objectId, JSON.stringify({ time: { '__op': 'Increment', 'amount': 1 } })) |
20 | 19 | {% if not theme.leancloud_visitors.betterPerformance %} |
21 | | - .done(function () { |
22 | | - var $element = $(document.getElementById(url)); |
23 | | - $element.find('.leancloud-visitors-count').text(counter.time + 1); |
24 | | - }) |
| 20 | + .done(function() { |
| 21 | + var $element = $(document.getElementById(url)); |
| 22 | + $element.find('.leancloud-visitors-count').text(counter.time + 1); |
| 23 | + }) |
25 | 24 | {% endif %} |
26 | | - .fail(function ({ responseJSON }) { |
| 25 | + .fail(function({ responseJSON }) { |
27 | 26 | console.log('Failed to save Visitor num, with error message: ' + responseJSON.error); |
28 | | - }) |
| 27 | + }) |
29 | 28 | } else { |
30 | 29 | {% if theme.leancloud_visitors.security %} |
31 | 30 | var $element = $(document.getElementById(url)); |
32 | | - $element.find('.leancloud-visitors-count').text('Counter not initialized! See more at console err msg.'); |
33 | | - console.error('ATTENTION! LeanCloud counter has security bug, see here how to solve it: https://github.com/theme-next/hexo-leancloud-counter-security. \n But you also can use LeanCloud without security, by set \'security\' option to \'false\'.'); |
| 31 | + $element.find('.leancloud-visitors-count').text('Counter not initialized! More info at console err msg.'); |
| 32 | + console.error('ATTENTION! LeanCloud counter has security bug, see how to solve it here: https://github.com/theme-next/hexo-leancloud-counter-security. \n However, you can still use LeanCloud without security, by setting `security` option to `false`.'); |
34 | 33 | {% else %} |
35 | | - Counter('post', '/classes/Counter', JSON.stringify({ title: title, url: url, time: 1})) |
36 | | - .done(function () { |
| 34 | + Counter('post', '/classes/Counter', JSON.stringify({ title: title, url: url, time: 1 })) |
| 35 | + .done(function() { |
37 | 36 | var $element = $(document.getElementById(url)); |
38 | 37 | $element.find('.leancloud-visitors-count').text(1); |
39 | 38 | }) |
40 | | - .fail(function () { |
| 39 | + .fail(function() { |
41 | 40 | console.log('Failed to create'); |
42 | 41 | }); |
43 | 42 | {% endif %} |
44 | 43 | } |
45 | 44 | }) |
46 | | - .fail(function ({ responseJSON }) { |
47 | | - console.log('LeanCloud Counter Error:' + responseJSON.code + " " + responseJSON.error); |
| 45 | + .fail(function({ responseJSON }) { |
| 46 | + console.log('LeanCloud Counter Error: ' + responseJSON.code + ' ' + responseJSON.error); |
48 | 47 | }); |
49 | 48 | } |
50 | 49 | {% else %} |
51 | 50 | function showTime(Counter) { |
52 | 51 | var entries = []; |
53 | | - var $visitors = $(".leancloud_visitors"); |
| 52 | + var $visitors = $('.leancloud_visitors'); |
54 | 53 |
|
55 | | - $visitors.each(function () { |
56 | | - entries.push( $(this).attr("id").trim() ); |
| 54 | + $visitors.each(function() { |
| 55 | + entries.push( $(this).attr('id').trim() ); |
57 | 56 | }); |
58 | 57 |
|
59 | | - Counter('get', '/classes/Counter', { where: JSON.stringify({ url: { "$in": entries } }) }) |
60 | | - .done(function ({ results }) { |
| 58 | + Counter('get', '/classes/Counter', { where: JSON.stringify({ url: { '$in': entries } }) }) |
| 59 | + .done(function({ results }) { |
61 | 60 | var COUNT_CONTAINER_REF = '.leancloud-visitors-count'; |
62 | 61 |
|
63 | 62 | if (results.length === 0) { |
|
73 | 72 |
|
74 | 73 | $(element).find(COUNT_CONTAINER_REF).text(time); |
75 | 74 | } |
76 | | - for(var i = 0; i < entries.length; i++) { |
| 75 | + for (var i = 0; i < entries.length; i++) { |
77 | 76 | var url = entries[i]; |
78 | 77 | var element = document.getElementById(url); |
79 | 78 | var countSpan = $(element).find(COUNT_CONTAINER_REF); |
80 | | - if( countSpan.text() == '') { |
| 79 | + if (countSpan.text() == '') { |
81 | 80 | countSpan.text(0); |
82 | 81 | } |
83 | 82 | } |
84 | 83 | }) |
85 | | - .fail(function ({ responseJSON }) { |
86 | | - console.log("LeanCloud Counter Error: " + responseJSON.code + " " + responseJSON.error); |
| 84 | + .fail(function({ responseJSON }) { |
| 85 | + console.log('LeanCloud Counter Error: ' + responseJSON.code + ' ' + responseJSON.error); |
87 | 86 | }); |
88 | 87 | } |
89 | 88 | {% endif %} |
90 | 89 |
|
91 | 90 | $(function() { |
92 | | - $.get('https://app-router.leancloud.cn/2/route?appId=' + "{{theme.leancloud_visitors.app_id}}") |
93 | | - .done(function ({ api_server }) { |
94 | | - var Counter = function (method, url, data) { |
| 91 | + $.get('https://app-router.leancloud.cn/2/route?appId=' + '{{ theme.leancloud_visitors.app_id }}') |
| 92 | + .done(function({ api_server }) { |
| 93 | + var Counter = function(method, url, data) { |
95 | 94 | return $.ajax({ |
96 | 95 | method: method, |
97 | | - url: `https://${api_server}/1.1${url}`, |
| 96 | + url: 'https://' + api_server + '/1.1' + url, |
98 | 97 | headers: { |
99 | | - 'X-LC-Id': "{{theme.leancloud_visitors.app_id}}", |
100 | | - 'X-LC-Key': "{{theme.leancloud_visitors.app_key}}", |
| 98 | + 'X-LC-Id': '{{ theme.leancloud_visitors.app_id }}', |
| 99 | + 'X-LC-Key': '{{ theme.leancloud_visitors.app_key }}', |
101 | 100 | 'Content-Type': 'application/json', |
102 | 101 | }, |
103 | | - data: data, |
| 102 | + data: data |
104 | 103 | }); |
105 | 104 | }; |
106 | 105 | {% if page.layout === 'post' %} |
107 | | - addCount(Counter); |
| 106 | + addCount(Counter); |
108 | 107 | {% else %} |
109 | | - if ($('.post-title-link').length >= 1) { |
110 | | - showTime(Counter); |
111 | | - } |
| 108 | + if ($('.post-title-link').length >= 1) { |
| 109 | + showTime(Counter); |
| 110 | + } |
112 | 111 | {% endif %} |
113 | | - }) |
| 112 | + }); |
114 | 113 | }); |
115 | 114 | </script> |
116 | 115 |
|
|
0 commit comments