From 861efafd7f6d5212fb3da80e112bf99af044abae Mon Sep 17 00:00:00 2001 From: OldHawk Date: Sun, 21 Jan 2018 22:01:51 +0800 Subject: [PATCH] feat(torrents): torrents cover image support crop --- config/env/default.js | 1 + .../torrent-info.client.controller.js | 2 +- .../controllers/uploads.client.controller.js | 3 ++- .../services/torrent-get-info.client.service.js | 6 +++--- .../controllers/torrents.server.controller.js | 17 +++++++++++++++-- 5 files changed, 22 insertions(+), 7 deletions(-) diff --git a/config/env/default.js b/config/env/default.js index 36198829..37619983 100644 --- a/config/env/default.js +++ b/config/env/default.js @@ -73,6 +73,7 @@ module.exports = { }, cover: { dest: './modules/torrents/client/uploads/cover/', + crop: './modules/torrents/client/uploads/cover/crop/', temp: './modules/torrents/client/uploads/temp/', limits: { fileSize: 2 * 1024 * 1024 // Max file size in bytes (2 MB) diff --git a/modules/torrents/client/controllers/torrent-info.client.controller.js b/modules/torrents/client/controllers/torrent-info.client.controller.js index bdb312d5..f06d5369 100644 --- a/modules/torrents/client/controllers/torrent-info.client.controller.js +++ b/modules/torrents/client/controllers/torrent-info.client.controller.js @@ -959,7 +959,7 @@ message: ' ' + $translate.instant('TORRENT_DELETE_SUCCESSFULLY') }); - $state.go('torrents.movie'); + $state.go($state.previous.state.name || 'torrents.movie'); } function errorCallback(res) { diff --git a/modules/torrents/client/controllers/uploads.client.controller.js b/modules/torrents/client/controllers/uploads.client.controller.js index 448f827e..e48e59f2 100644 --- a/modules/torrents/client/controllers/uploads.client.controller.js +++ b/modules/torrents/client/controllers/uploads.client.controller.js @@ -478,7 +478,8 @@ vote_average: 0, vote_total: 0, - vote_count: 0 + vote_count: 0, + cover_crop: false }; mtDebug.info($scope.uImages); diff --git a/modules/torrents/client/services/torrent-get-info.client.service.js b/modules/torrents/client/services/torrent-get-info.client.service.js index 2e60b7eb..b7559919 100644 --- a/modules/torrents/client/services/torrent-get-info.client.service.js +++ b/modules/torrents/client/services/torrent-get-info.client.service.js @@ -110,7 +110,7 @@ result = tmdbConfig.posterListBaseUrl + item.resource_detail_info.poster_path; break; default: - result = '/modules/torrents/client/uploads/cover/' + item.resource_detail_info.cover; + result = '/modules/torrents/client/uploads/cover/' + (item.resource_detail_info.cover_crop ? 'crop/' : '') + item.resource_detail_info.cover; break; } } @@ -132,7 +132,7 @@ result = tmdbConfig.posterImgBaseUrl + item.resource_detail_info.poster_path; break; default: - result = '/modules/torrents/client/uploads/cover/' + item.resource_detail_info.cover; + result = '/modules/torrents/client/uploads/cover/' + (item.resource_detail_info.cover_crop ? 'crop/' : '') + item.resource_detail_info.cover; break; } } @@ -154,7 +154,7 @@ result = tmdbConfig.posterImgBaseUrl + item.resource_detail_info.poster_path; break; default: - result = '/modules/torrents/client/uploads/cover/' + item.resource_detail_info.cover; + result = '/modules/torrents/client/uploads/cover/' + (item.resource_detail_info.cover_crop ? 'crop/' : '') + item.resource_detail_info.cover; break; } } diff --git a/modules/torrents/server/controllers/torrents.server.controller.js b/modules/torrents/server/controllers/torrents.server.controller.js index 79fc3100..1699c0be 100644 --- a/modules/torrents/server/controllers/torrents.server.controller.js +++ b/modules/torrents/server/controllers/torrents.server.controller.js @@ -603,9 +603,22 @@ exports.create = function (req, res) { var cv = req.body.resource_detail_info.cover; var oc = config.uploads.torrent.cover.temp + cv; var nc = config.uploads.torrent.cover.dest + cv; + var cc = config.uploads.torrent.cover.crop + cv; copy(oc, nc, function (err) { if (err) { mtDebug.debugRed(err); + } else { + sharp(nc) + .resize(400) + .toFile(cc, function (err) { + if (err) { + mtDebug.debugError(err); + } else { + torrent.resource_detail_info.cover_crop = true; + torrent.markModified('resource_detail_info'); + torrent.save(); + } + }); } if (req.body._uImage.indexOf(cv) < 0) { @@ -617,7 +630,7 @@ exports.create = function (req, res) { req.body._uImage.forEach(function (f) { var oi = config.uploads.torrent.image.temp + f; var ni = config.uploads.torrent.image.dest + f; - var cr = config.uploads.torrent.image.crop + f; + var ci = config.uploads.torrent.image.crop + f; move(oi, ni, function (err) { if (err) { @@ -625,7 +638,7 @@ exports.create = function (req, res) { } else { sharp(ni) .resize(200) - .toFile(cr, function (err) { + .toFile(ci, function (err) { if (err) { mtDebug.debugError(err); }