- 引入 alibabacloud/dysmsapi-20170525 依赖,集成阿里云短信服务 - 将短信验证码从6位改为4位,优化用户体验 - 添加聚水潭商品按时间范围同步功能,支持分页拉取 - 增强Cron任务异常处理,添加错误日志记录 - 修复系统附件服务中图片路径处理逻辑 - 更新阿里云SDK相关组件至最新版本 - 添加think-trace调试扩展,便于问题排查 - 优化跨域中间件,使用str_contains替代strpos
2.9 KiB
2.9 KiB
聚水潭商品拉取测试总结
✅ 测试结果
1. Token问题已解决
- 原因: HaichaoBridge需要
runtime/jstdata/jst_token_data.json文件 - 解决方案: 运行
php init_jst_token.php - 状态: ✅ 已解决
2. API接口调用成功
- Token验证: ✅ 通过
- API连接: ✅ 成功
- 数据拉取: ⚠️ 返回空(见下文说明)
3. 数据为空的原因
getProductListStand()方法使用时间过滤:
// 只查询10天前到3天前修改过的商品
$time = 10;
'modified_begin' => 10天前
'modified_end' => 3天前
可能原因:
- 聚水潭系统中没有商品在指定时间范围内修改过
- 商品最近没有更新
- 时间范围需要调整
📋 可用测试脚本
1. init_jst_token.php
初始化Token文件(已运行)
php init_jst_token.php
2. test_haichao.php
测试HaichaoJstServices
# 获取示例数据
php test_haichao.php
# 查询指定SPU
php test_haichao.php 4651127369
3. test_haichao_all.php
全量拉取测试
php test_haichao_all.php
4. test_jst_final_demo.php
完整展示脚本
php test_jst_final_demo.php
🔧 建议操作
如果需要拉取所有商品
可以修改HaichaoJstServices.php中的时间范围:
文件: /home/jone/workspace/CRMEB_PRO/app/haichao/HaichaoJstServices.php
位置: 第655-667行
public function getProductListStand(): array
{
$time = 10; // 修改为更大的值,如 365(一年)
$data = $this->post('open/mall/item/query', [
'modified_begin' => date('Y-m-d H:i', (time() - (86400 * $time))),
'modified_end' => date('Y-m-d H:i', time() - (86400 * $time) + 7 * 86400),
'i_ids' => [],
'page_index' => 1,
'page_size' => 50,
'date_field' => '',
])['data'];
return $data;
}
或者直接查询指定SPU
php test_haichao.php 4651127369
php test_haichao.php 5606676507
php test_haichao.php 5633479406
📊 数据结构说明
成功返回的JSON格式:
{
"i_id": "4651127369",
"name": "贝肽斯夏季儿童防晒帽...",
"s_price": "35.9",
"market_price": null,
"c_price": null,
"pic": "https://img.yzcdn.cn/...",
"skus": [
{
"sku_id": "1N55001102",
"properties_value": "卡其布黄;M码:头围50-54cm",
"sale_price": "35.9",
"market_price": null,
"cost_price": null
}
]
}
⚠️ 注意事项
- Token有效期: 30天(2592000秒)
- 无RefreshToken: 无法自动刷新,需要手动更新
- API权限: 部分接口可能需要额外申请权限
📝 下一步建议
- 如果有具体要测试的SPU,请提供
- 如果需要拉取全部商品,可以修改时间范围
- 建议配置RefreshToken以支持自动续期