user()->id); if ($store === null || $store->status === StoreModel::STATUS_DISABLED) { throw new RepositoryException('账号不存在或已被停用'); } return $store; } /** * 可选登录场景手动识别当前门店(路由关闭 authorize 时使用) * * 手动解析 Bearer token;未携带 token、token 无效或非门店账号时返回 null(不抛错)。 */ protected function optionalStore(Request $request): ?StoreModel { $token = $request->bearerToken(); if (empty($token)) { return null; } $accessToken = SysAccessToken::findToken($token); if ($accessToken === null || $accessToken->tokenable_type !== StoreModel::class) { return null; } $store = StoreModel::find($accessToken->tokenable_id); if ($store === null || $store->status === StoreModel::STATUS_DISABLED) { return null; } return $store; } }