feat(torrents): new rss url style

This commit is contained in:
OldHawk
2018-05-20 20:19:52 +08:00
parent 49b6eee0a1
commit bd19f3ec05
11 changed files with 73 additions and 52 deletions

View File

@@ -192,6 +192,7 @@ module.exports = {
* @webMaster: setting webMaster info of rss document
* @generator: setting generator info of rss document
* @ttl: setting ttl info of rss document, unit of seconds
* @pageItemsNumber: setting the items number of rss per page
* @image_url: setting image_url info of rss document
*/
rss: {
@@ -202,6 +203,7 @@ module.exports = {
webMaster: 'webmaster@mean.im (%s Webmaster)',
generator: '{MEAN.im} RSS Generator by meanTorrent',
ttl: 60,
pageItemsNumber: 30,
image_url: '/modules/core/client/img/rss.jpeg'
},

View File

@@ -188,7 +188,7 @@
<dt class="h-line margin-top-10">{{'CA_RESOURCE_TYPE' | translate}}</dt>
<dd class="h-line margin-top-10">
<div class="radio radio-type margin-top-5">
<label class="radio-inline"
<label class="radio-inline" ng-class="{checked: vm.torrentType == t.value}"
ng-repeat="t in vm.torrentTypeConfig.value | filter:{enable: true, role: 'user'}">
<input type="radio" ng-model="vm.torrentType" value="{{t.value}}"
ng-change="vm.onTorrentTypeChanged();"> {{'MENU_TORRENTS_SUB.'+t.name | translate}}

View File

@@ -350,8 +350,7 @@
CA_TORRENT_TOP: 'Top Status',
CA_TORRENT_UNIQUE: 'Unique Status',
CA_RESOURCE_TYPE: 'Resource type',
CA_MAKE_RSS_URL: 'Rss Url',
DESC_MAKE_RSS_URL: 'This RSS url is make with above filter conditions, you can used it in the BT client (such as uTorrent) that supports the RSS subscription function to download torrent and resources automatic.',
DESC_MAKE_RSS_URL: 'Based on the RSS address generated by the current search conditions, click Copy to clipboard.',
COPY_TO_CLIPBOARD: 'Copy to clipboard',
COPY_LINK_TO_CLIPBOARD: 'Copy torrent file download link to clipboard',
COPY_LINK_TEXT: 'Copy torrent file link',

View File

@@ -339,7 +339,6 @@
CA_TORRENT_VIP: 'VIP 資源',
CA_TORRENT_TOP: '置頂狀態',
CA_RESOURCE_TYPE: '資源型別',
CA_MAKE_RSS_URL: 'RSS連線',
DESC_MAKE_RSS_URL: '這個 RSS 地址是通過上面的過濾條件生成的,您可以使用支援 RSS 訂閱功能的BT客戶端如uTorrent來自動下載您想要的這些種子和資原始檔.',
COPY_TO_CLIPBOARD: '複製到剪下板',
COPY_LINK_TO_CLIPBOARD: '複製種子檔案下載連線到剪下板',
@@ -348,7 +347,7 @@
TORRENT_LABEL_LINK: '種子地址',
PH_KEYWORD: '搜尋關鍵字',
CLEAR_ALL_CONDITION: '清空所有條件',
MORE_TAGS: '顯示更多標籤',
MORE_TAGS: '更多標籤',
CA_RESET: '重置條件',
TORRENT_DOWNLOAD_ERROR: '種子檔案下載失敗',
TORRENTS_DOWNLOAD_SUCCESSFULLY: '種子檔案下載成功',

View File

@@ -350,8 +350,7 @@
CA_TORRENT_TOP: '置顶状态',
CA_TORRENT_UNIQUE: '禁转状态',
CA_RESOURCE_TYPE: '资源类型',
CA_MAKE_RSS_URL: 'RSS连接',
DESC_MAKE_RSS_URL: '这个 RSS 地址是通过上面的过滤条件生成的,您可以使用支持 RSS 订阅功能的BT客户端如uTorrent来自动下载您想要的这些种子和资源文件.',
DESC_MAKE_RSS_URL: '根据当前检索条件生成的 RSS 地址, 点击复制到粘贴版.',
COPY_TO_CLIPBOARD: '复制到剪切板',
COPY_LINK_TO_CLIPBOARD: '复制种子文件下载连接到剪切板',
COPY_LINK_TEXT: '复制种子文件地址',
@@ -359,7 +358,7 @@
TORRENT_LABEL_LINK: '种子连接',
PH_KEYWORD: '搜索关键字',
CLEAR_ALL_CONDITION: '清空所有条件',
MORE_TAGS: '显示更多标签',
MORE_TAGS: '更多标签',
CA_RESET: '重置条件',
TORRENT_DOWNLOAD_ERROR: '种子文件下载失败',
TORRENTS_DOWNLOAD_SUCCESSFULLY: '种子文件下载成功',

View File

@@ -23,6 +23,7 @@
vm.appConfig = MeanTorrentConfig.meanTorrentConfig.app;
vm.torrentTypeConfig = MeanTorrentConfig.meanTorrentConfig.torrentType;
vm.salesGlobalConfig = MeanTorrentConfig.meanTorrentConfig.torrentGlobalSales;
vm.rssConfig = MeanTorrentConfig.meanTorrentConfig.rss;
vm.searchTags = [];
vm.searchKey = $state.params.keys || '';
@@ -343,9 +344,9 @@
vm.rssUrl += '/api/rss';
vm.rssUrl += '/' + vm.user.passkey;
vm.rssUrl += '?language=' + vm.lang;
vm.rssUrl += '&limit=' + vm.torrentItemsPerPage;
vm.rssUrl += '&limit=' + vm.rssConfig.pageItemsNumber;
vm.rssUrl += vm.searchKey.trim() ? '&keys=' + vm.searchKey.trim() : '';
vm.rssUrl += '&torrent_type=' + (vm.torrentType === 'aggregate' ? 'all' : vm.torrentType);
vm.rssUrl += '&torrent_type=' + ((vm.filterType && vm.filterType !== 'aggregate') ? vm.filterType : (vm.torrentType === 'aggregate' ? 'all' : vm.torrentType));
vm.rssUrl += vm.releaseYear ? '&torrent_release=' + vm.releaseYear : '';
vm.rssUrl += vm.searchTags.length ? '&torrent_tags=' + vm.searchTags : '';
vm.rssUrl += '&torrent_hnr=' + vm.filterHnR;

View File

@@ -287,6 +287,20 @@ pre.prettyprint {
&:not(:first-child){
margin-right: 4px;
}
background-color: #f7f7f7;
border: solid 1px #ddd;
border-radius: 3px;
padding: 2px 3px 2px 25px;
margin-bottom: 3px;
&:hover {
border: solid 1px @brand-primary;
color: @brand-primary;
}
&.checked {
border: solid 1px @brand-primary;
background-color: lighten(@brand-primary, 45%);
color: @brand-primary;
}
}
}
@@ -310,9 +324,32 @@ pre.prettyprint {
.radio-inline {
min-width: 100px !important;
margin-left: 0 !important;
background-color: #f7f7f7;
border: solid 1px #ddd;
border-radius: 3px;
padding: 2px 3px 2px 25px;
margin-bottom: 3px;
margin-right: 4px;
&:hover {
border: solid 1px @brand-primary;
color: @brand-primary;
}
&.checked {
border: solid 1px @brand-primary;
background-color: lighten(@brand-primary, 45%);
color: @brand-primary;
}
}
}
.fa-rss-square {
font-size: 20px;
position: relative;
top: 4px;
left: 5px;
cursor: pointer;
}
/* csslint ignore:end */
//popup overlay----------------------------------------------

View File

@@ -87,13 +87,14 @@
<dt class="h-line margin-top-10">{{'CA_RESOURCE_TYPE' | translate}}</dt>
<dd class="h-line margin-top-10">
<div class="radio radio-type">
<label class="radio-inline">
<label class="radio-inline" ng-class="{checked: vm.torrentType == 'aggregate'}">
<input type="radio" ng-model="vm.torrentType" value="aggregate"
ng-change="vm.onTorrentTypeChanged();"> {{'TORRENT_TYPE_OPTION_NEWEST' | translate}}
</label>
</div>
<div class="radio radio-type margin-top-5">
<label class="radio-inline" ng-repeat="t in vm.torrentTypeConfig.value | filter:{enable: true}">
<label class="radio-inline" ng-class="{checked: vm.torrentType == t.value}"
ng-repeat="t in vm.torrentTypeConfig.value | filter:{enable: true}">
<input type="radio" ng-model="vm.torrentType" value="{{t.value}}"
ng-change="vm.onTorrentTypeChanged();"> {{'MENU_TORRENTS_SUB.'+t.name | translate}}
</label>

View File

@@ -130,16 +130,22 @@
</div>
<div class="col-sm-6">
<span class="label label-tag text-uppercase incline-block-valign"
title="{{ 'TITLE_ALT.MORE_TAGS' | translate}}"
uib-tooltip="{{ 'TITLE_ALT.MORE_TAGS' | translate}}"
ng-click="vm.onMoreTagsClicked();">
<i class="glyphicon glyphicon-chevron-down" id="more-tags-icon"></i> {{ 'MORE_TAGS' | translate}}
</span>
<span class="label label-tag text-uppercase incline-block-valign"
title="{{ 'TITLE_ALT.RESET_TAGS' | translate}}"
uib-tooltip="{{ 'TITLE_ALT.RESET_TAGS' | translate}}"
ng-click="vm.clearAllCondition();">
<i class="glyphicon glyphicon-repeat"></i> {{ 'CA_RESET' | translate}}
</span>
<span>
<i class="fa fa-rss-square color-mt-base" aria-hidden="true"
uib-tooltip="{{ 'DESC_MAKE_RSS_URL' | translate}}"
mt-scale-by-click="{scale: 2, duration: '.3s'}"
mt-copy-to-clipboard="{{vm.rssUrl}}">
</i>
</span>
</div>
</div>
</dd>
@@ -148,11 +154,12 @@
<dt class="h-line">{{'CA_RESOURCE_TYPE' | translate}}</dt>
<dd class="h-line margin-top-10">
<div class="radio radio-type">
<label class="radio-inline">
<label class="radio-inline" ng-class="{checked: vm.filterType == 'aggregate'}">
<input type="radio" ng-model="vm.filterType" value="aggregate"
ng-change="vm.onTorrentTypeChanged();"> {{'TORRENT_TYPE_ALL' | translate}}
</label>
<label class="radio-inline" ng-repeat="t in vm.torrentTypeConfig.value | filter:{enable: true, role: 'user'}">
<label class="radio-inline" ng-class="{checked: vm.filterType == t.value}"
ng-repeat="t in vm.torrentTypeConfig.value | filter:{enable: true, role: 'user'}">
<input type="radio" ng-model="vm.filterType" value="{{t.value}}"
ng-change="vm.onTorrentTypeChanged();"> {{'MENU_TORRENTS_SUB.'+t.name | translate}}
</label>
@@ -212,20 +219,6 @@
</dd>
</div>
</div>
<!--<div>-->
<!--<dt class="h-line"><i class="fa fa-rss-square color-mt-base" aria-hidden="true"></i> {{'CA_MAKE_RSS_URL' | translate}}:</dt>-->
<!--<dd class="h-line rss-desc-line">{{'DESC_MAKE_RSS_URL' | translate}}-->
<!--<div class="margin-top-5">-->
<!--<a href="{{vm.rssUrl}}" target="_blank">{{vm.rssUrl}}</a>-->
<!--<span style="position: relative">-->
<!--<i class="fa fa-clipboard color-mt-base" aria-hidden="true" title="{{'COPY_TO_CLIPBOARD' | translate}}"-->
<!--mt-scale-by-click="{scale: 2, duration: '.3s'}"-->
<!--mt-copy-to-clipboard="{{vm.rssUrl}}"></i>-->
<!--</span>-->
<!--</div>-->
<!--</dd>-->
<!--</div>-->
</dl>
</div>
</div>

View File

@@ -291,7 +291,7 @@
vm.rssUrl += '/api/rss';
vm.rssUrl += '/' + vm.user.passkey;
vm.rssUrl += '?language=' + localStorageService.get('storage_user_lang');
vm.rssUrl += '&limit=' + vm.itemsPerPage;
vm.rssUrl += '&limit=' + vm.rssConfig.pageItemsNumber;
vm.rssUrl += vm.searchKey.trim() ? '&keys=' + vm.searchKey.trim() : '';
vm.rssUrl += '&torrent_type=' + vm.torrentType;
vm.rssUrl += vm.releaseYear ? '&torrent_release=' + vm.releaseYear : '';

View File

@@ -90,15 +90,22 @@
</div>
<div class="col-sm-6">
<span class="label label-tag text-uppercase incline-block-valign"
title="{{ 'TITLE_ALT.MORE_TAGS' | translate}}"
uib-tooltip="{{ 'TITLE_ALT.MORE_TAGS' | translate}}"
ng-click="vm.onMoreTagsClicked();">
<i class="glyphicon glyphicon-chevron-down" id="more-tags-icon"></i> {{ 'MORE_TAGS' | translate}}
</span>
<span class="label label-tag text-uppercase incline-block-valign"
title="{{ 'TITLE_ALT.RESET_TAGS' | translate}}"
uib-tooltip="{{ 'TITLE_ALT.RESET_TAGS' | translate}}"
ng-click="vm.clearAllCondition();">
<i class="glyphicon glyphicon-repeat"></i> {{ 'CA_RESET' | translate}}
</span>
<span>
<i class="fa fa-rss-square color-mt-base" aria-hidden="true"
uib-tooltip="{{ 'DESC_MAKE_RSS_URL' | translate}}"
mt-scale-by-click="{scale: 2, duration: '.3s'}"
mt-copy-to-clipboard="{{vm.rssUrl}}">
</i>
</span>
</div>
</div>
</dd>
@@ -106,7 +113,7 @@
<dt class="h-line margin-top-10">{{'CA_RESOURCE_TYPE' | translate}}</dt>
<dd class="h-line margin-top-10">
<div class="radio radio-type margin-top-5">
<label class="radio-inline"
<label class="radio-inline" ng-class="{checked: vm.torrentType == t.value}"
ng-repeat="t in vm.torrentTypeConfig.value | filter:{enable: true} | orderBy: 'position'">
<input type="radio" ng-model="vm.torrentType" value="{{t.value}}"
ng-change="vm.onTorrentTypeChanged();"> {{'MENU_TORRENTS_SUB.'+t.name | translate}}
@@ -167,23 +174,6 @@
</dd>
</div>
</div>
<div>
<dt class="h-line">
<i class="fa fa-rss-square color-mt-base" aria-hidden="true"></i> {{'CA_MAKE_RSS_URL' | translate}}:
</dt>
<dd class="h-line rss-desc-line">{{'DESC_MAKE_RSS_URL' | translate}}
<div class="margin-top-5">
<a href="{{vm.rssUrl}}" target="_blank">{{vm.rssUrl}}</a>
<span style="position: relative">
<i class="fa fa-clipboard color-mt-base" aria-hidden="true"
title="{{'COPY_TO_CLIPBOARD' | translate}}"
mt-scale-by-click="{scale: 2, duration: '.3s'}"
mt-copy-to-clipboard="{{vm.rssUrl}}"></i>
</span>
</div>
</dd>
</div>
</dl>
</div>
</div>