Open asd25213 opened 5 months ago
插件很有意思,这两天在看这个插件怎么写的,琢磨怎么改得更符合自己的习惯。
在这个过程中,注意到动态首页的直播间是显示不了的。
具体对应的代码如上图。
在自己尝试的过程中,发现应该是api改了。
上图使用的api是:/x/polymer/web-dynamic/v1/feed/all,获取的json里找不到代码中对应的live_rcmd
/x/polymer/web-dynamic/v1/feed/all
live_rcmd
但是我在看的过程中,找到对应的api是:https://api.bilibili.com/x/polymer/web-dynamic/v1/portal
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); } }
插件很有意思,这两天在看这个插件怎么写的,琢磨怎么改得更符合自己的习惯。
在这个过程中,注意到动态首页的直播间是显示不了的。
具体对应的代码如上图。
在自己尝试的过程中,发现应该是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)中试着加了下面这一段代码,效果如图: