From ee5124759d08b56442fef817489eb6ad18d3f9bb Mon Sep 17 00:00:00 2001 From: OldHawk Date: Wed, 2 May 2018 14:10:53 +0800 Subject: [PATCH] feat(core): write all returned data from $resource to cache --- .../client/services/makers.client.service.js | 15 ++++++- .../client/services/backup.client.service.js | 15 ++++++- .../services/collections.client.service.js | 15 ++++++- modules/core/client/app/init.js | 2 +- modules/core/client/app/trans-string-en.js | 1 + modules/core/client/app/trans-string-zh.js | 1 + .../client/services/forums.client.service.js | 30 +++++++++++-- .../client/services/replies.client.service.js | 14 +++++- .../client/services/topics.client.service.js | 26 ++++++++--- .../services/invitations.client.service.js | 18 ++++++-- .../services/admin-messages.client.service.js | 15 ++++++- .../services/messages.client.service.js | 14 +++++- .../client/services/ranking.client.service.js | 15 ++++++- .../requests-comments.client.service.js | 14 +++++- .../services/requests.client.service.js | 14 +++++- .../client/services/systems.client.service.js | 39 ++++++++++++----- .../client/views/examination.client.view.html | 2 +- .../client/services/tickets.client.service.js | 28 ++++++++++-- .../services/comments.client.service.js | 14 +++++- .../services/completes.client.service.js | 15 ++++++- .../client/services/peers.client.service.js | 24 +++++++---- .../services/subtitles.client.service.js | 15 ++++++- .../services/torrents.client.service.js | 26 ++++++++--- .../client/services/traces.client.service.js | 14 +++++- .../client/services/users.client.service.js | 43 +++++++++++++++---- 25 files changed, 351 insertions(+), 78 deletions(-) diff --git a/modules/about/client/services/makers.client.service.js b/modules/about/client/services/makers.client.service.js index 4147d9f3..022c6766 100644 --- a/modules/about/client/services/makers.client.service.js +++ b/modules/about/client/services/makers.client.service.js @@ -5,12 +5,23 @@ .module('about.services') .factory('MakerGroupService', MakerGroupService); - MakerGroupService.$inject = ['$resource']; + MakerGroupService.$inject = ['$resource', 'CacheFactory']; + + function MakerGroupService($resource, CacheFactory) { + var makerCache = CacheFactory.get('makerCache') || CacheFactory.createCache('makerCache'); - function MakerGroupService($resource) { return $resource('/api/makers/:makerId', { makerId: '@_id' }, { + get: { + method: 'GET', + cache: makerCache + }, + query: { + method: 'GET', + isArray: true, + cache: makerCache + }, update: { method: 'PUT' }, diff --git a/modules/backup/client/services/backup.client.service.js b/modules/backup/client/services/backup.client.service.js index b2df30a0..95d71383 100644 --- a/modules/backup/client/services/backup.client.service.js +++ b/modules/backup/client/services/backup.client.service.js @@ -6,12 +6,23 @@ .module('backup.services') .factory('BackupService', BackupService); - BackupService.$inject = ['$resource']; + BackupService.$inject = ['$resource', 'CacheFactory']; + + function BackupService($resource, CacheFactory) { + var backupCache = CacheFactory.get('backupCache') || CacheFactory.createCache('backupCache'); - function BackupService($resource) { var backup = $resource('/api/backup/:filename', { filename: '@filename' }, { + get: { + method: 'GET', + cache: backupCache + }, + query: { + method: 'GET', + isArray: true, + cache: backupCache + }, update: { method: 'PUT' } diff --git a/modules/collections/client/services/collections.client.service.js b/modules/collections/client/services/collections.client.service.js index 0008bf76..1b262576 100644 --- a/modules/collections/client/services/collections.client.service.js +++ b/modules/collections/client/services/collections.client.service.js @@ -6,12 +6,23 @@ .module('collections.services') .factory('CollectionsService', CollectionsService); - CollectionsService.$inject = ['$resource']; + CollectionsService.$inject = ['$resource', 'CacheFactory']; + + function CollectionsService($resource, CacheFactory) { + var collectionsCache = CacheFactory.get('collectionsCache') || CacheFactory.createCache('collectionsCache'); - function CollectionsService($resource) { var collection = $resource('/api/collections/:collectionId', { collectionId: '@_id' }, { + get: { + method: 'GET', + cache: collectionsCache + }, + query: { + method: 'GET', + isArray: true, + cache: collectionsCache + }, update: { method: 'PUT' }, diff --git a/modules/core/client/app/init.js b/modules/core/client/app/init.js index 3eb9405e..2ede2985 100644 --- a/modules/core/client/app/init.js +++ b/modules/core/client/app/init.js @@ -194,7 +194,7 @@ angular.extend(CacheFactoryProvider.defaults, { maxAge: cacheConfig.maxAge, recycleFreq: cacheConfig.recycleFreq, - deleteOnExpire: 'aggressive', + deleteOnExpire: 'aggressive' }); } diff --git a/modules/core/client/app/trans-string-en.js b/modules/core/client/app/trans-string-en.js index 60f31aae..24c60f67 100644 --- a/modules/core/client/app/trans-string-en.js +++ b/modules/core/client/app/trans-string-en.js @@ -1349,6 +1349,7 @@ BTN_CURR_EXAMINATION_STATUS: 'Curr examination status', BTN_BAN_ALL_UNFINISHED: 'Ban all unfinished users', EXAMINATION_STATUS: 'Examination status', + EXAMINATION_USERS: 'Users list', ALL_USER: 'Total: {{all_user}} users', FINISHED_USER: 'Finished: {{finished_user}} users', UNFINISHED_USER: 'Unfinished: {{unfinished_user}} users', diff --git a/modules/core/client/app/trans-string-zh.js b/modules/core/client/app/trans-string-zh.js index f2b1012e..561a098a 100644 --- a/modules/core/client/app/trans-string-zh.js +++ b/modules/core/client/app/trans-string-zh.js @@ -1349,6 +1349,7 @@ BTN_CURR_EXAMINATION_STATUS: '当前考核的数据状态', BTN_BAN_ALL_UNFINISHED: '禁止掉所有未完成考核的帐户', EXAMINATION_STATUS: '考核状态', + EXAMINATION_USERS: '用户列表', ALL_USER: '参考用户: {{all_user}} 人', FINISHED_USER: '考核已完成用户: {{finished_user}} 人', UNFINISHED_USER: '考核未完成用户: {{unfinished_user}} 人', diff --git a/modules/forums/client/services/forums.client.service.js b/modules/forums/client/services/forums.client.service.js index bcc04520..e4b4b049 100644 --- a/modules/forums/client/services/forums.client.service.js +++ b/modules/forums/client/services/forums.client.service.js @@ -5,12 +5,23 @@ .module('forums.services') .factory('ForumsAdminService', ForumsAdminService); - ForumsAdminService.$inject = ['$resource']; + ForumsAdminService.$inject = ['$resource', 'CacheFactory']; + + function ForumsAdminService($resource, CacheFactory) { + var forumsCache = CacheFactory.get('forumsCache') || CacheFactory.createCache('forumsCache'); - function ForumsAdminService($resource) { return $resource('/api/admin/forums/:forumId', { forumId: '@_id' }, { + get: { + method: 'GET', + cache: forumsCache + }, + query: { + method: 'GET', + isArray: true, + cache: forumsCache + }, update: { method: 'PUT' }, @@ -37,12 +48,23 @@ .module('forums.services') .factory('ForumsService', ForumsService); - ForumsService.$inject = ['$resource']; + ForumsService.$inject = ['$resource', 'CacheFactory']; + + function ForumsService($resource, CacheFactory) { + var forumsCache = CacheFactory.get('forumsCache') || CacheFactory.createCache('forumsCache'); - function ForumsService($resource) { return $resource('/api/forums/:forumId', { forumId: '@_id' }, { + get: { + method: 'GET', + cache: forumsCache + }, + query: { + method: 'GET', + isArray: true, + cache: forumsCache + }, update: { method: 'PUT' }, diff --git a/modules/forums/client/services/replies.client.service.js b/modules/forums/client/services/replies.client.service.js index 4a61dc0c..c4974e09 100644 --- a/modules/forums/client/services/replies.client.service.js +++ b/modules/forums/client/services/replies.client.service.js @@ -5,14 +5,24 @@ .module('forums.services') .factory('RepliesService', RepliesService); - RepliesService.$inject = ['$resource']; + RepliesService.$inject = ['$resource', 'CacheFactory']; + + function RepliesService($resource, CacheFactory) { + var forumsCache = CacheFactory.get('forumsCache') || CacheFactory.createCache('forumsCache'); - function RepliesService($resource) { return $resource('/api/topics/:forumId/:topicId/:replyId', { forumId: '@forum', topicId: '@topic', replyId: '@_id' }, { + get: { + method: 'GET', + cache: forumsCache + }, + query: { + method: 'GET', + cache: forumsCache + }, update: { method: 'PUT' } diff --git a/modules/forums/client/services/topics.client.service.js b/modules/forums/client/services/topics.client.service.js index e892206a..cff8b41e 100644 --- a/modules/forums/client/services/topics.client.service.js +++ b/modules/forums/client/services/topics.client.service.js @@ -5,20 +5,31 @@ .module('forums.services') .factory('TopicsService', TopicsService); - TopicsService.$inject = ['$resource']; + TopicsService.$inject = ['$resource', 'CacheFactory']; + + function TopicsService($resource, CacheFactory) { + var forumsCache = CacheFactory.get('forumsCache') || CacheFactory.createCache('forumsCache'); - function TopicsService($resource) { return $resource('/api/topics/:forumId/:topicId', { forumId: '@forum', topicId: '@_id' }, { + get: { + method: 'GET', + cache: forumsCache + }, + query: { + method: 'GET', + cache: forumsCache + }, update: { method: 'PUT' }, getGlobalTopics: { method: 'GET', url: '/api/globalTopics', - isArray: true + isArray: true, + cache: forumsCache }, toggleTopicReadonly: { method: 'PUT', @@ -72,17 +83,20 @@ getHomeHelp: { method: 'GET', url: '/api/topics/getHomeHelpTopic', - isArray: true + isArray: true, + cache: forumsCache }, getHomeNotice: { method: 'GET', url: '/api/topics/getHomeNoticeTopic', - isArray: true + isArray: true, + cache: forumsCache }, getHomeNewTopic: { method: 'GET', url: '/api/topics/getHomeNewTopic', - isArray: true + isArray: true, + cache: forumsCache } }); } diff --git a/modules/invitations/client/services/invitations.client.service.js b/modules/invitations/client/services/invitations.client.service.js index 04e6d012..a4413c13 100644 --- a/modules/invitations/client/services/invitations.client.service.js +++ b/modules/invitations/client/services/invitations.client.service.js @@ -5,12 +5,23 @@ .module('invitations.services') .factory('InvitationsService', InvitationsService); - InvitationsService.$inject = ['$resource']; + InvitationsService.$inject = ['$resource', 'CacheFactory']; + + function InvitationsService($resource, CacheFactory) { + var invitationsCache = CacheFactory.get('invitationsCache') || CacheFactory.createCache('invitationsCache'); - function InvitationsService($resource) { return $resource('/api/invitations/:invitationId', { invitationId: '@_id' }, { + get: { + method: 'GET', + cache: invitationsCache + }, + query: { + method: 'GET', + isArray: true, + cache: invitationsCache + }, update: { method: 'PUT' }, @@ -32,7 +43,8 @@ listOfficial: { method: 'GET', url: '/api/invitations/official/list', - isArray: true + isArray: true, + cache: invitationsCache }, deleteExpiredOfficialInvitation: { method: 'DELETE', diff --git a/modules/messages/client/services/admin-messages.client.service.js b/modules/messages/client/services/admin-messages.client.service.js index 49aff406..d0eb4f1f 100644 --- a/modules/messages/client/services/admin-messages.client.service.js +++ b/modules/messages/client/services/admin-messages.client.service.js @@ -5,12 +5,23 @@ .module('messages.services') .factory('AdminMessagesService', AdminMessagesService); - AdminMessagesService.$inject = ['$resource']; + AdminMessagesService.$inject = ['$resource', 'CacheFactory']; + + function AdminMessagesService($resource, CacheFactory) { + var messagesCache = CacheFactory.get('messagesCache') || CacheFactory.createCache('messagesCache'); - function AdminMessagesService($resource) { return $resource('/api/adminMessages/:adminMessageId', { adminMessageId: '@_adminMessageId' }, { + get: { + method: 'GET', + cache: messagesCache + }, + query: { + method: 'GET', + isArray: true, + cache: messagesCache + }, update: { method: 'PUT' } diff --git a/modules/messages/client/services/messages.client.service.js b/modules/messages/client/services/messages.client.service.js index de3de701..d0264fe4 100644 --- a/modules/messages/client/services/messages.client.service.js +++ b/modules/messages/client/services/messages.client.service.js @@ -5,12 +5,22 @@ .module('messages.services') .factory('MessagesService', MessagesService); - MessagesService.$inject = ['$resource']; + MessagesService.$inject = ['$resource', 'CacheFactory']; + + function MessagesService($resource, CacheFactory) { + var messagesCache = CacheFactory.get('messagesCache') || CacheFactory.createCache('messagesCache'); - function MessagesService($resource) { return $resource('/api/messages/:messageId', { messageId: '@_messageId' }, { + get: { + method: 'GET', + cache: messagesCache + }, + query: { + method: 'GET', + cache: messagesCache + }, update: { method: 'PUT' }, diff --git a/modules/ranking/client/services/ranking.client.service.js b/modules/ranking/client/services/ranking.client.service.js index edc35b2e..c654bf32 100644 --- a/modules/ranking/client/services/ranking.client.service.js +++ b/modules/ranking/client/services/ranking.client.service.js @@ -6,12 +6,23 @@ .module('ranking.services') .factory('RankingService', RankingService); - RankingService.$inject = ['$resource']; + RankingService.$inject = ['$resource', 'CacheFactory']; + + function RankingService($resource, CacheFactory) { + var rankingCache = CacheFactory.get('rankingCache') || CacheFactory.createCache('rankingCache'); - function RankingService($resource) { return $resource('/api/ranking', { userId: '@_id' }, { + get: { + method: 'GET', + cache: rankingCache + }, + query: { + method: 'GET', + isArray: true, + cache: rankingCache + }, update: { method: 'PUT' } diff --git a/modules/requests/client/services/requests-comments.client.service.js b/modules/requests/client/services/requests-comments.client.service.js index d0497dfa..ba5f76e5 100644 --- a/modules/requests/client/services/requests-comments.client.service.js +++ b/modules/requests/client/services/requests-comments.client.service.js @@ -6,14 +6,24 @@ .module('requests.services') .factory('RequestsCommentsService', RequestsCommentsService); - RequestsCommentsService.$inject = ['$resource']; + RequestsCommentsService.$inject = ['$resource', 'CacheFactory']; + + function RequestsCommentsService($resource, CacheFactory) { + var requestsCache = CacheFactory.get('requestsCache') || CacheFactory.createCache('requestsCache'); - function RequestsCommentsService($resource) { var Comments = $resource('/api/reqComments/:requestId/:commentId/:subCommentId', { requestId: '@_requestId', commentId: '@_commentId', subCommentId: '@_subCommentId' }, { + get: { + method: 'GET', + cache: requestsCache + }, + query: { + method: 'GET', + cache: requestsCache + }, update: { method: 'PUT' } diff --git a/modules/requests/client/services/requests.client.service.js b/modules/requests/client/services/requests.client.service.js index 929b90e1..11d7c538 100644 --- a/modules/requests/client/services/requests.client.service.js +++ b/modules/requests/client/services/requests.client.service.js @@ -5,12 +5,22 @@ .module('requests.services') .factory('RequestsService', RequestsService); - RequestsService.$inject = ['$resource']; + RequestsService.$inject = ['$resource', 'CacheFactory']; + + function RequestsService($resource, CacheFactory) { + var requestsCache = CacheFactory.get('requestsCache') || CacheFactory.createCache('requestsCache'); - function RequestsService($resource) { return $resource('/api/requests/:requestId', { requestId: '@_id' }, { + get: { + method: 'GET', + cache: requestsCache + }, + query: { + method: 'GET', + cache: requestsCache + }, update: { method: 'PUT' }, diff --git a/modules/systems/client/services/systems.client.service.js b/modules/systems/client/services/systems.client.service.js index 0d1caef5..4c7761c5 100644 --- a/modules/systems/client/services/systems.client.service.js +++ b/modules/systems/client/services/systems.client.service.js @@ -5,34 +5,50 @@ .module('systems.services') .factory('SystemsService', SystemsService); - SystemsService.$inject = ['$resource']; + SystemsService.$inject = ['$resource', 'CacheFactory']; + + function SystemsService($resource, CacheFactory) { + var systemsCache = CacheFactory.get('systemsCache') || CacheFactory.createCache('systemsCache'); - function SystemsService($resource) { return $resource('/api/systems/:systemId', { requestId: '@_id' }, { + get: { + method: 'GET', + cache: systemsCache + }, + query: { + method: 'GET', + isArray: true, + cache: systemsCache + }, update: { method: 'PUT' }, getSystemEnvConfigFiles: { method: 'GET', - url: '/api/systems/systemEnvConfigFiles' + url: '/api/systems/systemEnvConfigFiles', + cache: systemsCache }, getSystemAssetsConfigFiles: { method: 'GET', - url: '/api/systems/systemAssetsConfigFiles' + url: '/api/systems/systemAssetsConfigFiles', + cache: systemsCache }, getSystemTransConfigFiles: { method: 'GET', - url: '/api/systems/systemTransConfigFiles' + url: '/api/systems/systemTransConfigFiles', + cache: systemsCache }, getSystemTemplateFrontConfigFiles: { method: 'GET', - url: '/api/systems/systemTemplateFrontConfigFiles' + url: '/api/systems/systemTemplateFrontConfigFiles', + cache: systemsCache }, getSystemTemplateBackConfigFiles: { method: 'GET', - url: '/api/systems/systemTemplateBackConfigFiles' + url: '/api/systems/systemTemplateBackConfigFiles', + cache: systemsCache }, getSystemConfigContent: { method: 'GET', @@ -52,15 +68,18 @@ }, getExaminationStatus: { method: 'GET', - url: '/api/systems/getExaminationStatus' + url: '/api/systems/getExaminationStatus', + cache: systemsCache }, listFinishedUsers: { method: 'GET', - url: '/api/systems/listFinishedUsers' + url: '/api/systems/listFinishedUsers', + cache: systemsCache }, listUnfinishedUsers: { method: 'GET', - url: '/api/systems/listUnfinishedUsers' + url: '/api/systems/listUnfinishedUsers', + cache: systemsCache }, banAllUnfinishedUser: { method: 'PUT', diff --git a/modules/systems/client/views/examination.client.view.html b/modules/systems/client/views/examination.client.view.html index 8dd283c0..43bd7766 100644 --- a/modules/systems/client/views/examination.client.view.html +++ b/modules/systems/client/views/examination.client.view.html @@ -61,7 +61,7 @@
-
+