Files
wechat_crawler/wxauto/param.py
李顺东 b66bac7ca8 feat: Initialize wxauto WeChat automation project with job extraction tools
- Add wxauto package with WeChat UI automation and message handling capabilities
- Implement job_extractor.py for automated job posting extraction from WeChat groups
- Add job_extractor_gui.py providing graphical interface for job extraction tool
- Create comprehensive documentation in Chinese covering GUI usage, multi-group support, and quick start guides
- Add build configuration files (build_exe.py, build_exe.spec) for packaging as standalone executable
- Include utility scripts for WeChat interaction (auto_send_msg.py, get_history.py, receive_file_transfer.py)
- Add project configuration files (pyproject.toml, setup.cfg, requirements.txt)
- Include test files (test_api.py, test_com_fix.py) for API and compatibility validation
- Add Apache 2.0 LICENSE and comprehensive README documentation
- Configure .gitignore to exclude build artifacts, logs, and temporary files
2026-02-11 14:49:38 +08:00

65 lines
1.8 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from typing import Literal
import os
PROJECT_NAME = 'wxauto'
class WxParam:
# 语言设置
LANGUAGE: Literal['cn', 'cn_t', 'en'] = 'cn'
# 是否启用日志文件
ENABLE_FILE_LOGGER: bool = True
# 下载文件/图片默认保存路径
DEFAULT_SAVE_PATH: str = os.path.join(os.getcwd(), 'wxauto文件下载')
# 是否启用消息哈希值用于辅助判断消息,开启后会稍微影响性能
MESSAGE_HASH: bool = False
# 头像到消息X偏移量用于消息定位点击消息等操作
DEFAULT_MESSAGE_XBIAS = 51
# 是否强制重新自动获取X偏移量如果设置为True则每次启动都会重新获取
FORCE_MESSAGE_XBIAS: bool = True
# 监听消息时间间隔,单位秒
LISTEN_INTERVAL: int = 1
# 搜索聊天对象超时时间
SEARCH_CHAT_TIMEOUT: int = 5
class WxResponse(dict):
def __init__(self, status: str, message: str, data: dict = None):
super().__init__(status=status, message=message, data=data)
def __str__(self):
return str(self.to_dict())
def __repr__(self):
return str(self.to_dict())
def to_dict(self):
return {
'status': self['status'],
'message': self['message'],
'data': self['data']
}
def __bool__(self):
return self.is_success
@property
def is_success(self):
return self['status'] == '成功'
@classmethod
def success(cls, message=None, data: dict = None):
return cls(status="成功", message=message, data=data)
@classmethod
def failure(cls, message: str, data: dict = None):
return cls(status="失败", message=message, data=data)
@classmethod
def error(cls, message: str, data: dict = None):
return cls(status="错误", message=message, data=data)