diff --git a/lib/net/bili.js b/lib/net/bili.js index 23ae9fb..9a19bb9 100644 --- a/lib/net/bili.js +++ b/lib/net/bili.js @@ -393,16 +393,22 @@ const bili_client = { }), { code, data } = strToJson(responseText), { card } = data || {}; - if (code !== 0) { - log.error('获取一个动态的细节', `获取动态(${dynamic_id})数据出错:\n${responseText}`); - return; + switch (code) { + case 0: + if (card) { + log.info('获取一个动态的细节', `动态id(${dynamic_id})`); + return card; + } else { + log.warn('获取一个动态的细节', `动态id(${dynamic_id})不存在`); + return; + } + case 500207: + log.warn('获取一个动态的细节', `动态id(${dynamic_id})该动态为包月充电专属可以给UP主充电后观看`); + return; + default: + log.error('获取一个动态的细节', `获取动态(${dynamic_id})数据出错:\n${responseText}`); + return; } - if (!card) { - log.warn('获取一个动态的细节', `动态(${dynamic_id})不存在`); - return; - } - log.info('获取一个动态的细节', `动态id(${dynamic_id})`); - return card; }, /** * 获取一组动态的信息 diff --git a/test/dynamic_card.test.js b/test/dynamic_card.test.js index ff21354..4d9d46b 100644 --- a/test/dynamic_card.test.js +++ b/test/dynamic_card.test.js @@ -4,7 +4,7 @@ const searcher = require("../lib/core/searcher"); const util = require('./util'); (async () => { - await util.par_run([0, 1, 2, 3], [ + await util.par_run([0, 1, 2, 3, 4], [ // 0 async () => { let info = await bili_client.getOneDynamicByDyid("728424890210713624"); @@ -29,10 +29,13 @@ const util = require('./util'); assert(card.chat_type == 17) assert(card.origin_chat_type == 11) }, + // 4 + async () => { + assert.equal(await bili_client.getOneDynamicByDyid("111111111111111111"), undefined); + assert.notEqual(await bili_client.getOneDynamicByDyid("746824225190314008"), undefined); + assert.equal(await bili_client.getOneDynamicByDyid("761475750233636886"), undefined); + }, ]) - - - console.log("dynamic_card.test ... ok!"); })() \ No newline at end of file diff --git a/test/index.js b/test/index.js index 70a4460..19d20ed 100644 --- a/test/index.js +++ b/test/index.js @@ -3,7 +3,7 @@ const global_var = require("../lib/data/global_var"); const { log } = require('../lib/utils'); const fs = require('fs'); -log._level = 1 +log._level = 2 env.init() global_var.init(process.env["COOKIE"], 1)