fix: getResourceList never returns -1, uses flags for disabled/expired tokens to keep guest mode working

This commit is contained in:
2026-05-21 10:25:15 +08:00
parent 499c969233
commit dc72a8ccaf
@@ -117,6 +117,7 @@ class AssetAppController extends BaseApiController
$rawUser = !empty($token) ? $this->getAssetUserRaw() : null;
$user = ($rawUser && $rawUser->status == 1) ? $rawUser : null;
$isDisabled = ($rawUser && $rawUser->status != 1); // 用户存在但被禁用
$tokenInvalid = (!empty($token) && !$rawUser); // token 过期或无效
$type = $this->request->get('type', 1);
$pageNo = $this->request->get('page_no', 1);
@@ -124,11 +125,6 @@ class AssetAppController extends BaseApiController
$days = (int)$this->request->get('days', 0);
$usageStatus = (int)$this->request->get('usage_status', 0); // 0=全部, 1=未使用, 2=已使用
// 有 token 但数据库完全找不到这个用户(token 过期或无效)→ 返回 -1 强制重新登录
if (!empty($token) && !$rawUser) {
return $this->fail('登录已过期,请重新登录', [], -1);
}
$query = AssetResource::where('type', $type);
$usedResourceIds = [];
@@ -187,7 +183,8 @@ class AssetAppController extends BaseApiController
'count' => $count,
'page_no' => $pageNo,
'page_size' => $pageSize,
'is_disabled' => $isDisabled, // 通知前端:用户被禁用,应清除本地 token
'is_disabled' => $isDisabled, // 用户被禁用
'token_invalid' => $tokenInvalid, // token 过期或无效
]);
}