feat: 资产同步状态与同步轨迹入口
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 4m43s

This commit is contained in:
luo
2026-07-21 09:57:14 +08:00
parent 09225dd8bc
commit eddfd157ad
10 changed files with 208 additions and 44 deletions

View File

@@ -34,14 +34,13 @@ import type {
} from '@/types/api'
const runRateLimitedAssetAction = async <T>(
action: AssetRateLimitedAction,
action: Exclude<AssetRateLimitedAction, 'refresh'>,
identifier: string,
request: () => Promise<T>
): Promise<T> => {
assertAssetActionAllowed(action, identifier)
markAssetActionCalled(action, identifier)
const response = await request()
return response
return request()
}
export class AssetService extends BaseService {
@@ -84,16 +83,13 @@ export class AssetService extends BaseService {
/**
* 主动调网关拉取最新数据后返回
* POST /api/admin/assets/:identifier/refresh
* 前端按资产标识限制 5 分钟内只能调用一次
* @param identifier 资产标识符ICCID 或 VirtualNo
*/
static refreshAsset(identifier: string): Promise<BaseResponse<AssetRefreshResponse>> {
return runRateLimitedAssetAction('refresh', identifier, () =>
this.post<BaseResponse<AssetRefreshResponse>>(
`/api/admin/assets/${identifier}/refresh`,
{},
{ timeout: 60000 }
)
return this.post<BaseResponse<AssetRefreshResponse>>(
`/api/admin/assets/${identifier}/refresh`,
{},
{ timeout: 60000 }
)
}