贴吧接口层
新增特性
- `types` 中原来的 `Forum` 被重命名为 `BasicForum` 并新增一系列容器定义,如 `RankUser` `RankUsers` `MemberUser` `MemberUsers` 等,以支持对 `client.Client` 中各个类方法的返回值优化工作
- `types` 中 `BasicUserInfo` 的 `nick_name` 属性被移动至 `UserInfo` 。现在 `BasicUserInfo` 仅包含不变量。 `UserInfo` 的类属性被大幅扩充
- `client.Client` 中,方法 `get_bawu_dict` 更名为 `get_bawu_info`
- `client.Client` 中,一系列方法的返回值得到优化,同时附带名称变更,如 `get_rank_list` 更名为 `get_rank_users` 并返回 `RankUsers` 而不是原来的 `Tuple[List[Tuple[str, int, int, bool]], bool]`
- 由于官方对贴吧吧务后台进行了优化,仅传递 `portrait` 参数的封禁请求以及仅传递 `user_id` 参数的解封请求都不再会导致被封用户的头像和主页链接丢失,因此方法 `Client.block` 和 `Client.unblock` 的参数 `user (BasicUserInfo)` 变更为 `_id (str | int)` 以允许更快捷的方法调用
- 由于官方对解封申诉相关的技术栈进行了优化,并在官方层面支持批量申诉处理。现在 `Client.get_unblock_appeals` 方法使用 `/mo/q/getBawuAppealList` 来获取 `json` 格式数据,而相对地,原有的 `Client.get_unblock_appeal_list` 方法使用 `/mo/q/bawuappeal` 来获取 `ajax-html` 格式数据。现在 `Client.handle_unblock_appeals` 使用 `/mo/q/multiAppealhandle` 来实现批量申诉处理
- 新增 `Client.get_portrait` 来获取用户头像,支持小、中、原图三种尺寸
- `reviewer.Reviewer` 使用类属性 `img_hasher` 来保留图像哈希缓存区,避免重复申请内存。该优化需要 `opencv-contrib-python>=4.6.0.66` 支持
- 进一步推广使用限定位置形参和限定关键字形参来规范函数调用时的语义表达
变化特性
- 从**代码即文档**的思想出发,广泛使用 `property` 来为类属性添加注释,同时设置一批只读属性
- 由于批量申诉处理得到了官方层面的支持,因此 `reviewer.Reviewer` 中的方法 `refuse_unblock_appeals` 被弃用
应用层
新增特性
- 新指令 `recover` 用于恢复删帖
- 由于 `client.Client` 中的方法变动,调整了教程文档的内容