diff --git a/lib/v2/yuque/book.js b/lib/v2/yuque/book.js index aa6ba0fd8..f66380cf7 100644 --- a/lib/v2/yuque/book.js +++ b/lib/v2/yuque/book.js @@ -2,15 +2,19 @@ const got = require('@/utils/got'); const cheerio = require('cheerio'); const { parseDate } = require('@/utils/parse-date'); const { card2Html } = require('./utils'); +const { CookieJar } = require('tough-cookie'); const APP_DATA_REGEX = /window\.appData = JSON\.parse\(decodeURIComponent\("(.+?)"\)\);/; const baseUrl = 'https://www.yuque.com'; module.exports = async (ctx) => { + const cookieJar = new CookieJar(); const { name, book } = ctx.params; const bookUrl = `${baseUrl}/${name}/${book}`; - const { data: bookHtml } = await got(bookUrl); + const { data: bookHtml } = await got(bookUrl, { + cookieJar, + }); const $ = cheerio.load(bookHtml); const appData = JSON.parse(decodeURIComponent($('script').text().match(APP_DATA_REGEX)[1])); @@ -22,6 +26,7 @@ module.exports = async (ctx) => { searchParams: { book_id: bookId, }, + cookieJar, }); const list = docs.map((item) => ({ diff --git a/lib/v2/yuque/utils.js b/lib/v2/yuque/utils.js index af5565dd6..0e65363e9 100644 --- a/lib/v2/yuque/utils.js +++ b/lib/v2/yuque/utils.js @@ -14,6 +14,7 @@ const card2Html = (elem, link) => { break; case 'bookmarkInline': case 'bookmarklink': + case 'yuqueinline': html = `${value.detail.title}`; break; case 'checkbox': @@ -32,6 +33,9 @@ const card2Html = (elem, link) => { case 'hr': html = '