mirror of
https://github.com/taobataoma/meanTorrent.git
synced 2026-07-16 15:01:34 +02:00
feat(torrents): new rss url style
This commit is contained in:
2
config/env/torrents.js
vendored
2
config/env/torrents.js
vendored
@@ -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'
|
||||
},
|
||||
|
||||
|
||||
@@ -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}}
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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: '種子檔案下載成功',
|
||||
|
||||
@@ -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: '种子文件下载成功',
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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----------------------------------------------
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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 : '';
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user