#!/usr/bin/env php 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); }