Skip to content
Null edited this page May 11, 2018 · 8 revisions

项目概览

该项目后端使用了Node.js和Mongodb, 前端使用了bootstrap和Vue。

工作原理

向bilibili的以下接口发送请求以修改弹幕屏蔽列表:

登录:利用bilibili的OAuth接口

GET https://passport.bilibili.com/qrcode/getLoginUrl 获取OAuthKey和登录URL,用有cookie的浏览器打开登录URL确认登录即可。

POST https://passport.bilibili.com/qrcode/getLoginInfo 参数 {"oauthKey": oauthkey} 获取登录状态。如果成功登录则带cookie的url(应该也返回了cookie)。

数据储存

bilibili的cookie只储存在浏览器本地,不在服务器保存。

服务器对于每个用户都会在users里储存一条数据{"uid":Int, "token":String}。其中,token是在每一次用户登录时随机生成的,范围从0~100000000000的随机数。token会通过cookie返回给用户。

对于每一条用户分享规则,数据库存储为(注:这一块变化可能较大,请以实际为准):

{
    "uid": ...,
    "name": "...",
    "description": "...",
    "filters": [{"type": ..., "filter": ...}, ...],
    "time": new Date().getTime(),
    "vote": 0,
    "usage": 0,
    "comments": [{"uid": ..., "content": ...}, ...]
}
Clone this wiki locally