47 lines
2.1 KiB
Python
47 lines
2.1 KiB
Python
from wechat_ipad.provider_base import WechatProviderBase
|
||
from wechat_ipad.providers.server_864.base import Server864APIClientBase
|
||
from wechat_ipad.providers.server_864.friend_circle import FriendCircleMixin
|
||
from wechat_ipad.providers.server_864.friends import FriendMixin
|
||
from wechat_ipad.providers.server_864.group import ChatroomMixin
|
||
from wechat_ipad.providers.server_864.login import LoginMixin
|
||
from wechat_ipad.providers.server_864.message import MessageMixin
|
||
from wechat_ipad.providers.server_864.runtime import Server864RuntimeMixin
|
||
from wechat_ipad.providers.server_864.user import UserMixin
|
||
|
||
|
||
class Server864WechatClient(
|
||
LoginMixin,
|
||
MessageMixin,
|
||
FriendCircleMixin,
|
||
FriendMixin,
|
||
ChatroomMixin,
|
||
UserMixin,
|
||
Server864RuntimeMixin,
|
||
WechatProviderBase,
|
||
):
|
||
"""864 风格 server 的独立 provider。
|
||
|
||
说明:
|
||
1. 这里保持与 855 provider 类似的模块拆分方式,方便未来继续并行维护多个 server;
|
||
2. 但内部实现完全独立,不在 855 provider 里堆 `if server_type == 864` 分支;
|
||
3. 第一版优先覆盖当前项目真实主链路与常用管理能力,后续再按需要补更多高级接口。
|
||
"""
|
||
|
||
provider_name = "server_864"
|
||
server_type = "server_864"
|
||
|
||
def __init__(self, ip: str, port: int, **kwargs):
|
||
"""初始化 864 provider。"""
|
||
server_key = str(kwargs.pop("server_key", "") or "").strip()
|
||
Server864APIClientBase.__init__(self, ip, port, server_key=server_key, **kwargs)
|
||
MessageMixin.__init__(self)
|
||
self._init_runtime_state()
|
||
|
||
async def run_login_health_check(self) -> bool:
|
||
"""执行 864 provider 的登录态巡检。"""
|
||
# 864 当前不依赖 855 那套“二次自动校验”模型:
|
||
# 1. 登录状态更多由服务端维护,客户端不需要额外补一次旧版登录恢复动作;
|
||
# 2. 因此这里显式返回 False,表示“本 provider 没有额外巡检动作”,避免系统任务报错;
|
||
# 3. 后续如果 864 需要补自己的巡检逻辑,也只需要在本 provider 内部扩展。
|
||
return False
|