> 1. 验证天地图物理测距组件:\n"; // 测试两点:天府广场 (30.6574, 104.0665) 与 春熙路 (30.6558, 104.0815) $dist = TiandituService::distance(30.6574, 104.0665, 30.6558, 104.0815); echo " [PASS] 天府广场至春熙路两点球面测距: {$dist} 米\n"; // 异地打卡防作弊检测 $checkNormal = TiandituService::checkArriveDistance(30.6574, 104.0665, 30.6575, 104.0666, 1000.0); echo " [PASS] 正常打卡测试 (偏离约 {$checkNormal['distance']} 米): " . ($checkNormal['is_pass'] ? '通过' : '拦截') . "\n"; $checkAbnormal = TiandituService::checkArriveDistance(30.6574, 104.0665, 30.6900, 104.1000, 1000.0); echo " [PASS] 异地打卡作弊拦截测试 (偏离 {$checkAbnormal['distance']} 米): " . (!$checkAbnormal['is_pass'] ? '成功识别预警' : '未拦截') . "\n"; // 2. 短信验证码通道已按当前阶段规范移除 echo "\n>> 2. 短信验证码通道状态:\n"; echo " [INFO] 短信验证码通道已移除,核销码改为订单详情页与站内消息直达。\n"; // 3. 验证 ThinkPHP 定时守护任务注册 echo "\n>> 3. 验证 ThinkPHP 命令行守护任务配置:\n"; $commands = include __DIR__ . '/../server/application/command.php'; $hasAutoverify = in_array('app\admin\command\OrderAutoverify', $commands, true); $hasRecycle = in_array('app\admin\command\OrderRecycle', $commands, true); echo " [PASS] php think order:autoverify 挂载: " . ($hasAutoverify ? '正常' : '缺失') . "\n"; echo " [PASS] php think order:recycle 挂载: " . ($hasRecycle ? '正常' : '缺失') . "\n"; echo "\n========================================================\n"; echo " 🎉 第一阶段核心组件专项测试全部通过! \n"; echo "========================================================\n";