mirror of
https://github.com/zhinianboke/xianyu-auto-reply.git
synced 2025-08-02 12:37:35 +08:00
302 lines
8.7 KiB
Markdown
302 lines
8.7 KiB
Markdown
# 📦 获取所有商品功能说明
|
||
|
||
## 📋 功能概述
|
||
|
||
在商品管理界面新增了"获取所有商品"功能,支持选择指定账号,一键获取该账号下的所有商品信息,并将详细结果打印到控制台。
|
||
|
||
## ✨ 主要功能
|
||
|
||
### 1. 界面功能
|
||
- 🎯 **账号选择**:使用现有的账号筛选下拉框选择目标账号
|
||
- 🔄 **一键获取**:点击"获取所有商品"按钮开始获取
|
||
- 📊 **状态显示**:按钮显示获取进度状态
|
||
- 🔔 **结果通知**:获取完成后显示成功消息和商品数量
|
||
|
||
### 2. 后端功能
|
||
- 🔐 **账号验证**:验证选中账号的有效性
|
||
- 🔄 **自动重试**:支持token失效时自动刷新重试(最多3次)
|
||
- 📝 **详细日志**:完整的获取过程日志记录
|
||
- 🖨️ **控制台输出**:格式化的商品信息打印到控制台
|
||
|
||
## 🎯 使用方法
|
||
|
||
### 1. 访问商品管理
|
||
1. 登录系统后,点击左侧菜单的"商品管理"
|
||
2. 进入商品管理页面
|
||
|
||
### 2. 选择账号
|
||
1. 在页面上方的"筛选账号"下拉框中选择目标账号
|
||
2. 确保选择了有效的账号(不是"全部账号")
|
||
|
||
### 3. 获取商品
|
||
1. 点击"获取所有商品"按钮
|
||
2. 按钮会显示"获取中..."状态
|
||
3. 等待获取完成
|
||
|
||
### 4. 查看结果
|
||
1. 获取完成后会显示成功消息
|
||
2. 控制台会打印详细的商品信息
|
||
3. 商品列表会自动刷新
|
||
|
||
## 🔧 技术实现
|
||
|
||
### 前端实现
|
||
```javascript
|
||
// 获取所有商品信息
|
||
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
|
||
```python
|
||
@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. 返回结果
|
||
```
|
||
|
||
### 核心方法
|
||
```python
|
||
async def get_item_list_info(self, retry_count=0):
|
||
"""获取商品信息,自动处理token失效的情况"""
|
||
# 1. 检查重试次数
|
||
# 2. 刷新token(如果需要)
|
||
# 3. 构造请求参数
|
||
# 4. 发送API请求
|
||
# 5. 处理响应结果
|
||
# 6. 打印商品信息到控制台
|
||
```
|
||
|
||
## 📊 API参数说明
|
||
|
||
### 请求参数
|
||
```json
|
||
{
|
||
"cookie_id": "账号ID"
|
||
}
|
||
```
|
||
|
||
### 响应格式
|
||
```json
|
||
{
|
||
"success": true,
|
||
"message": "成功获取 5 个商品,详细信息已打印到控制台",
|
||
"total_count": 5
|
||
}
|
||
```
|
||
|
||
### 错误响应
|
||
```json
|
||
{
|
||
"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刷新策略
|
||
- 考虑降低获取频率
|
||
|
||
### 调试技巧
|
||
1. **开启详细日志**:查看完整的获取过程
|
||
2. **单步测试**:先测试单个商品获取
|
||
3. **网络监控**:监控网络请求和响应
|
||
4. **数据验证**:验证获取数据的完整性
|
||
|
||
## 💡 使用建议
|
||
|
||
### 最佳实践
|
||
1. **合理频率**:避免过于频繁的获取操作
|
||
2. **错峰使用**:在网络较好的时段进行获取
|
||
3. **数据备份**:定期备份重要的商品数据
|
||
4. **监控告警**:设置获取失败的告警机制
|
||
|
||
### 性能优化
|
||
1. **缓存机制**:缓存已获取的商品信息
|
||
2. **增量更新**:只获取变更的商品信息
|
||
3. **并发控制**:合理控制并发获取数量
|
||
4. **资源管理**:及时释放不需要的资源
|
||
|
||
### 安全考虑
|
||
1. **权限控制**:限制获取功能的使用权限
|
||
2. **频率限制**:设置合理的获取频率限制
|
||
3. **数据保护**:保护获取的商品数据安全
|
||
4. **审计日志**:记录所有获取操作的审计日志
|
||
|
||
## 🔮 未来规划
|
||
|
||
### 即将推出的功能
|
||
1. **商品同步**:支持与其他平台的商品信息同步
|
||
2. **智能推荐**:基于商品数据的智能推荐算法
|
||
3. **自动定价**:根据市场数据自动调整商品价格
|
||
4. **竞品分析**:分析同类商品的价格和销量
|
||
|
||
### 长期发展方向
|
||
1. **大数据分析**:基于海量商品数据的深度分析
|
||
2. **机器学习**:使用AI技术优化商品运营策略
|
||
3. **API开放**:提供开放API供第三方系统集成
|
||
4. **移动端支持**:开发移动端应用,随时随地管理商品
|
||
|
||
---
|
||
|
||
🎉 **获取所有商品功能为商品管理提供了强大的数据获取能力,是商品分析和运营的重要工具!通过持续优化和功能扩展,将为用户提供更加完善的商品管理解决方案。**
|
||
|
||
---
|
||
|
||
🎉 **获取所有商品功能已完成,支持一键获取指定账号的所有商品信息!**
|