Selaa lähdekoodia

fix(gameItems): 修复物品管理列表JSON配置表状态显示时间计算错误

notfff 8 kuukautta sitten
vanhempi
commit
ec3fd92228

+ 6 - 2
app/Module/GameItems/AdminControllers/Tools/RefreshCheckTool.php

@@ -3,6 +3,7 @@
 namespace App\Module\GameItems\AdminControllers\Tools;
 
 use App\Module\Game\DCache\ItemJsonConfig;
+use Carbon\CarbonInterface;
 use Dcat\Admin\Grid\Tools\AbstractTool;
 use Illuminate\Http\Request;
 
@@ -48,11 +49,14 @@ class RefreshCheckTool extends AbstractTool
         $generatedAt = \Carbon\Carbon::createFromTimestamp($json['generated_ts']);
         $isSynced = $generatedAt->gte($lastUpdated);
 
+        // 使用绝对时间差,避免相对时间导致的"X小时后"这样的显示问题
+        $options = ['syntax' => \Carbon\CarbonInterface::DIFF_ABSOLUTE];
+
         return [
             'should_display' => !$isSynced,
             'message' => $isSynced
-                ? 'JSON数据已同步,生成于 '.$generatedAt->diffForHumans()
-                : 'JSON数据已过期,最后更新于 '.$lastUpdated->diffForHumans(),
+                ? 'JSON数据已同步,生成于 '.$generatedAt->diffForHumans(null, $options)
+                : 'JSON数据已过期,最后更新于 '.$lastUpdated->diffForHumans(null, $options),
             'is_synced' => $isSynced
         ];
     }