From 1c08c89fac8787b577d0ef44d1a7fbff0b8f63c8 Mon Sep 17 00:00:00 2001 From: Huzhixin00 Date: Fri, 17 Nov 2023 22:19:09 +0800 Subject: [PATCH] feat(route): add javlibrary maker type (#13820) --- lib/v2/javlibrary/maintainer.js | 1 + lib/v2/javlibrary/maker.js | 10 ++++++++++ lib/v2/javlibrary/router.js | 1 + lib/v2/javlibrary/utils.js | 1 + website/docs/routes/multimedia.mdx | 10 ++++++++++ 5 files changed, 23 insertions(+) create mode 100644 lib/v2/javlibrary/maker.js diff --git a/lib/v2/javlibrary/maintainer.js b/lib/v2/javlibrary/maintainer.js index 7d98441fc2..e5080d3de5 100644 --- a/lib/v2/javlibrary/maintainer.js +++ b/lib/v2/javlibrary/maintainer.js @@ -2,6 +2,7 @@ module.exports = { '/bestrated/:language?/:mode?': ['nczitzk'], '/bestreviews/:language?/:mode?': ['nczitzk'], '/genre/:genre?/:language?/:mode?': ['nczitzk'], + '/maker/:maker?/:language?/:mode?': ['Zhixin Hu'], '/mostwanted/:language?/:mode?': ['nczitzk'], '/newentries/:language?': ['nczitzk'], '/newrelease/:language?/:mode?': ['nczitzk'], diff --git a/lib/v2/javlibrary/maker.js b/lib/v2/javlibrary/maker.js new file mode 100644 index 0000000000..63c93d7de2 --- /dev/null +++ b/lib/v2/javlibrary/maker.js @@ -0,0 +1,10 @@ +const { defaultMode, defaultLanguage, defaultMaker, rootUrl, ProcessItems } = require('./utils'); + +module.exports = async (ctx) => { + const mode = ctx.params.mode ?? defaultMode; + const maker = ctx.params.maker ?? defaultMaker; + const language = ctx.params.language ?? defaultLanguage; + const currentUrl = `${rootUrl}/${language}/vl_maker.php?list&m=${maker}&mode=${mode}`; + + ctx.state.data = await ProcessItems(language, currentUrl, ctx.cache.tryGet); +}; diff --git a/lib/v2/javlibrary/router.js b/lib/v2/javlibrary/router.js index 9c0029db69..a379ea7877 100644 --- a/lib/v2/javlibrary/router.js +++ b/lib/v2/javlibrary/router.js @@ -2,6 +2,7 @@ module.exports = function (router) { router.get('/users/:id/:type/:language?', require('./user')); router.get('/videos/bestrated/:language?/:mode?', require('./bestrated')); router.get('/videos/genre/:genre?/:language?/:mode?', require('./genre')); + router.get('/videos/maker/:maker?/:language?/:mode?', require('./maker')); router.get('/videos/mostwanted/:language?/:mode?', require('./mostwanted')); router.get('/videos/newentries/:language?', require('./newentries')); router.get('/videos/newrelease/:language?/:mode?', require('./newrelease')); diff --git a/lib/v2/javlibrary/utils.js b/lib/v2/javlibrary/utils.js index 738fd14528..39c35aa887 100644 --- a/lib/v2/javlibrary/utils.js +++ b/lib/v2/javlibrary/utils.js @@ -10,6 +10,7 @@ module.exports = { rootUrl, defaultMode: '1', defaultGenre: 'amjq', + defaultMaker: 'arlq', defaultLanguage: 'ja', ProcessItems: async (language, currentUrl, tryGet) => { diff --git a/website/docs/routes/multimedia.mdx b/website/docs/routes/multimedia.mdx index 4b936b5bed..9f9e32c0a3 100644 --- a/website/docs/routes/multimedia.mdx +++ b/website/docs/routes/multimedia.mdx @@ -921,6 +921,16 @@ See [Categories](https://www.javlibrary.com/en/genres.php) to view all categorie +### Videos by makers {#javlibrary-videos-by-makers} + + + +| videos with comments (by date) | everything (by date) | +| ------------------------------ | -------------------- | +| 1 | 2 | + + + ### Videos by star {#javlibrary-videos-by-star}