feat: 动态详情新老api共存

This commit is contained in:
shanmite 2024-05-03 09:28:22 +08:00
parent fc41750323
commit 1e7d8b2370
4 changed files with 21 additions and 15 deletions

View File

@ -55,10 +55,14 @@ const { log } = utils
* @property {number} type * @property {number} type
* @property {boolean} hasOfficialLottery 是否官方 * @property {boolean} hasOfficialLottery 是否官方
* *
* @param {object} ditem * @param {object} data
* @return {UsefulDynamicInfo} * @return {UsefulDynamicInfo}
*/ */
function parseDynamicCard(ditem) { function parseDynamicCard(data) {
if (data?.card?.desc?.uid) {
return oldParseDynamicCard(data?.card)
}
let ditem = data?.item;
/**临时储存单个动态中的信息 */ /**临时储存单个动态中的信息 */
let obj = {}; let obj = {};
try { try {

View File

@ -5,7 +5,7 @@ module.exports = Object.freeze({
DYNAMIC_REPOST_SHARE: 'https://api.vc.bilibili.com/dynamic_repost/v1/dynamic_repost/share', DYNAMIC_REPOST_SHARE: 'https://api.vc.bilibili.com/dynamic_repost/v1/dynamic_repost/share',
DYNAMIC_SVR_CREATE_DRAW: 'https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/create_draw', DYNAMIC_SVR_CREATE_DRAW: 'https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/create_draw',
DYNAMIC_SVR_CREATE: 'https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/create', DYNAMIC_SVR_CREATE: 'https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/create',
X_POLYMER_WEB_DYNAMIC_V1_DETAIL: 'https://api.bilibili.com/x/polymer/web-dynamic/v1/detail', DYNAMIC_SVR_GET_DYNAMIC_DETAIL: 'https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/get_dynamic_detail',
DYNAMIC_SVR_RM_DYNAMIC: 'https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/rm_dynamic', DYNAMIC_SVR_RM_DYNAMIC: 'https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/rm_dynamic',
DYNAMIC_SVR_SPACE_HISTORY: 'https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/space_history', DYNAMIC_SVR_SPACE_HISTORY: 'https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/space_history',
FEED_GET_ATTENTION_LIST: 'https://api.vc.bilibili.com/feed/v1/feed/get_attention_list', FEED_GET_ATTENTION_LIST: 'https://api.vc.bilibili.com/feed/v1/feed/get_attention_list',
@ -38,4 +38,5 @@ module.exports = Object.freeze({
WEB_INTERFACE_CARD: 'https://api.bilibili.com/x/web-interface/card', WEB_INTERFACE_CARD: 'https://api.bilibili.com/x/web-interface/card',
WEB_INTERFACE_NAV_STAT: "https://api.bilibili.com/x/web-interface/nav/stat", WEB_INTERFACE_NAV_STAT: "https://api.bilibili.com/x/web-interface/nav/stat",
WEB_INTERFACE_SEARCH_TYPE: 'https://api.bilibili.com/x/web-interface/search/type', WEB_INTERFACE_SEARCH_TYPE: 'https://api.bilibili.com/x/web-interface/search/type',
X_POLYMER_WEB_DYNAMIC_V1_DETAIL: 'https://api.bilibili.com/x/polymer/web-dynamic/v1/detail',
}) })

View File

@ -422,20 +422,21 @@ const bili_client = {
id id
} }
}), }),
(dynamic_id) => get({
url: API.DYNAMIC_SVR_GET_DYNAMIC_DETAIL,
config: { retry: false },
query: {
dynamic_id
}
}),
] ]
, responseText => { , responseText => {
const const
res = strToJson(responseText), res = strToJson(responseText),
{ code, data } = res, { code, data } = res;
{ item } = data || {},
{ id_str } = item || {};
switch (code) { switch (code) {
case 0: case 0:
if (item && id_str) { return [false, data, `ok`];
return [false, item, `ok`];
} else {
return [false, undefined, `获取动态数据异常:\n${responseText}`];
}
default: default:
return [true, undefined, `获取动态数据出错:\n${responseText}`] return [true, undefined, `获取动态数据出错:\n${responseText}`]
} }

View File

@ -4,7 +4,7 @@ const searcher = require("../lib/core/searcher");
const util = require('./util'); const util = require('./util');
(async () => { (async () => {
await util.par_run([3], [ await util.par_run([0, 1, 2, 3, 4, 5, 6, 7, 8], [
// 0 // 0
async () => { async () => {
let info = await bili_client.getOneDynamicByDyid("728424890210713624"); let info = await bili_client.getOneDynamicByDyid("728424890210713624");
@ -31,9 +31,9 @@ const util = require('./util');
}, },
// 4 // 4
async () => { async () => {
assert.equal(await bili_client.getOneDynamicByDyid("111111111111111111"), undefined); // assert.equal(await bili_client.getOneDynamicByDyid("111111111111111111"), undefined);
assert.notEqual(await bili_client.getOneDynamicByDyid("746824225190314008"), undefined); // assert.notEqual(await bili_client.getOneDynamicByDyid("746824225190314008"), undefined);
assert.equal(await bili_client.getOneDynamicByDyid("761475750233636886"), undefined); // assert.equal(await bili_client.getOneDynamicByDyid("761475750233636886"), undefined);
}, },
// 5 // 5
async () => { async () => {