- 引入 alibabacloud/dysmsapi-20170525 依赖,集成阿里云短信服务 - 将短信验证码从6位改为4位,优化用户体验 - 添加聚水潭商品按时间范围同步功能,支持分页拉取 - 增强Cron任务异常处理,添加错误日志记录 - 修复系统附件服务中图片路径处理逻辑 - 更新阿里云SDK相关组件至最新版本 - 添加think-trace调试扩展,便于问题排查 - 优化跨域中间件,使用str_contains替代strpos
119 lines
3.8 KiB
PHP
119 lines
3.8 KiB
PHP
#!/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 {
|
||
|
||
echo "1️⃣ 查询数据库配置...\n\n";
|
||
|
||
$configModel = new \app\model\system\config\SystemConfig();
|
||
|
||
$configs = $configModel->whereIn('name', [
|
||
'jst_login_account',
|
||
'jst_login_password',
|
||
'jst_appkey',
|
||
'jst_appsecret'
|
||
])->select();
|
||
|
||
echo "找到以下配置:\n";
|
||
foreach ($configs as $config) {
|
||
$value = $config['value'];
|
||
if (in_array($config['name'], ['jst_login_password', 'jst_appsecret'])) {
|
||
echo " - {$config['name']}: " . (empty($value) ? '❌ 未配置' : '✅ 已配置(' . strlen($value) . '位)') . "\n";
|
||
} else {
|
||
echo " - {$config['name']}: " . (empty($value) ? '❌ 未配置' : $value) . "\n";
|
||
}
|
||
}
|
||
|
||
echo "\n";
|
||
|
||
$loginAccount = $configs->where('name', 'jst_login_account')->value('value', '');
|
||
$loginPassword = $configs->where('name', 'jst_login_password')->value('value', '');
|
||
|
||
if (empty($loginAccount) || empty($loginPassword)) {
|
||
echo "⚠️ 数据库中缺少登录凭证\n\n";
|
||
|
||
echo "建议:\n";
|
||
echo "1. 前往后台: 系统设置 → ERP配置\n";
|
||
echo "2. 填写聚水潭登录账号和密码\n";
|
||
echo "3. 保存配置\n\n";
|
||
|
||
echo "或者直接在.env文件中添加:\n";
|
||
echo "JST_LOGIN_ACCOUNT=你的账号\n";
|
||
echo "JST_LOGIN_PASSWORD=你的密码\n\n";
|
||
|
||
exit(1);
|
||
}
|
||
|
||
echo "✅ 找到登录凭证!\n\n";
|
||
|
||
echo "2️⃣ 尝试刷新Token...\n\n";
|
||
|
||
try {
|
||
$haichaoJst = \app\haichao\HaichaoJstServices::getServices();
|
||
|
||
echo "正在调用authLogin...\n";
|
||
$haichaoJst->authLogin($loginAccount, $loginPassword);
|
||
|
||
echo "✅ 登录成功!\n\n";
|
||
|
||
$envFile = __DIR__ . '/.env';
|
||
$envContent = file_get_contents($envFile);
|
||
preg_match('/JST_ACCESS_TOKEN\s*=\s*(.*)/', $envContent, $matches);
|
||
$newToken = isset($matches[1]) ? trim($matches[1]) : '';
|
||
|
||
echo "新Token: " . substr($newToken, 0, 20) . "...\n\n";
|
||
|
||
echo "3️⃣ 测试新Token...\n\n";
|
||
|
||
$result = $haichaoJst->getProductListStand();
|
||
|
||
echo "✅ API调用成功!\n\n";
|
||
|
||
if (!empty($result)) {
|
||
echo "📦 获取到 " . count($result) . " 条商品数据\n\n";
|
||
|
||
if (isset($result[0])) {
|
||
echo "📋 示例商品:\n";
|
||
$product = $result[0];
|
||
echo json_encode($product, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) . "\n\n";
|
||
}
|
||
} else {
|
||
echo "⚠️ 未获取到商品数据\n";
|
||
echo "可能原因:\n";
|
||
echo "1. 聚水潭系统中没有商品\n";
|
||
echo "2. 时间范围内没有修改过的商品\n\n";
|
||
}
|
||
|
||
} catch (\Throwable $e) {
|
||
echo "❌ 刷新失败: " . $e->getMessage() . "\n\n";
|
||
echo "请检查:\n";
|
||
echo "1. 聚水潭账号密码是否正确\n";
|
||
echo "2. 聚水潭应用是否已授权\n";
|
||
echo "3. 应用Key和Secret是否正确\n\n";
|
||
}
|
||
|
||
echo "========================================\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);
|
||
}
|