优化自动回复暂停时间

This commit is contained in:
zhinianboke 2025-08-20 17:00:06 +08:00
parent ffbd6a41f8
commit 7da13c379c
5 changed files with 49 additions and 36 deletions

3
.gitignore vendored
View File

@ -294,6 +294,8 @@ example_*.py
*_example.py *_example.py
demo_*.py demo_*.py
*_demo.py *_demo.py
fix_*.py
*_fix.py
# 文档文件除了README.md # 文档文件除了README.md
*.md *.md
@ -301,6 +303,7 @@ demo_*.py
!CHANGELOG.md !CHANGELOG.md
!CONTRIBUTING.md !CONTRIBUTING.md
!LICENSE.md !LICENSE.md
!docs/*.md
# 临时配置文件 # 临时配置文件
*.local.yml *.local.yml

View File

@ -3,11 +3,13 @@ FROM python:3.11-slim-bookworm
# 设置标签信息 # 设置标签信息
LABEL maintainer="zhinianboke" LABEL maintainer="zhinianboke"
LABEL version="2.1.0" LABEL version="2.2.0"
LABEL description="闲鱼自动回复系统 - 企业级多用户版本,支持自动发货和免拼发货" LABEL description="闲鱼自动回复系统 - 企业级多用户版本,支持自动发货和免拼发货"
LABEL repository="https://github.com/zhinianboke/xianyu-auto-reply" LABEL repository="https://github.com/zhinianboke/xianyu-auto-reply"
LABEL license="仅供学习使用,禁止商业用途" LABEL license="仅供学习使用,禁止商业用途"
LABEL author="zhinianboke" LABEL author="zhinianboke"
LABEL build-date=""
LABEL vcs-ref=""
# 设置工作目录 # 设置工作目录
WORKDIR /app WORKDIR /app

View File

@ -109,13 +109,8 @@ xianyu-auto-reply/
│ ├── index.html # 主管理界面(集成所有功能模块) │ ├── index.html # 主管理界面(集成所有功能模块)
│ ├── login.html # 用户登录页面 │ ├── login.html # 用户登录页面
│ ├── register.html # 用户注册页面(邮箱验证) │ ├── register.html # 用户注册页面(邮箱验证)
│ ├── user_management.html # 用户管理页面(管理员功能)
│ ├── data_management.html # 数据管理页面(导入导出)
│ ├── log_management.html # 日志管理页面(实时日志查看)
│ ├── item_search.html # 商品搜索页面(独立版本)
│ ├── js/ │ ├── js/
│ │ ├── app.js # 主要JavaScript逻辑 │ │ └── app.js # 主要JavaScript逻辑和所有功能模块
│ │ └── modules/ # 模块化JavaScript文件
│ ├── css/ │ ├── css/
│ │ ├── variables.css # CSS变量定义 │ │ ├── variables.css # CSS变量定义
│ │ ├── layout.css # 布局样式 │ │ ├── layout.css # 布局样式
@ -137,16 +132,23 @@ xianyu-auto-reply/
│ ├── wechat-group.png # 微信群二维码 │ ├── wechat-group.png # 微信群二维码
│ └── qq-group.png # QQ群二维码 │ └── qq-group.png # QQ群二维码
├── 🐳 Docker部署 ├── 🐳 Docker部署
│ ├── Dockerfile # Docker镜像构建文件 │ ├── Dockerfile # Docker镜像构建文件优化版
│ ├── Dockerfile-cn # 国内优化版Docker镜像构建文件
│ ├── docker-compose.yml # Docker Compose一键部署配置 │ ├── docker-compose.yml # Docker Compose一键部署配置
│ ├── docker-compose-cn.yml # 国内优化版Docker Compose配置
│ ├── docker-deploy.sh # Docker部署管理脚本Linux/macOS │ ├── docker-deploy.sh # Docker部署管理脚本Linux/macOS
│ ├── docker-deploy.bat # Docker部署管理脚本Windows │ ├── docker-deploy.bat # Docker部署管理脚本Windows
│ └── entrypoint.sh # Docker容器启动脚本 │ ├── entrypoint.sh # Docker容器启动脚本
│ └── .dockerignore # Docker构建忽略文件
├── 🌐 Nginx配置
│ └── nginx/
│ ├── nginx.conf # Nginx反向代理配置
│ └── ssl/ # SSL证书目录
├── 📋 配置文件 ├── 📋 配置文件
│ ├── global_config.yml # 全局配置文件WebSocket、API等 │ ├── global_config.yml # 全局配置文件WebSocket、API等
│ ├── requirements.txt # Python依赖包列表精简版 │ ├── requirements.txt # Python依赖包列表精简版,无内置模块
│ ├── .gitignore # Git忽略文件配置 │ ├── .gitignore # Git忽略文件配置(完整版)
│ └── README.md # 项目说明文档 │ └── README.md # 项目说明文档(本文件)
└── 📊 数据目录(运行时创建) └── 📊 数据目录(运行时创建)
├── data/ # 数据目录Docker挂载 ├── data/ # 数据目录Docker挂载
│ └── xianyu_data.db # SQLite数据库文件 │ └── xianyu_data.db # SQLite数据库文件
@ -407,30 +409,27 @@ python Start.py
- **`image_uploader.py`** - 图片上传工具支持多种CDN服务商、自动压缩、格式优化、批量上传 - **`image_uploader.py`** - 图片上传工具支持多种CDN服务商、自动压缩、格式优化、批量上传
### 🌐 前端界面 (`static/`) ### 🌐 前端界面 (`static/`)
- **`index.html`** - 主管理界面,包含账号管理、关键词管理、系统监控、实时状态显示 - **`index.html`** - 主管理界面,集成所有功能模块:账号管理、关键词管理、商品管理、发货管理、系统监控、用户管理等
- **`login.html`** - 用户登录页面,支持图形验证码、记住登录状态、多重安全验证 - **`login.html`** - 用户登录页面,支持图形验证码、记住登录状态、多重安全验证
- **`register.html`** - 用户注册页面,支持邮箱验证码、实时验证、密码强度检测 - **`register.html`** - 用户注册页面,支持邮箱验证码、实时验证、密码强度检测
- **`user_management.html`** - 用户管理页面,管理员专用,用户增删改查、权限管理 - **`js/app.js`** - 主要JavaScript逻辑包含所有功能模块前端交互、API调用、实时更新、数据管理、用户界面控制
- **`data_management.html`** - 数据管理页面支持Excel导入导出、数据备份、批量操作 - **`css/`** - 模块化样式文件,包含布局、组件、主题等分类样式,响应式设计,支持明暗主题切换
- **`log_management.html`** - 日志管理页面,实时日志查看、日志搜索过滤、日志下载
- **`item_search.html`** - 商品搜索页面,获取真实闲鱼商品数据,支持多条件搜索
- **`js/app.js`** - 主要JavaScript逻辑处理前端交互、API调用、实时更新
- **`css/`** - 模块化样式文件,包含布局、组件、主题等分类样式,响应式设计
- **`xianyu_js_version_2.js`** - 闲鱼JavaScript工具库加密解密、数据处理、API封装 - **`xianyu_js_version_2.js`** - 闲鱼JavaScript工具库加密解密、数据处理、API封装
- **`lib/`** - 前端依赖库包含Bootstrap、jQuery、Chart.js等第三方库 - **`lib/`** - 前端依赖库包含Bootstrap 5、Bootstrap Icons等第三方库
- **`uploads/images/`** - 图片上传目录,支持发货图片和其他媒体文件存储
### 🐳 部署配置 ### 🐳 部署配置
- **`Dockerfile`** - Docker镜像构建文件包含Python环境、Playwright浏览器、系统依赖支持无头模式运行 - **`Dockerfile`** - Docker镜像构建文件基于Python 3.11-slim包含Playwright浏览器、系统依赖支持无头模式运行,优化构建层级
- **`docker-compose.yml`** - Docker Compose配置支持一键部署、环境变量配置、资源限制、健康检查 - **`Dockerfile-cn`** - 国内优化版Docker镜像构建文件使用国内镜像源加速构建适合国内网络环境
- **`docker-deploy.sh`** - Docker部署管理脚本提供构建、启动、监控、日志查看等功能Linux/macOS - **`docker-compose.yml`** - Docker Compose配置支持一键部署、完整环境变量配置、资源限制、健康检查、可选Nginx代理
- **`docker-deploy.bat`** - Windows版本部署脚本支持Windows环境一键部署 - **`docker-compose-cn.yml`** - 国内优化版Docker Compose配置文件使用国内镜像源
- **`entrypoint.sh`** - Docker容器启动脚本处理环境初始化和服务启动 - **`docker-deploy.sh`** - Docker部署管理脚本提供构建、启动、停止、重启、监控、日志查看等功能Linux/macOS
- **`nginx/nginx.conf`** - Nginx反向代理配置支持负载均衡、SSL终端、WebSocket代 - **`docker-deploy.bat`** - Windows版本部署脚本支持Windows环境一键部署和管
- **`requirements.txt`** - Python依赖包列表精简版本无冗余依赖按功能分类组织包含详细说明 - **`entrypoint.sh`** - Docker容器启动脚本处理环境初始化、目录创建、权限设置和服务启动
- **`.gitignore`** - Git忽略文件配置完整覆盖Python、Docker、前端等开发文件 - **`nginx/nginx.conf`** - Nginx反向代理配置支持负载均衡、SSL终端、WebSocket代理、静态文件服务
- **`.dockerignore`** - Docker构建忽略文件优化构建上下文大小和构建速度 - **`requirements.txt`** - Python依赖包列表精简版本无内置模块按功能分类组织包含详细版本说明和安装指南
- **`Dockerfile-cn`** - 国内优化版Docker镜像构建文件使用国内镜像源加速构建 - **`.gitignore`** - Git忽略文件配置完整覆盖Python、Docker、前端、测试、临时文件等支持项目特定文件类型
- **`docker-compose-cn.yml`** - 国内优化版Docker Compose配置文件 - **`.dockerignore`** - Docker构建忽略文件优化构建上下文大小和构建速度排除不必要的文件和目录
## 🏗️ 详细技术架构 ## 🏗️ 详细技术架构

View File

@ -1189,7 +1189,7 @@ class DBManager:
'user_id': result[2], 'user_id': result[2],
'auto_confirm': bool(result[3]), 'auto_confirm': bool(result[3]),
'remark': result[4] or '', 'remark': result[4] or '',
'pause_duration': result[5] or 10, 'pause_duration': result[5] if result[5] is not None else 10,
'created_at': result[6] 'created_at': result[6]
} }
return None return None
@ -1244,11 +1244,19 @@ class DBManager:
self._execute_sql(cursor, "SELECT pause_duration FROM cookies WHERE id = ?", (cookie_id,)) self._execute_sql(cursor, "SELECT pause_duration FROM cookies WHERE id = ?", (cookie_id,))
result = cursor.fetchone() result = cursor.fetchone()
if result: if result:
return result[0] or 10 # 默认10分钟 if result[0] is None:
return 10 # 如果没有找到记录,返回默认值 logger.warning(f"账号 {cookie_id} 的pause_duration为NULL使用默认值10分钟并修复数据库")
# 修复数据库中的NULL值
self._execute_sql(cursor, "UPDATE cookies SET pause_duration = 10 WHERE id = ?", (cookie_id,))
self.conn.commit()
return 10
return result[0] # 返回实际值不使用or操作符
else:
logger.warning(f"账号 {cookie_id} 未找到记录使用默认值10分钟")
return 10
except Exception as e: except Exception as e:
logger.error(f"获取账号自动回复暂停时间失败: {e}") logger.error(f"获取账号自动回复暂停时间失败: {e}")
return 10 # 出错时返回默认值 return 10
def get_auto_confirm(self, cookie_id: str) -> bool: def get_auto_confirm(self, cookie_id: str) -> bool:
"""获取Cookie的自动确认发货设置""" """获取Cookie的自动确认发货设置"""

View File

@ -78,4 +78,5 @@ xlsxwriter>=3.1.0
# collections, itertools, functools, copy, pickle, gzip, zipfile, shutil # collections, itertools, functools, copy, pickle, gzip, zipfile, shutil
# tempfile, io, csv, xml, html, http, socket, ssl, subprocess, signal # tempfile, io, csv, xml, html, http, socket, ssl, subprocess, signal
# inspect, ast, enum, math, decimal, array, queue, contextlib, warnings # inspect, ast, enum, math, decimal, array, queue, contextlib, warnings
# typing, dataclasses, weakref, gc, platform, stat, glob, fnmatch # typing, dataclasses, weakref, gc, platform, stat, glob, fnmatch, mimetypes
# email, smtplib, imaplib, poplib, ftplib, telnetlib, configparser, argparse