diff --git a/lib/v2/bilibili/dynamic.js b/lib/v2/bilibili/dynamic.js index 1f779ac3e7..e151c8b067 100644 --- a/lib/v2/bilibili/dynamic.js +++ b/lib/v2/bilibili/dynamic.js @@ -3,7 +3,6 @@ const JSONbig = require('json-bigint'); const utils = require('./utils'); const { parseDate } = require('@/utils/parse-date'); const { fallback, queryToBoolean } = require('@/utils/readable-social'); -const querystring = require('querystring'); const cache = require('./cache'); /** @@ -69,12 +68,14 @@ const cache = require('./cache'); module.exports = async (ctx) => { const uid = ctx.params.uid; - const routeParams = querystring.parse(ctx.params.routeParams); + const routeParams = Object.fromEntries(new URLSearchParams(ctx.params.routeParams)); const showEmoji = fallback(undefined, queryToBoolean(routeParams.showEmoji), false); const disableEmbed = fallback(undefined, queryToBoolean(routeParams.disableEmbed), false); const displayArticle = ctx.query.mode === 'fulltext'; const useAvid = fallback(undefined, queryToBoolean(routeParams.useAvid), false); + const [author, face] = await cache.getUsernameAndFaceFromUID(ctx, uid); + const response = await got({ method: 'get', url: `https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/space_history?host_uid=${uid}`, @@ -217,15 +218,16 @@ module.exports = async (ctx) => { })(), pubDate: item.desc?.timestamp ? parseDate(item.desc.timestamp, 'X') : null, link, + author, }; }) ); ctx.state.data = { - title: `${cards[0]?.desc?.user_profile?.info.uname} 的 bilibili 动态`, + title: `${author} 的 bilibili 动态`, link: `https://space.bilibili.com/${uid}/dynamic`, - description: `${cards[0]?.desc?.user_profile?.info?.uname} 的 bilibili 动态`, - image: cards[0]?.desc?.user_profile?.info?.face, + description: `${author} 的 bilibili 动态`, + image: face, item: items, }; };