BilibiliPotPlayer icon indicating copy to clipboard operation
BilibiliPotPlayer copied to clipboard

显示动态首页的直播间

Open asd25213 opened this issue 1 year ago • 0 comments

插件很有意思,这两天在看这个插件怎么写的,琢磨怎么改得更符合自己的习惯。

在这个过程中,注意到动态首页的直播间是显示不了的。

图片

Snipaste_2024-05-15_19-15-50

具体对应的代码如上图。

在自己尝试的过程中,发现应该是api改了。

上图使用的api是:/x/polymer/web-dynamic/v1/feed/all,获取的json里找不到代码中对应的live_rcmd

但是我在看的过程中,找到对应的api是:https://api.bilibili.com/x/polymer/web-dynamic/v1/portal

为此我在webDynamic(string path)中试着加了下面这一段代码,效果如图:

{
	//动态首页一些窗口的api
	string url = "/x/polymer/web-dynamic/v1/portal";
	string res = apiPost(url);
	if (res.empty() || !Reader.parse(res, Root) || !Root.isObject() || Root["code"].asInt() != 0) 
		return videos;
	JsonValue items = Root["data"]["live_users"]["items"];
	//["live_users"]可能为null,但是插件的语言好像可以处理空指针,不会报错,就这么写了。
	dictionary live;
	for (int i = 0; i < items.size(); i++) {
		JsonValue item = items[i];

		live["title"] 		= "直播 | " + item["title"].asString();
		live["url"] 		= item["jump_url"].asString();
		live["thumbnail"] 	= item["face"].asString();
		live["author"] 		= item["uname"].asString();
		videos.insertLast(live);
	}
}

图片

asd25213 avatar May 15 '24 11:05 asd25213