mirror of
https://github.com/zhinianboke/xianyu-auto-reply.git
synced 2025-08-02 04:27:36 +08:00
8.7 KiB
8.7 KiB
📦 获取所有商品功能说明
📋 功能概述
在商品管理界面新增了"获取所有商品"功能,支持选择指定账号,一键获取该账号下的所有商品信息,并将详细结果打印到控制台。
✨ 主要功能
1. 界面功能
- 🎯 账号选择:使用现有的账号筛选下拉框选择目标账号
- 🔄 一键获取:点击"获取所有商品"按钮开始获取
- 📊 状态显示:按钮显示获取进度状态
- 🔔 结果通知:获取完成后显示成功消息和商品数量
2. 后端功能
- 🔐 账号验证:验证选中账号的有效性
- 🔄 自动重试:支持token失效时自动刷新重试(最多3次)
- 📝 详细日志:完整的获取过程日志记录
- 🖨️ 控制台输出:格式化的商品信息打印到控制台
🎯 使用方法
1. 访问商品管理
- 登录系统后,点击左侧菜单的"商品管理"
- 进入商品管理页面
2. 选择账号
- 在页面上方的"筛选账号"下拉框中选择目标账号
- 确保选择了有效的账号(不是"全部账号")
3. 获取商品
- 点击"获取所有商品"按钮
- 按钮会显示"获取中..."状态
- 等待获取完成
4. 查看结果
- 获取完成后会显示成功消息
- 控制台会打印详细的商品信息
- 商品列表会自动刷新
🔧 技术实现
前端实现
// 获取所有商品信息
async function getAllItemsFromAccount() {
const cookieSelect = document.getElementById('itemCookieFilter');
const selectedCookieId = cookieSelect.value;
// 调用后端API
const response = await fetch(`${apiBase}/items/get-all-from-account`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${authToken}`
},
body: JSON.stringify({
cookie_id: selectedCookieId
})
});
}
后端API
@app.post("/items/get-all-from-account")
async def get_all_items_from_account(request: dict, _: None = Depends(require_auth)):
"""从指定账号获取所有商品信息"""
# 1. 验证参数
# 2. 获取账号信息
# 3. 创建XianyuLive实例
# 4. 调用get_item_list_info方法
# 5. 返回结果
核心方法
async def get_item_list_info(self, retry_count=0):
"""获取商品信息,自动处理token失效的情况"""
# 1. 检查重试次数
# 2. 刷新token(如果需要)
# 3. 构造请求参数
# 4. 发送API请求
# 5. 处理响应结果
# 6. 打印商品信息到控制台
📊 API参数说明
请求参数
{
"cookie_id": "账号ID"
}
响应格式
{
"success": true,
"message": "成功获取 5 个商品,详细信息已打印到控制台",
"total_count": 5
}
错误响应
{
"success": false,
"message": "错误信息"
}
🖨️ 控制台输出格式
================================================================================
📦 账号 12345678 的商品列表 (5 个商品)
================================================================================
🔸 商品 1:
商品ID: 123456789
商品标题: iPhone 13 Pro Max 256G
价格: 6999
状态: 在售
创建时间: 2025-07-23 10:30:00
更新时间: 2025-07-23 16:45:00
图片数量: 8
详细信息: {
"id": "123456789",
"title": "iPhone 13 Pro Max 256G",
"price": "6999",
"status": "在售",
...
}
🔸 商品 2:
...
================================================================================
✅ 商品列表获取完成
================================================================================
⚠️ 注意事项
1. 使用限制
- 需要选择有效的账号(不能是"全部账号")
- 需要账号的cookie信息有效
- 需要网络连接正常
2. 错误处理
- Token失效时会自动刷新重试
- 最多重试3次,避免无限循环
- 网络异常时会显示错误信息
3. 性能考虑
- 获取过程可能需要几秒钟时间
- 大量商品时控制台输出较多
- 建议在网络良好时使用
🔮 功能特色
1. 智能重试机制
- 自动检测token失效
- 智能刷新token后重试
- 避免因token问题导致的失败
2. 详细信息输出
- 完整的商品信息展示
- 格式化的控制台输出
- 便于调试和分析
3. 用户友好界面
- 直观的操作按钮
- 实时状态反馈
- 清晰的成功/失败提示
4. 完整的日志记录
- 详细的操作日志
- 错误信息记录
- 便于问题排查
🚀 高级功能
1. 批量操作
- 多账号批量获取:一次性获取所有账号的商品信息
- 定时自动获取:设置定时任务自动更新商品信息
- 增量更新:只获取新增或变更的商品信息
- 并发处理:支持多账号并发获取,提高效率
2. 数据处理与分析
- 商品信息入库:自动将获取的商品信息存储到数据库
- 商品状态监控:监控商品上下架状态变化
- 价格变化追踪:跟踪商品价格变化趋势
- 销量统计:统计商品浏览量和销售数据
- 数据导出:支持导出为Excel、CSV等格式
3. 界面优化
- 商品信息表格:以表格形式展示商品详细信息
- 商品图片预览:显示商品主图和详情图
- 高级筛选:按价格、分类、状态等条件筛选
- 搜索功能:支持商品标题、描述的全文搜索
- 排序功能:按时间、价格、浏览量等排序
4. 智能分析
- 商品分类统计:自动分析商品分类分布
- 价格区间分析:分析不同价格区间的商品数量
- 热门商品识别:基于浏览量识别热门商品
- 库存预警:监控商品库存状态,及时预警
📊 数据统计
获取统计信息
- 总商品数量:账号下所有商品的总数
- 在售商品数:当前在售状态的商品数量
- 已售出商品数:已售出的商品数量
- 平均价格:所有商品的平均售价
- 价格分布:不同价格区间的商品分布
性能指标
- 获取速度:每秒获取的商品数量
- 成功率:获取成功的商品比例
- 错误率:获取失败的商品比例
- 响应时间:API响应时间统计
🔧 故障排除
常见问题及解决方案
问题1:获取失败
- 检查账号Cookie是否有效
- 确认网络连接是否正常
- 验证账号是否被限制
- 查看详细错误日志
问题2:获取速度慢
- 检查网络连接质量
- 确认服务器负载情况
- 优化获取策略
- 考虑分批次获取
问题3:数据不完整
- 检查API返回数据格式
- 确认商品状态是否正常
- 验证解析逻辑是否正确
- 查看控制台错误信息
问题4:Token频繁失效
- 检查Cookie有效期
- 确认账号登录状态
- 优化Token刷新策略
- 考虑降低获取频率
调试技巧
- 开启详细日志:查看完整的获取过程
- 单步测试:先测试单个商品获取
- 网络监控:监控网络请求和响应
- 数据验证:验证获取数据的完整性
💡 使用建议
最佳实践
- 合理频率:避免过于频繁的获取操作
- 错峰使用:在网络较好的时段进行获取
- 数据备份:定期备份重要的商品数据
- 监控告警:设置获取失败的告警机制
性能优化
- 缓存机制:缓存已获取的商品信息
- 增量更新:只获取变更的商品信息
- 并发控制:合理控制并发获取数量
- 资源管理:及时释放不需要的资源
安全考虑
- 权限控制:限制获取功能的使用权限
- 频率限制:设置合理的获取频率限制
- 数据保护:保护获取的商品数据安全
- 审计日志:记录所有获取操作的审计日志
🔮 未来规划
即将推出的功能
- 商品同步:支持与其他平台的商品信息同步
- 智能推荐:基于商品数据的智能推荐算法
- 自动定价:根据市场数据自动调整商品价格
- 竞品分析:分析同类商品的价格和销量
长期发展方向
- 大数据分析:基于海量商品数据的深度分析
- 机器学习:使用AI技术优化商品运营策略
- API开放:提供开放API供第三方系统集成
- 移动端支持:开发移动端应用,随时随地管理商品
🎉 获取所有商品功能为商品管理提供了强大的数据获取能力,是商品分析和运营的重要工具!通过持续优化和功能扩展,将为用户提供更加完善的商品管理解决方案。
🎉 获取所有商品功能已完成,支持一键获取指定账号的所有商品信息!