From c31567399085fdb86d0ffb27fb60afaaf4823c7c Mon Sep 17 00:00:00 2001
From: Fatpandac <1779196284@qq.com>
Date: Mon, 23 May 2022 18:19:49 +0800
Subject: [PATCH] fix(route): jike/topic add video (#9807)
---
lib/v2/jike/utils.js | 24 +++++++++++++++++++++++-
1 file changed, 23 insertions(+), 1 deletion(-)
diff --git a/lib/v2/jike/utils.js b/lib/v2/jike/utils.js
index fc24c2d104..0e4cbcef34 100644
--- a/lib/v2/jike/utils.js
+++ b/lib/v2/jike/utils.js
@@ -3,6 +3,8 @@ const got = require('@/utils/got');
const cheerio = require('cheerio');
const config = require('@/config').value;
+const videoAPI = 'https://api.ruguoapp.com/1.0/mediaMeta/play?type=ORIGINAL_POST';
+
module.exports = {
topicDataHanding: (data) =>
data.posts.map((item) => {
@@ -114,6 +116,11 @@ module.exports = {
});
}
+ // 6. 视频
+ if (item.video) {
+ description += `
`;
+ }
+
// rss标题
// 优先将音频和视频名作为标题
// 其次将正文内容作为标题
@@ -136,7 +143,22 @@ module.exports = {
const html = resp.data;
const $ = cheerio.load(html);
const raw = $('[type = "application/json"]').html();
- return JSON.parse(raw).props.pageProps;
+ const data = JSON.parse(raw).props.pageProps;
+ data.posts = await Promise.all(
+ data.posts.map(async (item) => {
+ if (!item.video) {
+ return item;
+ }
+
+ const videoUrl = `${videoAPI}&id=${item.id}`;
+ const videoRes = await got(videoUrl);
+ item.video = videoRes.data;
+
+ return item;
+ })
+ );
+
+ return data;
},
false,
config.cache.routeExpire