diff --git a/routes/jike/topic.js b/routes/jike/topic.js
index f343f8cd0..5eff74897 100644
--- a/routes/jike/topic.js
+++ b/routes/jike/topic.js
@@ -5,52 +5,43 @@ module.exports = async (ctx) => {
const id = ctx.params.id;
const response = await axios({
- method: 'get',
- url: `https://app.jike.ruguoapp.com/1.0/topics/get?id=${id}`,
+ method: 'post',
+ url: 'https://app.jike.ruguoapp.com/1.0/messages/history',
headers: {
'User-Agent': config.ua,
Referer: `https://m.okjike.com/topics/${id}`,
'App-Version': '4.1.0',
},
+ data: {
+ loadMoreKey: null,
+ topic: id,
+ limit: 20,
+ },
});
- const data = response.data;
+ const data = response.data.data;
+ const topic = data[0].topic;
ctx.state.data = {
- title: `${data.topic.content} - 即刻主题精选`,
+ title: `${topic.content} - 即刻主题精选`,
link: `https://web.okjike.com/topic/${id}/official`,
- description: data.topic.briefIntro,
- image: data.topic.pictureUrl,
- item: data.messages.map((item) => {
+ description: topic.content,
+ image: topic.squarePicture.picUrl || topic.squarePicture.middlePicUrl || topic.squarePicture.thumbnailUrl,
+ item: data.map((item) => {
let contentTemplate = item.content;
- if (item.linkUrl) {
- contentTemplate = `${item.content}`;
- }
- if (item.personalUpdate && item.personalUpdate.linkUrl) {
- contentTemplate = `${item.content}`;
+ if (item.linkInfo && (item.linkInfo.originalLinkUrl || item.linkInfo.linkUrl)) {
+ contentTemplate = `${item.content}`;
}
let imgTemplate = '';
- item.pictureUrls &&
- item.pictureUrls.forEach((item) => {
- imgTemplate += `
`;
- });
- item.personalUpdate &&
- item.personalUpdate.pictureUrls &&
- item.personalUpdate.pictureUrls.forEach((item) => {
+ item.pictures &&
+ item.pictures.forEach((item) => {
imgTemplate += `
`;
});
- let videoTemplate = '';
- if (item.video) {
- videoTemplate = `
视频:
`;
- }
- if (item.personalUpdate && item.personalUpdate.video) {
- videoTemplate = `
视频:
`;
- }
return {
title: item.content,
- description: `${contentTemplate}${imgTemplate}${videoTemplate}`,
+ description: `${contentTemplate}${imgTemplate}`,
pubDate: new Date(item.createdAt).toUTCString(),
link: `https://web.okjike.com/message-detail/${item.id}/officialMessage`,
};
diff --git a/routes/jike/topicSquare.js b/routes/jike/topicSquare.js
index e68a0bc58..35973afeb 100644
--- a/routes/jike/topicSquare.js
+++ b/routes/jike/topicSquare.js
@@ -4,7 +4,7 @@ const config = require('../../config');
module.exports = async (ctx) => {
const id = ctx.params.id;
- const itemData = await axios({
+ const response = await axios({
method: 'post',
url: 'https://app.jike.ruguoapp.com/1.0/squarePosts/list',
headers: {
@@ -18,33 +18,30 @@ module.exports = async (ctx) => {
limit: 20,
},
});
- const itemInfo = itemData.data.data;
+
+ const data = response.data.data;
+ const topic = data[0].topic;
ctx.state.data = {
- title: `${itemInfo[0].topic.content} - 即刻主题广场`,
+ title: `${topic.content} - 即刻主题广场`,
link: `https://web.okjike.com/topic/${id}/user`,
- description: itemInfo[0].topic.content,
- image: itemInfo[0].topic.squarePicture.thumbnailUrl,
- item: itemInfo.map((item) => {
- const user = '用户:' + item.user.screenName;
- const contentTemplate = `
${item.content}`;
+ description: topic.content,
+ image: topic.squarePicture.picUrl || topic.squarePicture.middlePicUrl || topic.squarePicture.thumbnailUrl,
+ item: data.map((item) => {
+ let contentTemplate = item.content;
+ if (item.linkInfo && (item.linkInfo.originalLinkUrl || item.linkInfo.linkUrl)) {
+ contentTemplate = `${item.content}`;
+ }
+
let imgTemplate = '';
- item.pictures.length > 0 &&
+ item.pictures &&
item.pictures.forEach((item) => {
- imgTemplate += `
`;
+ imgTemplate += `
`;
});
- const videoTemplate = '';
- // 暂时没找到有视频的信息,后续遇到再补充
- // if (item.video) {
- // videoTemplate = `
视频:
`;
- // }
- // if (item.personalUpdate && item.personalUpdate.video) {
- // videoTemplate = `
视频:
`;
- // }
return {
title: item.content,
- description: `${user}${contentTemplate}${imgTemplate}${videoTemplate}`,
+ description: `${item.user.screenName}: ${contentTemplate}${imgTemplate}`,
pubDate: new Date(item.createdAt).toUTCString(),
link: `https://web.okjike.com/post-detail/${item.id}/originalPost`,
};