Files
douba_shop/test_haichao_all.php
Karlcarlo c7f85ffbda feat: 添加阿里云短信服务支持并优化验证码逻辑
- 引入 alibabacloud/dysmsapi-20170525 依赖,集成阿里云短信服务
- 将短信验证码从6位改为4位,优化用户体验
- 添加聚水潭商品按时间范围同步功能,支持分页拉取
- 增强Cron任务异常处理,添加错误日志记录
- 修复系统附件服务中图片路径处理逻辑
- 更新阿里云SDK相关组件至最新版本
- 添加think-trace调试扩展,便于问题排查
- 优化跨域中间件,使用str_contains替代strpos
2026-04-30 15:19:40 +08:00

116 lines
4.5 KiB
PHP
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env php
<?php
namespace think;
require __DIR__ . '/vendor/autoload.php';
echo "========================================\n";
echo "聚水潭商品拉取测试\n";
echo "========================================\n\n";
$app = new App();
$app->initialize();
echo "✅ 应用初始化成功!\n\n";
try {
$haichaoJst = \app\haichao\HaichaoJstServices::getServices();
echo "1️⃣ 测试全量拉取方法 (getProductList)...\n\n";
$result = $haichaoJst->getProductList();
echo "✅ API调用成功!\n\n";
echo "返回数据结构:\n";
echo " - cursor: " . ($result['cursor'] ?? 'N/A') . "\n";
echo " - data_count: " . ($result['data_count'] ?? 'N/A') . "\n";
echo " - page_index: " . ($result['page_index'] ?? 'N/A') . "\n";
echo " - page_count: " . ($result['page_count'] ?? 'N/A') . "\n";
echo " - page_size: " . ($result['page_size'] ?? 'N/A') . "\n";
echo " - has_next: " . (($result['has_next'] ?? false) ? '是' : '否') . "\n";
if (isset($result['datas']) && !empty($result['datas'])) {
echo "\n📦 获取到 " . count($result['datas']) . " 条商品数据\n\n";
foreach ($result['datas'] as $index => $product) {
echo str_repeat("=", 70) . "\n";
echo "📋 商品 #" . ($index + 1) . "\n";
echo str_repeat("-", 70) . "\n";
echo " SPU ID: " . ($product['i_id'] ?? 'N/A') . "\n";
echo " 商品名称: " . ($product['name'] ?? 'N/A') . "\n";
echo " 售价: " . ($product['s_price'] ?? 'N/A') . "\n";
echo " 市场价: " . ($product['market_price'] ?? 'N/A') . "\n";
echo " 成本价: " . ($product['c_price'] ?? 'N/A') . "\n";
echo " 图片: " . ($product['pic'] ?? 'N/A') . "\n";
if (isset($product['skus']) && is_array($product['skus'])) {
echo " SKU数量: " . count($product['skus']) . "\n";
foreach ($product['skus'] as $skuIndex => $sku) {
echo " SKU #" . ($skuIndex + 1) . ":\n";
echo " - SKU ID: " . ($sku['sku_id'] ?? 'N/A') . "\n";
echo " - 规格: " . ($sku['properties_value'] ?? 'N/A') . "\n";
echo " - 售价: " . ($sku['sale_price'] ?? 'N/A') . "\n";
echo " - 市场价: " . ($sku['market_price'] ?? 'N/A') . "\n";
echo " - 成本价: " . ($sku['cost_price'] ?? 'N/A') . "\n";
}
}
echo "\n";
}
echo str_repeat("=", 70) . "\n";
echo "完整JSON数据:\n";
echo str_repeat("-", 70) . "\n";
echo json_encode($result, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) . "\n";
} else {
echo "\n⚠️ datas数组为空\n\n";
echo "可能原因:\n";
echo " 1. 聚水潭系统中没有商品\n";
echo " 2. 时间范围内没有修改过的商品\n";
echo " 3. 拉取配置有问题\n\n";
echo "完整返回:\n";
echo json_encode($result, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) . "\n";
}
echo "\n2️⃣ 尝试其他方法...\n\n";
echo "2.1 测试 getProductListShop()...\n";
try {
$result2 = $haichaoJst->getProductListShop();
echo " ✅ 成功\n";
echo " 返回: " . count($result2) . " 条\n";
if (!empty($result2)) {
echo " 第一条: " . json_encode($result2[0] ?? [], JSON_UNESCAPED_UNICODE) . "\n";
}
} catch (\Throwable $e) {
echo " ❌ 失败: " . $e->getMessage() . "\n";
}
echo "\n2.2 测试 getInneropenItemList()...\n";
try {
$result3 = $haichaoJst->getInneropenItemList();
echo " ✅ 成功\n";
echo " 返回: " . count($result3) . " 条\n";
if (!empty($result3)) {
echo " 第一条: " . json_encode($result3[0] ?? [], JSON_UNESCAPED_UNICODE) . "\n";
}
} catch (\Throwable $e) {
echo " ❌ 失败: " . $e->getMessage() . "\n";
}
echo "\n========================================\n";
echo "测试完成\n";
echo "========================================\n";
} catch (\Throwable $e) {
echo "\n❌ 发生错误!\n";
echo "错误信息: " . $e->getMessage() . "\n";
echo "错误文件: " . $e->getFile() . ":" . $e->getLine() . "\n";
echo "\n堆栈跟踪:\n" . $e->getTraceAsString() . "\n";
exit(1);
}