feat: 添加阿里云短信服务支持并优化验证码逻辑
- 引入 alibabacloud/dysmsapi-20170525 依赖,集成阿里云短信服务 - 将短信验证码从6位改为4位,优化用户体验 - 添加聚水潭商品按时间范围同步功能,支持分页拉取 - 增强Cron任务异常处理,添加错误日志记录 - 修复系统附件服务中图片路径处理逻辑 - 更新阿里云SDK相关组件至最新版本 - 添加think-trace调试扩展,便于问题排查 - 优化跨域中间件,使用str_contains替代strpos
This commit is contained in:
115
test_haichao_all.php
Normal file
115
test_haichao_all.php
Normal file
@@ -0,0 +1,115 @@
|
||||
#!/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);
|
||||
}
|
||||
Reference in New Issue
Block a user