diff --git a/docs/dev/cookie.md b/docs/dev/cookie.md index 91ad6ce..a630125 100644 --- a/docs/dev/cookie.md +++ b/docs/dev/cookie.md @@ -94,11 +94,10 @@ sequenceDiagram - `refresh_anonymous_cookie(cls)` 移除已有的匿名 cookie,添加一个新的匿名 cookie,应该在 CCM 初始化时调用 - `add_user_cookie(cls, content: str)` 添加用户 cookie,在这里对 Cookie 进行检查并获取 cookie_name,写入数据库 -- `valid_cookie(cls, content: str) -> bool` 验证 cookie 内容是否有效,添加 cookie 时用,可根据平台的具体情况进行重写 -- `get_cookie_friendly_name(cls, cookie: Cookie) -> str` 获取 cookie 的友好名字,用于展示 - `_generate_hook(self, cookie: Cookie) -> callable` hook 函数生成器,用于回写请求状态到数据库 - `_choose_cookie(self, target: Target) -> Cookie` 选择 cookie 的具体算法 -- `get_client(self, target: Target | None) -> AsyncClient` 获取 client,根据 target 选择 cookie +- `add_user_cookie(cls, content: str, cookie_name: str | None = None) -> Cookie` 对外的接口,添加用户 cookie,内部会调用 Site 的方法进行检查 +- `get_client(self, target: Target | None) -> AsyncClient` 对外的接口,获取 client,根据 target 选择 cookie - `_assemble_client(self, client, cookie) -> AsyncClient` 组装 client,可以自定义 cookie 对象的 content 装配到 client 中的方式 CookieSite 的方法见上文 @@ -145,7 +144,7 @@ CookieSite 的方法见上文 - **is_universal**:用于标记 Cookie 是否为通用 Cookie,即对所有 Target 都有效。可以理解为是一种特殊的 target,添加 Cookie 和获取 Cookie 时通过传入参数进行设置。 -- **is_anonymous**:用于标记 Cookie 是否为匿名 Cookie,目前的定义是:可以由程序自动生成的,适用于所有 Target 的 Cookie。目前的逻辑是 bison 启动时,删除原有的匿名 cookie,再生成一个新的匿名 cookie。 +- **is_anonymous**:用于标记 Cookie 是否为匿名 Cookie,目前的定义是:可以由程序自动生成的,适用于所有 Target 的 Cookie。目前的逻辑是 bison 启动时,生成一个新的匿名 Cookie 并替换掉原有的匿名 Cookie。 - **无 Target 平台的 Cookie 处理方式** diff --git a/docs/usage/cookie.md b/docs/usage/cookie.md index 9118fb7..b1ab65b 100644 --- a/docs/usage/cookie.md +++ b/docs/usage/cookie.md @@ -33,8 +33,6 @@ Cookie 全局生效,这意味着,通过你的 Cookie 获取到的内容, 首先,需要明确的是,因为 Cookie 具有隐私性,所有与 Cookie 相关的操作,仅支持**管理员**通过**私聊**或者通过**WebUI**进行管理。 -同时,为确保安全,Cookie 在被添加到 Bison 之后,内容便**不会**再被展示,如有其他需要请提前保存。 - 目前,使用 Cookie 主要有两个步骤: - **添加 Cookie**: 将 Cookie 发给 Bison diff --git a/nonebot_bison/config/db_config.py b/nonebot_bison/config/db_config.py index 52c361b..7451292 100644 --- a/nonebot_bison/config/db_config.py +++ b/nonebot_bison/config/db_config.py @@ -369,7 +369,7 @@ class DBConfig: return res async def clear_db(self): - """清空数据库""" + """清空数据库,用于单元测试清理环境""" async with create_session() as sess: await sess.execute(delete(User)) await sess.execute(delete(Target))