diff options
Diffstat (limited to '_includes/pageview-providers/leancloud/leancloud.js')
-rw-r--r-- | _includes/pageview-providers/leancloud/leancloud.js | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/_includes/pageview-providers/leancloud/leancloud.js b/_includes/pageview-providers/leancloud/leancloud.js deleted file mode 100644 index 32e3ba8..0000000 --- a/_includes/pageview-providers/leancloud/leancloud.js +++ /dev/null @@ -1,72 +0,0 @@ -(function() { - function errorHandler(error, callback) { - if (error) { - callback && callback(error); - throw error; - } - } - - function pageview(_AV, options) { - var AV = _AV; - var appId, appKey, appClass; - appId = options.appId; - appKey = options.appKey; - appClass = options.appClass; - AV.init({ - serverURLs: 'https://avoscloud.com', - appId: appId, - appKey: appKey - }); - return { - get: get, - increase: increase - }; - - function searchKey(key) { - var query = new AV.Query(appClass); - query.equalTo('key', key); - return query.first(); - } - - function insert(key, title) { - var Blog = AV.Object.extend(appClass); - var blog = new Blog(); - blog.set('title', title); - blog.set('key', key); - blog.set('views', 0); - return blog.save(); - } - - function increment(result) { - result.increment('views', 1); - return result.save(null, { - fetchWhenSave: true - }); - } - - function get(key, callback) { - searchKey(key).then(function(result) { - if (result) { - callback && callback(result.attributes.views); - } - }, errorHandler); - } - - function increase(key, title, callback) { - searchKey(key).then(function(result) { - if (result) { - increment(result).then(function(result) { - callback && callback(result.attributes.views); - }); - } else { - insert(key, title).then(function(result) { - increment(result).then(function(result) { - callback && callback(result.attributes.views); - }); - }, errorHandler); - } - }, errorHandler); - } - } - window.pageview = pageview; -})(); |