feat: 添加阿里云短信服务支持并优化验证码逻辑

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

71
test_simple.php Normal file
View File

@@ -0,0 +1,71 @@
#!/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 {
$db = \think\facade\Db::connect();
$configs = $db->query("SELECT * FROM eb_system_config WHERE `name` IN ('jst_login_account', 'jst_login_password', 'jst_appkey', 'jst_appsecret')");
echo "数据库配置:\n";
foreach ($configs as $config) {
$name = $config['name'] ?? 'N/A';
$value = $config['value'] ?? '';
if (in_array($name, ['jst_login_password', 'jst_appsecret'])) {
echo " - {$name}: " . (empty($value) ? '❌ 未配置' : '✅ 已配置(' . strlen($value) . '位)') . "\n";
} else {
echo " - {$name}: " . (empty($value) ? '❌ 未配置' : $value) . "\n";
}
}
echo "\n";
$loginAccount = $configs[array_search('jst_login_account', array_column($configs, 'name'))]['value'] ?? '';
$loginPassword = $configs[array_search('jst_login_password', array_column($configs, 'name'))]['value'] ?? '';
if (empty($loginAccount) || empty($loginPassword)) {
echo "⚠️ 数据库中缺少登录凭证\n\n";
echo "请先在后台ERP配置中填写账号密码\n\n";
exit(0);
}
echo "✅ 找到登录凭证!\n";
echo "尝试刷新Token...\n\n";
try {
$haichaoJst = \app\haichao\HaichaoJstServices::getServices();
$haichaoJst->authLogin($loginAccount, $loginPassword);
echo "✅ 登录成功!\n\n";
echo "正在测试商品拉取...\n";
$result = $haichaoJst->getProductListStand();
if (!empty($result)) {
echo "✅ 成功获取到 " . count($result) . " 条商品!\n\n";
echo json_encode($result[0] ?? [], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
echo "\n\n";
} else {
echo "⚠️ 未获取到商品\n";
}
} catch (\Throwable $e) {
echo "❌ 失败: " . $e->getMessage() . "\n\n";
}
} catch (\Throwable $e) {
echo "错误: " . $e->getMessage() . "\n";
}