diff --git a/app/scripts/core/constants.js b/app/scripts/core/constants.js index 852f7a6..372e0d2 100644 --- a/app/scripts/core/constants.js +++ b/app/scripts/core/constants.js @@ -3,9 +3,12 @@ angular.module('ariaNg').constant('ariaNgConstants', { title: 'Aria Ng', - appPrefix: 'AriaNg' + appPrefix: 'AriaNg', + optionStorageKey: 'Options' }).constant('ariaNgDefaultOptions', { language: 'en-US', + rpcHost: '', + rpcPort: '6800', protocol: 'http', globalStatRefreshInterval: 1000, downloadTaskRefreshInterval: 1000 diff --git a/app/scripts/langs/en-US.js b/app/scripts/langs/en-US.js index 092e6a2..a5d5ab3 100644 --- a/app/scripts/langs/en-US.js +++ b/app/scripts/langs/en-US.js @@ -22,6 +22,7 @@ 'AriaNg Settings': 'AriaNg Settings', 'Language': 'Language', 'Aria2 RPC Host': 'Aria2 RPC Host', + 'Aria2 RPC Port': 'Aria2 RPC Port', 'Aria2 RPC Protocol': 'Aria2 RPC Protocol', 'Toggle Navigation': 'Toggle Navigation', 'Loading': 'Loading...', diff --git a/app/scripts/langs/zh-CN.js b/app/scripts/langs/zh-CN.js index e25a07f..1ead168 100644 --- a/app/scripts/langs/zh-CN.js +++ b/app/scripts/langs/zh-CN.js @@ -22,6 +22,7 @@ 'AriaNg Settings': 'AriaNg 设置', 'Language': '语言', 'Aria2 RPC Host': 'Aria2 RPC 主机', + 'Aria2 RPC Port': 'Aria2 RPC 端口', 'Aria2 RPC Protocol': 'Aria2 RPC 协议', 'Toggle Navigation': '切换导航', 'Loading': '正在加载...', diff --git a/app/scripts/services/aria2HttpRpcService.js b/app/scripts/services/aria2HttpRpcService.js index ceb365c..a2a8ba7 100644 --- a/app/scripts/services/aria2HttpRpcService.js +++ b/app/scripts/services/aria2HttpRpcService.js @@ -2,7 +2,7 @@ 'use strict'; angular.module('ariaNg').factory('aria2HttpRpcService', ['$http', 'ariaNgSettingService', function ($http, ariaNgSettingService) { - var rpcUrl = ariaNgSettingService.getJsonRpcUrl('http'); + var rpcUrl = ariaNgSettingService.getJsonRpcUrl(); return { request: function (context) { diff --git a/app/scripts/services/aria2WebSocketRpcService.js b/app/scripts/services/aria2WebSocketRpcService.js index 7235849..65b10db 100644 --- a/app/scripts/services/aria2WebSocketRpcService.js +++ b/app/scripts/services/aria2WebSocketRpcService.js @@ -2,7 +2,7 @@ 'use strict'; angular.module('ariaNg').factory('aria2WebSocketRpcService', ['$websocket', 'ariaNgSettingService', function ($websocket, ariaNgSettingService) { - var rpcUrl = ariaNgSettingService.getJsonRpcUrl('ws'); + var rpcUrl = ariaNgSettingService.getJsonRpcUrl(); var socketClient = null; var sendIdMapping = {}; diff --git a/app/scripts/services/ariaNgSettingService.js b/app/scripts/services/ariaNgSettingService.js index 4e066c5..1576cb9 100644 --- a/app/scripts/services/ariaNgSettingService.js +++ b/app/scripts/services/ariaNgSettingService.js @@ -1,18 +1,17 @@ (function () { 'use strict'; - angular.module('ariaNg').factory('ariaNgSettingService', ['$location', '$translate', 'amMoment', 'localStorageService', 'ariaNgDefaultOptions', function ($location, $translate, amMoment, localStorageService, ariaNgDefaultOptions) { - var getDefaultJsonRpcHost = function () { - var rpcHost = $location.$$host + ':6800'; - return rpcHost; + angular.module('ariaNg').factory('ariaNgSettingService', ['$location', '$translate', 'amMoment', 'localStorageService', 'ariaNgConstants', 'ariaNgDefaultOptions', function ($location, $translate, amMoment, localStorageService, ariaNgConstants, ariaNgDefaultOptions) { + var getDefaultRpcHost = function () { + return $location.$$host; }; var setOptions = function (options) { - return localStorageService.set('Options', options); + return localStorageService.set(ariaNgConstants.optionStorageKey, options); }; var getOptions = function () { - var options = localStorageService.get('Options'); + var options = localStorageService.get(ariaNgConstants.optionStorageKey); if (!options) { options = angular.extend({}, ariaNgDefaultOptions); @@ -44,8 +43,8 @@ getAllOptions: function () { var options = angular.extend({}, ariaNgDefaultOptions, getOptions()); - if (!options.aria2RpcHost) { - options.aria2RpcHost = getDefaultJsonRpcHost(); + if (!options.rpcHost) { + options.rpcHost = getDefaultRpcHost(); } return options; @@ -61,17 +60,22 @@ $translate.use(value); amMoment.changeLocale(value); }, - getJsonRpcUrl: function (protocol) { - var rpcHost = getOption('aria2RpcHost'); + getJsonRpcUrl: function () { + var protocol = getOption('protocol'); + var rpcHost = getOption('rpcHost'); + var rpcPort = getOption('rpcPort'); if (!rpcHost) { - rpcHost = getDefaultJsonRpcHost(); + rpcHost = getDefaultRpcHost(); } - return protocol + '://' + rpcHost + '/jsonrpc'; + return protocol + '://' + rpcHost + ':' + rpcPort + '/jsonrpc'; }, - setJsonRpcHost: function (value) { - setOption('aria2RpcHost', value); + setRpcHost: function (value) { + setOption('rpcHost', value); + }, + setRpcPort: function (value) { + setOption('rpcPort', value); }, getProtocol: function () { return getOption('protocol'); diff --git a/app/styles/aria-ng.css b/app/styles/aria-ng.css index 6185ba6..ee986d2 100644 --- a/app/styles/aria-ng.css +++ b/app/styles/aria-ng.css @@ -308,6 +308,10 @@ td { background-color: #f5f5f5; } +.settings-table .input-group-addon { + background-color: #eee; +} + .settings-table .setting-key { padding-top: 6px; } @@ -317,7 +321,7 @@ td { } .settings-table .tip { - background-color: #fff; + background-color: #fff !important; font-size: 12px; padding: 4px; } diff --git a/app/views/settings-ariang.html b/app/views/settings-ariang.html index f8442d0..c2d490e 100644 --- a/app/views/settings-ariang.html +++ b/app/views/settings-ariang.html @@ -16,8 +16,22 @@ Aria2 RPC Host * -
- +
+
+ + + : + +
+
+
+
+
+ Aria2 RPC Port + * +
+
+