Closed Well2333 closed 7 months ago
此配置文件包含三个主要部分:config
,uploaders
,和 users
。
config
-> object这部分包含了应用的基本配置项。字段如下:
dynamic_grpc
(boolean
): 是否启用gRPC刷取动态,默认为 false
。dynamic_interval
(integer
): 动态轮询间隔(秒),范围大于 60
,默认为 90
。live_interval
(integer
): 直播轮询间隔(秒),范围大于 10
,默认为 30
。push_delay
(integer
): 每条推送的延迟(秒),默认为 3
。subs_limit
(integer
): 全局订阅数量限制,范围 0
到 50
,默认为 5
。uploaders
-> array这部分定义了上传者的列表。每个上传者对象包含以下字段:
nickname
(string
): UP 的昵称,可能为 ""。uid
(integer
): UP 的 B 站 UID。living
(integer
): 直播状态标识,在 WebUI 中无意义。dyn_offset
(integer
): 动态偏移量,在 WebUI 中无意义。users
-> array这部分定义了用户的列表。每个用户对象包含以下字段:
user_id
(string
): 用户唯一标识符。platform
(string
): 用户平台,例如 "QQ Group",采用 SAA 的命名。at_all
(boolean
): 是否@所有人,默认为 false
。subscriptions
(数组): 订阅配置列表,每个对象包含以下字段:
uid
(integer
): UP 的 B 站 UID。dynamic
(boolean
): 是否订阅动态,默认为 true
。dynamic_at_all
(boolean
): 动态是否@所有人,默认为 false
。live
(boolean
): 是否订阅直播,默认为 true
。live_at_all
(boolean
): 直播是否@所有人,默认为 false
。{
"config": {
"dynamic_grpc": false,
"dynamic_interval": 90,
"live_interval": 30,
"push_delay": 3,
"subs_limit": 5
},
"uploaders": [
{
"dyn_offset": 0,
"living": -1,
"nickname": "Well404",
"uid": 33138220
}
],
"users": [
{
"at_all": false,
"platform": "QQ Group",
"subscriptions": [
{
"dynamic": true,
"dynamic_at_all": true,
"live": true,
"live_at_all": false,
"uid": 33138220
}
],
"user_id": "123456"
}
]
}
配置保存后,应使用PUT方法上传至相同的API。如果上传成功,服务器将返回修改后的配置文件;如果失败,状态值可能为400或422,并附带失败原因。
建议更改为固定状态200 然后在model内附带code和msg进行判断
{
"code":200,
"msg":"请求成功"
"data":{}
}
{
"code":400,
"msg":"请求参数缺失"
"data":{}
}
此页面提供了直接将 bilibili 的 Cookies 直接上传至服务器的功能,也可以生成一个油猴脚本,在用户访问 bilibili 时自动将 cookies 上传至服务器
此部分无法实现,bilibili 的 Cookie 有部分设置为httponly 例如SESSDATA,设置为httponly的cookie无法通过js访问,测试版的油猴有一个GM_cookie功能可以读取,但此功能从未上过油猴正式版,我们无法要求用户使用测试版的油猴
配置保存后,应使用PUT方法上传至相同的API。如果上传成功,服务器将返回修改后的配置文件;如果失败,状态值可能为400或422,并附带失败原因。
建议更改为固定状态200 然后在model内附带code和msg进行判断{ "code":200, "msg":"请求成功" "data":{} }
{ "code":400, "msg":"请求参数缺失" "data":{} }
真并不符合 restful 的设计规范,如果前端实在无法解决我可以考虑在header中添加一个参数来控制使用那种方式进行通信
此页面提供了直接将 bilibili 的 Cookies 直接上传至服务器的功能,也可以生成一个油猴脚本,在用户访问 bilibili 时自动将 cookies 上传至服务器
此部分无法实现,bilibili 的 Cookie 有部分设置为httponly 例如SESSDATA,设置为httponly的cookie无法通过js访问,测试版的油猴有一个GM_cookie功能可以读取,但此功能从未上过油猴正式版,我们无法要求用户使用测试版的油猴
可以参考现有的脚本,其可以正常工作,不需要测试版 tampermonkey
此页面提供了直接将 bilibili 的 Cookies 直接上传至服务器的功能,也可以生成一个油猴脚本,在用户访问 bilibili 时自动将 cookies 上传至服务器
此部分无法实现,bilibili 的 Cookie 有部分设置为httponly 例如SESSDATA,设置为httponly的cookie无法通过js访问,测试版的油猴有一个GM_cookie功能可以读取,但此功能从未上过油猴正式版,我们无法要求用户使用测试版的油猴可以参考现有的脚本,其可以正常工作,不需要测试版 tampermonkey
经过测试 现有脚本无法正常工作
此页面提供了直接将 bilibili 的 Cookies 直接上传至服务器的功能,也可以生成一个油猴脚本,在用户访问 bilibili 时自动将 cookies 上传至服务器
此部分无法实现,bilibili 的 Cookie 有部分设置为httponly 例如SESSDATA,设置为httponly的cookie无法通过js访问,测试版的油猴有一个GM_cookie功能可以读取,但此功能从未上过油猴正式版,我们无法要求用户使用测试版的油猴可以参考现有的脚本,其可以正常工作,不需要测试版 tampermonkey
经过测试 现有脚本无法正常工作
可以将此部分移除,仅保留上传接口
感谢 wosiwq 大佬的项目 https://github.com/wosiwq/nonebot-plugin-bilichat-webui 目前WebUI的预览已部署在 https://unrivaled-sprite-65b8cc.netlify.app/
希望能解决的问题
在 bilichat 的 v5 版本中计划添加 WebUI 以实现更加直观、便捷、简易的使用体验。
但由于个人技术不足,很难独自完成WebUI的前端部分开发。因此,我在此恳请社区的开发者们加入这一努力,帮助我们完成这个重要的里程碑。
如果你对前端开发有经验,或者对该项目感兴趣并愿意贡献一己之力,请不要犹豫,你的帮助将对项目产生深远的影响。
描述所需要的功能
页面设计
目前,WebUI需要包含三个主要页面:
主页:
主页应当对插件的各个子功能进行有效的引导,提供直观的用户界面。
如果设计允许,也可将其他子功能直接整合到主页中。
Bilibili Cookies 更新:
此部分已有通过 ChatGPT4 编写的初步实现,已经可以投入使用,可以进一步的优化。
此页面提供了直接将 bilibili 的 Cookies 直接上传至服务器的功能,也可以生成一个油猴脚本,在用户访问 bilibili 时自动将 cookies 上传至服务器
订阅配置项更新:
这个页面的目的是为了让用户能够直观地管理每个用户(包括群组和频道)的订阅信息,以及订阅部分的整体配置信息。
uploader
在前端中无需展示,但前端在展示订阅时可以从中获取对应UP主的信息(如昵称)。其他信息
nonebot_plugin_bilichat/api/
,挂载在/{path}/api/
下,在 WebUI 启动时会在日志中输出在本机中的访问地址http://{ip}:{port}/{path}/api/
,例如http://127.0.0.1:8080/bilichat/api/
。