From db8a8e569b9590ffd025bfe0b9d1d3d71cfbeec8 Mon Sep 17 00:00:00 2001 From: junv Date: Wed, 21 May 2014 16:20:04 +0800 Subject: [PATCH] temp fix scope.title issue in home controller --- .../android/CordovaLib/ant-build/build.prop | 2 +- .../ant-build/Libr-debug-unaligned.apk | Bin 4193957 -> 4176527 bytes platforms/android/ant-build/Libr-debug.apk | Bin 4194023 -> 4176592 bytes platforms/android/ant-build/Libr.ap_ | Bin 3704414 -> 3688337 bytes platforms/android/ant-build/Libr.ap_.d | 22 +- platforms/android/ant-build/build.prop | 2 +- .../android/assets/www/dist/js/all.min.js | 1322 +--------------- .../www/js/app/controllers/controllers.coffee | 14 +- .../js/app/controllers/home-controller.coffee | 12 +- .../controllers/location-controller.coffee | 2 +- .../www/js/app/services/douban-service.coffee | 15 + .../js/app/services/recommend-service.coffee | 4 +- .../assets/www/templates/book-detail.html | 5 + .../assets/www/templates/libr-index.html | 7 +- .../www/templates/modal/import_books.html | 13 +- .../assets/www/templates/settings.html | 10 - platforms/android/res/xml/config.xml | 6 +- platforms/ios/Libr.xcodeproj/project.pbxproj | 1 + .../UserInterfaceState.xcuserstate | Bin 21192 -> 19537 bytes platforms/ios/Libr/Libr-Info.plist | 2 +- platforms/ios/www/dist/js/all.min.js | 1346 +---------------- .../js/app/controllers/home-controller.coffee | 7 +- platforms/ios/www/templates/libr-index.html | 5 +- www/js/app/controllers/home-controller.coffee | 7 +- www/templates/libr-index.html | 5 +- 25 files changed, 114 insertions(+), 2695 deletions(-) diff --git a/platforms/android/CordovaLib/ant-build/build.prop b/platforms/android/CordovaLib/ant-build/build.prop index 1339082..1fef219 100644 --- a/platforms/android/CordovaLib/ant-build/build.prop +++ b/platforms/android/CordovaLib/ant-build/build.prop @@ -1,5 +1,5 @@ #Last build type -#Sun, 11 May 2014 16:43:16 +0800 +#Wed, 21 May 2014 14:13:08 +0800 build.last.target=debug diff --git a/platforms/android/ant-build/Libr-debug-unaligned.apk b/platforms/android/ant-build/Libr-debug-unaligned.apk index afe540559d16b99f50b8b67ec0f684f8c746c599..c8d259bc2c0cc2df5f202714db6c4d5e6d881752 100644 GIT binary patch delta 55348 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 diff --git a/platforms/android/ant-build/Libr-debug.apk b/platforms/android/ant-build/Libr-debug.apk index 75008421e38e2655250e94d2d390eb392d260471..5e98fc5b68d34ffe8a7904b853ca21a5f55a1f28 100644 GIT binary patch delta 53541 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%0D&JMe9vrcLYz;HWJO1wQdRwDjdFp!$ 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 +SP^LTodgF0s%2O@7=$o!SHVGLzk*>s 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 Ay8r+H diff --git a/platforms/android/ant-build/Libr.ap_.d b/platforms/android/ant-build/Libr.ap_.d index 9008841..31ade90 100644 --- a/platforms/android/ant-build/Libr.ap_.d +++ b/platforms/android/ant-build/Libr.ap_.d @@ -494,31 +494,12 @@ /Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/dist/css \ /Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/dist/fonts \ /Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/dist/js \ -/Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/dist/js-app \ /Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/dist/css/all.min.css \ /Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/dist/fonts/ionicons.eot \ /Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/dist/fonts/ionicons.svg \ /Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/dist/fonts/ionicons.ttf \ /Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/dist/fonts/ionicons.woff \ /Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/dist/js/all.min.js \ -/Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/dist/js-app/authication-service.js \ -/Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/dist/js-app/book-service.js \ -/Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/dist/js-app/books-controller.js \ -/Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/dist/js-app/comments-service.js \ -/Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/dist/js-app/constant.js \ -/Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/dist/js-app/controllers.js \ -/Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/dist/js-app/douban-service.js \ -/Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/dist/js-app/error-handler.js \ -/Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/dist/js-app/geolocation.js \ -/Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/dist/js-app/home-controller.js \ -/Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/dist/js-app/ionic-utils.js \ -/Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/dist/js-app/localstorage-utils.js \ -/Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/dist/js-app/location-controller.js \ -/Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/dist/js-app/login-controller.js \ -/Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/dist/js-app/main-controller.js \ -/Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/dist/js-app/recommend-service.js \ -/Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/dist/js-app/scan-service.js \ -/Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/dist/js-app/settings-controller.js \ /Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/fonts/ionicons.eot \ /Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/fonts/ionicons.svg \ /Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/fonts/ionicons.ttf \ @@ -526,10 +507,12 @@ /Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/img/default.jpg \ /Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/img/douban_24.png \ /Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/img/douban_32.png \ +/Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/img/social.umeng \ /Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/js/app \ /Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/js/app.js \ /Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/js/imgcache.js \ /Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/js/libr.js \ +/Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/js/umeng \ /Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/js/app/controllers \ /Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/js/app/handler \ /Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/js/app/services \ @@ -548,7 +531,6 @@ /Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/js/app/services/douban-service.coffee \ /Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/js/app/services/geolocation.coffee \ /Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/js/app/services/recommend-service.coffee \ -/Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/js/app/services/rest \ /Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/js/app/services/scan-service.coffee \ /Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/js/app/utils/ionic-utils.coffee \ /Users/twer/gitrepo/libr-mobile/platforms/android/assets/www/js/app/utils/localstorage-utils.coffee \ diff --git a/platforms/android/ant-build/build.prop b/platforms/android/ant-build/build.prop index 6538dbc..18ac771 100644 --- a/platforms/android/ant-build/build.prop +++ b/platforms/android/ant-build/build.prop @@ -1,5 +1,5 @@ #Last build type -#Sun, 11 May 2014 16:43:39 +0800 +#Wed, 21 May 2014 14:13:14 +0800 build.last.target=debug diff --git a/platforms/android/assets/www/dist/js/all.min.js b/platforms/android/assets/www/dist/js/all.min.js index 6c71a75..74ad34c 100644 --- a/platforms/android/assets/www/dist/js/all.min.js +++ b/platforms/android/assets/www/dist/js/all.min.js @@ -1,1304 +1,18 @@ -(function() { - var IonicUtils, libr; - - libr = angular.module('libr.services.utils', []); - - IonicUtils = (function() { - IonicUtils.$inject = ['$timeout']; - - function IonicUtils($timeout) { - this.$timeout = $timeout; - } - - IonicUtils.prototype.initCustomLoading = function(scope) { - return scope.data = { - isLoading: false, - text: null - }; - }; - - IonicUtils.prototype.showLoading = function(scope, text, timing) { - if (timing == null) { - timing = 3000; - } - scope.data = { - isLoading: true, - text: text - }; - return this.$timeout((function(_this) { - return function() { - return _this.initCustomLoading(scope); - }; - })(this), timing); - }; - - IonicUtils.prototype.cacheImage = function(imageUrl) { - if (!ImgCache.isCached(imageUrl)) { - return ImgCache.cacheFile(imageUrl, null); - } - }; - - return IonicUtils; - - })(); - - libr.service('IonicUtils', IonicUtils); - -}).call(this); - -(function() { - var LocalStorageUtils, libr; - - libr = angular.module('libr.services.localstorage', []); - - LocalStorageUtils = (function() { - function LocalStorageUtils() {} - - LocalStorageUtils.prototype.getUser = function() { - return JSON.parse(localStorage.getItem('user')); - }; - - LocalStorageUtils.prototype.getUserId = function() { - var user; - user = this.getUser(); - return user.id; - }; - - LocalStorageUtils.prototype.getUserName = function() { - var user; - user = this.getUser(); - return user.name; - }; - - LocalStorageUtils.prototype.getUserToken = function() { - var user; - user = this.getUser(); - return user.token; - }; - - LocalStorageUtils.prototype.getUserAvatar = function() { - var user; - user = this.getUser(); - return user.avatar; - }; - - LocalStorageUtils.prototype.getUserEmail = function() { - var user; - user = this.getUser(); - return user.email; - }; - - LocalStorageUtils.prototype.isUserLogedIn = function() { - var user; - user = this.getUser(); - return user !== null && this.getUserEmail() !== null && this.getUserToken() !== null; - }; - - LocalStorageUtils.prototype.storeDoubanUser = function(name) { - return localStorage.setItem('doubanUser', name); - }; - - LocalStorageUtils.prototype.getDoubanUser = function() { - var user; - user = this.getUser(); - if (user.douban_user !== null) { - return user.douban_user; - } else if (localStorage.getItem('doubanUser') !== null) { - return localStorage.getItem('doubanUser'); - } else { - return null; - } - }; - - return LocalStorageUtils; - - })(); - - libr.service('LocalStorageUtils', LocalStorageUtils); - -}).call(this); - -(function() { - var ErrorHandler, libr; - - libr = angular.module('libr.handlers.errorHandler', []); - - ErrorHandler = (function() { - function ErrorHandler() {} - - ErrorHandler.prototype.loadingHandler = function($scope, callback) { - var message; - $scope.loading.hide(); - message = '加载失败,请确认有良好网络连接,并重试'; - return navigator.notification.confirm(message, (function(_this) { - return function() { - return callback(); - }; - })(this), '加载失败', ['确定', '取消']); - }; - - ErrorHandler.prototype.whenError = function(callback) { - var message; - message = '加载失败,请确认有良好网络连接,并重试'; - return navigator.notification.confirm(message, (function(_this) { - return function() { - return callback(); - }; - })(this), '加载失败', ['确定', '取消']); - }; - - return ErrorHandler; - - })(); - - libr.service('ErrorHandler', ErrorHandler); - -}).call(this); - -(function() { - var AuthicationService, libr, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - libr = angular.module('libr.services.auth', []); - - AuthicationService = (function() { - AuthicationService.$inject = ['$http', 'Constant']; - - function AuthicationService($http, Constant) { - this.$http = $http; - this.Constant = Constant; - this.register = __bind(this.register, this); - this.login = __bind(this.login, this); - console.log('init auth service'); - } - - AuthicationService.prototype.login = function(user, callback, errorCallback) { - var baseUrl; - baseUrl = this.Constant.baseUrl + '/sessions'; - return this.$http({ - method: 'POST', - url: baseUrl, - data: "user[email]=" + user.email + "&user[password]=" + user.password, - headers: { - 'Content-Type': 'application/x-www-form-urlencoded' - } - }).success(function(result) { - if (result.success) { - return callback(result); - } else { - return errorCallback('登录失败,请输入正确的用户名和密码'); - } - }).error(function(data) { - return errorCallback('登录失败,请输入正确的用户名和密码'); - }); - }; - - AuthicationService.prototype.register = function(user, callback, onError) { - var url; - url = this.Constant.baseUrl + '/registrations'; - return this.$http({ - method: 'POST', - url: url, - data: "user[email]=" + user.email + "&user[password]=" + user.password, - headers: { - 'Content-Type': 'application/x-www-form-urlencoded' - } - }).success(function(result, status) { - return callback(result, status); - }).error(function(data, status) { - return onError(data); - }); - }; - - return AuthicationService; - - })(); - - libr.service('AuthService', AuthicationService); - -}).call(this); - -(function() { - var Books, libr; - - libr = angular.module('libr.services.books', ['ngResource']); - - Books = (function() { - Books.$inject = ['$http', '$resource', 'Constant', 'LocalStorageUtils']; - - function Books($resource, Constant, LocalStorageUtils) { - var url; - this.$resource = $resource; - this.Constant = Constant; - this.LocalStorageUtils = LocalStorageUtils; - url = this.Constant.baseUrl + '/users/:user_id/books/:book_id'; - return this.$resource(url, { - user_email: this.LocalStorageUtils.getUserEmail(), - user_token: this.LocalStorageUtils.getUserToken(), - user_id: this.LocalStorageUtils.getUserId(), - book_id: '@bookId' - }, { - 'get': { - cache: true, - method: 'GET' - }, - 'query': { - method: 'GET', - isArray: false, - cache: false - }, - 'fetchNew': { - method: 'GET', - isArray: false, - cache: true, - url: this.Constant.baseUrl + '/books/newbooks/:afterId' - } - }); - } - - return Books; - - })(); - - libr.factory('Books', ['$resource', 'Constant', 'LocalStorageUtils', Books]); - -}).call(this); - -(function() { - var CommentService, libr; - - libr = angular.module('libr.services.comment', ['ngResource']); - - CommentService = (function() { - CommentService.$inject = ['$http', '$resource', 'Constant']; - - function CommentService($resource, Constant) { - var baseUrl; - this.$resource = $resource; - this.Constant = Constant; - baseUrl = this.Constant.baseUrl + '/books/:book_id/comments/:comment_id'; - return this.$resource(baseUrl, { - user_email: localStorage.getItem('email'), - user_token: localStorage.getItem('token'), - book_id: '@bookId', - comment_id: '@commentId' - }, { - 'query': { - method: 'GET', - isArray: true, - cache: false - } - }, { - 'save': { - params: { - comment_id: '@commentId' - } - } - }); - } - - return CommentService; - - })(); - - libr.factory('Comments', ['$resource', 'Constant', CommentService]); - -}).call(this); - -(function() { - var DoubanService, libr, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - libr = angular.module('libr.services.douban', []); - - DoubanService = (function() { - DoubanService.$inject = ['$http', 'Constant', 'LocalStorageUtils']; - - function DoubanService($http, Constant, LocalStorageUtils) { - this.$http = $http; - this.Constant = Constant; - this.LocalStorageUtils = LocalStorageUtils; - this.submitUser = __bind(this.submitUser, this); - } - - DoubanService.prototype.userInfo = function(user, callback, error) { - return this.$http({ - url: "http://api.douban.com/v2/user/" + user, - method: 'GET', - timeout: 10000, - cache: true - }).success(function(data, status, headers, config) { - if (status === 200) { - return callback(data); - } else { - return error(data); - } - }).error(function(data) { - return error(data); - }); - }; - - DoubanService.prototype.submitUser = function(user, callback, error) { - var email, token, userId; - email = localStorage.getItem('email'); - token = localStorage.getItem('token'); - userId = this.LocalStorageUtils.getUserId(); - return this.$http({ - url: "" + this.Constant.baseUrl + "/users/" + userId + "/link/douban/" + user + "?user_email=" + email + "&user_token=" + token, - method: 'POST', - timeout: 10000 - }).success(function(data, status, headers, config) { - return callback(data); - }).error(function(data) { - return error(data); - }); - }; - - return DoubanService; - - })(); - - libr.service('DoubanService', DoubanService); - -}).call(this); - -(function() { - var GeolocationService, libr, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - libr = angular.module('libr.services.geolocation', []); - - GeolocationService = (function() { - var getLocation, onError, onSuccess; - - GeolocationService.$inject = ['$http', 'Constant']; - - function GeolocationService($http, Constant) { - this.$http = $http; - this.Constant = Constant; - this.getDetailAddress = __bind(this.getDetailAddress, this); - } - - onSuccess = function(position) { - alert('lat' + position.coords.latitude); - return { - "Latitude": position.coords.latitude, - "Longitude": position.coords.longitude, - "Altitude": position.coords.altitude, - "Accuracy": position.coords.accuracy, - "Altitude Accuracy": position.coords.altitudeAccuracy, - "Heading": position.coords.heading, - "Speed": position.coords.speed, - "Timestamp": position.timestamp - }; - }; - - onError = function(error) { - throw "code: " + error.code + " \n message: " + error.message; - }; - - GeolocationService.prototype.getCurrentLocation = function(callback, error) { - return navigator.geolocation.getCurrentPosition(callback, error); - }; - - GeolocationService.prototype.getDetailAddress = function(callback, error) { - var baseUrl; - baseUrl = this.Constant.baseUrl + '/locations/detail'; - return this.getCurrentLocation((function(_this) { - return function(position) { - return _this.$http({ - url: "" + baseUrl + "?lat=" + position.coords.latitude + "&lng=" + position.coords.longitude, - cache: true, - method: 'GET' - }).success(function(data, status, headers, config) { - return callback(data); - }); - }; - })(this), function(error) { - throw Error(error); - }); - }; - - GeolocationService.prototype.getLocations = function(callback, error) { - var baseUrl, email, token; - baseUrl = this.Constant.baseUrl + '/locations'; - email = localStorage.getItem('email'); - token = localStorage.getItem('token'); - return this.$http({ - url: "" + baseUrl + "?user_email=" + email + "&user_token=" + token, - method: 'GET', - cache: false - }).success(function(data, status, headers, config) { - return callback(data); - }).error(function(data) { - throw Error(error); - }); - }; - - GeolocationService.prototype.createLocation = function(callback) { - var baseUrl, email, location, token; - baseUrl = this.Constant.baseUrl + '/locations'; - location = getLocation(); - email = localStorage.getItem('email'); - token = localStorage.getItem('token'); - return this.$http({ - method: 'POST', - url: baseUrl + ("?user_email=" + email + "&user_token=" + token), - data: "address=" + location.address + "&lat=" + location.lat + "&lng=" + location.lng, - headers: { - 'Content-Type': 'application/x-www-form-urlencoded' - } - }).success(function(data) { - return callback(data); - }); - }; - - GeolocationService.prototype.deleteLocation = function(item, callback) { - var baseUrl, email, token; - baseUrl = this.Constant.baseUrl + '/locations'; - email = localStorage.getItem('email'); - token = localStorage.getItem('token'); - return this.$http({ - method: 'DELETE', - url: baseUrl + ("?user_email=" + email + "&user_token=" + token + "&id=" + item.id), - headers: { - 'Content-Type': 'application/x-www-form-urlencoded' - } - }).success(function(data) { - console.log("=====", data); - return callback(data); - }); - }; - - getLocation = function() { - var location; - location = {}; - location.address = localStorage.getItem('cur_address_detail'); - location.lat = localStorage.getItem('cur_lat'); - location.lng = localStorage.getItem('cur_lng'); - return location; - }; - - return GeolocationService; - - })(); - - libr.service('GeolocationService', GeolocationService); - -}).call(this); - -(function() { - var RecommendService, libr, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - libr = angular.module('libr.services.recommend', []); - - RecommendService = (function() { - RecommendService.$injector = ['GeolocationService', '$http', 'Constant']; - - function RecommendService(GeolocationService, $http, Constant) { - this.GeolocationService = GeolocationService; - this.$http = $http; - this.Constant = Constant; - this.changeRecommendAction = __bind(this.changeRecommendAction, this); - this.popularBooksAroundMe = __bind(this.popularBooksAroundMe, this); - } - - RecommendService.prototype.getActionSheetList = function() { - var actionList; - actionList = []; - actionList.push({ - text: '随机找几本书看看' - }); - actionList.push({ - text: "你可能喜欢的书" - }); - this.GeolocationService.getLocations((function(_this) { - return function(locations) { - var locationIds; - locationIds = []; - locations.map(function(location) { - locationIds.push(location.id); - location = { - text: "" + location.address + "附近流行的书" - }; - return actionList.push(location); - }); - localStorage.setItem('recommend_action_sheet_arr', JSON.stringify(locationIds)); - return localStorage.setItem('recommend_action_sheet_full_arr', JSON.stringify(actionList)); - }; - })(this)); - return actionList; - }; - - RecommendService.prototype.popularBooksForMe = function(callback, error) { - var email, token; - email = localStorage.getItem('email'); - token = localStorage.getItem('token'); - return this.$http({ - url: this.Constant.baseUrl + ("/recommend/me?user_email=" + email + "&user_token=" + token), - method: 'GET', - timeout: 15000 - }).success(function(data, status, headers, config) { - return callback(data); - }).error(function(data) { - return error(data); - }); - }; - - RecommendService.prototype.randomBooks = function(callback, error) { - var email, token; - email = localStorage.getItem('email'); - token = localStorage.getItem('token'); - return this.$http({ - url: this.Constant.baseUrl + ("/recommend/random?user_email=" + email + "&user_token=" + token), - method: 'GET', - timeout: 15000, - cache: true - }).success(function(data, status, headers, config) { - return callback(data); - }).error(function(data) { - return error(data); - }); - }; - - RecommendService.prototype.popularBooksAroundMe = function(locationId, callback, error) { - var email, token; - email = localStorage.getItem('email'); - token = localStorage.getItem('token'); - return this.$http({ - url: this.Constant.baseUrl + ("/recommend/locations/" + locationId + "?user_email=" + email + "&user_token=" + token), - method: 'GET', - timeout: 15000, - cache: true - }).success(function(data, status, headers, config) { - console.log('数据', data); - return callback(data); - }).error(function(data) { - return error(data); - }); - }; - - RecommendService.prototype.changeRecommendAction = function(index, callback, error) { - var locations; - console.log('index====', index); - if (index === 0) { - return this.randomBooks(callback, error); - } else if (index === 1) { - return this.popularBooksForMe(callback, error); - } else { - locations = JSON.parse(localStorage.getItem('recommend_action_sheet_arr')); - console.log(locations[index - 2], 'index......'); - return this.popularBooksAroundMe(locations[index - 2], function(result) { - console.log('callback....', result); - return callback(result); - }, function(errorMessage) { - return error(errorMessage); - }); - } - }; - - return RecommendService; - - })(); - - libr.service('RecommendService', RecommendService); - -}).call(this); - -(function() { - var ScanService, libr; - - libr = angular.module('libr.services.scan', []); - - ScanService = (function() { - ScanService.$inject = ['Books']; - - function ScanService(Books) { - this.Books = Books; - } - - ScanService.prototype.scan = function(callback, errorCallback) { - navigator.notification.vibrate(50); - return cordova.plugins.barcodeScanner.scan((function(_this) { - return function(result) { - console.log('got scan result', result); - if (result.cancelled === 1) { - return; - } - if (result.format !== 'EAN_13') { - console.log('条码不匹配'); - errorCallback('条形码类型错误,请确认所扫为书籍,并更换角度'); - return; - } - return _this.Books.save({ - isbn: result.text - }, null, function(data) { - console.log('get server response'); - if (data.status === 'error') { - return errorCallback(data.message); - } else { - return callback(data); - } - }, function(error) { - return errorCallback('添加图书失败' + error.data.message); - }); - }; - })(this), function(error) { - return errorCallback("扫描图书失败:" + error + " "); - }); - }; - - return ScanService; - - })(); - - libr.service('ScanService', ScanService); - -}).call(this); - -(function() { - var BooksController, libr, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - libr = angular.module('libr.controllers.books', ['ionic']); - - BooksController = (function() { - BooksController.$inject = ['$scope', 'Books', 'ScanService', '$ionicModal', 'DoubanService', 'IonicUtils', 'LocalStorageUtils']; - - function BooksController($scope, Books, ScanService, $ionicModal, DoubanService, IonicUtils, LocalStorageUtils) { - var currentPage; - this.$scope = $scope; - this.Books = Books; - this.ScanService = ScanService; - this.$ionicModal = $ionicModal; - this.DoubanService = DoubanService; - this.IonicUtils = IonicUtils; - this.LocalStorageUtils = LocalStorageUtils; - this.submitDoubanUser = __bind(this.submitDoubanUser, this); - this.scanBooks = __bind(this.scanBooks, this); - this.searchDoubanUser = __bind(this.searchDoubanUser, this); - this.closeDialog = __bind(this.closeDialog, this); - this.loadMore = __bind(this.loadMore, this); - this.refresh = __bind(this.refresh, this); - currentPage = localStorage.setItem('user_books_current_page', 0); - this.$scope.books = []; - this.$scope.moreItemsAvailable = true; - this.$scope.submitAllowed = false; - this.$ionicModal.fromTemplateUrl('templates/modal/import_books.html', (function(_this) { - return function(modal) { - return _this.$scope.modal = modal; - }; - })(this), { - scope: this.$scope, - animation: 'slide-in-up' - }); - this.$scope.data = { - isLoading: false, - text: null - }; - this.IonicUtils.initCustomLoading(this.$scope); - this.$scope.onRefresh = this.refresh; - this.$scope.loadMore = this.loadMore; - this.$scope.closeDialog = this.closeDialog; - this.$scope.searchDoubanUser = this.searchDoubanUser; - this.$scope.scanBooks = this.scanBooks; - this.$scope.submitDoubanUser = this.submitDoubanUser; - this.$scope.doubanInputDisabled = this.LocalStorageUtils.getDoubanUser() !== null; - this.$scope.doubanUsername = this.LocalStorageUtils.getDoubanUser(); - } - - BooksController.prototype.refresh = function() { - var afterBookId; - afterBookId = localStorage.getItem('user_max_book_id'); - return this.Books.fetchNew({ - afterId: afterBookId - }, (function(_this) { - return function(data) { - _this.$scope.$broadcast('scroll.refreshComplete'); - if (data.books.length !== 0) { - localStorage.setItem('user_max_book_id', data.books[0].id); - return data.books.forEach(function(item, index, array) { - return _this.$scope.books.push(item); - }); - } - }; - })(this)); - }; - - BooksController.prototype.loadMore = function() { - var currentPage, maxPage; - currentPage = localStorage.getItem('user_books_current_page'); - maxPage = localStorage.getItem('user_books_max_page'); - maxPage = parseInt(maxPage); - currentPage = parseInt(currentPage); - if (!(currentPage >= maxPage)) { - return this.Books.query({ - page: currentPage + 1 - }, (function(_this) { - return function(data) { - if (data.books.length !== 0) { - localStorage.setItem('user_max_book_id', data.books[0].id); - localStorage.setItem('user_books_current_page', data.current_page); - localStorage.setItem('user_books_max_page', data.total_page); - data.books.forEach(function(item, index, array) { - return _this.$scope.books.push(item); - }); - } else { - _this.$scope.moreItemsAvailable = false; - } - return _this.$scope.$broadcast('scroll.infiniteScrollComplete'); - }; - })(this)); - } else { - this.$scope.$broadcast('scroll.infiniteScrollComplete'); - return this.$scope.moreItemsAvailable = false; - } - }; - - BooksController.prototype.closeDialog = function() { - return this.$scope.modal.hide(); - }; - - BooksController.prototype.searchDoubanUser = function(user) { - console.log(user, '...'); - if (user === void 0 || user.trim() === '') { - return this.IonicUtils.showLoading(this.$scope, '请输入有效昵称'); - } else { - return this.DoubanService.userInfo(user, (function(_this) { - return function(data) { - _this.$scope.resultEnabled = true; - _this.$scope.submitAllowed = true; - return _this.$scope.doubanUser = data; - }; - })(this), (function(_this) { - return function(error) { - _this.IonicUtils.showLoading(_this.$scope, '查找豆瓣用户失败,请稍后再试'); - console.log(error); - _this.$scope.resultEnabled = false; - return _this.$scope.submitAllowed = false; - }; - })(this)); - } - }; - - BooksController.prototype.scanBooks = function() { - return this.ScanService.scan((function(_this) { - return function(result) { - navigator.notification.alert("添加图书《" + result.book.name + "》成功", null, "Libr", "确定"); - return _this.$scope.books.unshift(result.book); - }; - })(this), (function(_this) { - return function(msg) { - console.log('trying to show loading...', msg); - _this.IonicUtils.showLoading(_this.$scope, msg); - _this.$scope.$apply(); - return console.log('applied'); - }; - })(this)); - }; - - BooksController.prototype.submitDoubanUser = function() { - var username; - username = angular.element(document.getElementById('douban-username')); - username = username.val(); - return this.DoubanService.submitUser(username, (function(_this) { - return function(data) { - _this.$scope.doubanInputDisabled = true; - _this.LocalStorageUtils.storeDoubanUser(username); - return alert('成功绑定豆瓣用户,请返回,系统将自动为你导入豆瓣图书'); - }; - })(this), (function(_this) { - return function(data) { - return _this.IonicUtils.showLoading(_this.$scope, '绑定豆瓣用户失败,请稍后再试'); - }; - })(this)); - }; - - return BooksController; - - })(); - - libr.controller('BooksController', BooksController); - -}).call(this); - -(function() { - var BookDetailController, libr, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - libr = angular.module('libr.controllers', ['ionic']); - - BookDetailController = (function() { - BookDetailController.$inject = ['$scope', '$stateParams', 'Books', '$window', '$ionicModal', 'Comments']; - - function BookDetailController($scope, $stateParams, Books, $window, $ionicModal, Comments) { - this.$scope = $scope; - this.$stateParams = $stateParams; - this.Books = Books; - this.$window = $window; - this.$ionicModal = $ionicModal; - this.Comments = Comments; - this.back = __bind(this.back, this); - this.doComment = __bind(this.doComment, this); - this.closeCommentDialog = __bind(this.closeCommentDialog, this); - this.openCommentDialog = __bind(this.openCommentDialog, this); - this.$scope.openDialog = this.openCommentDialog; - this.$scope.closeDialog = this.closeCommentDialog; - this.$scope.doComment = this.doComment; - this.$scope.back = this.back; - this.$ionicModal.fromTemplateUrl('templates/modal/comment.html', (function(_this) { - return function(modal) { - return _this.$scope.modal = modal; - }; - })(this), { - scope: this.$scope, - animation: 'slide-in-up' - }); - console.log('===='); - this.Books.get({ - book_id: this.$stateParams.isbn - }, (function(_this) { - return function(result) { - _this.$scope.book = result; - _this.$scope.usersAccount = result.users.length; - _this.$scope.bookName = _this.$scope.book.name; - return _this.Comments.query({ - book_id: result.id - }, function(data) { - console.log(data, '!!!!!'); - return _this.$scope.comments = data; - }); - }; - })(this)); - this.$scope.$on('$destroy', (function(_this) { - return function() { - return _this.$scope.modal.remove(); - }; - })(this)); - } - - BookDetailController.prototype.openCommentDialog = function() { - return this.$scope.modal.show(); - }; - - BookDetailController.prototype.closeCommentDialog = function() { - return this.$scope.modal.hide(); - }; - - BookDetailController.prototype.doComment = function() { - var text; - text = angular.element(document.getElementById('comment')).val(); - if (text.trim() === '') { - alert('请输入有效字符'); - return false; - } else { - return this.Comments.save({ - book_id: this.$scope.book.id, - content: text - }, null, (function(_this) { - return function(data) { - if (data.id === null) { - return alert('添加图书失败'); - } else { - console.log('成功。。。。。。。'); - _this.$scope.comments.push(data); - return _this.closeCommentDialog(); - } - }; - })(this)); - } - }; - - BookDetailController.prototype.back = function() { - return this.$window.history.back(); - }; - - return BookDetailController; - - })(); - - libr.controller('BookDetailController', BookDetailController); - -}).call(this); - -(function() { - var HomeController, libr, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - libr = angular.module('libr.controllers.home', ['ionic']); - - HomeController = (function() { - var showLoading; - - HomeController.$inject = ['$scope', '$location', 'ScanService', '$ionicLoading', '$ionicActionSheet', 'RecommendService', 'ErrorHandler', 'LocalStorageUtils']; - - function HomeController($scope, $location, ScanService, $ionicLoading, $ionicActionSheet, RecommendService, ErrorHandler, LocalStorageUtils) { - this.$scope = $scope; - this.$location = $location; - this.$ionicLoading = $ionicLoading; - this.$ionicActionSheet = $ionicActionSheet; - this.RecommendService = RecommendService; - this.ErrorHandler = ErrorHandler; - this.LocalStorageUtils = LocalStorageUtils; - this.changeRecommend = __bind(this.changeRecommend, this); - this.showRecommendActionSheet = __bind(this.showRecommendActionSheet, this); - this.$scope.showRecommendActionSheet = this.showRecommendActionSheet; - if (this.LocalStorageUtils.isUserLogedIn()) { - showLoading(this.$scope, this.$ionicLoading); - this.$scope.title = '随便看看吧'; - if (localStorage.getItem('home.books') === null) { - this.RecommendService.randomBooks((function(_this) { - return function(result) { - _this.$scope.books = result; - localStorage.setItem('home.books', JSON.stringify(result)); - return _this.$scope.loading.hide(); - }; - })(this), (function(_this) { - return function(error) { - return _this.ErrorHandler.loadingHandler(_this.$scope, null); - }; - })(this)); - } else { - this.$scope.books = JSON.parse(localStorage.getItem('home.books')); - this.$scope.loading.hide(); - } - } else { - this.$location.path('/tab/settings'); - return; - } - } - - showLoading = function($scope, $ionicLoading) { - return $scope.loading = $ionicLoading.show({ - content: '加载中', - animation: 'fade-in', - showBackdrop: true, - maxWidth: 200, - showDelay: 500 - }); - }; - - HomeController.prototype.showRecommendActionSheet = function() { - return this.$ionicActionSheet.show({ - titleText: 'Libr 为你推荐', - buttons: this.RecommendService.getActionSheetList(), - cancelText: '取消', - cancel: function() { - return console.log('CANCELLED'); - }, - buttonClicked: (function(_this) { - return function(index) { - console.log("" + index + " has been taped"); - _this.changeRecommend(index); - return true; - }; - })(this) - }); - }; - - HomeController.prototype.changeRecommend = function(index) { - var msg; - msg = '喔,看来附近还没有好书推荐,快去推荐你的朋友也来使用吧!'; - return this.RecommendService.changeRecommendAction(index, (function(_this) { - return function(result) { - var listArray; - if (result.length === 0) { - return navigator.notification.alert(msg, null, 'libr', '确定'); - } else { - _this.$scope.books = result; - localStorage.setItem('home.books', JSON.stringify(result)); - listArray = JSON.parse(localStorage.getItem('recommend_action_sheet_full_arr')); - return _this.$scope.title = listArray[index].text; - } - }; - })(this), (function(_this) { - return function(error) { - return _this.ErrorHandler.whenError(null); - }; - })(this)); - }; - - return HomeController; - - })(); - - libr.controller('HomeCtrl', HomeController); - -}).call(this); - -(function() { - var LocationController, libr, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - libr = angular.module('libr.controllers.location', ['ionic']); - - LocationController = (function() { - LocationController.$inject = ['$scope', '$location', 'GeolocationService', 'IonicUtils']; - - function LocationController($scope, $location, GeolocationService, IonicUtils) { - this.$scope = $scope; - this.$location = $location; - this.GeolocationService = GeolocationService; - this.IonicUtils = IonicUtils; - this.deleteItem = __bind(this.deleteItem, this); - this.addLocation = __bind(this.addLocation, this); - this.$scope.addLocation = this.addLocation; - this.$scope.itemButtons = [ - { - text: '删除', - type: 'button-assertive', - onTap: (function(_this) { - return function(item) { - return _this.GeolocationService.deleteLocation(item, function(result) { - return _this.$scope.locations.splice(_this.$scope.locations.indexOf(item), 1); - }); - }; - })(this) - } - ]; - this.GeolocationService.getLocations((function(_this) { - return function(locations) { - return _this.$scope.locations = locations; - }; - })(this)); - this.GeolocationService.getDetailAddress((function(_this) { - return function(position) { - localStorage.setItem('cur_address_detail', position.result.formatted_address); - localStorage.setItem('cur_lat', position.result.location.lat); - localStorage.setItem('cur_lng', position.result.location.lng); - return _this.$scope.address = position.result.formatted_address; - }; - })(this)); - this.IonicUtils.initCustomLoading(this.$scope); - this.$scope.deleteItem = this.deleteItem; - } - - LocationController.prototype.addLocation = function() { - if (this.$scope.locations.length >= 3) { - return this.IonicUtils.showLoading(this.$scope, '只能创建3个常用的地址,请先删除部分再添加'); - } else if (localStorage.getItem('cur_address_detail') === null) { - return this.IonicUtils.showLoading(this.$scope, '定位成功后方可添加常用地址'); - } else if (this.$scope.address === null || this.$scope.address === '') { - return this.IonicUtils.showLoading(this.$scope, '定位成功后方可添加常用地址'); - } else { - return this.GeolocationService.createLocation((function(_this) { - return function(result) { - return _this.$scope.locations.push(result); - }; - })(this)); - } - }; - - LocationController.prototype.deleteItem = function(item) { - return this.GeolocationService.deleteLocation(item, (function(_this) { - return function(result) { - return _this.$scope.locations.splice(_this.$scope.locations.indexOf(item), 1); - }; - })(this)); - }; - - return LocationController; - - })(); - - libr.controller('LocationController', LocationController); - -}).call(this); - -(function() { - var LoginController, libr, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - libr = angular.module('libr.controllers.login', ['ionic']); - - LoginController = (function() { - LoginController.$inject = ['$scope', 'AuthService', '$state', '$ionicModal', 'IonicUtils', 'LocalStorageUtils']; - - function LoginController($scope, AuthService, $state, $ionicModal, IonicUtils, LocalStorageUtils) { - this.$scope = $scope; - this.AuthService = AuthService; - this.$state = $state; - this.$ionicModal = $ionicModal; - this.IonicUtils = IonicUtils; - this.LocalStorageUtils = LocalStorageUtils; - this.closeDialog = __bind(this.closeDialog, this); - this.registerUser = __bind(this.registerUser, this); - this.registerForm = __bind(this.registerForm, this); - this.login = __bind(this.login, this); - if (this.LocalStorageUtils.isUserLogedIn()) { - this.$state.go('tab.home'); - } - this.$scope.login = this.login; - this.$scope.registerForm = this.registerForm; - this.$scope.registerUser = this.registerUser; - this.$scope.closeDialog = this.closeDialog; - this.$ionicModal.fromTemplateUrl('templates/modal/registration.html', (function(_this) { - return function(modal) { - return _this.$scope.modal = modal; - }; - })(this), { - scope: this.$scope, - animation: 'slide-in-up' - }); - this.IonicUtils.initCustomLoading(this.$scope); - } - - LoginController.prototype.login = function(user) { - if (!user || user.email === '' || user.password === '' || user.email === void 0 || user.password === void 0) { - this.IonicUtils.showLoading(this.$scope, '请输入有效的用户名和密码'); - return; - } - return this.AuthService.login(user, (function(_this) { - return function(result) { - localStorage.setItem('token', result.user.token); - localStorage.setItem('avatar', result.user.avatar); - localStorage.setItem('username', result.user.name); - localStorage.setItem('email', user.email); - localStorage.setItem('user', JSON.stringify(result.user)); - return _this.$state.go('tab.home'); - }; - })(this), (function(_this) { - return function(data) { - return _this.IonicUtils.showLoading(_this.$scope, data); - }; - })(this)); - }; - - LoginController.prototype.registerForm = function() { - return this.$scope.modal.show(); - }; - - LoginController.prototype.registerUser = function(user) { - if (!user || user.email === '' || user.password === '' || user.email === void 0 || user.password === void 0) { - this.IonicUtils.showLoading(this.$scope, '用户名或密码错误,请重试'); - } else { - return this.AuthService.register(user, (function(_this) { - return function(result, status) { - if (status === 201) { - alert('注册成功,请返回登录'); - return _this.$scope.modal.hide(); - } else { - return _this.IonicUtils.showLoading(_this.$scope, '注册失败,请确认是否输入正确,并重试'); - } - }; - })(this), (function(_this) { - return function(error) { - _this.IonicUtils.showLoading(_this.$scope, '注册失败,请确认是否输入正确,并重试'); - return console.log("registerError", error); - }; - })(this)); - } - }; - - LoginController.prototype.closeDialog = function() { - return this.$scope.modal.hide(); - }; - - return LoginController; - - })(); - - libr.controller('LoginController', LoginController); - -}).call(this); - -(function() { - var MainController, libr; - - libr = angular.module('libr.controllers.main', ['ionic']); - - MainController = (function() { - MainController.$inject = ['$scope', '$location', '$ionicModal', '$state']; - - function MainController($scope, $location, $ionicModal, $state) { - this.$scope = $scope; - this.$location = $location; - this.$ionicModal = $ionicModal; - this.$state = $state; - } - - return MainController; - - })(); - - libr.controller('MainCtrl', MainController); - -}).call(this); - -(function() { - var SettingsController, libr, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - libr = angular.module('libr.controllers.settings', ['ionic']); - - SettingsController = (function() { - var isUserLogedIn; - - SettingsController.$inject = ['$scope', '$ionicModal', 'AuthService', '$state', '$cacheFactory', 'LocalStorageUtils']; - - function SettingsController($scope, $ionicModal, AuthService, $state, $cacheFactory, LocalStorageUtils) { - this.$scope = $scope; - this.$ionicModal = $ionicModal; - this.AuthService = AuthService; - this.$state = $state; - this.$cacheFactory = $cacheFactory; - this.LocalStorageUtils = LocalStorageUtils; - this.logout = __bind(this.logout, this); - this.$scope.logout = this.logout; - this.$scope.feedback = this.feedback; - this.$scope.showMe = this.showMe; - if (isUserLogedIn(this.LocalStorageUtils)) { - this.$scope.isLogedIn = true; - } else { - this.$scope.isLogedIn = false; - } - this.$scope.avatar = this.LocalStorageUtils.getUserAvatar(); - this.$scope.username = this.LocalStorageUtils.getUserName(); - } - - SettingsController.prototype.logout = function() { - var httpDefaultCache; - localStorage.clear(); - httpDefaultCache = this.$cacheFactory.get('$http'); - console.log('cacheFactory', httpDefaultCache); - httpDefaultCache.removeAll(); - return this.$state.go('login'); - }; - - SettingsController.prototype.feedback = function() { - return window.open('https://jinshuju.net/f/F96z3s', '_blank', 'location=no'); - }; - - SettingsController.prototype.showMe = function() { - return window.open('http://librme.com', '_blank', 'location=no'); - }; - - isUserLogedIn = function(localStorageUtils) { - if (localStorageUtils.getUserToken() !== null && localStorageUtils.getUserEmail() !== null) { - return true; - } else { - return false; - } - }; - - return SettingsController; - - })(); - - libr.controller('SettingsController', SettingsController); - -}).call(this); - -(function() { - var Constant, libr; - - libr = angular.module('libr.constant', []); - - Constant = {}; - - Constant.baseUrl = "http://192.168.0.100:3000/api/v1"; - - libr.constant('Constant', Constant); - -}).call(this); +(function(){var IonicUtils,libr;libr=angular.module("libr.services.utils",[]),IonicUtils=function(){function IonicUtils($timeout){this.$timeout=$timeout}return IonicUtils.$inject=["$timeout"],IonicUtils.prototype.initCustomLoading=function(scope){return scope.data={isLoading:!1,text:null}},IonicUtils.prototype.showLoading=function(scope,text,timing){return null==timing&&(timing=3e3),scope.data={isLoading:!0,text:text},this.$timeout(function(_this){return function(){return _this.initCustomLoading(scope)}}(this),timing)},IonicUtils.prototype.cacheImage=function(imageUrl){return ImgCache.isCached(imageUrl)?void 0:ImgCache.cacheFile(imageUrl,null)},IonicUtils}(),libr.service("IonicUtils",IonicUtils)}).call(this); +(function(){var LocalStorageUtils,libr;libr=angular.module("libr.services.localstorage",[]),LocalStorageUtils=function(){function LocalStorageUtils(){}return LocalStorageUtils.prototype.getUser=function(){return JSON.parse(localStorage.getItem("user"))},LocalStorageUtils.prototype.getUserId=function(){var user;return user=this.getUser(),user.id},LocalStorageUtils.prototype.getUserName=function(){var user;return user=this.getUser(),user.name},LocalStorageUtils.prototype.getUserToken=function(){var user;return user=this.getUser(),user.token},LocalStorageUtils.prototype.getUserAvatar=function(){var user;return user=this.getUser(),user.avatar},LocalStorageUtils.prototype.getUserEmail=function(){var user;return user=this.getUser(),user.email},LocalStorageUtils.prototype.isUserLogedIn=function(){var user;return user=this.getUser(),null!==user&&null!==this.getUserEmail()&&null!==this.getUserToken()},LocalStorageUtils.prototype.storeDoubanUser=function(name){return localStorage.setItem("doubanUser",name)},LocalStorageUtils.prototype.getDoubanUser=function(){var user;return user=this.getUser(),null!==user.douban_user?user.douban_user:null!==localStorage.getItem("doubanUser")?localStorage.getItem("doubanUser"):null},LocalStorageUtils}(),libr.service("LocalStorageUtils",LocalStorageUtils)}).call(this); +(function(){var ErrorHandler,libr;libr=angular.module("libr.handlers.errorHandler",[]),ErrorHandler=function(){function ErrorHandler(){}return ErrorHandler.prototype.loadingHandler=function($scope,callback){var message;return $scope.loading.hide(),message="加载失败,请确认有良好网络连接,并重试",navigator.notification.confirm(message,function(){return function(){return callback()}}(this),"加载失败",["确定","取消"])},ErrorHandler.prototype.whenError=function(callback){var message;return message="加载失败,请确认有良好网络连接,并重试",navigator.notification.confirm(message,function(){return function(){return callback()}}(this),"加载失败",["确定","取消"])},ErrorHandler}(),libr.service("ErrorHandler",ErrorHandler)}).call(this); +(function(){var AuthicationService,libr,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}};libr=angular.module("libr.services.auth",[]),AuthicationService=function(){function AuthicationService($http,Constant){this.$http=$http,this.Constant=Constant,this.register=__bind(this.register,this),this.login=__bind(this.login,this),console.log("init auth service")}return AuthicationService.$inject=["$http","Constant"],AuthicationService.prototype.login=function(user,callback,errorCallback){var baseUrl;return baseUrl=this.Constant.baseUrl+"/sessions",this.$http({method:"POST",url:baseUrl,data:"user[email]="+user.email+"&user[password]="+user.password,headers:{"Content-Type":"application/x-www-form-urlencoded"}}).success(function(result){return result.success?callback(result):errorCallback("登录失败,请输入正确的用户名和密码")}).error(function(){return errorCallback("登录失败,请输入正确的用户名和密码")})},AuthicationService.prototype.register=function(user,callback,onError){var url;return url=this.Constant.baseUrl+"/registrations",this.$http({method:"POST",url:url,data:"user[email]="+user.email+"&user[password]="+user.password,headers:{"Content-Type":"application/x-www-form-urlencoded"}}).success(function(result,status){return callback(result,status)}).error(function(data){return onError(data)})},AuthicationService}(),libr.service("AuthService",AuthicationService)}).call(this); +(function(){var Books,libr;libr=angular.module("libr.services.books",["ngResource"]),Books=function(){function Books($resource,Constant,LocalStorageUtils){var url;return this.$resource=$resource,this.Constant=Constant,this.LocalStorageUtils=LocalStorageUtils,url=this.Constant.baseUrl+"/users/:user_id/books/:book_id",this.$resource(url,{user_email:this.LocalStorageUtils.getUserEmail(),user_token:this.LocalStorageUtils.getUserToken(),user_id:this.LocalStorageUtils.getUserId(),book_id:"@bookId"},{get:{cache:!0,method:"GET"},query:{method:"GET",isArray:!1,cache:!1},fetchNew:{method:"GET",isArray:!1,cache:!0,url:this.Constant.baseUrl+"/books/newbooks/:afterId"}})}return Books.$inject=["$http","$resource","Constant","LocalStorageUtils"],Books}(),libr.factory("Books",["$resource","Constant","LocalStorageUtils",Books])}).call(this); +(function(){var CommentService,libr;libr=angular.module("libr.services.comment",["ngResource"]),CommentService=function(){function CommentService($resource,Constant){var baseUrl;return this.$resource=$resource,this.Constant=Constant,baseUrl=this.Constant.baseUrl+"/books/:book_id/comments/:comment_id",this.$resource(baseUrl,{user_email:localStorage.getItem("email"),user_token:localStorage.getItem("token"),book_id:"@bookId",comment_id:"@commentId"},{query:{method:"GET",isArray:!0,cache:!1}},{save:{params:{comment_id:"@commentId"}}})}return CommentService.$inject=["$http","$resource","Constant"],CommentService}(),libr.factory("Comments",["$resource","Constant",CommentService])}).call(this); +(function(){var DoubanService,libr,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}};libr=angular.module("libr.services.douban",[]),DoubanService=function(){function DoubanService($http,Constant,LocalStorageUtils){this.$http=$http,this.Constant=Constant,this.LocalStorageUtils=LocalStorageUtils,this.submitUser=__bind(this.submitUser,this)}return DoubanService.$inject=["$http","Constant","LocalStorageUtils"],DoubanService.prototype.userInfo=function(user,callback,error){return this.$http({url:"http://api.douban.com/v2/user/"+user,method:"GET",timeout:1e4,cache:!0}).success(function(data,status){return 200===status?callback(data):error(data)}).error(function(data){return error(data)})},DoubanService.prototype.bookDetail=function(isbn,callback,error){return this.$http({url:"https://api.douban.com/v2/book/isbn/"+isbn,method:"GET",timeout:1e4,cache:!0}).success(function(data,status){return 200===status?callback(data):error(data)}).error(function(data){return error(data)})},DoubanService.prototype.submitUser=function(user,callback,error){var email,token,userId;return email=localStorage.getItem("email"),token=localStorage.getItem("token"),userId=this.LocalStorageUtils.getUserId(),this.$http({url:""+this.Constant.baseUrl+"/users/"+userId+"/link/douban/"+user+"?user_email="+email+"&user_token="+token,method:"POST",timeout:1e4}).success(function(data){return callback(data)}).error(function(data){return error(data)})},DoubanService}(),libr.service("DoubanService",DoubanService)}).call(this); +(function(){var GeolocationService,libr,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}};libr=angular.module("libr.services.geolocation",[]),GeolocationService=function(){function GeolocationService($http,Constant){this.$http=$http,this.Constant=Constant,this.getDetailAddress=__bind(this.getDetailAddress,this)}var getLocation,onError,onSuccess;return GeolocationService.$inject=["$http","Constant"],onSuccess=function(position){return alert("lat"+position.coords.latitude),{Latitude:position.coords.latitude,Longitude:position.coords.longitude,Altitude:position.coords.altitude,Accuracy:position.coords.accuracy,"Altitude Accuracy":position.coords.altitudeAccuracy,Heading:position.coords.heading,Speed:position.coords.speed,Timestamp:position.timestamp}},onError=function(error){throw"code: "+error.code+" \n message: "+error.message},GeolocationService.prototype.getCurrentLocation=function(callback,error){return navigator.geolocation.getCurrentPosition(callback,error)},GeolocationService.prototype.getDetailAddress=function(callback){var baseUrl;return baseUrl=this.Constant.baseUrl+"/locations/detail",this.getCurrentLocation(function(_this){return function(position){return _this.$http({url:""+baseUrl+"?lat="+position.coords.latitude+"&lng="+position.coords.longitude,cache:!0,method:"GET"}).success(function(data){return callback(data)})}}(this),function(error){throw Error(error)})},GeolocationService.prototype.getLocations=function(callback,error){var baseUrl,email,token;return baseUrl=this.Constant.baseUrl+"/locations",email=localStorage.getItem("email"),token=localStorage.getItem("token"),this.$http({url:""+baseUrl+"?user_email="+email+"&user_token="+token,method:"GET",cache:!1}).success(function(data){return callback(data)}).error(function(){throw Error(error)})},GeolocationService.prototype.createLocation=function(callback){var baseUrl,email,location,token;return baseUrl=this.Constant.baseUrl+"/locations",location=getLocation(),email=localStorage.getItem("email"),token=localStorage.getItem("token"),this.$http({method:"POST",url:baseUrl+("?user_email="+email+"&user_token="+token),data:"address="+location.address+"&lat="+location.lat+"&lng="+location.lng,headers:{"Content-Type":"application/x-www-form-urlencoded"}}).success(function(data){return callback(data)})},GeolocationService.prototype.deleteLocation=function(item,callback){var baseUrl,email,token;return baseUrl=this.Constant.baseUrl+"/locations",email=localStorage.getItem("email"),token=localStorage.getItem("token"),this.$http({method:"DELETE",url:baseUrl+("?user_email="+email+"&user_token="+token+"&id="+item.id),headers:{"Content-Type":"application/x-www-form-urlencoded"}}).success(function(data){return console.log("=====",data),callback(data)})},getLocation=function(){var location;return location={},location.address=localStorage.getItem("cur_address_detail"),location.lat=localStorage.getItem("cur_lat"),location.lng=localStorage.getItem("cur_lng"),location},GeolocationService}(),libr.service("GeolocationService",GeolocationService)}).call(this); +(function(){var RecommendService,libr,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}};libr=angular.module("libr.services.recommend",[]),RecommendService=function(){function RecommendService(GeolocationService,$http,Constant){this.GeolocationService=GeolocationService,this.$http=$http,this.Constant=Constant,this.changeRecommendAction=__bind(this.changeRecommendAction,this),this.popularBooksAroundMe=__bind(this.popularBooksAroundMe,this)}return RecommendService.$injector=["GeolocationService","$http","Constant"],RecommendService.prototype.getActionSheetList=function(){var actionList;return actionList=[],actionList.push({text:"随便看看吧"}),actionList.push({text:"你可能喜欢的书"}),this.GeolocationService.getLocations(function(){return function(locations){var locationIds;return locationIds=[],locations.map(function(location){return locationIds.push(location.id),location={text:""+location.address+"附近流行的书"},actionList.push(location)}),localStorage.setItem("recommend_action_sheet_arr",JSON.stringify(locationIds)),localStorage.setItem("recommend_action_sheet_full_arr",JSON.stringify(actionList))}}(this)),actionList},RecommendService.prototype.popularBooksForMe=function(callback,error){var email,token;return email=localStorage.getItem("email"),token=localStorage.getItem("token"),this.$http({url:this.Constant.baseUrl+("/recommend/me?user_email="+email+"&user_token="+token),method:"GET",timeout:15e3}).success(function(data){return callback(data)}).error(function(data){return error(data)})},RecommendService.prototype.randomBooks=function(callback,error){var email,token;return email=localStorage.getItem("email"),token=localStorage.getItem("token"),this.$http({url:this.Constant.baseUrl+("/recommend/random?user_email="+email+"&user_token="+token),method:"GET",timeout:15e3,cache:!1}).success(function(data){return callback(data)}).error(function(data){return error(data)})},RecommendService.prototype.popularBooksAroundMe=function(locationId,callback,error){var email,token;return email=localStorage.getItem("email"),token=localStorage.getItem("token"),this.$http({url:this.Constant.baseUrl+("/recommend/locations/"+locationId+"?user_email="+email+"&user_token="+token),method:"GET",timeout:15e3,cache:!0}).success(function(data){return console.log("数据",data),callback(data)}).error(function(data){return error(data)})},RecommendService.prototype.changeRecommendAction=function(index,callback,error){var locations;return console.log("index====",index),0===index?this.randomBooks(callback,error):1===index?this.popularBooksForMe(callback,error):(locations=JSON.parse(localStorage.getItem("recommend_action_sheet_arr")),console.log(locations[index-2],"index......"),this.popularBooksAroundMe(locations[index-2],function(result){return console.log("callback....",result),callback(result)},function(errorMessage){return error(errorMessage)}))},RecommendService}(),libr.service("RecommendService",RecommendService)}).call(this); +(function(){var ScanService,libr;libr=angular.module("libr.services.scan",[]),ScanService=function(){function ScanService(Books){this.Books=Books}return ScanService.$inject=["Books"],ScanService.prototype.scan=function(callback,errorCallback){return navigator.notification.vibrate(50),cordova.plugins.barcodeScanner.scan(function(_this){return function(result){return console.log("got scan result",result),1!==result.cancelled?"EAN_13"!==result.format?(console.log("条码不匹配"),void errorCallback("条形码类型错误,请确认所扫为书籍,并更换角度")):_this.Books.save({isbn:result.text},null,function(data){return console.log("get server response"),"error"===data.status?errorCallback(data.message):callback(data)},function(error){return errorCallback("添加图书失败"+error.data.message)}):void 0}}(this),function(error){return errorCallback("扫描图书失败:"+error+" ")})},ScanService}(),libr.service("ScanService",ScanService)}).call(this); +(function(){var BooksController,libr,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}};libr=angular.module("libr.controllers.books",["ionic"]),BooksController=function(){function BooksController($scope,Books,ScanService,$ionicModal,DoubanService,IonicUtils,LocalStorageUtils){var currentPage;this.$scope=$scope,this.Books=Books,this.ScanService=ScanService,this.$ionicModal=$ionicModal,this.DoubanService=DoubanService,this.IonicUtils=IonicUtils,this.LocalStorageUtils=LocalStorageUtils,this.submitDoubanUser=__bind(this.submitDoubanUser,this),this.scanBooks=__bind(this.scanBooks,this),this.searchDoubanUser=__bind(this.searchDoubanUser,this),this.closeDialog=__bind(this.closeDialog,this),this.loadMore=__bind(this.loadMore,this),this.refresh=__bind(this.refresh,this),currentPage=localStorage.setItem("user_books_current_page",0),this.$scope.books=[],this.$scope.moreItemsAvailable=!0,this.$scope.submitAllowed=!1,this.$ionicModal.fromTemplateUrl("templates/modal/import_books.html",function(_this){return function(modal){return _this.$scope.modal=modal}}(this),{scope:this.$scope,animation:"slide-in-up"}),this.$scope.data={isLoading:!1,text:null},this.IonicUtils.initCustomLoading(this.$scope),this.$scope.onRefresh=this.refresh,this.$scope.loadMore=this.loadMore,this.$scope.closeDialog=this.closeDialog,this.$scope.searchDoubanUser=this.searchDoubanUser,this.$scope.scanBooks=this.scanBooks,this.$scope.submitDoubanUser=this.submitDoubanUser,this.$scope.doubanInputDisabled=null!==this.LocalStorageUtils.getDoubanUser(),this.$scope.doubanUsername=this.LocalStorageUtils.getDoubanUser()}return BooksController.$inject=["$scope","Books","ScanService","$ionicModal","DoubanService","IonicUtils","LocalStorageUtils"],BooksController.prototype.refresh=function(){var afterBookId;return afterBookId=localStorage.getItem("user_max_book_id"),this.Books.fetchNew({afterId:afterBookId},function(_this){return function(data){return _this.$scope.$broadcast("scroll.refreshComplete"),0!==data.books.length?(localStorage.setItem("user_max_book_id",data.books[0].id),data.books.forEach(function(item){return _this.$scope.books.push(item)})):void 0}}(this))},BooksController.prototype.loadMore=function(){var currentPage,maxPage;return currentPage=localStorage.getItem("user_books_current_page"),maxPage=localStorage.getItem("user_books_max_page"),maxPage=parseInt(maxPage),currentPage=parseInt(currentPage),currentPage>=maxPage?(this.$scope.$broadcast("scroll.infiniteScrollComplete"),this.$scope.moreItemsAvailable=!1):this.Books.query({page:currentPage+1},function(_this){return function(data){return 0!==data.books.length?(localStorage.setItem("user_max_book_id",data.books[0].id),localStorage.setItem("user_books_current_page",data.current_page),localStorage.setItem("user_books_max_page",data.total_page),data.books.forEach(function(item){return _this.$scope.books.push(item)})):_this.$scope.moreItemsAvailable=!1,_this.$scope.$broadcast("scroll.infiniteScrollComplete")}}(this))},BooksController.prototype.closeDialog=function(){return this.$scope.modal.hide()},BooksController.prototype.searchDoubanUser=function(user){return console.log(user,"..."),void 0===user||""===user.trim()?this.IonicUtils.showLoading(this.$scope,"请输入有效昵称"):this.DoubanService.userInfo(user,function(_this){return function(data){return _this.$scope.resultEnabled=!0,_this.$scope.submitAllowed=!0,_this.$scope.doubanUser=data}}(this),function(_this){return function(error){return _this.IonicUtils.showLoading(_this.$scope,"查找豆瓣用户失败,请稍后再试"),console.log(error),_this.$scope.resultEnabled=!1,_this.$scope.submitAllowed=!1}}(this))},BooksController.prototype.scanBooks=function(){return this.ScanService.scan(function(_this){return function(result){return navigator.notification.alert("添加图书《"+result.book.name+"》成功",null,"Libr","确定"),_this.$scope.books.unshift(result.book)}}(this),function(_this){return function(msg){return console.log("trying to show loading...",msg),_this.IonicUtils.showLoading(_this.$scope,msg),_this.$scope.$apply(),console.log("applied")}}(this))},BooksController.prototype.submitDoubanUser=function(){var username;return username=angular.element(document.getElementById("douban-username")),username=username.val(),this.DoubanService.submitUser(username,function(_this){return function(){return _this.$scope.doubanInputDisabled=!0,_this.LocalStorageUtils.storeDoubanUser(username),alert("成功绑定豆瓣用户,请返回,系统将自动为你导入豆瓣图书")}}(this),function(_this){return function(){return _this.IonicUtils.showLoading(_this.$scope,"绑定豆瓣用户失败,请稍后再试")}}(this))},BooksController}(),libr.controller("BooksController",BooksController)}).call(this); +(function(){var BookDetailController,libr,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}};libr=angular.module("libr.controllers",["ionic"]),BookDetailController=function(){function BookDetailController($scope,$stateParams,Books,$window,$ionicModal,Comments,DoubanService){this.$scope=$scope,this.$stateParams=$stateParams,this.Books=Books,this.$window=$window,this.$ionicModal=$ionicModal,this.Comments=Comments,this.DoubanService=DoubanService,this.back=__bind(this.back,this),this.doComment=__bind(this.doComment,this),this.closeCommentDialog=__bind(this.closeCommentDialog,this),this.openCommentDialog=__bind(this.openCommentDialog,this),this.$scope.openDialog=this.openCommentDialog,this.$scope.closeDialog=this.closeCommentDialog,this.$scope.doComment=this.doComment,this.$scope.back=this.back,this.$ionicModal.fromTemplateUrl("templates/modal/comment.html",function(_this){return function(modal){return _this.$scope.modal=modal}}(this),{scope:this.$scope,animation:"slide-in-up"}),this.Books.get({book_id:this.$stateParams.isbn},function(_this){return function(result){return _this.$scope.book=result,_this.$scope.usersAccount=result.users.length,_this.$scope.bookName=_this.$scope.book.name,_this.Comments.query({book_id:result.id},function(data){return console.log(data,"!!!!!"),_this.$scope.comments=data}),_this.DoubanService.bookDetail(result.isbn,function(data){return console.log(data),_this.$scope.bookDetail=data},function(error){return console.log("error",error)})}}(this)),this.$scope.$on("$destroy",function(_this){return function(){return _this.$scope.modal.remove()}}(this))}return BookDetailController.$inject=["$scope","$stateParams","Books","$window","$ionicModal","Comments","DoubanService"],BookDetailController.prototype.openCommentDialog=function(){return this.$scope.modal.show()},BookDetailController.prototype.closeCommentDialog=function(){return this.$scope.modal.hide()},BookDetailController.prototype.doComment=function(){var text;return text=angular.element(document.getElementById("comment")).val(),""===text.trim()?(alert("请输入有效字符"),!1):this.Comments.save({book_id:this.$scope.book.id,content:text},null,function(_this){return function(data){return null===data.id?alert("添加图书失败"):(console.log("成功。。。。。。。"),_this.$scope.comments.push(data),_this.closeCommentDialog())}}(this))},BookDetailController.prototype.back=function(){return this.$window.history.back()},BookDetailController}(),libr.controller("BookDetailController",BookDetailController)}).call(this); +(function(){var HomeController,libr,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}};libr=angular.module("libr.controllers.home",["ionic"]),HomeController=function(){function HomeController($scope,$location,ScanService,$ionicLoading,$ionicActionSheet,RecommendService,ErrorHandler,LocalStorageUtils){return this.$scope=$scope,this.$location=$location,this.$ionicLoading=$ionicLoading,this.$ionicActionSheet=$ionicActionSheet,this.RecommendService=RecommendService,this.ErrorHandler=ErrorHandler,this.LocalStorageUtils=LocalStorageUtils,this.changeRecommend=__bind(this.changeRecommend,this),this.showRecommendActionSheet=__bind(this.showRecommendActionSheet,this),console.log(this.$scope,"!!!!!!!"),this.$scope.showRecommendActionSheet=this.showRecommendActionSheet,this.LocalStorageUtils.isUserLogedIn()?(showLoading(this.$scope,this.$ionicLoading),this.$scope.title={name:"Libr-随便看看吧"},null===localStorage.getItem("home.books")?this.RecommendService.randomBooks(function(_this){return function(result){return _this.$scope.books=result,localStorage.setItem("home.books",JSON.stringify(result)),_this.$ionicLoading.hide()}}(this),function(_this){return function(){return _this.ErrorHandler.loadingHandler(_this.$scope,null)}}(this)):(this.$scope.books=JSON.parse(localStorage.getItem("home.books")),this.$ionicLoading.hide()),void(this.$scope.changeRecommend=this.changeRecommend)):void this.$location.path("/tab/settings")}var showLoading;return HomeController.$inject=["$scope","$location","ScanService","$ionicLoading","$ionicActionSheet","RecommendService","ErrorHandler","LocalStorageUtils"],showLoading=function($scope,$ionicLoading){return $scope.loading=$ionicLoading.show({content:"加载中",animation:"fade-in",showBackdrop:!0,maxWidth:200,showDelay:500})},HomeController.prototype.showRecommendActionSheet=function(){return this.$ionicActionSheet.show({titleText:"Libr 为你推荐",buttons:this.RecommendService.getActionSheetList(),cancelText:"取消",cancel:function(){return console.log("CANCELLED")},buttonClicked:function(_this){return function(index){return console.log(""+index+" has been taped"),_this.changeRecommend(index),!0}}(this)})},HomeController.prototype.changeRecommend=function(index){var msg;return msg="喔,看来附近还没有好书推荐,快去推荐你的朋友也来使用吧!",this.RecommendService.changeRecommendAction(index,function(_this){return function(result){var listArray;return 0===result.length?navigator.notification.alert(msg,null,"libr","确定"):(_this.$scope.books=result,localStorage.setItem("home.books",JSON.stringify(result)),listArray=JSON.parse(localStorage.getItem("recommend_action_sheet_full_arr")),_this.$scope.title.name=listArray[index].text,console.log(_this.$scope,"========"))}}(this),function(_this){return function(){return _this.ErrorHandler.whenError(null)}}(this))},HomeController}(),libr.controller("HomeCtrl",HomeController)}).call(this); +(function(){var LocationController,libr,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}};libr=angular.module("libr.controllers.location",["ionic"]),LocationController=function(){function LocationController($scope,$location,GeolocationService,IonicUtils){this.$scope=$scope,this.$location=$location,this.GeolocationService=GeolocationService,this.IonicUtils=IonicUtils,this.deleteItem=__bind(this.deleteItem,this),this.addLocation=__bind(this.addLocation,this),this.$scope.addLocation=this.addLocation,this.$scope.itemButtons=[{text:"删除",type:"button-assertive",onTap:function(_this){return function(item){return _this.GeolocationService.deleteLocation(item,function(){return _this.$scope.locations.splice(_this.$scope.locations.indexOf(item),1)})}}(this)}],this.GeolocationService.getLocations(function(_this){return function(locations){return _this.$scope.locations=locations}}(this)),this.GeolocationService.getDetailAddress(function(_this){return function(position){return localStorage.setItem("cur_address_detail",position.result.formatted_address),localStorage.setItem("cur_lat",position.result.location.lat),localStorage.setItem("cur_lng",position.result.location.lng),_this.$scope.address=position.result.formatted_address}}(this)),this.IonicUtils.initCustomLoading(this.$scope),this.$scope.deleteItem=this.deleteItem}return LocationController.$inject=["$scope","$location","GeolocationService","IonicUtils"],LocationController.prototype.addLocation=function(){return this.$scope.locations.length>=3?this.IonicUtils.showLoading(this.$scope,"只能创建3个常用的地址,请先删除部分再添加"):null===localStorage.getItem("cur_address_detail")||void 0===localStorage.getItem("cur_address_detail")?this.IonicUtils.showLoading(this.$scope,"定位成功后方可添加常用地址"):null===this.$scope.address||""===this.$scope.address?this.IonicUtils.showLoading(this.$scope,"定位成功后方可添加常用地址"):this.GeolocationService.createLocation(function(_this){return function(result){return _this.$scope.locations.push(result)}}(this))},LocationController.prototype.deleteItem=function(item){return this.GeolocationService.deleteLocation(item,function(_this){return function(){return _this.$scope.locations.splice(_this.$scope.locations.indexOf(item),1)}}(this))},LocationController}(),libr.controller("LocationController",LocationController)}).call(this); +(function(){var LoginController,libr,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}};libr=angular.module("libr.controllers.login",["ionic"]),LoginController=function(){function LoginController($scope,AuthService,$state,$ionicModal,IonicUtils,LocalStorageUtils){this.$scope=$scope,this.AuthService=AuthService,this.$state=$state,this.$ionicModal=$ionicModal,this.IonicUtils=IonicUtils,this.LocalStorageUtils=LocalStorageUtils,this.closeDialog=__bind(this.closeDialog,this),this.registerUser=__bind(this.registerUser,this),this.registerForm=__bind(this.registerForm,this),this.login=__bind(this.login,this),this.LocalStorageUtils.isUserLogedIn()&&this.$state.go("tab.home"),this.$scope.login=this.login,this.$scope.registerForm=this.registerForm,this.$scope.registerUser=this.registerUser,this.$scope.closeDialog=this.closeDialog,this.$ionicModal.fromTemplateUrl("templates/modal/registration.html",function(_this){return function(modal){return _this.$scope.modal=modal}}(this),{scope:this.$scope,animation:"slide-in-up"}),this.IonicUtils.initCustomLoading(this.$scope)}return LoginController.$inject=["$scope","AuthService","$state","$ionicModal","IonicUtils","LocalStorageUtils"],LoginController.prototype.login=function(user){return user&&""!==user.email&&""!==user.password&&void 0!==user.email&&void 0!==user.password?this.AuthService.login(user,function(_this){return function(result){return localStorage.setItem("token",result.user.token),localStorage.setItem("avatar",result.user.avatar),localStorage.setItem("username",result.user.name),localStorage.setItem("email",user.email),localStorage.setItem("user",JSON.stringify(result.user)),_this.$state.go("tab.home")}}(this),function(_this){return function(data){return _this.IonicUtils.showLoading(_this.$scope,data)}}(this)):void this.IonicUtils.showLoading(this.$scope,"请输入有效的用户名和密码")},LoginController.prototype.registerForm=function(){return this.$scope.modal.show()},LoginController.prototype.registerUser=function(user){return user&&""!==user.email&&""!==user.password&&void 0!==user.email&&void 0!==user.password?this.AuthService.register(user,function(_this){return function(result,status){return 201===status?(alert("注册成功,请返回登录"),_this.$scope.modal.hide()):_this.IonicUtils.showLoading(_this.$scope,"注册失败,请确认是否输入正确,并重试")}}(this),function(_this){return function(error){return _this.IonicUtils.showLoading(_this.$scope,"注册失败,请确认是否输入正确,并重试"),console.log("registerError",error)}}(this)):void this.IonicUtils.showLoading(this.$scope,"用户名或密码错误,请重试")},LoginController.prototype.closeDialog=function(){return this.$scope.modal.hide()},LoginController}(),libr.controller("LoginController",LoginController)}).call(this); +(function(){var MainController,libr;libr=angular.module("libr.controllers.main",["ionic"]),MainController=function(){function MainController($scope,$location,$ionicModal,$state){this.$scope=$scope,this.$location=$location,this.$ionicModal=$ionicModal,this.$state=$state}return MainController.$inject=["$scope","$location","$ionicModal","$state"],MainController}(),libr.controller("MainCtrl",MainController)}).call(this); +(function(){var SettingsController,libr,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}};libr=angular.module("libr.controllers.settings",["ionic"]),SettingsController=function(){function SettingsController($scope,$ionicModal,AuthService,$state,$cacheFactory,LocalStorageUtils){this.$scope=$scope,this.$ionicModal=$ionicModal,this.AuthService=AuthService,this.$state=$state,this.$cacheFactory=$cacheFactory,this.LocalStorageUtils=LocalStorageUtils,this.logout=__bind(this.logout,this),this.$scope.logout=this.logout,this.$scope.feedback=this.feedback,this.$scope.showMe=this.showMe,this.$scope.isLogedIn=isUserLogedIn(this.LocalStorageUtils)?!0:!1,this.$scope.avatar=this.LocalStorageUtils.getUserAvatar(),this.$scope.username=this.LocalStorageUtils.getUserName()}var isUserLogedIn;return SettingsController.$inject=["$scope","$ionicModal","AuthService","$state","$cacheFactory","LocalStorageUtils"],SettingsController.prototype.logout=function(){var httpDefaultCache;return localStorage.clear(),httpDefaultCache=this.$cacheFactory.get("$http"),console.log("cacheFactory",httpDefaultCache),httpDefaultCache.removeAll(),this.$state.go("login")},SettingsController.prototype.feedback=function(){return window.open("https://jinshuju.net/f/F96z3s","_blank","location=no")},SettingsController.prototype.showMe=function(){return window.open("http://librme.com","_blank","location=no")},isUserLogedIn=function(localStorageUtils){return null!==localStorageUtils.getUserToken()&&null!==localStorageUtils.getUserEmail()?!0:!1},SettingsController}(),libr.controller("SettingsController",SettingsController)}).call(this); +(function(){var Constant,libr;libr=angular.module("libr.constant",[]),Constant={},Constant.baseUrl="http://librme.com/api/v1",libr.constant("Constant",Constant)}).call(this); \ No newline at end of file diff --git a/platforms/android/assets/www/js/app/controllers/controllers.coffee b/platforms/android/assets/www/js/app/controllers/controllers.coffee index a345dce..30f48db 100644 --- a/platforms/android/assets/www/js/app/controllers/controllers.coffee +++ b/platforms/android/assets/www/js/app/controllers/controllers.coffee @@ -1,9 +1,8 @@ libr = angular.module('libr.controllers', ['ionic']) class BookDetailController - @$inject: ['$scope', '$stateParams', 'Books', '$window', '$ionicModal', 'Comments'] - - constructor: (@$scope, @$stateParams, @Books, @$window, @$ionicModal, @Comments) -> + @$inject: ['$scope', '$stateParams', 'Books', '$window', '$ionicModal', 'Comments', 'DoubanService'] + constructor: (@$scope, @$stateParams, @Books, @$window, @$ionicModal, @Comments, @DoubanService) -> @$scope.openDialog = @openCommentDialog @$scope.closeDialog = @closeCommentDialog @$scope.doComment = @doComment @@ -15,15 +14,19 @@ class BookDetailController scope: @$scope, animation: 'slide-in-up' } - console.log '====' @Books.get {book_id: @$stateParams.isbn}, (result) => @$scope.book = result @$scope.usersAccount = result.users.length @$scope.bookName = @$scope.book.name @Comments.query {book_id: result.id}, (data)=> - console.log data,'!!!!!' + console.log data, '!!!!!' @$scope.comments = data + @DoubanService.bookDetail result.isbn, (data)=> + console.log data + @$scope.bookDetail = data + , (error)-> + console.log 'error', error @$scope.$on '$destroy', ()=> @$scope.modal.remove() @@ -54,5 +57,4 @@ class BookDetailController @$window.history.back() - libr.controller 'BookDetailController', BookDetailController diff --git a/platforms/android/assets/www/js/app/controllers/home-controller.coffee b/platforms/android/assets/www/js/app/controllers/home-controller.coffee index 3ffa5e5..6e883d4 100644 --- a/platforms/android/assets/www/js/app/controllers/home-controller.coffee +++ b/platforms/android/assets/www/js/app/controllers/home-controller.coffee @@ -4,24 +4,26 @@ class HomeController @$inject: ['$scope', '$location', 'ScanService', '$ionicLoading', '$ionicActionSheet', 'RecommendService', 'ErrorHandler', 'LocalStorageUtils'] constructor: (@$scope, @$location, ScanService, @$ionicLoading, @$ionicActionSheet, @RecommendService, @ErrorHandler, @LocalStorageUtils)-> + console.log @$scope, '!!!!!!!' @$scope.showRecommendActionSheet = @showRecommendActionSheet if @LocalStorageUtils.isUserLogedIn() showLoading(@$scope, @$ionicLoading) - @$scope.title = '随便看看吧' + @$scope.title = {'name': 'Libr-随便看看吧'} if localStorage.getItem('home.books') is null @RecommendService.randomBooks (result)=> @$scope.books = result localStorage.setItem 'home.books', JSON.stringify(result) - @$scope.loading.hide() + @$ionicLoading.hide() , (error)=> @ErrorHandler.loadingHandler @$scope, null else @$scope.books = JSON.parse(localStorage.getItem('home.books')) - @$scope.loading.hide() + @$ionicLoading.hide() else @$location.path '/tab/settings' return + @$scope.changeRecommend = @changeRecommend showLoading = ($scope, $ionicLoading)-> $scope.loading = $ionicLoading.show { @@ -54,7 +56,9 @@ class HomeController @$scope.books = result localStorage.setItem 'home.books', JSON.stringify(result) listArray = JSON.parse(localStorage.getItem 'recommend_action_sheet_full_arr') - @$scope.title = listArray[index].text + @$scope.title.name = listArray[index].text + + console.log @$scope, '========' , (error)=> @ErrorHandler.whenError null libr.controller 'HomeCtrl', HomeController diff --git a/platforms/android/assets/www/js/app/controllers/location-controller.coffee b/platforms/android/assets/www/js/app/controllers/location-controller.coffee index 51098da..4e9ac6b 100644 --- a/platforms/android/assets/www/js/app/controllers/location-controller.coffee +++ b/platforms/android/assets/www/js/app/controllers/location-controller.coffee @@ -30,7 +30,7 @@ class LocationController addLocation: () => if @$scope.locations.length >= 3 @IonicUtils.showLoading(@$scope, '只能创建3个常用的地址,请先删除部分再添加') - else if localStorage.getItem('cur_address_detail') is null + else if (localStorage.getItem('cur_address_detail') is null) || (localStorage.getItem('cur_address_detail') is undefined) @IonicUtils.showLoading(@$scope, '定位成功后方可添加常用地址') else if (@$scope.address is null or @$scope.address is '') @IonicUtils.showLoading(@$scope, '定位成功后方可添加常用地址') diff --git a/platforms/android/assets/www/js/app/services/douban-service.coffee b/platforms/android/assets/www/js/app/services/douban-service.coffee index 645f30e..7baff6e 100644 --- a/platforms/android/assets/www/js/app/services/douban-service.coffee +++ b/platforms/android/assets/www/js/app/services/douban-service.coffee @@ -22,6 +22,21 @@ class DoubanService .error (data)-> error data + bookDetail: (isbn, callback, error)-> + @$http( + url: "https://api.douban.com/v2/book/isbn/#{isbn}" + method: 'GET' + timeout: 10000 + cache: true + ) + .success (data, status, headers, config)-> + if status is 200 + callback data + else + error data + .error (data)-> + error data + submitUser: (user, callback, error)=> email = localStorage.getItem 'email' token = localStorage.getItem 'token' diff --git a/platforms/android/assets/www/js/app/services/recommend-service.coffee b/platforms/android/assets/www/js/app/services/recommend-service.coffee index dde399a..f270522 100644 --- a/platforms/android/assets/www/js/app/services/recommend-service.coffee +++ b/platforms/android/assets/www/js/app/services/recommend-service.coffee @@ -7,7 +7,7 @@ class RecommendService getActionSheetList: ()-> actionList = [] - actionList.push {text: '随机找几本书看看'} + actionList.push {text: '随便看看吧'} actionList.push {text: "你可能喜欢的书"} @GeolocationService.getLocations (locations)=> locationIds = [] @@ -40,7 +40,7 @@ class RecommendService url: @Constant.baseUrl + "/recommend/random?user_email=#{email}&user_token=#{token}" method: 'GET' timeout: 15000 - cache: true + cache: false ) .success (data, status, headers, config)-> callback data diff --git a/platforms/android/assets/www/templates/book-detail.html b/platforms/android/assets/www/templates/book-detail.html index 96d2d1e..5a23c1f 100644 --- a/platforms/android/assets/www/templates/book-detail.html +++ b/platforms/android/assets/www/templates/book-detail.html @@ -28,6 +28,11 @@ 评论 + +
图书简介:
+
+ {{bookDetail.summary}} +
评论:
diff --git a/platforms/android/assets/www/templates/libr-index.html b/platforms/android/assets/www/templates/libr-index.html index 23e369d..0caec4d 100644 --- a/platforms/android/assets/www/templates/libr-index.html +++ b/platforms/android/assets/www/templates/libr-index.html @@ -1,4 +1,9 @@ - + + + + diff --git a/platforms/android/assets/www/templates/modal/import_books.html b/platforms/android/assets/www/templates/modal/import_books.html index 7d57923..884e218 100644 --- a/platforms/android/assets/www/templates/modal/import_books.html +++ b/platforms/android/assets/www/templates/modal/import_books.html @@ -6,17 +6,20 @@
{{data.text}}
- +
-

已成功绑定豆瓣用户,你的豆瓣用户名为:{{doubanUsername}}

+

已成功绑定豆瓣用户:{{doubanUsername}}

- -
diff --git a/platforms/android/assets/www/templates/settings.html b/platforms/android/assets/www/templates/settings.html index db01612..49398a7 100644 --- a/platforms/android/assets/www/templates/settings.html +++ b/platforms/android/assets/www/templates/settings.html @@ -12,20 +12,10 @@ 注销登录
- - - 系统消息 - 0 - 请给我们提供反馈吧 - - - 关于 - - diff --git a/platforms/android/res/xml/config.xml b/platforms/android/res/xml/config.xml index 83e6e7d..2625be9 100644 --- a/platforms/android/res/xml/config.xml +++ b/platforms/android/res/xml/config.xml @@ -26,6 +26,9 @@ + + + Libr A sample Apache Cordova application that responds to the deviceready event. @@ -52,7 +55,4 @@ - - - diff --git a/platforms/ios/Libr.xcodeproj/project.pbxproj b/platforms/ios/Libr.xcodeproj/project.pbxproj index 9fa1224..570e862 100644 --- a/platforms/ios/Libr.xcodeproj/project.pbxproj +++ b/platforms/ios/Libr.xcodeproj/project.pbxproj @@ -5,6 +5,7 @@ }; objectVersion = 46; objects = { + /* Begin PBXBuildFile section */ 1407A44D22484B4395C72B89 /* scannerOverlay.xib in Resources */ = {isa = PBXBuildFile; fileRef = E12B99CB376A490BA963436B /* scannerOverlay.xib */; }; 1A60A167A53E41DC9AB3A5B5 /* CDVReachability.m in Sources */ = {isa = PBXBuildFile; fileRef = CB86B589F04E43CD95185886 /* CDVReachability.m */; }; diff --git a/platforms/ios/Libr.xcodeproj/project.xcworkspace/xcuserdata/twer.xcuserdatad/UserInterfaceState.xcuserstate b/platforms/ios/Libr.xcodeproj/project.xcworkspace/xcuserdata/twer.xcuserdatad/UserInterfaceState.xcuserstate index 042fba9e529c7428c04044ffbd735a8fac5d615d..84dab9d3250eebd629eddd4f5da2d20fd0d97497 100644 GIT binary patch delta 11083 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 S<^l}U_RGy^`|bG7-}GM}{_(8< diff --git a/platforms/ios/Libr/Libr-Info.plist b/platforms/ios/Libr/Libr-Info.plist index 4347c4b..bcabdc8 100644 --- a/platforms/ios/Libr/Libr-Info.plist +++ b/platforms/ios/Libr/Libr-Info.plist @@ -21,7 +21,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 0.0.1 + 1.0.0 CFBundleSignature ???? CFBundleVersion diff --git a/platforms/ios/www/dist/js/all.min.js b/platforms/ios/www/dist/js/all.min.js index d577a1a..74ad34c 100644 --- a/platforms/ios/www/dist/js/all.min.js +++ b/platforms/ios/www/dist/js/all.min.js @@ -1,1328 +1,18 @@ -(function() { - var IonicUtils, libr; - - libr = angular.module('libr.services.utils', []); - - IonicUtils = (function() { - IonicUtils.$inject = ['$timeout']; - - function IonicUtils($timeout) { - this.$timeout = $timeout; - } - - IonicUtils.prototype.initCustomLoading = function(scope) { - return scope.data = { - isLoading: false, - text: null - }; - }; - - IonicUtils.prototype.showLoading = function(scope, text, timing) { - if (timing == null) { - timing = 3000; - } - scope.data = { - isLoading: true, - text: text - }; - return this.$timeout((function(_this) { - return function() { - return _this.initCustomLoading(scope); - }; - })(this), timing); - }; - - IonicUtils.prototype.cacheImage = function(imageUrl) { - if (!ImgCache.isCached(imageUrl)) { - return ImgCache.cacheFile(imageUrl, null); - } - }; - - return IonicUtils; - - })(); - - libr.service('IonicUtils', IonicUtils); - -}).call(this); - -(function() { - var LocalStorageUtils, libr; - - libr = angular.module('libr.services.localstorage', []); - - LocalStorageUtils = (function() { - function LocalStorageUtils() {} - - LocalStorageUtils.prototype.getUser = function() { - return JSON.parse(localStorage.getItem('user')); - }; - - LocalStorageUtils.prototype.getUserId = function() { - var user; - user = this.getUser(); - return user.id; - }; - - LocalStorageUtils.prototype.getUserName = function() { - var user; - user = this.getUser(); - return user.name; - }; - - LocalStorageUtils.prototype.getUserToken = function() { - var user; - user = this.getUser(); - return user.token; - }; - - LocalStorageUtils.prototype.getUserAvatar = function() { - var user; - user = this.getUser(); - return user.avatar; - }; - - LocalStorageUtils.prototype.getUserEmail = function() { - var user; - user = this.getUser(); - return user.email; - }; - - LocalStorageUtils.prototype.isUserLogedIn = function() { - var user; - user = this.getUser(); - return user !== null && this.getUserEmail() !== null && this.getUserToken() !== null; - }; - - LocalStorageUtils.prototype.storeDoubanUser = function(name) { - return localStorage.setItem('doubanUser', name); - }; - - LocalStorageUtils.prototype.getDoubanUser = function() { - var user; - user = this.getUser(); - if (user.douban_user !== null) { - return user.douban_user; - } else if (localStorage.getItem('doubanUser') !== null) { - return localStorage.getItem('doubanUser'); - } else { - return null; - } - }; - - return LocalStorageUtils; - - })(); - - libr.service('LocalStorageUtils', LocalStorageUtils); - -}).call(this); - -(function() { - var ErrorHandler, libr; - - libr = angular.module('libr.handlers.errorHandler', []); - - ErrorHandler = (function() { - function ErrorHandler() {} - - ErrorHandler.prototype.loadingHandler = function($scope, callback) { - var message; - $scope.loading.hide(); - message = '加载失败,请确认有良好网络连接,并重试'; - return navigator.notification.confirm(message, (function(_this) { - return function() { - return callback(); - }; - })(this), '加载失败', ['确定', '取消']); - }; - - ErrorHandler.prototype.whenError = function(callback) { - var message; - message = '加载失败,请确认有良好网络连接,并重试'; - return navigator.notification.confirm(message, (function(_this) { - return function() { - return callback(); - }; - })(this), '加载失败', ['确定', '取消']); - }; - - return ErrorHandler; - - })(); - - libr.service('ErrorHandler', ErrorHandler); - -}).call(this); - -(function() { - var AuthicationService, libr, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - libr = angular.module('libr.services.auth', []); - - AuthicationService = (function() { - AuthicationService.$inject = ['$http', 'Constant']; - - function AuthicationService($http, Constant) { - this.$http = $http; - this.Constant = Constant; - this.register = __bind(this.register, this); - this.login = __bind(this.login, this); - console.log('init auth service'); - } - - AuthicationService.prototype.login = function(user, callback, errorCallback) { - var baseUrl; - baseUrl = this.Constant.baseUrl + '/sessions'; - return this.$http({ - method: 'POST', - url: baseUrl, - data: "user[email]=" + user.email + "&user[password]=" + user.password, - headers: { - 'Content-Type': 'application/x-www-form-urlencoded' - } - }).success(function(result) { - if (result.success) { - return callback(result); - } else { - return errorCallback('登录失败,请输入正确的用户名和密码'); - } - }).error(function(data) { - return errorCallback('登录失败,请输入正确的用户名和密码'); - }); - }; - - AuthicationService.prototype.register = function(user, callback, onError) { - var url; - url = this.Constant.baseUrl + '/registrations'; - return this.$http({ - method: 'POST', - url: url, - data: "user[email]=" + user.email + "&user[password]=" + user.password, - headers: { - 'Content-Type': 'application/x-www-form-urlencoded' - } - }).success(function(result, status) { - return callback(result, status); - }).error(function(data, status) { - return onError(data); - }); - }; - - return AuthicationService; - - })(); - - libr.service('AuthService', AuthicationService); - -}).call(this); - -(function() { - var Books, libr; - - libr = angular.module('libr.services.books', ['ngResource']); - - Books = (function() { - Books.$inject = ['$http', '$resource', 'Constant', 'LocalStorageUtils']; - - function Books($resource, Constant, LocalStorageUtils) { - var url; - this.$resource = $resource; - this.Constant = Constant; - this.LocalStorageUtils = LocalStorageUtils; - url = this.Constant.baseUrl + '/users/:user_id/books/:book_id'; - return this.$resource(url, { - user_email: this.LocalStorageUtils.getUserEmail(), - user_token: this.LocalStorageUtils.getUserToken(), - user_id: this.LocalStorageUtils.getUserId(), - book_id: '@bookId' - }, { - 'get': { - cache: true, - method: 'GET' - }, - 'query': { - method: 'GET', - isArray: false, - cache: false - }, - 'fetchNew': { - method: 'GET', - isArray: false, - cache: true, - url: this.Constant.baseUrl + '/books/newbooks/:afterId' - } - }); - } - - return Books; - - })(); - - libr.factory('Books', ['$resource', 'Constant', 'LocalStorageUtils', Books]); - -}).call(this); - -(function() { - var CommentService, libr; - - libr = angular.module('libr.services.comment', ['ngResource']); - - CommentService = (function() { - CommentService.$inject = ['$http', '$resource', 'Constant']; - - function CommentService($resource, Constant) { - var baseUrl; - this.$resource = $resource; - this.Constant = Constant; - baseUrl = this.Constant.baseUrl + '/books/:book_id/comments/:comment_id'; - return this.$resource(baseUrl, { - user_email: localStorage.getItem('email'), - user_token: localStorage.getItem('token'), - book_id: '@bookId', - comment_id: '@commentId' - }, { - 'query': { - method: 'GET', - isArray: true, - cache: false - } - }, { - 'save': { - params: { - comment_id: '@commentId' - } - } - }); - } - - return CommentService; - - })(); - - libr.factory('Comments', ['$resource', 'Constant', CommentService]); - -}).call(this); - -(function() { - var DoubanService, libr, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - libr = angular.module('libr.services.douban', []); - - DoubanService = (function() { - DoubanService.$inject = ['$http', 'Constant', 'LocalStorageUtils']; - - function DoubanService($http, Constant, LocalStorageUtils) { - this.$http = $http; - this.Constant = Constant; - this.LocalStorageUtils = LocalStorageUtils; - this.submitUser = __bind(this.submitUser, this); - } - - DoubanService.prototype.userInfo = function(user, callback, error) { - return this.$http({ - url: "http://api.douban.com/v2/user/" + user, - method: 'GET', - timeout: 10000, - cache: true - }).success(function(data, status, headers, config) { - if (status === 200) { - return callback(data); - } else { - return error(data); - } - }).error(function(data) { - return error(data); - }); - }; - - DoubanService.prototype.bookDetail = function(isbn, callback, error) { - return this.$http({ - url: "https://api.douban.com/v2/book/isbn/" + isbn, - method: 'GET', - timeout: 10000, - cache: true - }).success(function(data, status, headers, config) { - if (status === 200) { - return callback(data); - } else { - return error(data); - } - }).error(function(data) { - return error(data); - }); - }; - - DoubanService.prototype.submitUser = function(user, callback, error) { - var email, token, userId; - email = localStorage.getItem('email'); - token = localStorage.getItem('token'); - userId = this.LocalStorageUtils.getUserId(); - return this.$http({ - url: "" + this.Constant.baseUrl + "/users/" + userId + "/link/douban/" + user + "?user_email=" + email + "&user_token=" + token, - method: 'POST', - timeout: 10000 - }).success(function(data, status, headers, config) { - return callback(data); - }).error(function(data) { - return error(data); - }); - }; - - return DoubanService; - - })(); - - libr.service('DoubanService', DoubanService); - -}).call(this); - -(function() { - var GeolocationService, libr, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - libr = angular.module('libr.services.geolocation', []); - - GeolocationService = (function() { - var getLocation, onError, onSuccess; - - GeolocationService.$inject = ['$http', 'Constant']; - - function GeolocationService($http, Constant) { - this.$http = $http; - this.Constant = Constant; - this.getDetailAddress = __bind(this.getDetailAddress, this); - } - - onSuccess = function(position) { - alert('lat' + position.coords.latitude); - return { - "Latitude": position.coords.latitude, - "Longitude": position.coords.longitude, - "Altitude": position.coords.altitude, - "Accuracy": position.coords.accuracy, - "Altitude Accuracy": position.coords.altitudeAccuracy, - "Heading": position.coords.heading, - "Speed": position.coords.speed, - "Timestamp": position.timestamp - }; - }; - - onError = function(error) { - throw "code: " + error.code + " \n message: " + error.message; - }; - - GeolocationService.prototype.getCurrentLocation = function(callback, error) { - return navigator.geolocation.getCurrentPosition(callback, error); - }; - - GeolocationService.prototype.getDetailAddress = function(callback, error) { - var baseUrl; - baseUrl = this.Constant.baseUrl + '/locations/detail'; - return this.getCurrentLocation((function(_this) { - return function(position) { - return _this.$http({ - url: "" + baseUrl + "?lat=" + position.coords.latitude + "&lng=" + position.coords.longitude, - cache: true, - method: 'GET' - }).success(function(data, status, headers, config) { - return callback(data); - }); - }; - })(this), function(error) { - throw Error(error); - }); - }; - - GeolocationService.prototype.getLocations = function(callback, error) { - var baseUrl, email, token; - baseUrl = this.Constant.baseUrl + '/locations'; - email = localStorage.getItem('email'); - token = localStorage.getItem('token'); - return this.$http({ - url: "" + baseUrl + "?user_email=" + email + "&user_token=" + token, - method: 'GET', - cache: false - }).success(function(data, status, headers, config) { - return callback(data); - }).error(function(data) { - throw Error(error); - }); - }; - - GeolocationService.prototype.createLocation = function(callback) { - var baseUrl, email, location, token; - baseUrl = this.Constant.baseUrl + '/locations'; - location = getLocation(); - email = localStorage.getItem('email'); - token = localStorage.getItem('token'); - return this.$http({ - method: 'POST', - url: baseUrl + ("?user_email=" + email + "&user_token=" + token), - data: "address=" + location.address + "&lat=" + location.lat + "&lng=" + location.lng, - headers: { - 'Content-Type': 'application/x-www-form-urlencoded' - } - }).success(function(data) { - return callback(data); - }); - }; - - GeolocationService.prototype.deleteLocation = function(item, callback) { - var baseUrl, email, token; - baseUrl = this.Constant.baseUrl + '/locations'; - email = localStorage.getItem('email'); - token = localStorage.getItem('token'); - return this.$http({ - method: 'DELETE', - url: baseUrl + ("?user_email=" + email + "&user_token=" + token + "&id=" + item.id), - headers: { - 'Content-Type': 'application/x-www-form-urlencoded' - } - }).success(function(data) { - console.log("=====", data); - return callback(data); - }); - }; - - getLocation = function() { - var location; - location = {}; - location.address = localStorage.getItem('cur_address_detail'); - location.lat = localStorage.getItem('cur_lat'); - location.lng = localStorage.getItem('cur_lng'); - return location; - }; - - return GeolocationService; - - })(); - - libr.service('GeolocationService', GeolocationService); - -}).call(this); - -(function() { - var RecommendService, libr, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - libr = angular.module('libr.services.recommend', []); - - RecommendService = (function() { - RecommendService.$injector = ['GeolocationService', '$http', 'Constant']; - - function RecommendService(GeolocationService, $http, Constant) { - this.GeolocationService = GeolocationService; - this.$http = $http; - this.Constant = Constant; - this.changeRecommendAction = __bind(this.changeRecommendAction, this); - this.popularBooksAroundMe = __bind(this.popularBooksAroundMe, this); - } - - RecommendService.prototype.getActionSheetList = function() { - var actionList; - actionList = []; - actionList.push({ - text: '随便看看吧' - }); - actionList.push({ - text: "你可能喜欢的书" - }); - this.GeolocationService.getLocations((function(_this) { - return function(locations) { - var locationIds; - locationIds = []; - locations.map(function(location) { - locationIds.push(location.id); - location = { - text: "" + location.address + "附近流行的书" - }; - return actionList.push(location); - }); - localStorage.setItem('recommend_action_sheet_arr', JSON.stringify(locationIds)); - return localStorage.setItem('recommend_action_sheet_full_arr', JSON.stringify(actionList)); - }; - })(this)); - return actionList; - }; - - RecommendService.prototype.popularBooksForMe = function(callback, error) { - var email, token; - email = localStorage.getItem('email'); - token = localStorage.getItem('token'); - return this.$http({ - url: this.Constant.baseUrl + ("/recommend/me?user_email=" + email + "&user_token=" + token), - method: 'GET', - timeout: 15000 - }).success(function(data, status, headers, config) { - return callback(data); - }).error(function(data) { - return error(data); - }); - }; - - RecommendService.prototype.randomBooks = function(callback, error) { - var email, token; - email = localStorage.getItem('email'); - token = localStorage.getItem('token'); - return this.$http({ - url: this.Constant.baseUrl + ("/recommend/random?user_email=" + email + "&user_token=" + token), - method: 'GET', - timeout: 15000, - cache: false - }).success(function(data, status, headers, config) { - return callback(data); - }).error(function(data) { - return error(data); - }); - }; - - RecommendService.prototype.popularBooksAroundMe = function(locationId, callback, error) { - var email, token; - email = localStorage.getItem('email'); - token = localStorage.getItem('token'); - return this.$http({ - url: this.Constant.baseUrl + ("/recommend/locations/" + locationId + "?user_email=" + email + "&user_token=" + token), - method: 'GET', - timeout: 15000, - cache: true - }).success(function(data, status, headers, config) { - console.log('数据', data); - return callback(data); - }).error(function(data) { - return error(data); - }); - }; - - RecommendService.prototype.changeRecommendAction = function(index, callback, error) { - var locations; - console.log('index====', index); - if (index === 0) { - return this.randomBooks(callback, error); - } else if (index === 1) { - return this.popularBooksForMe(callback, error); - } else { - locations = JSON.parse(localStorage.getItem('recommend_action_sheet_arr')); - console.log(locations[index - 2], 'index......'); - return this.popularBooksAroundMe(locations[index - 2], function(result) { - console.log('callback....', result); - return callback(result); - }, function(errorMessage) { - return error(errorMessage); - }); - } - }; - - return RecommendService; - - })(); - - libr.service('RecommendService', RecommendService); - -}).call(this); - -(function() { - var ScanService, libr; - - libr = angular.module('libr.services.scan', []); - - ScanService = (function() { - ScanService.$inject = ['Books']; - - function ScanService(Books) { - this.Books = Books; - } - - ScanService.prototype.scan = function(callback, errorCallback) { - navigator.notification.vibrate(50); - return cordova.plugins.barcodeScanner.scan((function(_this) { - return function(result) { - console.log('got scan result', result); - if (result.cancelled === 1) { - return; - } - if (result.format !== 'EAN_13') { - console.log('条码不匹配'); - errorCallback('条形码类型错误,请确认所扫为书籍,并更换角度'); - return; - } - return _this.Books.save({ - isbn: result.text - }, null, function(data) { - console.log('get server response'); - if (data.status === 'error') { - return errorCallback(data.message); - } else { - return callback(data); - } - }, function(error) { - return errorCallback('添加图书失败' + error.data.message); - }); - }; - })(this), function(error) { - return errorCallback("扫描图书失败:" + error + " "); - }); - }; - - return ScanService; - - })(); - - libr.service('ScanService', ScanService); - -}).call(this); - -(function() { - var BooksController, libr, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - libr = angular.module('libr.controllers.books', ['ionic']); - - BooksController = (function() { - BooksController.$inject = ['$scope', 'Books', 'ScanService', '$ionicModal', 'DoubanService', 'IonicUtils', 'LocalStorageUtils']; - - function BooksController($scope, Books, ScanService, $ionicModal, DoubanService, IonicUtils, LocalStorageUtils) { - var currentPage; - this.$scope = $scope; - this.Books = Books; - this.ScanService = ScanService; - this.$ionicModal = $ionicModal; - this.DoubanService = DoubanService; - this.IonicUtils = IonicUtils; - this.LocalStorageUtils = LocalStorageUtils; - this.submitDoubanUser = __bind(this.submitDoubanUser, this); - this.scanBooks = __bind(this.scanBooks, this); - this.searchDoubanUser = __bind(this.searchDoubanUser, this); - this.closeDialog = __bind(this.closeDialog, this); - this.loadMore = __bind(this.loadMore, this); - this.refresh = __bind(this.refresh, this); - currentPage = localStorage.setItem('user_books_current_page', 0); - this.$scope.books = []; - this.$scope.moreItemsAvailable = true; - this.$scope.submitAllowed = false; - this.$ionicModal.fromTemplateUrl('templates/modal/import_books.html', (function(_this) { - return function(modal) { - return _this.$scope.modal = modal; - }; - })(this), { - scope: this.$scope, - animation: 'slide-in-up' - }); - this.$scope.data = { - isLoading: false, - text: null - }; - this.IonicUtils.initCustomLoading(this.$scope); - this.$scope.onRefresh = this.refresh; - this.$scope.loadMore = this.loadMore; - this.$scope.closeDialog = this.closeDialog; - this.$scope.searchDoubanUser = this.searchDoubanUser; - this.$scope.scanBooks = this.scanBooks; - this.$scope.submitDoubanUser = this.submitDoubanUser; - this.$scope.doubanInputDisabled = this.LocalStorageUtils.getDoubanUser() !== null; - this.$scope.doubanUsername = this.LocalStorageUtils.getDoubanUser(); - } - - BooksController.prototype.refresh = function() { - var afterBookId; - afterBookId = localStorage.getItem('user_max_book_id'); - return this.Books.fetchNew({ - afterId: afterBookId - }, (function(_this) { - return function(data) { - _this.$scope.$broadcast('scroll.refreshComplete'); - if (data.books.length !== 0) { - localStorage.setItem('user_max_book_id', data.books[0].id); - return data.books.forEach(function(item, index, array) { - return _this.$scope.books.push(item); - }); - } - }; - })(this)); - }; - - BooksController.prototype.loadMore = function() { - var currentPage, maxPage; - currentPage = localStorage.getItem('user_books_current_page'); - maxPage = localStorage.getItem('user_books_max_page'); - maxPage = parseInt(maxPage); - currentPage = parseInt(currentPage); - if (!(currentPage >= maxPage)) { - return this.Books.query({ - page: currentPage + 1 - }, (function(_this) { - return function(data) { - if (data.books.length !== 0) { - localStorage.setItem('user_max_book_id', data.books[0].id); - localStorage.setItem('user_books_current_page', data.current_page); - localStorage.setItem('user_books_max_page', data.total_page); - data.books.forEach(function(item, index, array) { - return _this.$scope.books.push(item); - }); - } else { - _this.$scope.moreItemsAvailable = false; - } - return _this.$scope.$broadcast('scroll.infiniteScrollComplete'); - }; - })(this)); - } else { - this.$scope.$broadcast('scroll.infiniteScrollComplete'); - return this.$scope.moreItemsAvailable = false; - } - }; - - BooksController.prototype.closeDialog = function() { - return this.$scope.modal.hide(); - }; - - BooksController.prototype.searchDoubanUser = function(user) { - console.log(user, '...'); - if (user === void 0 || user.trim() === '') { - return this.IonicUtils.showLoading(this.$scope, '请输入有效昵称'); - } else { - return this.DoubanService.userInfo(user, (function(_this) { - return function(data) { - _this.$scope.resultEnabled = true; - _this.$scope.submitAllowed = true; - return _this.$scope.doubanUser = data; - }; - })(this), (function(_this) { - return function(error) { - _this.IonicUtils.showLoading(_this.$scope, '查找豆瓣用户失败,请稍后再试'); - console.log(error); - _this.$scope.resultEnabled = false; - return _this.$scope.submitAllowed = false; - }; - })(this)); - } - }; - - BooksController.prototype.scanBooks = function() { - return this.ScanService.scan((function(_this) { - return function(result) { - navigator.notification.alert("添加图书《" + result.book.name + "》成功", null, "Libr", "确定"); - return _this.$scope.books.unshift(result.book); - }; - })(this), (function(_this) { - return function(msg) { - console.log('trying to show loading...', msg); - _this.IonicUtils.showLoading(_this.$scope, msg); - _this.$scope.$apply(); - return console.log('applied'); - }; - })(this)); - }; - - BooksController.prototype.submitDoubanUser = function() { - var username; - username = angular.element(document.getElementById('douban-username')); - username = username.val(); - return this.DoubanService.submitUser(username, (function(_this) { - return function(data) { - _this.$scope.doubanInputDisabled = true; - _this.LocalStorageUtils.storeDoubanUser(username); - return alert('成功绑定豆瓣用户,请返回,系统将自动为你导入豆瓣图书'); - }; - })(this), (function(_this) { - return function(data) { - return _this.IonicUtils.showLoading(_this.$scope, '绑定豆瓣用户失败,请稍后再试'); - }; - })(this)); - }; - - return BooksController; - - })(); - - libr.controller('BooksController', BooksController); - -}).call(this); - -(function() { - var BookDetailController, libr, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - libr = angular.module('libr.controllers', ['ionic']); - - BookDetailController = (function() { - BookDetailController.$inject = ['$scope', '$stateParams', 'Books', '$window', '$ionicModal', 'Comments', 'DoubanService']; - - function BookDetailController($scope, $stateParams, Books, $window, $ionicModal, Comments, DoubanService) { - this.$scope = $scope; - this.$stateParams = $stateParams; - this.Books = Books; - this.$window = $window; - this.$ionicModal = $ionicModal; - this.Comments = Comments; - this.DoubanService = DoubanService; - this.back = __bind(this.back, this); - this.doComment = __bind(this.doComment, this); - this.closeCommentDialog = __bind(this.closeCommentDialog, this); - this.openCommentDialog = __bind(this.openCommentDialog, this); - this.$scope.openDialog = this.openCommentDialog; - this.$scope.closeDialog = this.closeCommentDialog; - this.$scope.doComment = this.doComment; - this.$scope.back = this.back; - this.$ionicModal.fromTemplateUrl('templates/modal/comment.html', (function(_this) { - return function(modal) { - return _this.$scope.modal = modal; - }; - })(this), { - scope: this.$scope, - animation: 'slide-in-up' - }); - this.Books.get({ - book_id: this.$stateParams.isbn - }, (function(_this) { - return function(result) { - _this.$scope.book = result; - _this.$scope.usersAccount = result.users.length; - _this.$scope.bookName = _this.$scope.book.name; - _this.Comments.query({ - book_id: result.id - }, function(data) { - console.log(data, '!!!!!'); - return _this.$scope.comments = data; - }); - return _this.DoubanService.bookDetail(result.isbn, function(data) { - console.log(data); - return _this.$scope.bookDetail = data; - }, function(error) { - return console.log('error', error); - }); - }; - })(this)); - this.$scope.$on('$destroy', (function(_this) { - return function() { - return _this.$scope.modal.remove(); - }; - })(this)); - } - - BookDetailController.prototype.openCommentDialog = function() { - return this.$scope.modal.show(); - }; - - BookDetailController.prototype.closeCommentDialog = function() { - return this.$scope.modal.hide(); - }; - - BookDetailController.prototype.doComment = function() { - var text; - text = angular.element(document.getElementById('comment')).val(); - if (text.trim() === '') { - alert('请输入有效字符'); - return false; - } else { - return this.Comments.save({ - book_id: this.$scope.book.id, - content: text - }, null, (function(_this) { - return function(data) { - if (data.id === null) { - return alert('添加图书失败'); - } else { - console.log('成功。。。。。。。'); - _this.$scope.comments.push(data); - return _this.closeCommentDialog(); - } - }; - })(this)); - } - }; - - BookDetailController.prototype.back = function() { - return this.$window.history.back(); - }; - - return BookDetailController; - - })(); - - libr.controller('BookDetailController', BookDetailController); - -}).call(this); - -(function() { - var HomeController, libr, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - libr = angular.module('libr.controllers.home', ['ionic']); - - HomeController = (function() { - var showLoading; - - HomeController.$inject = ['$scope', '$location', 'ScanService', '$ionicLoading', '$ionicActionSheet', 'RecommendService', 'ErrorHandler', 'LocalStorageUtils']; - - function HomeController($scope, $location, ScanService, $ionicLoading, $ionicActionSheet, RecommendService, ErrorHandler, LocalStorageUtils) { - this.$scope = $scope; - this.$location = $location; - this.$ionicLoading = $ionicLoading; - this.$ionicActionSheet = $ionicActionSheet; - this.RecommendService = RecommendService; - this.ErrorHandler = ErrorHandler; - this.LocalStorageUtils = LocalStorageUtils; - this.changeRecommend = __bind(this.changeRecommend, this); - this.showRecommendActionSheet = __bind(this.showRecommendActionSheet, this); - this.$scope.showRecommendActionSheet = this.showRecommendActionSheet; - if (this.LocalStorageUtils.isUserLogedIn()) { - showLoading(this.$scope, this.$ionicLoading); - this.$scope.title = '随便看看吧'; - if (localStorage.getItem('home.books') === null) { - this.RecommendService.randomBooks((function(_this) { - return function(result) { - _this.$scope.books = result; - localStorage.setItem('home.books', JSON.stringify(result)); - return _this.$ionicLoading.hide(); - }; - })(this), (function(_this) { - return function(error) { - return _this.ErrorHandler.loadingHandler(_this.$scope, null); - }; - })(this)); - } else { - this.$scope.books = JSON.parse(localStorage.getItem('home.books')); - this.$ionicLoading.hide(); - } - } else { - this.$location.path('/tab/settings'); - return; - } - this.$scope.changeRecommend = this.changeRecommend; - } - - showLoading = function($scope, $ionicLoading) { - return $scope.loading = $ionicLoading.show({ - content: '加载中', - animation: 'fade-in', - showBackdrop: true, - maxWidth: 200, - showDelay: 500 - }); - }; - - HomeController.prototype.showRecommendActionSheet = function() { - return this.$ionicActionSheet.show({ - titleText: 'Libr 为你推荐', - buttons: this.RecommendService.getActionSheetList(), - cancelText: '取消', - cancel: function() { - return console.log('CANCELLED'); - }, - buttonClicked: (function(_this) { - return function(index) { - console.log("" + index + " has been taped"); - _this.changeRecommend(index); - return true; - }; - })(this) - }); - }; - - HomeController.prototype.changeRecommend = function(index) { - var msg; - msg = '喔,看来附近还没有好书推荐,快去推荐你的朋友也来使用吧!'; - return this.RecommendService.changeRecommendAction(index, (function(_this) { - return function(result) { - var listArray; - if (result.length === 0) { - return navigator.notification.alert(msg, null, 'libr', '确定'); - } else { - _this.$scope.books = result; - localStorage.setItem('home.books', JSON.stringify(result)); - listArray = JSON.parse(localStorage.getItem('recommend_action_sheet_full_arr')); - return _this.$scope.title = listArray[index].text; - } - }; - })(this), (function(_this) { - return function(error) { - return _this.ErrorHandler.whenError(null); - }; - })(this)); - }; - - return HomeController; - - })(); - - libr.controller('HomeCtrl', HomeController); - -}).call(this); - -(function() { - var LocationController, libr, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - libr = angular.module('libr.controllers.location', ['ionic']); - - LocationController = (function() { - LocationController.$inject = ['$scope', '$location', 'GeolocationService', 'IonicUtils']; - - function LocationController($scope, $location, GeolocationService, IonicUtils) { - this.$scope = $scope; - this.$location = $location; - this.GeolocationService = GeolocationService; - this.IonicUtils = IonicUtils; - this.deleteItem = __bind(this.deleteItem, this); - this.addLocation = __bind(this.addLocation, this); - this.$scope.addLocation = this.addLocation; - this.$scope.itemButtons = [ - { - text: '删除', - type: 'button-assertive', - onTap: (function(_this) { - return function(item) { - return _this.GeolocationService.deleteLocation(item, function(result) { - return _this.$scope.locations.splice(_this.$scope.locations.indexOf(item), 1); - }); - }; - })(this) - } - ]; - this.GeolocationService.getLocations((function(_this) { - return function(locations) { - return _this.$scope.locations = locations; - }; - })(this)); - this.GeolocationService.getDetailAddress((function(_this) { - return function(position) { - localStorage.setItem('cur_address_detail', position.result.formatted_address); - localStorage.setItem('cur_lat', position.result.location.lat); - localStorage.setItem('cur_lng', position.result.location.lng); - return _this.$scope.address = position.result.formatted_address; - }; - })(this)); - this.IonicUtils.initCustomLoading(this.$scope); - this.$scope.deleteItem = this.deleteItem; - } - - LocationController.prototype.addLocation = function() { - if (this.$scope.locations.length >= 3) { - return this.IonicUtils.showLoading(this.$scope, '只能创建3个常用的地址,请先删除部分再添加'); - } else if ((localStorage.getItem('cur_address_detail') === null) || (localStorage.getItem('cur_address_detail') === void 0)) { - return this.IonicUtils.showLoading(this.$scope, '定位成功后方可添加常用地址'); - } else if (this.$scope.address === null || this.$scope.address === '') { - return this.IonicUtils.showLoading(this.$scope, '定位成功后方可添加常用地址'); - } else { - return this.GeolocationService.createLocation((function(_this) { - return function(result) { - return _this.$scope.locations.push(result); - }; - })(this)); - } - }; - - LocationController.prototype.deleteItem = function(item) { - return this.GeolocationService.deleteLocation(item, (function(_this) { - return function(result) { - return _this.$scope.locations.splice(_this.$scope.locations.indexOf(item), 1); - }; - })(this)); - }; - - return LocationController; - - })(); - - libr.controller('LocationController', LocationController); - -}).call(this); - -(function() { - var LoginController, libr, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - libr = angular.module('libr.controllers.login', ['ionic']); - - LoginController = (function() { - LoginController.$inject = ['$scope', 'AuthService', '$state', '$ionicModal', 'IonicUtils', 'LocalStorageUtils']; - - function LoginController($scope, AuthService, $state, $ionicModal, IonicUtils, LocalStorageUtils) { - this.$scope = $scope; - this.AuthService = AuthService; - this.$state = $state; - this.$ionicModal = $ionicModal; - this.IonicUtils = IonicUtils; - this.LocalStorageUtils = LocalStorageUtils; - this.closeDialog = __bind(this.closeDialog, this); - this.registerUser = __bind(this.registerUser, this); - this.registerForm = __bind(this.registerForm, this); - this.login = __bind(this.login, this); - if (this.LocalStorageUtils.isUserLogedIn()) { - this.$state.go('tab.home'); - } - this.$scope.login = this.login; - this.$scope.registerForm = this.registerForm; - this.$scope.registerUser = this.registerUser; - this.$scope.closeDialog = this.closeDialog; - this.$ionicModal.fromTemplateUrl('templates/modal/registration.html', (function(_this) { - return function(modal) { - return _this.$scope.modal = modal; - }; - })(this), { - scope: this.$scope, - animation: 'slide-in-up' - }); - this.IonicUtils.initCustomLoading(this.$scope); - } - - LoginController.prototype.login = function(user) { - if (!user || user.email === '' || user.password === '' || user.email === void 0 || user.password === void 0) { - this.IonicUtils.showLoading(this.$scope, '请输入有效的用户名和密码'); - return; - } - return this.AuthService.login(user, (function(_this) { - return function(result) { - localStorage.setItem('token', result.user.token); - localStorage.setItem('avatar', result.user.avatar); - localStorage.setItem('username', result.user.name); - localStorage.setItem('email', user.email); - localStorage.setItem('user', JSON.stringify(result.user)); - return _this.$state.go('tab.home'); - }; - })(this), (function(_this) { - return function(data) { - return _this.IonicUtils.showLoading(_this.$scope, data); - }; - })(this)); - }; - - LoginController.prototype.registerForm = function() { - return this.$scope.modal.show(); - }; - - LoginController.prototype.registerUser = function(user) { - if (!user || user.email === '' || user.password === '' || user.email === void 0 || user.password === void 0) { - this.IonicUtils.showLoading(this.$scope, '用户名或密码错误,请重试'); - } else { - return this.AuthService.register(user, (function(_this) { - return function(result, status) { - if (status === 201) { - alert('注册成功,请返回登录'); - return _this.$scope.modal.hide(); - } else { - return _this.IonicUtils.showLoading(_this.$scope, '注册失败,请确认是否输入正确,并重试'); - } - }; - })(this), (function(_this) { - return function(error) { - _this.IonicUtils.showLoading(_this.$scope, '注册失败,请确认是否输入正确,并重试'); - return console.log("registerError", error); - }; - })(this)); - } - }; - - LoginController.prototype.closeDialog = function() { - return this.$scope.modal.hide(); - }; - - return LoginController; - - })(); - - libr.controller('LoginController', LoginController); - -}).call(this); - -(function() { - var MainController, libr; - - libr = angular.module('libr.controllers.main', ['ionic']); - - MainController = (function() { - MainController.$inject = ['$scope', '$location', '$ionicModal', '$state']; - - function MainController($scope, $location, $ionicModal, $state) { - this.$scope = $scope; - this.$location = $location; - this.$ionicModal = $ionicModal; - this.$state = $state; - } - - return MainController; - - })(); - - libr.controller('MainCtrl', MainController); - -}).call(this); - -(function() { - var SettingsController, libr, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - libr = angular.module('libr.controllers.settings', ['ionic']); - - SettingsController = (function() { - var isUserLogedIn; - - SettingsController.$inject = ['$scope', '$ionicModal', 'AuthService', '$state', '$cacheFactory', 'LocalStorageUtils']; - - function SettingsController($scope, $ionicModal, AuthService, $state, $cacheFactory, LocalStorageUtils) { - this.$scope = $scope; - this.$ionicModal = $ionicModal; - this.AuthService = AuthService; - this.$state = $state; - this.$cacheFactory = $cacheFactory; - this.LocalStorageUtils = LocalStorageUtils; - this.logout = __bind(this.logout, this); - this.$scope.logout = this.logout; - this.$scope.feedback = this.feedback; - this.$scope.showMe = this.showMe; - if (isUserLogedIn(this.LocalStorageUtils)) { - this.$scope.isLogedIn = true; - } else { - this.$scope.isLogedIn = false; - } - this.$scope.avatar = this.LocalStorageUtils.getUserAvatar(); - this.$scope.username = this.LocalStorageUtils.getUserName(); - } - - SettingsController.prototype.logout = function() { - var httpDefaultCache; - localStorage.clear(); - httpDefaultCache = this.$cacheFactory.get('$http'); - console.log('cacheFactory', httpDefaultCache); - httpDefaultCache.removeAll(); - return this.$state.go('login'); - }; - - SettingsController.prototype.feedback = function() { - return window.open('https://jinshuju.net/f/F96z3s', '_blank', 'location=no'); - }; - - SettingsController.prototype.showMe = function() { - return window.open('http://librme.com', '_blank', 'location=no'); - }; - - isUserLogedIn = function(localStorageUtils) { - if (localStorageUtils.getUserToken() !== null && localStorageUtils.getUserEmail() !== null) { - return true; - } else { - return false; - } - }; - - return SettingsController; - - })(); - - libr.controller('SettingsController', SettingsController); - -}).call(this); - -(function() { - var Constant, libr; - - libr = angular.module('libr.constant', []); - - Constant = {}; - - Constant.baseUrl = "http://10.17.2.147:3000/api/v1"; - - libr.constant('Constant', Constant); - -}).call(this); +(function(){var IonicUtils,libr;libr=angular.module("libr.services.utils",[]),IonicUtils=function(){function IonicUtils($timeout){this.$timeout=$timeout}return IonicUtils.$inject=["$timeout"],IonicUtils.prototype.initCustomLoading=function(scope){return scope.data={isLoading:!1,text:null}},IonicUtils.prototype.showLoading=function(scope,text,timing){return null==timing&&(timing=3e3),scope.data={isLoading:!0,text:text},this.$timeout(function(_this){return function(){return _this.initCustomLoading(scope)}}(this),timing)},IonicUtils.prototype.cacheImage=function(imageUrl){return ImgCache.isCached(imageUrl)?void 0:ImgCache.cacheFile(imageUrl,null)},IonicUtils}(),libr.service("IonicUtils",IonicUtils)}).call(this); +(function(){var LocalStorageUtils,libr;libr=angular.module("libr.services.localstorage",[]),LocalStorageUtils=function(){function LocalStorageUtils(){}return LocalStorageUtils.prototype.getUser=function(){return JSON.parse(localStorage.getItem("user"))},LocalStorageUtils.prototype.getUserId=function(){var user;return user=this.getUser(),user.id},LocalStorageUtils.prototype.getUserName=function(){var user;return user=this.getUser(),user.name},LocalStorageUtils.prototype.getUserToken=function(){var user;return user=this.getUser(),user.token},LocalStorageUtils.prototype.getUserAvatar=function(){var user;return user=this.getUser(),user.avatar},LocalStorageUtils.prototype.getUserEmail=function(){var user;return user=this.getUser(),user.email},LocalStorageUtils.prototype.isUserLogedIn=function(){var user;return user=this.getUser(),null!==user&&null!==this.getUserEmail()&&null!==this.getUserToken()},LocalStorageUtils.prototype.storeDoubanUser=function(name){return localStorage.setItem("doubanUser",name)},LocalStorageUtils.prototype.getDoubanUser=function(){var user;return user=this.getUser(),null!==user.douban_user?user.douban_user:null!==localStorage.getItem("doubanUser")?localStorage.getItem("doubanUser"):null},LocalStorageUtils}(),libr.service("LocalStorageUtils",LocalStorageUtils)}).call(this); +(function(){var ErrorHandler,libr;libr=angular.module("libr.handlers.errorHandler",[]),ErrorHandler=function(){function ErrorHandler(){}return ErrorHandler.prototype.loadingHandler=function($scope,callback){var message;return $scope.loading.hide(),message="加载失败,请确认有良好网络连接,并重试",navigator.notification.confirm(message,function(){return function(){return callback()}}(this),"加载失败",["确定","取消"])},ErrorHandler.prototype.whenError=function(callback){var message;return message="加载失败,请确认有良好网络连接,并重试",navigator.notification.confirm(message,function(){return function(){return callback()}}(this),"加载失败",["确定","取消"])},ErrorHandler}(),libr.service("ErrorHandler",ErrorHandler)}).call(this); +(function(){var AuthicationService,libr,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}};libr=angular.module("libr.services.auth",[]),AuthicationService=function(){function AuthicationService($http,Constant){this.$http=$http,this.Constant=Constant,this.register=__bind(this.register,this),this.login=__bind(this.login,this),console.log("init auth service")}return AuthicationService.$inject=["$http","Constant"],AuthicationService.prototype.login=function(user,callback,errorCallback){var baseUrl;return baseUrl=this.Constant.baseUrl+"/sessions",this.$http({method:"POST",url:baseUrl,data:"user[email]="+user.email+"&user[password]="+user.password,headers:{"Content-Type":"application/x-www-form-urlencoded"}}).success(function(result){return result.success?callback(result):errorCallback("登录失败,请输入正确的用户名和密码")}).error(function(){return errorCallback("登录失败,请输入正确的用户名和密码")})},AuthicationService.prototype.register=function(user,callback,onError){var url;return url=this.Constant.baseUrl+"/registrations",this.$http({method:"POST",url:url,data:"user[email]="+user.email+"&user[password]="+user.password,headers:{"Content-Type":"application/x-www-form-urlencoded"}}).success(function(result,status){return callback(result,status)}).error(function(data){return onError(data)})},AuthicationService}(),libr.service("AuthService",AuthicationService)}).call(this); +(function(){var Books,libr;libr=angular.module("libr.services.books",["ngResource"]),Books=function(){function Books($resource,Constant,LocalStorageUtils){var url;return this.$resource=$resource,this.Constant=Constant,this.LocalStorageUtils=LocalStorageUtils,url=this.Constant.baseUrl+"/users/:user_id/books/:book_id",this.$resource(url,{user_email:this.LocalStorageUtils.getUserEmail(),user_token:this.LocalStorageUtils.getUserToken(),user_id:this.LocalStorageUtils.getUserId(),book_id:"@bookId"},{get:{cache:!0,method:"GET"},query:{method:"GET",isArray:!1,cache:!1},fetchNew:{method:"GET",isArray:!1,cache:!0,url:this.Constant.baseUrl+"/books/newbooks/:afterId"}})}return Books.$inject=["$http","$resource","Constant","LocalStorageUtils"],Books}(),libr.factory("Books",["$resource","Constant","LocalStorageUtils",Books])}).call(this); +(function(){var CommentService,libr;libr=angular.module("libr.services.comment",["ngResource"]),CommentService=function(){function CommentService($resource,Constant){var baseUrl;return this.$resource=$resource,this.Constant=Constant,baseUrl=this.Constant.baseUrl+"/books/:book_id/comments/:comment_id",this.$resource(baseUrl,{user_email:localStorage.getItem("email"),user_token:localStorage.getItem("token"),book_id:"@bookId",comment_id:"@commentId"},{query:{method:"GET",isArray:!0,cache:!1}},{save:{params:{comment_id:"@commentId"}}})}return CommentService.$inject=["$http","$resource","Constant"],CommentService}(),libr.factory("Comments",["$resource","Constant",CommentService])}).call(this); +(function(){var DoubanService,libr,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}};libr=angular.module("libr.services.douban",[]),DoubanService=function(){function DoubanService($http,Constant,LocalStorageUtils){this.$http=$http,this.Constant=Constant,this.LocalStorageUtils=LocalStorageUtils,this.submitUser=__bind(this.submitUser,this)}return DoubanService.$inject=["$http","Constant","LocalStorageUtils"],DoubanService.prototype.userInfo=function(user,callback,error){return this.$http({url:"http://api.douban.com/v2/user/"+user,method:"GET",timeout:1e4,cache:!0}).success(function(data,status){return 200===status?callback(data):error(data)}).error(function(data){return error(data)})},DoubanService.prototype.bookDetail=function(isbn,callback,error){return this.$http({url:"https://api.douban.com/v2/book/isbn/"+isbn,method:"GET",timeout:1e4,cache:!0}).success(function(data,status){return 200===status?callback(data):error(data)}).error(function(data){return error(data)})},DoubanService.prototype.submitUser=function(user,callback,error){var email,token,userId;return email=localStorage.getItem("email"),token=localStorage.getItem("token"),userId=this.LocalStorageUtils.getUserId(),this.$http({url:""+this.Constant.baseUrl+"/users/"+userId+"/link/douban/"+user+"?user_email="+email+"&user_token="+token,method:"POST",timeout:1e4}).success(function(data){return callback(data)}).error(function(data){return error(data)})},DoubanService}(),libr.service("DoubanService",DoubanService)}).call(this); +(function(){var GeolocationService,libr,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}};libr=angular.module("libr.services.geolocation",[]),GeolocationService=function(){function GeolocationService($http,Constant){this.$http=$http,this.Constant=Constant,this.getDetailAddress=__bind(this.getDetailAddress,this)}var getLocation,onError,onSuccess;return GeolocationService.$inject=["$http","Constant"],onSuccess=function(position){return alert("lat"+position.coords.latitude),{Latitude:position.coords.latitude,Longitude:position.coords.longitude,Altitude:position.coords.altitude,Accuracy:position.coords.accuracy,"Altitude Accuracy":position.coords.altitudeAccuracy,Heading:position.coords.heading,Speed:position.coords.speed,Timestamp:position.timestamp}},onError=function(error){throw"code: "+error.code+" \n message: "+error.message},GeolocationService.prototype.getCurrentLocation=function(callback,error){return navigator.geolocation.getCurrentPosition(callback,error)},GeolocationService.prototype.getDetailAddress=function(callback){var baseUrl;return baseUrl=this.Constant.baseUrl+"/locations/detail",this.getCurrentLocation(function(_this){return function(position){return _this.$http({url:""+baseUrl+"?lat="+position.coords.latitude+"&lng="+position.coords.longitude,cache:!0,method:"GET"}).success(function(data){return callback(data)})}}(this),function(error){throw Error(error)})},GeolocationService.prototype.getLocations=function(callback,error){var baseUrl,email,token;return baseUrl=this.Constant.baseUrl+"/locations",email=localStorage.getItem("email"),token=localStorage.getItem("token"),this.$http({url:""+baseUrl+"?user_email="+email+"&user_token="+token,method:"GET",cache:!1}).success(function(data){return callback(data)}).error(function(){throw Error(error)})},GeolocationService.prototype.createLocation=function(callback){var baseUrl,email,location,token;return baseUrl=this.Constant.baseUrl+"/locations",location=getLocation(),email=localStorage.getItem("email"),token=localStorage.getItem("token"),this.$http({method:"POST",url:baseUrl+("?user_email="+email+"&user_token="+token),data:"address="+location.address+"&lat="+location.lat+"&lng="+location.lng,headers:{"Content-Type":"application/x-www-form-urlencoded"}}).success(function(data){return callback(data)})},GeolocationService.prototype.deleteLocation=function(item,callback){var baseUrl,email,token;return baseUrl=this.Constant.baseUrl+"/locations",email=localStorage.getItem("email"),token=localStorage.getItem("token"),this.$http({method:"DELETE",url:baseUrl+("?user_email="+email+"&user_token="+token+"&id="+item.id),headers:{"Content-Type":"application/x-www-form-urlencoded"}}).success(function(data){return console.log("=====",data),callback(data)})},getLocation=function(){var location;return location={},location.address=localStorage.getItem("cur_address_detail"),location.lat=localStorage.getItem("cur_lat"),location.lng=localStorage.getItem("cur_lng"),location},GeolocationService}(),libr.service("GeolocationService",GeolocationService)}).call(this); +(function(){var RecommendService,libr,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}};libr=angular.module("libr.services.recommend",[]),RecommendService=function(){function RecommendService(GeolocationService,$http,Constant){this.GeolocationService=GeolocationService,this.$http=$http,this.Constant=Constant,this.changeRecommendAction=__bind(this.changeRecommendAction,this),this.popularBooksAroundMe=__bind(this.popularBooksAroundMe,this)}return RecommendService.$injector=["GeolocationService","$http","Constant"],RecommendService.prototype.getActionSheetList=function(){var actionList;return actionList=[],actionList.push({text:"随便看看吧"}),actionList.push({text:"你可能喜欢的书"}),this.GeolocationService.getLocations(function(){return function(locations){var locationIds;return locationIds=[],locations.map(function(location){return locationIds.push(location.id),location={text:""+location.address+"附近流行的书"},actionList.push(location)}),localStorage.setItem("recommend_action_sheet_arr",JSON.stringify(locationIds)),localStorage.setItem("recommend_action_sheet_full_arr",JSON.stringify(actionList))}}(this)),actionList},RecommendService.prototype.popularBooksForMe=function(callback,error){var email,token;return email=localStorage.getItem("email"),token=localStorage.getItem("token"),this.$http({url:this.Constant.baseUrl+("/recommend/me?user_email="+email+"&user_token="+token),method:"GET",timeout:15e3}).success(function(data){return callback(data)}).error(function(data){return error(data)})},RecommendService.prototype.randomBooks=function(callback,error){var email,token;return email=localStorage.getItem("email"),token=localStorage.getItem("token"),this.$http({url:this.Constant.baseUrl+("/recommend/random?user_email="+email+"&user_token="+token),method:"GET",timeout:15e3,cache:!1}).success(function(data){return callback(data)}).error(function(data){return error(data)})},RecommendService.prototype.popularBooksAroundMe=function(locationId,callback,error){var email,token;return email=localStorage.getItem("email"),token=localStorage.getItem("token"),this.$http({url:this.Constant.baseUrl+("/recommend/locations/"+locationId+"?user_email="+email+"&user_token="+token),method:"GET",timeout:15e3,cache:!0}).success(function(data){return console.log("数据",data),callback(data)}).error(function(data){return error(data)})},RecommendService.prototype.changeRecommendAction=function(index,callback,error){var locations;return console.log("index====",index),0===index?this.randomBooks(callback,error):1===index?this.popularBooksForMe(callback,error):(locations=JSON.parse(localStorage.getItem("recommend_action_sheet_arr")),console.log(locations[index-2],"index......"),this.popularBooksAroundMe(locations[index-2],function(result){return console.log("callback....",result),callback(result)},function(errorMessage){return error(errorMessage)}))},RecommendService}(),libr.service("RecommendService",RecommendService)}).call(this); +(function(){var ScanService,libr;libr=angular.module("libr.services.scan",[]),ScanService=function(){function ScanService(Books){this.Books=Books}return ScanService.$inject=["Books"],ScanService.prototype.scan=function(callback,errorCallback){return navigator.notification.vibrate(50),cordova.plugins.barcodeScanner.scan(function(_this){return function(result){return console.log("got scan result",result),1!==result.cancelled?"EAN_13"!==result.format?(console.log("条码不匹配"),void errorCallback("条形码类型错误,请确认所扫为书籍,并更换角度")):_this.Books.save({isbn:result.text},null,function(data){return console.log("get server response"),"error"===data.status?errorCallback(data.message):callback(data)},function(error){return errorCallback("添加图书失败"+error.data.message)}):void 0}}(this),function(error){return errorCallback("扫描图书失败:"+error+" ")})},ScanService}(),libr.service("ScanService",ScanService)}).call(this); +(function(){var BooksController,libr,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}};libr=angular.module("libr.controllers.books",["ionic"]),BooksController=function(){function BooksController($scope,Books,ScanService,$ionicModal,DoubanService,IonicUtils,LocalStorageUtils){var currentPage;this.$scope=$scope,this.Books=Books,this.ScanService=ScanService,this.$ionicModal=$ionicModal,this.DoubanService=DoubanService,this.IonicUtils=IonicUtils,this.LocalStorageUtils=LocalStorageUtils,this.submitDoubanUser=__bind(this.submitDoubanUser,this),this.scanBooks=__bind(this.scanBooks,this),this.searchDoubanUser=__bind(this.searchDoubanUser,this),this.closeDialog=__bind(this.closeDialog,this),this.loadMore=__bind(this.loadMore,this),this.refresh=__bind(this.refresh,this),currentPage=localStorage.setItem("user_books_current_page",0),this.$scope.books=[],this.$scope.moreItemsAvailable=!0,this.$scope.submitAllowed=!1,this.$ionicModal.fromTemplateUrl("templates/modal/import_books.html",function(_this){return function(modal){return _this.$scope.modal=modal}}(this),{scope:this.$scope,animation:"slide-in-up"}),this.$scope.data={isLoading:!1,text:null},this.IonicUtils.initCustomLoading(this.$scope),this.$scope.onRefresh=this.refresh,this.$scope.loadMore=this.loadMore,this.$scope.closeDialog=this.closeDialog,this.$scope.searchDoubanUser=this.searchDoubanUser,this.$scope.scanBooks=this.scanBooks,this.$scope.submitDoubanUser=this.submitDoubanUser,this.$scope.doubanInputDisabled=null!==this.LocalStorageUtils.getDoubanUser(),this.$scope.doubanUsername=this.LocalStorageUtils.getDoubanUser()}return BooksController.$inject=["$scope","Books","ScanService","$ionicModal","DoubanService","IonicUtils","LocalStorageUtils"],BooksController.prototype.refresh=function(){var afterBookId;return afterBookId=localStorage.getItem("user_max_book_id"),this.Books.fetchNew({afterId:afterBookId},function(_this){return function(data){return _this.$scope.$broadcast("scroll.refreshComplete"),0!==data.books.length?(localStorage.setItem("user_max_book_id",data.books[0].id),data.books.forEach(function(item){return _this.$scope.books.push(item)})):void 0}}(this))},BooksController.prototype.loadMore=function(){var currentPage,maxPage;return currentPage=localStorage.getItem("user_books_current_page"),maxPage=localStorage.getItem("user_books_max_page"),maxPage=parseInt(maxPage),currentPage=parseInt(currentPage),currentPage>=maxPage?(this.$scope.$broadcast("scroll.infiniteScrollComplete"),this.$scope.moreItemsAvailable=!1):this.Books.query({page:currentPage+1},function(_this){return function(data){return 0!==data.books.length?(localStorage.setItem("user_max_book_id",data.books[0].id),localStorage.setItem("user_books_current_page",data.current_page),localStorage.setItem("user_books_max_page",data.total_page),data.books.forEach(function(item){return _this.$scope.books.push(item)})):_this.$scope.moreItemsAvailable=!1,_this.$scope.$broadcast("scroll.infiniteScrollComplete")}}(this))},BooksController.prototype.closeDialog=function(){return this.$scope.modal.hide()},BooksController.prototype.searchDoubanUser=function(user){return console.log(user,"..."),void 0===user||""===user.trim()?this.IonicUtils.showLoading(this.$scope,"请输入有效昵称"):this.DoubanService.userInfo(user,function(_this){return function(data){return _this.$scope.resultEnabled=!0,_this.$scope.submitAllowed=!0,_this.$scope.doubanUser=data}}(this),function(_this){return function(error){return _this.IonicUtils.showLoading(_this.$scope,"查找豆瓣用户失败,请稍后再试"),console.log(error),_this.$scope.resultEnabled=!1,_this.$scope.submitAllowed=!1}}(this))},BooksController.prototype.scanBooks=function(){return this.ScanService.scan(function(_this){return function(result){return navigator.notification.alert("添加图书《"+result.book.name+"》成功",null,"Libr","确定"),_this.$scope.books.unshift(result.book)}}(this),function(_this){return function(msg){return console.log("trying to show loading...",msg),_this.IonicUtils.showLoading(_this.$scope,msg),_this.$scope.$apply(),console.log("applied")}}(this))},BooksController.prototype.submitDoubanUser=function(){var username;return username=angular.element(document.getElementById("douban-username")),username=username.val(),this.DoubanService.submitUser(username,function(_this){return function(){return _this.$scope.doubanInputDisabled=!0,_this.LocalStorageUtils.storeDoubanUser(username),alert("成功绑定豆瓣用户,请返回,系统将自动为你导入豆瓣图书")}}(this),function(_this){return function(){return _this.IonicUtils.showLoading(_this.$scope,"绑定豆瓣用户失败,请稍后再试")}}(this))},BooksController}(),libr.controller("BooksController",BooksController)}).call(this); +(function(){var BookDetailController,libr,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}};libr=angular.module("libr.controllers",["ionic"]),BookDetailController=function(){function BookDetailController($scope,$stateParams,Books,$window,$ionicModal,Comments,DoubanService){this.$scope=$scope,this.$stateParams=$stateParams,this.Books=Books,this.$window=$window,this.$ionicModal=$ionicModal,this.Comments=Comments,this.DoubanService=DoubanService,this.back=__bind(this.back,this),this.doComment=__bind(this.doComment,this),this.closeCommentDialog=__bind(this.closeCommentDialog,this),this.openCommentDialog=__bind(this.openCommentDialog,this),this.$scope.openDialog=this.openCommentDialog,this.$scope.closeDialog=this.closeCommentDialog,this.$scope.doComment=this.doComment,this.$scope.back=this.back,this.$ionicModal.fromTemplateUrl("templates/modal/comment.html",function(_this){return function(modal){return _this.$scope.modal=modal}}(this),{scope:this.$scope,animation:"slide-in-up"}),this.Books.get({book_id:this.$stateParams.isbn},function(_this){return function(result){return _this.$scope.book=result,_this.$scope.usersAccount=result.users.length,_this.$scope.bookName=_this.$scope.book.name,_this.Comments.query({book_id:result.id},function(data){return console.log(data,"!!!!!"),_this.$scope.comments=data}),_this.DoubanService.bookDetail(result.isbn,function(data){return console.log(data),_this.$scope.bookDetail=data},function(error){return console.log("error",error)})}}(this)),this.$scope.$on("$destroy",function(_this){return function(){return _this.$scope.modal.remove()}}(this))}return BookDetailController.$inject=["$scope","$stateParams","Books","$window","$ionicModal","Comments","DoubanService"],BookDetailController.prototype.openCommentDialog=function(){return this.$scope.modal.show()},BookDetailController.prototype.closeCommentDialog=function(){return this.$scope.modal.hide()},BookDetailController.prototype.doComment=function(){var text;return text=angular.element(document.getElementById("comment")).val(),""===text.trim()?(alert("请输入有效字符"),!1):this.Comments.save({book_id:this.$scope.book.id,content:text},null,function(_this){return function(data){return null===data.id?alert("添加图书失败"):(console.log("成功。。。。。。。"),_this.$scope.comments.push(data),_this.closeCommentDialog())}}(this))},BookDetailController.prototype.back=function(){return this.$window.history.back()},BookDetailController}(),libr.controller("BookDetailController",BookDetailController)}).call(this); +(function(){var HomeController,libr,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}};libr=angular.module("libr.controllers.home",["ionic"]),HomeController=function(){function HomeController($scope,$location,ScanService,$ionicLoading,$ionicActionSheet,RecommendService,ErrorHandler,LocalStorageUtils){return this.$scope=$scope,this.$location=$location,this.$ionicLoading=$ionicLoading,this.$ionicActionSheet=$ionicActionSheet,this.RecommendService=RecommendService,this.ErrorHandler=ErrorHandler,this.LocalStorageUtils=LocalStorageUtils,this.changeRecommend=__bind(this.changeRecommend,this),this.showRecommendActionSheet=__bind(this.showRecommendActionSheet,this),console.log(this.$scope,"!!!!!!!"),this.$scope.showRecommendActionSheet=this.showRecommendActionSheet,this.LocalStorageUtils.isUserLogedIn()?(showLoading(this.$scope,this.$ionicLoading),this.$scope.title={name:"Libr-随便看看吧"},null===localStorage.getItem("home.books")?this.RecommendService.randomBooks(function(_this){return function(result){return _this.$scope.books=result,localStorage.setItem("home.books",JSON.stringify(result)),_this.$ionicLoading.hide()}}(this),function(_this){return function(){return _this.ErrorHandler.loadingHandler(_this.$scope,null)}}(this)):(this.$scope.books=JSON.parse(localStorage.getItem("home.books")),this.$ionicLoading.hide()),void(this.$scope.changeRecommend=this.changeRecommend)):void this.$location.path("/tab/settings")}var showLoading;return HomeController.$inject=["$scope","$location","ScanService","$ionicLoading","$ionicActionSheet","RecommendService","ErrorHandler","LocalStorageUtils"],showLoading=function($scope,$ionicLoading){return $scope.loading=$ionicLoading.show({content:"加载中",animation:"fade-in",showBackdrop:!0,maxWidth:200,showDelay:500})},HomeController.prototype.showRecommendActionSheet=function(){return this.$ionicActionSheet.show({titleText:"Libr 为你推荐",buttons:this.RecommendService.getActionSheetList(),cancelText:"取消",cancel:function(){return console.log("CANCELLED")},buttonClicked:function(_this){return function(index){return console.log(""+index+" has been taped"),_this.changeRecommend(index),!0}}(this)})},HomeController.prototype.changeRecommend=function(index){var msg;return msg="喔,看来附近还没有好书推荐,快去推荐你的朋友也来使用吧!",this.RecommendService.changeRecommendAction(index,function(_this){return function(result){var listArray;return 0===result.length?navigator.notification.alert(msg,null,"libr","确定"):(_this.$scope.books=result,localStorage.setItem("home.books",JSON.stringify(result)),listArray=JSON.parse(localStorage.getItem("recommend_action_sheet_full_arr")),_this.$scope.title.name=listArray[index].text,console.log(_this.$scope,"========"))}}(this),function(_this){return function(){return _this.ErrorHandler.whenError(null)}}(this))},HomeController}(),libr.controller("HomeCtrl",HomeController)}).call(this); +(function(){var LocationController,libr,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}};libr=angular.module("libr.controllers.location",["ionic"]),LocationController=function(){function LocationController($scope,$location,GeolocationService,IonicUtils){this.$scope=$scope,this.$location=$location,this.GeolocationService=GeolocationService,this.IonicUtils=IonicUtils,this.deleteItem=__bind(this.deleteItem,this),this.addLocation=__bind(this.addLocation,this),this.$scope.addLocation=this.addLocation,this.$scope.itemButtons=[{text:"删除",type:"button-assertive",onTap:function(_this){return function(item){return _this.GeolocationService.deleteLocation(item,function(){return _this.$scope.locations.splice(_this.$scope.locations.indexOf(item),1)})}}(this)}],this.GeolocationService.getLocations(function(_this){return function(locations){return _this.$scope.locations=locations}}(this)),this.GeolocationService.getDetailAddress(function(_this){return function(position){return localStorage.setItem("cur_address_detail",position.result.formatted_address),localStorage.setItem("cur_lat",position.result.location.lat),localStorage.setItem("cur_lng",position.result.location.lng),_this.$scope.address=position.result.formatted_address}}(this)),this.IonicUtils.initCustomLoading(this.$scope),this.$scope.deleteItem=this.deleteItem}return LocationController.$inject=["$scope","$location","GeolocationService","IonicUtils"],LocationController.prototype.addLocation=function(){return this.$scope.locations.length>=3?this.IonicUtils.showLoading(this.$scope,"只能创建3个常用的地址,请先删除部分再添加"):null===localStorage.getItem("cur_address_detail")||void 0===localStorage.getItem("cur_address_detail")?this.IonicUtils.showLoading(this.$scope,"定位成功后方可添加常用地址"):null===this.$scope.address||""===this.$scope.address?this.IonicUtils.showLoading(this.$scope,"定位成功后方可添加常用地址"):this.GeolocationService.createLocation(function(_this){return function(result){return _this.$scope.locations.push(result)}}(this))},LocationController.prototype.deleteItem=function(item){return this.GeolocationService.deleteLocation(item,function(_this){return function(){return _this.$scope.locations.splice(_this.$scope.locations.indexOf(item),1)}}(this))},LocationController}(),libr.controller("LocationController",LocationController)}).call(this); +(function(){var LoginController,libr,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}};libr=angular.module("libr.controllers.login",["ionic"]),LoginController=function(){function LoginController($scope,AuthService,$state,$ionicModal,IonicUtils,LocalStorageUtils){this.$scope=$scope,this.AuthService=AuthService,this.$state=$state,this.$ionicModal=$ionicModal,this.IonicUtils=IonicUtils,this.LocalStorageUtils=LocalStorageUtils,this.closeDialog=__bind(this.closeDialog,this),this.registerUser=__bind(this.registerUser,this),this.registerForm=__bind(this.registerForm,this),this.login=__bind(this.login,this),this.LocalStorageUtils.isUserLogedIn()&&this.$state.go("tab.home"),this.$scope.login=this.login,this.$scope.registerForm=this.registerForm,this.$scope.registerUser=this.registerUser,this.$scope.closeDialog=this.closeDialog,this.$ionicModal.fromTemplateUrl("templates/modal/registration.html",function(_this){return function(modal){return _this.$scope.modal=modal}}(this),{scope:this.$scope,animation:"slide-in-up"}),this.IonicUtils.initCustomLoading(this.$scope)}return LoginController.$inject=["$scope","AuthService","$state","$ionicModal","IonicUtils","LocalStorageUtils"],LoginController.prototype.login=function(user){return user&&""!==user.email&&""!==user.password&&void 0!==user.email&&void 0!==user.password?this.AuthService.login(user,function(_this){return function(result){return localStorage.setItem("token",result.user.token),localStorage.setItem("avatar",result.user.avatar),localStorage.setItem("username",result.user.name),localStorage.setItem("email",user.email),localStorage.setItem("user",JSON.stringify(result.user)),_this.$state.go("tab.home")}}(this),function(_this){return function(data){return _this.IonicUtils.showLoading(_this.$scope,data)}}(this)):void this.IonicUtils.showLoading(this.$scope,"请输入有效的用户名和密码")},LoginController.prototype.registerForm=function(){return this.$scope.modal.show()},LoginController.prototype.registerUser=function(user){return user&&""!==user.email&&""!==user.password&&void 0!==user.email&&void 0!==user.password?this.AuthService.register(user,function(_this){return function(result,status){return 201===status?(alert("注册成功,请返回登录"),_this.$scope.modal.hide()):_this.IonicUtils.showLoading(_this.$scope,"注册失败,请确认是否输入正确,并重试")}}(this),function(_this){return function(error){return _this.IonicUtils.showLoading(_this.$scope,"注册失败,请确认是否输入正确,并重试"),console.log("registerError",error)}}(this)):void this.IonicUtils.showLoading(this.$scope,"用户名或密码错误,请重试")},LoginController.prototype.closeDialog=function(){return this.$scope.modal.hide()},LoginController}(),libr.controller("LoginController",LoginController)}).call(this); +(function(){var MainController,libr;libr=angular.module("libr.controllers.main",["ionic"]),MainController=function(){function MainController($scope,$location,$ionicModal,$state){this.$scope=$scope,this.$location=$location,this.$ionicModal=$ionicModal,this.$state=$state}return MainController.$inject=["$scope","$location","$ionicModal","$state"],MainController}(),libr.controller("MainCtrl",MainController)}).call(this); +(function(){var SettingsController,libr,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}};libr=angular.module("libr.controllers.settings",["ionic"]),SettingsController=function(){function SettingsController($scope,$ionicModal,AuthService,$state,$cacheFactory,LocalStorageUtils){this.$scope=$scope,this.$ionicModal=$ionicModal,this.AuthService=AuthService,this.$state=$state,this.$cacheFactory=$cacheFactory,this.LocalStorageUtils=LocalStorageUtils,this.logout=__bind(this.logout,this),this.$scope.logout=this.logout,this.$scope.feedback=this.feedback,this.$scope.showMe=this.showMe,this.$scope.isLogedIn=isUserLogedIn(this.LocalStorageUtils)?!0:!1,this.$scope.avatar=this.LocalStorageUtils.getUserAvatar(),this.$scope.username=this.LocalStorageUtils.getUserName()}var isUserLogedIn;return SettingsController.$inject=["$scope","$ionicModal","AuthService","$state","$cacheFactory","LocalStorageUtils"],SettingsController.prototype.logout=function(){var httpDefaultCache;return localStorage.clear(),httpDefaultCache=this.$cacheFactory.get("$http"),console.log("cacheFactory",httpDefaultCache),httpDefaultCache.removeAll(),this.$state.go("login")},SettingsController.prototype.feedback=function(){return window.open("https://jinshuju.net/f/F96z3s","_blank","location=no")},SettingsController.prototype.showMe=function(){return window.open("http://librme.com","_blank","location=no")},isUserLogedIn=function(localStorageUtils){return null!==localStorageUtils.getUserToken()&&null!==localStorageUtils.getUserEmail()?!0:!1},SettingsController}(),libr.controller("SettingsController",SettingsController)}).call(this); +(function(){var Constant,libr;libr=angular.module("libr.constant",[]),Constant={},Constant.baseUrl="http://librme.com/api/v1",libr.constant("Constant",Constant)}).call(this); \ No newline at end of file diff --git a/platforms/ios/www/js/app/controllers/home-controller.coffee b/platforms/ios/www/js/app/controllers/home-controller.coffee index 091b833..6e883d4 100644 --- a/platforms/ios/www/js/app/controllers/home-controller.coffee +++ b/platforms/ios/www/js/app/controllers/home-controller.coffee @@ -4,10 +4,11 @@ class HomeController @$inject: ['$scope', '$location', 'ScanService', '$ionicLoading', '$ionicActionSheet', 'RecommendService', 'ErrorHandler', 'LocalStorageUtils'] constructor: (@$scope, @$location, ScanService, @$ionicLoading, @$ionicActionSheet, @RecommendService, @ErrorHandler, @LocalStorageUtils)-> + console.log @$scope, '!!!!!!!' @$scope.showRecommendActionSheet = @showRecommendActionSheet if @LocalStorageUtils.isUserLogedIn() showLoading(@$scope, @$ionicLoading) - @$scope.title = '随便看看吧' + @$scope.title = {'name': 'Libr-随便看看吧'} if localStorage.getItem('home.books') is null @RecommendService.randomBooks (result)=> @$scope.books = result @@ -55,7 +56,9 @@ class HomeController @$scope.books = result localStorage.setItem 'home.books', JSON.stringify(result) listArray = JSON.parse(localStorage.getItem 'recommend_action_sheet_full_arr') - @$scope.title = listArray[index].text + @$scope.title.name = listArray[index].text + + console.log @$scope, '========' , (error)=> @ErrorHandler.whenError null libr.controller 'HomeCtrl', HomeController diff --git a/platforms/ios/www/templates/libr-index.html b/platforms/ios/www/templates/libr-index.html index 3798baf..0caec4d 100644 --- a/platforms/ios/www/templates/libr-index.html +++ b/platforms/ios/www/templates/libr-index.html @@ -1,6 +1,7 @@ - + - diff --git a/www/js/app/controllers/home-controller.coffee b/www/js/app/controllers/home-controller.coffee index 091b833..6e883d4 100644 --- a/www/js/app/controllers/home-controller.coffee +++ b/www/js/app/controllers/home-controller.coffee @@ -4,10 +4,11 @@ class HomeController @$inject: ['$scope', '$location', 'ScanService', '$ionicLoading', '$ionicActionSheet', 'RecommendService', 'ErrorHandler', 'LocalStorageUtils'] constructor: (@$scope, @$location, ScanService, @$ionicLoading, @$ionicActionSheet, @RecommendService, @ErrorHandler, @LocalStorageUtils)-> + console.log @$scope, '!!!!!!!' @$scope.showRecommendActionSheet = @showRecommendActionSheet if @LocalStorageUtils.isUserLogedIn() showLoading(@$scope, @$ionicLoading) - @$scope.title = '随便看看吧' + @$scope.title = {'name': 'Libr-随便看看吧'} if localStorage.getItem('home.books') is null @RecommendService.randomBooks (result)=> @$scope.books = result @@ -55,7 +56,9 @@ class HomeController @$scope.books = result localStorage.setItem 'home.books', JSON.stringify(result) listArray = JSON.parse(localStorage.getItem 'recommend_action_sheet_full_arr') - @$scope.title = listArray[index].text + @$scope.title.name = listArray[index].text + + console.log @$scope, '========' , (error)=> @ErrorHandler.whenError null libr.controller 'HomeCtrl', HomeController diff --git a/www/templates/libr-index.html b/www/templates/libr-index.html index 3798baf..0caec4d 100644 --- a/www/templates/libr-index.html +++ b/www/templates/libr-index.html @@ -1,6 +1,7 @@ - + -