mirror of
https://github.com/zhinianboke/xianyu-auto-reply.git
synced 2025-08-01 12:07:36 +08:00
删除注释代码
This commit is contained in:
parent
0292f743dc
commit
547c811145
42
README.md
42
README.md
@ -46,7 +46,7 @@
|
||||
- **批量管理** - 支持批量查看、编辑商品信息
|
||||
- **智能去重** - 自动去重,避免重复存储
|
||||
|
||||
### <EFBFBD> 商品搜索功能
|
||||
### 🔍 商品搜索功能
|
||||
- **真实数据获取** - 基于Playwright技术获取真实闲鱼商品数据
|
||||
- **智能排序** - 按"人想要"数量自动倒序排列
|
||||
- **多页搜索** - 支持一次性获取多页商品数据
|
||||
@ -297,7 +297,6 @@ docker rm -f xianyu-auto-reply
|
||||
|
||||
## ⚙️ 配置说明
|
||||
|
||||
|
||||
### 管理员密码配置
|
||||
|
||||
**重要**:为了系统安全,强烈建议修改默认管理员密码!
|
||||
@ -315,7 +314,6 @@ docker rm -f xianyu-auto-reply
|
||||
3. 在"修改密码"区域输入当前密码和新密码
|
||||
4. 点击"修改密码"按钮完成修改
|
||||
|
||||
|
||||
**密码管理机制**:
|
||||
- 数据库初始化时创建admin用户,密码为 `admin123`
|
||||
- 重启时如果用户表已存在,不重新初始化
|
||||
@ -437,43 +435,7 @@ curl http://localhost:8080/health
|
||||
|
||||
### 🔧 故障排除
|
||||
|
||||
#### 常见问题解决
|
||||
|
||||
**1. 商品搜索功能报错(Playwright浏览器问题)**
|
||||
```bash
|
||||
# 错误信息:Executable doesn't exist at /root/.cache/ms-playwright/chromium...
|
||||
|
||||
# 解决方案:重新构建镜像(推荐)
|
||||
docker-compose down
|
||||
docker-compose build --no-cache
|
||||
docker-compose up -d
|
||||
|
||||
# 或者手动修复(临时方案)
|
||||
docker exec -it xianyu-auto-reply bash
|
||||
playwright install chromium
|
||||
exit
|
||||
docker restart xianyu-auto-reply
|
||||
```
|
||||
|
||||
**2. JavaScript运行时错误**
|
||||
```bash
|
||||
# 错误信息:Could not find an available JavaScript runtime
|
||||
|
||||
# 解决方案1:重新构建镜像(推荐)
|
||||
docker-compose down
|
||||
docker-compose build --no-cache
|
||||
docker-compose up -d
|
||||
|
||||
# 解决方案2:手动修复
|
||||
docker exec -it xianyu-auto-reply bash
|
||||
apt-get update
|
||||
apt-get install -y nodejs npm
|
||||
python fix_js_runtime.py
|
||||
exit
|
||||
docker restart xianyu-auto-reply
|
||||
```
|
||||
|
||||
**2. 其他问题排查**
|
||||
**1. 问题排查**
|
||||
1. 查看日志:`docker-compose logs -f`
|
||||
2. 检查状态:`./docker-deploy.sh status`
|
||||
3. 健康检查:`curl http://localhost:8080/health`
|
||||
|
@ -107,11 +107,7 @@ class XianyuLive:
|
||||
self.confirmed_orders = {} # 记录已确认发货的订单,防止重复确认
|
||||
self.order_confirm_cooldown = 300 # 5分钟内不重复确认同一订单
|
||||
|
||||
# 人工接管功能已禁用,永远走自动模式
|
||||
# self.manual_mode_conversations = set() # 存储处于人工接管模式的会话ID
|
||||
# self.manual_mode_timeout = MANUAL_MODE.get('timeout', 3600) # 人工接管超时时间,默认1小时
|
||||
# self.manual_mode_timestamps = {} # 记录进入人工模式的时间
|
||||
# self.toggle_keywords = MANUAL_MODE.get('toggle_keywords', ['。']) # 切换关键词
|
||||
|
||||
self.session = None # 用于API调用的aiohttp session
|
||||
|
||||
def can_auto_delivery(self, item_id: str) -> bool:
|
||||
@ -130,39 +126,7 @@ class XianyuLive:
|
||||
self.last_delivery_time[item_id] = time.time()
|
||||
logger.debug(f"【{self.cookie_id}】标记商品 {item_id} 已发货")
|
||||
|
||||
# 人工接管功能已禁用,以下方法不再使用
|
||||
# def check_toggle_keywords(self, message):
|
||||
# """检查消息是否包含切换关键词"""
|
||||
# return any(keyword in message for keyword in self.toggle_keywords)
|
||||
|
||||
# def is_manual_mode(self, chat_id):
|
||||
# """检查是否处于人工接管模式"""
|
||||
# if chat_id in self.manual_mode_conversations:
|
||||
# # 检查是否超时
|
||||
# if time.time() - self.manual_mode_timestamps.get(chat_id, 0) > self.manual_mode_timeout:
|
||||
# self.exit_manual_mode(chat_id)
|
||||
# return False
|
||||
# return True
|
||||
# return False
|
||||
|
||||
# def enter_manual_mode(self, chat_id):
|
||||
# """进入人工接管模式"""
|
||||
# self.manual_mode_conversations.add(chat_id)
|
||||
# self.manual_mode_timestamps[chat_id] = time.time()
|
||||
|
||||
# def exit_manual_mode(self, chat_id):
|
||||
# """退出人工接管模式"""
|
||||
# self.manual_mode_conversations.discard(chat_id)
|
||||
# self.manual_mode_timestamps.pop(chat_id, None)
|
||||
|
||||
# def toggle_manual_mode(self, chat_id):
|
||||
# """切换人工接管模式"""
|
||||
# if self.is_manual_mode(chat_id):
|
||||
# self.exit_manual_mode(chat_id)
|
||||
# return False
|
||||
# else:
|
||||
# self.enter_manual_mode(chat_id)
|
||||
# return True
|
||||
|
||||
async def refresh_token(self):
|
||||
"""刷新token"""
|
||||
@ -1848,31 +1812,7 @@ class XianyuLive:
|
||||
logger.debug(f"提取用户ID失败: {self._safe_str(e)}")
|
||||
user_id = "unknown_user"
|
||||
|
||||
# 安全地获取商品ID
|
||||
# item_id = None
|
||||
# try:
|
||||
# # 尝试从reminderUrl中提取商品ID
|
||||
# message_1 = message.get("1")
|
||||
# if isinstance(message_1, dict):
|
||||
# reminder_data = message_1.get("10")
|
||||
# if isinstance(reminder_data, dict):
|
||||
# url_info = reminder_data.get("reminderUrl")
|
||||
# if isinstance(url_info, str) and "itemId=" in url_info:
|
||||
# item_id = url_info.split("itemId=")[1].split("&")[0]
|
||||
# logger.info(f"从reminderUrl提取商品ID: {item_id}")
|
||||
|
||||
# # 如果没有提取到,使用辅助方法
|
||||
# if not item_id:
|
||||
# item_id = self.extract_item_id_from_message(message)
|
||||
|
||||
# # 最后的fallback
|
||||
# if not item_id:
|
||||
# item_id = f"auto_{user_id}_{int(time.time())}"
|
||||
# logger.warning(f"无法提取商品ID,使用默认值: {item_id}")
|
||||
|
||||
# except Exception as e:
|
||||
# logger.error(f"提取商品ID时发生错误: {self._safe_str(e)}")
|
||||
# item_id = f"auto_{user_id}_{int(time.time())}"
|
||||
|
||||
# 安全地提取商品ID
|
||||
item_id = None
|
||||
@ -1951,12 +1891,7 @@ class XianyuLive:
|
||||
# 格式化消息时间
|
||||
msg_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(create_time/1000))
|
||||
|
||||
# 人工接管模式已禁用,永远走自动模式
|
||||
# if self.check_toggle_keywords(send_message):
|
||||
# is_manual = self.toggle_manual_mode(chat_id)
|
||||
# mode_str = "进入" if is_manual else "退出"
|
||||
# logger.info(f"[{msg_time}] 【系统】用户: {send_user_name} 的会话 {chat_id} [商品id: {item_id}] {mode_str}人工接管模式")
|
||||
# return
|
||||
|
||||
|
||||
# 判断消息方向
|
||||
if send_user_id == self.myid:
|
||||
@ -1969,10 +1904,7 @@ class XianyuLive:
|
||||
|
||||
|
||||
|
||||
# 人工接管模式已禁用,永远走自动模式
|
||||
# if self.is_manual_mode(chat_id):
|
||||
# logger.info(f"[{msg_time}] 【系统】会话 {chat_id} 处于人工接管模式,不自动回复")
|
||||
# return
|
||||
|
||||
|
||||
# 自动回复消息
|
||||
if not AUTO_REPLY.get('enabled', True):
|
||||
|
@ -372,10 +372,6 @@ def decrypt(data: str) -> str:
|
||||
raise Exception(f"解密失败: {str(e)}")
|
||||
|
||||
if __name__ == '__main__':
|
||||
# t = 1741667630548
|
||||
# token = 'b7e897bf9767618a32b439c6103fe1cb'
|
||||
# data = '{"appKey":"444e9908a51d1cb236a27862abc769c9","deviceId":"ED4CBA2C-5DA0-4154-A902-BF5CB52409E2-3888777108"}'
|
||||
# print(generate_sign(t, token, data))
|
||||
msg = "ggGLAYEBsjMxNDk2MzcwNjNAZ29vZmlzaAKzNDc5ODMzODkwOTZAZ29vZmlzaAOxMzQxNjU2NTI3NDU0Mi5QTk0EAAXPAAABlbKji20GggFlA4UBoAK6W+aIkeW3suaLjeS4i++8jOW+heS7mOasvl0DoAQaBdoEKnsiY29udGVudFR5cGUiOjI2LCJkeENhcmQiOnsiaXRlbSI6eyJtYWluIjp7ImNsaWNrUGFyYW0iOnsiYXJnMSI6Ik1zZ0NhcmQiLCJhcmdzIjp7InNvdXJjZSI6ImltIiwidGFza19pZCI6IjNleFFKSE9UbVBVMSIsIm1zZ19pZCI6ImNjOGJjMmRmN2M5MzRkZjA4NmUwNTY3Y2I2OWYxNTczIn19LCJleENvbnRlbnQiOnsiYmdDb2xvciI6IiNGRkZGRkYiLCJidXR0b24iOnsiYmdDb2xvciI6IiNGRkU2MEYiLCJib3JkZXJDb2xvciI6IiNGRkU2MEYiLCJjbGlja1BhcmFtIjp7ImFyZzEiOiJNc2dDYXJkQWN0aW9uIiwiYXJncyI6eyJzb3VyY2UiOiJpbSIsInRhc2tfaWQiOiIzZXhRSkhPVG1QVTEiLCJtc2dfaWQiOiJjYzhiYzJkZjdjOTM0ZGYwODZlMDU2N2NiNjlmMTU3MyJ9fSwiZm9udENvbG9yIjoiIzMzMzMzMyIsInRhcmdldFVybCI6ImZsZWFtYXJrZXQ6Ly9hZGp1c3RfcHJpY2U/Zmx1dHRlcj10cnVlJmJpek9yZGVySWQ9MjUwMzY4ODEyNjM1NjYzNjM3MCIsInRleHQiOiLkv67mlLnku7fmoLwifSwiZGVzYyI6Iuivt+WPjOaWueayn+mAmuWPiuaXtuehruiupOS7t+agvCIsImRlc2NDb2xvciI6IiNBM0EzQTMiLCJ0aXRsZSI6IuaIkeW3suaLjeS4i++8jOW+heS7mOasviIsInVwZ3JhZGUiOnsidGFyZ2V0VXJsIjoiaHR0cHM6Ly9oNS5tLmdvb2Zpc2guY29tL2FwcC9pZGxlRmlzaC1GMmUvZm0tZG93bmxhb2QvaG9tZS5odG1sP25vUmVkcmllY3Q9dHJ1ZSZjYW5CYWNrPXRydWUmY2hlY2tWZXJzaW9uPXRydWUiLCJ2ZXJzaW9uIjoiNy43LjkwIn19LCJ0YXJnZXRVcmwiOiJmbGVhbWFya2V0Oi8vb3JkZXJfZGV0YWlsP2lkPTI1MDM2ODgxMjYzNTY2MzYzNzAmcm9sZT1zZWxsZXIifX0sInRlbXBsYXRlIjp7Im5hbWUiOiJpZGxlZmlzaF9tZXNzYWdlX3RyYWRlX2NoYXRfY2FyZCIsInVybCI6Imh0dHBzOi8vZGluYW1pY3guYWxpYmFiYXVzZXJjb250ZW50LmNvbS9wdWIvaWRsZWZpc2hfbWVzc2FnZV90cmFkZV9jaGF0X2NhcmQvMTY2NzIyMjA1Mjc2Ny9pZGxlZmlzaF9tZXNzYWdlX3RyYWRlX2NoYXRfY2FyZC56aXAiLCJ2ZXJzaW9uIjoiMTY2NzIyMjA1Mjc2NyJ9fX0HAQgBCQAK3gAQpmJpelRhZ9oAe3sic291cmNlSWQiOiJDMkM6M2V4UUpIT1RtUFUxIiwidGFza05hbWUiOiLlt7Lmi43kuItf5pyq5LuY5qy+X+WNluWutiIsIm1hdGVyaWFsSWQiOiIzZXhRSkhPVG1QVTEiLCJ0YXNrSWQiOiIzZXhRSkhPVG1QVTEifbFjbG9zZVB1c2hSZWNlaXZlcqVmYWxzZbFjbG9zZVVucmVhZE51bWJlcqVmYWxzZaxkZXRhaWxOb3RpY2W6W+aIkeW3suaLjeS4i++8jOW+heS7mOasvl2nZXh0SnNvbtoBr3sibXNnQXJncyI6eyJ0YXNrX2lkIjoiM2V4UUpIT1RtUFUxIiwic291cmNlIjoiaW0iLCJtc2dfaWQiOiJjYzhiYzJkZjdjOTM0ZGYwODZlMDU2N2NiNjlmMTU3MyJ9LCJxdWlja1JlcGx5IjoiMSIsIm1zZ0FyZzEiOiJNc2dDYXJkIiwidXBkYXRlS2V5IjoiNDc5ODMzODkwOTY6MjUwMzY4ODEyNjM1NjYzNjM3MDoxX25vdF9wYXlfc2VsbGVyIiwibWVzc2FnZUlkIjoiY2M4YmMyZGY3YzkzNGRmMDg2ZTA1NjdjYjY5ZjE1NzMiLCJtdWx0aUNoYW5uZWwiOnsiaHVhd2VpIjoiRVhQUkVTUyIsInhpYW9taSI6IjEwODAwMCIsIm9wcG8iOiJFWFBSRVNTIiwiaG9ub3IiOiJOT1JNQUwiLCJhZ29vIjoicHJvZHVjdCIsInZpdm8iOiJPUkRFUiJ9LCJjb250ZW50VHlwZSI6IjI2IiwiY29ycmVsYXRpb25Hcm91cElkIjoiM2V4UUpIT1RtUFUxX0ZGcjRHT1NuOE9RbyJ9qHJlY2VpdmVyrTIyMDI2NDA5MTgwNzmrcmVkUmVtaW5kZXKy562J5b6F5Lmw5a625LuY5qy+sHJlZFJlbWluZGVyU3R5bGWhMa9yZW1pbmRlckNvbnRlbnS6W+aIkeW3suaLjeS4i++8jOW+heS7mOasvl2ucmVtaW5kZXJOb3RpY2W75Lmw5a625bey5ouN5LiL77yM5b6F5LuY5qy+rXJlbWluZGVyVGl0bGW75Lmw5a625bey5ouN5LiL77yM5b6F5LuY5qy+q3JlbWluZGVyVXJs2gCaZmxlYW1hcmtldDovL21lc3NhZ2VfY2hhdD9pdGVtSWQ9OTAwMDUyNjQ0Mjc3JnBlZXJVc2VySWQ9MzE0OTYzNzA2MyZwZWVyVXNlck5pY2s955S3KioqeSZzaWQ9NDc5ODMzODkwOTYmbWVzc2FnZUlkPWNjOGJjMmRmN2M5MzRkZjA4NmUwNTY3Y2I2OWYxNTczJmFkdj1ub6xzZW5kZXJVc2VySWSqMzE0OTYzNzA2M65zZW5kZXJVc2VyVHlwZaEwq3Nlc3Npb25UeXBloTGqdXBkYXRlSGVhZKR0cnVlDAEDgahuZWVkUHVzaKR0cnVl"
|
||||
msg = "ggGLAYEBsjMxNDk2MzcwNjNAZ29vZmlzaAKzNDc5ODMzODkwOTZAZ29vZmlzaAOxMzQxNjU2NTI3NDU0Mi5QTk0EAAXPAAABlbKji20GggFlA4UBoAK6W+aIkeW3suaLjeS4i++8jOW+heS7mOasvl0DoAQaBdoEKnsiY29udGVudFR5cGUiOjI2LCJkeENhcmQiOnsiaXRlbSI6eyJtYWluIjp7ImNsaWNrUGFyYW0iOnsiYXJnMSI6Ik1zZ0NhcmQiLCJhcmdzIjp7InNvdXJjZSI6ImltIiwidGFza19pZCI6IjNleFFKSE9UbVBVMSIsIm1zZ19pZCI6ImNjOGJjMmRmN2M5MzRkZjA4NmUwNTY3Y2I2OWYxNTczIn19LCJleENvbnRlbnQiOnsiYmdDb2xvciI6IiNGRkZGRkYiLCJidXR0b24iOnsiYmdDb2xvciI6IiNGRkU2MEYiLCJib3JkZXJDb2xvciI6IiNGRkU2MEYiLCJjbGlja1BhcmFtIjp7ImFyZzEiOiJNc2dDYXJkQWN0aW9uIiwiYXJncyI6eyJzb3VyY2UiOiJpbSIsInRhc2tfaWQiOiIzZXhRSkhPVG1QVTEiLCJtc2dfaWQiOiJjYzhiYzJkZjdjOTM0ZGYwODZlMDU2N2NiNjlmMTU3MyJ9fSwiZm9udENvbG9yIjoiIzMzMzMzMyIsInRhcmdldFVybCI6ImZsZWFtYXJrZXQ6Ly9hZGp1c3RfcHJpY2U/Zmx1dHRlcj10cnVlJmJpek9yZGVySWQ9MjUwMzY4ODEyNjM1NjYzNjM3MCIsInRleHQiOiLkv67mlLnku7fmoLwifSwiZGVzYyI6Iuivt+WPjOaWueayn+mAmuWPiuaXtuehruiupOS7t+agvCIsImRlc2NDb2xvciI6IiNBM0EzQTMiLCJ0aXRsZSI6IuaIkeW3suaLjeS4i++8jOW+heS7mOasviIsInVwZ3JhZGUiOnsidGFyZ2V0VXJsIjoiaHR0cHM6Ly9oNS5tLmdvb2Zpc2guY29tL2FwcC9pZGxlRmlzaC1GMmUvZm0tZG93bmxhb2QvaG9tZS5odG1sP25vUmVkcmllY3Q9dHJ1ZSZjYW5CYWNrPXRydWUmY2hlY2tWZXJzaW9uPXRydWUiLCJ2ZXJzaW9uIjoiNy43LjkwIn19LCJ0YXJnZXRVcmwiOiJmbGVhbWFya2V0Oi8vb3JkZXJfZGV0YWlsP2lkPTI1MDM2ODgxMjYzNTY2MzYzNzAmcm9sZT1zZWxsZXIifX0sInRlbXBsYXRlIjp7Im5hbWUiOiJpZGxlZmlzaF9tZXNzYWdlX3RyYWRlX2NoYXRfY2FyZCIsInVybCI6Imh0dHBzOi8vZGluYW1pY3guYWxpYmFiYXVzZXJjb250ZW50LmNvbS9wdWIvaWRsZWZpc2hfbWVzc2FnZV90cmFkZV9jaGF0X2NhcmQvMTY2NzIyMjA1Mjc2Ny9pZGxlZmlzaF9tZXNzYWdlX3RyYWRlX2NoYXRfY2FyZC56aXAiLCJ2ZXJzaW9uIjoiMTY2NzIyMjA1Mjc2NyJ9fX0HAQgBCQAK3gAQpmJpelRhZ9oAe3sic291cmNlSWQiOiJDMkM6M2V4UUpIT1RtUFUxIiwidGFza05hbWUiOiLlt7Lmi43kuItf5pyq5LuY5qy+X+WNluWutiIsIm1hdGVyaWFsSWQiOiIzZXhRSkhPVG1QVTEiLCJ0YXNrSWQiOiIzZXhRSkhPVG1QVTEifbFjbG9zZVB1c2hSZWNlaXZlcqVmYWxzZbFjbG9zZVVucmVhZE51bWJlcqVmYWxzZaxkZXRhaWxOb3RpY2W6W+aIkeW3suaLjeS4i++8jOW+heS7mOasvl2nZXh0SnNvbtoBr3sibXNnQXJncyI6eyJ0YXNrX2lkIjoiM2V4UUpIT1RtUFUxIiwic291cmNlIjoiaW0iLCJtc2dfaWQiOiJjYzhiYzJkZjdjOTM0ZGYwODZlMDU2N2NiNjlmMTU3MyJ9LCJxdWlja1JlcGx5IjoiMSIsIm1zZ0FyZzEiOiJNc2dDYXJkIiwidXBkYXRlS2V5IjoiNDc5ODMzODkwOTY6MjUwMzY4ODEyNjM1NjYzNjM3MDoxX25vdF9wYXlfc2VsbGVyIiwibWVzc2FnZUlkIjoiY2M4YmMyZGY3YzkzNGRmMDg2ZTA1NjdjYjY5ZjE1NzMiLCJtdWx0aUNoYW5uZWwiOnsiaHVhd2VpIjoiRVhQUkVTUyIsInhpYW9taSI6IjEwODAwMCIsIm9wcG8iOiJFWFBSRVNTIiwiaG9ub3IiOiJOT1JNQUwiLCJhZ29vIjoicHJvZHVjdCIsInZpdm8iOiJPUkRFUiJ9LCJjb250ZW50VHlwZSI6IjI2IiwiY29ycmVsYXRpb25Hcm91cElkIjoiM2V4UUpIT1RtUFUxX0ZGcjRHT1NuOE9RbyJ9qHJlY2VpdmVyrTIyMDI2NDA5MTgwNzmrcmVkUmVtaW5kZXKy562J5b6F5Lmw5a625LuY5qy+sHJlZFJlbWluZGVyU3R5bGWhMa9yZW1pbmRlckNvbnRlbnS6W+aIkeW3suaLjeS4i++8jOW+heS7mOasvl2ucmVtaW5kZXJOb3RpY2W75Lmw5a625bey5ouN5LiL77yM5b6F5LuY5qy+rXJlbWluZGVyVGl0bGW75Lmw5a625bey5ouN5LiL77yM5b6F5LuY5qy+q3JlbWluZGVyVXJs2gCaZmxlYW1hcmtldDovL21lc3NhZ2VfY2hhdD9pdGVtSWQ9OTAwMDUyNjQ0Mjc3JnBlZXJVc2VySWQ9MzE0OTYzNzA2MyZwZWVyVXNlck5pY2s955S3KioqeSZzaWQ9NDc5ODMzODkwOTYmbWVzc2FnZUlkPWNjOGJjMmRmN2M5MzRkZjA4NmUwNTY3Y2I2OWYxNTczJmFkdj1ub6xzZW5kZXJVc2VySWSqMzE0OTYzNzA2M65zZW5kZXJVc2VyVHlwZaEwq3Nlc3Npb25UeXBloTGqdXBkYXRlSGVhZKR0cnVlDAEDgahuZWVkUHVzaKR0cnVl"
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user