fix: 资产相关页面微调

This commit is contained in:
zxr
2026-08-01 16:24:52 +08:00
parent dbda9f76fb
commit 7353c4eede
35 changed files with 273 additions and 271 deletions

View File

@@ -1,22 +1,27 @@
import { request } from '@/api/request'
/** 许可证配置(与 DC-Control `LicenceConfig` / 接口 `data` 一致;字段按实际响应可能部分缺失) */
export interface LicenceConfig {
title?: string
version?: string
company_name?: string
create_time?: string
expire_time?: string
machine_code?: string
max_database?: number
max_middleware?: number
max_pc?: number
max_server?: number
max_client?: number
max_user?: number
max_role?: number
max_permission?: number
max_menu?: number
export interface LicenceQuotas {
max_database: number
max_middleware: number
max_network_device: number
max_security: number
max_storage: number
max_pc: number
max_server: number
max_user: number
max_role: number
max_permission: number
max_menu: number
}
export interface LicenceInfo {
id: string
platform_name: string
workspace: string
issued_on: string
valid_from: string
expires_on: string
quotas: LicenceQuotas
}
/** 获取 采集器 */
@@ -39,7 +44,8 @@ export const updateCollector = (data: any) => request.put(`/DC-Control/v1/collec
export const fetchCollectorStatistics = () => request.get('/DC-Control/v1/statistics')
/** 获取 许可证信息 */
export const fetchLicenseInfo = () => request.get<{ code?: number; data?: LicenceConfig; message?: string }>('/DC-Control/v1/license')
export const fetchLicenseInfo = () =>
request.get<{ code: number; details: LicenceInfo; message: string; timeseq: number }>('/DC-Control/v1/license')
export interface PageResult<T> {
total: number
@@ -182,7 +188,9 @@ export const fetchControlResources = (params?: ResourceListParams) =>
request.get<{ code?: number; details?: PageResult<ControlResource>; message?: string }>('/DC-Control/v1/resources', { params })
export const fetchControlResourceOptions = (params?: { resource_category?: string }) =>
request.get<{ code?: number; details?: { list: OptionItem[]; count: number }; message?: string }>('/DC-Control/v1/resources/options', { params })
request.get<{ code?: number; details?: { list: OptionItem[]; count: number }; message?: string }>('/DC-Control/v1/resources/options', {
params,
})
export const createControlResource = (data: ControlResourcePayload) =>
request.post<{ code?: number; details?: ControlResource; message?: string }>('/DC-Control/v1/resources', data)
@@ -203,10 +211,9 @@ export const fetchControlResourceTypeOptions = () =>
request.get<{ code?: number; details?: { list: OptionItem[]; count: number }; message?: string }>('/DC-Control/v1/resource-types/options')
export const fetchControlMetricDefinitions = (params?: { page?: number; size?: number; keyword?: string; resource_category?: string }) =>
request.get<{ code?: number; details?: PageResult<ControlMetricDefinition>; message?: string }>(
'/DC-Control/v1/metric-definitions',
{ params }
)
request.get<{ code?: number; details?: PageResult<ControlMetricDefinition>; message?: string }>('/DC-Control/v1/metric-definitions', {
params,
})
export const fetchControlMetricDefinitionOptions = (params?: { resource_category?: string }) =>
request.get<{ code?: number; details?: { list: OptionItem[]; count: number }; message?: string }>(
@@ -218,10 +225,14 @@ export const fetchControlMetricSeries = (params?: MetricSeriesListParams) =>
request.get<{ code?: number; details?: PageResult<ControlMetricSeries>; message?: string }>('/DC-Control/v1/metric-series', { params })
export const fetchControlBusinessSystems = (params?: { page?: number; size?: number; keyword?: string; status?: string }) =>
request.get<{ code?: number; details?: PageResult<ControlBusinessSystem>; message?: string }>('/DC-Control/v1/business-systems', { params })
request.get<{ code?: number; details?: PageResult<ControlBusinessSystem>; message?: string }>('/DC-Control/v1/business-systems', {
params,
})
export const fetchControlBusinessSystemOptions = () =>
request.get<{ code?: number; details?: { list: OptionItem[]; count: number }; message?: string }>('/DC-Control/v1/business-systems/options')
request.get<{ code?: number; details?: { list: OptionItem[]; count: number }; message?: string }>(
'/DC-Control/v1/business-systems/options'
)
export const fetchCollectionStatus = (params?: {
page?: number
@@ -231,7 +242,6 @@ export const fetchCollectionStatus = (params?: {
resource_uid?: string
status?: string
}) =>
request.get<{ code?: number; details?: PageResult<ControlCollectionStatus>; message?: string }>(
'/DC-Control/v1/collection/status',
{ params }
)
request.get<{ code?: number; details?: PageResult<ControlCollectionStatus>; message?: string }>('/DC-Control/v1/collection/status', {
params,
})

View File

@@ -1,5 +1,13 @@
import { request } from '@/api/request'
/** IPAM服务统一响应 */
export interface IPAMResponse<T> {
code: number
details: T
message?: string
timeseq?: number
}
/** IP地址运行状态 */
export type IPStatus = 'online' | 'offline' | 'unknown'
@@ -118,7 +126,8 @@ export interface IPGroupListParams {
/** IP分组列表响应 */
export interface IPGroupListResponse {
data: IPGroupItem[]
list: IPGroupItem[]
count: number
}
/** IP分组表单数据 */
@@ -359,92 +368,96 @@ export interface IPAnomalyFormData {
/** ========== 概览 API ========== */
/** 获取IPAM概览统计 */
export const fetchIPAMOverview = () => request.get<IPAMOverview>('/DC-Control/v1/ipam/overview')
export const fetchIPAMOverview = () => request.get<IPAMResponse<IPAMOverview>>('/DC-Control/v1/ipam/overview')
/** ========== IP地址 API ========== */
/** 获取IP地址列表 */
export const fetchIPAddressList = (params?: IPAddressListParams) =>
request.get<IPAddressListResponse>('/DC-Control/v1/ipaddresses', { params })
request.get<IPAMResponse<IPAddressListResponse>>('/DC-Control/v1/ipaddresses', { params })
/** 获取IP地址详情 */
export const fetchIPAddressDetail = (id: number) => request.get<IPAddressItem>(`/DC-Control/v1/ipaddresses/${id}`)
export const fetchIPAddressDetail = (id: number) => request.get<IPAMResponse<IPAddressItem>>(`/DC-Control/v1/ipaddresses/${id}`)
/** 创建IP地址 */
export const createIPAddress = (data: IPAddressFormData) => request.post<IPAddressItem>('/DC-Control/v1/ipaddresses', data)
export const createIPAddress = (data: IPAddressFormData) => request.post<IPAMResponse<IPAddressItem>>('/DC-Control/v1/ipaddresses', data)
/** 更新IP地址 */
export const updateIPAddress = (id: number, data: Partial<IPAddressFormData>) =>
request.put<{ message: string }>(`/DC-Control/v1/ipaddresses/${id}`, data)
request.put<IPAMResponse<{ message: string }>>(`/DC-Control/v1/ipaddresses/${id}`, data)
/** 删除IP地址 */
export const deleteIPAddress = (id: number) => request.delete<{ message: string }>(`/DC-Control/v1/ipaddresses/${id}`)
export const deleteIPAddress = (id: number) => request.delete<IPAMResponse<{ message: string }>>(`/DC-Control/v1/ipaddresses/${id}`)
/** ========== IP分组 API ========== */
/** 获取IP分组列表树形 */
export const fetchIPGroupList = (params?: IPGroupListParams) => request.get<IPGroupListResponse>('/DC-Control/v1/ip-groups', { params })
export const fetchIPGroupList = (params?: IPGroupListParams) =>
request.get<IPAMResponse<IPGroupListResponse>>('/DC-Control/v1/ip-groups', { params })
/** 创建IP分组 */
export const createIPGroup = (data: IPGroupFormData) => request.post<IPGroupItem>('/DC-Control/v1/ip-groups', data)
export const createIPGroup = (data: IPGroupFormData) => request.post<IPAMResponse<IPGroupItem>>('/DC-Control/v1/ip-groups', data)
/** 更新IP分组 */
export const updateIPGroup = (id: number, data: Partial<IPGroupFormData>) =>
request.put<{ message: string }>(`/DC-Control/v1/ip-groups/${id}`, data)
request.put<IPAMResponse<{ message: string }>>(`/DC-Control/v1/ip-groups/${id}`, data)
/** 删除IP分组 */
export const deleteIPGroup = (id: number) => request.delete<{ message: string }>(`/DC-Control/v1/ip-groups/${id}`)
export const deleteIPGroup = (id: number) => request.delete<IPAMResponse<{ message: string }>>(`/DC-Control/v1/ip-groups/${id}`)
/** ========== IP子网 API ========== */
/** 获取IP子网列表 */
export const fetchIPSubnetList = (params?: IPSubnetListParams) => request.get<IPSubnetListResponse>('/DC-Control/v1/ip-subnets', { params })
export const fetchIPSubnetList = (params?: IPSubnetListParams) =>
request.get<IPAMResponse<IPSubnetListResponse>>('/DC-Control/v1/ip-subnets', { params })
/** 获取IP子网详情 */
export const fetchIPSubnetDetail = (id: number) => request.get<IPSubnetItem>(`/DC-Control/v1/ip-subnets/${id}`)
export const fetchIPSubnetDetail = (id: number) => request.get<IPAMResponse<IPSubnetItem>>(`/DC-Control/v1/ip-subnets/${id}`)
/** 创建IP子网 */
export const createIPSubnet = (data: IPSubnetFormData) => request.post<IPSubnetItem>('/DC-Control/v1/ip-subnets', data)
export const createIPSubnet = (data: IPSubnetFormData) => request.post<IPAMResponse<IPSubnetItem>>('/DC-Control/v1/ip-subnets', data)
/** 更新IP子网 */
export const updateIPSubnet = (id: number, data: Partial<IPSubnetFormData>) =>
request.put<{ message: string }>(`/DC-Control/v1/ip-subnets/${id}`, data)
request.put<IPAMResponse<{ message: string }>>(`/DC-Control/v1/ip-subnets/${id}`, data)
/** 删除IP子网 */
export const deleteIPSubnet = (id: number) => request.delete<{ message: string }>(`/DC-Control/v1/ip-subnets/${id}`)
export const deleteIPSubnet = (id: number) => request.delete<IPAMResponse<{ message: string }>>(`/DC-Control/v1/ip-subnets/${id}`)
/** ========== DHCP租约 API ========== */
/** 获取DHCP租约列表 */
export const fetchDHCPLeaseList = (params?: DHCPLeaseListParams) =>
request.get<DHCPLeaseListResponse>('/DC-Control/v1/ipam/dhcp-leases', { params })
request.get<IPAMResponse<DHCPLeaseListResponse>>('/DC-Control/v1/ipam/dhcp-leases', { params })
/** 创建DHCP租约 */
export const createDHCPLease = (data: DHCPLeaseFormData) => request.post<DHCPLeaseItem>('/DC-Control/v1/ipam/dhcp-leases', data)
export const createDHCPLease = (data: DHCPLeaseFormData) =>
request.post<IPAMResponse<DHCPLeaseItem>>('/DC-Control/v1/ipam/dhcp-leases', data)
/** ========== IP冲突 API ========== */
/** 获取IP冲突列表 */
export const fetchIPConflictList = (params?: IPConflictListParams) =>
request.get<IPConflictListResponse>('/DC-Control/v1/ipam/conflicts', { params })
request.get<IPAMResponse<IPConflictListResponse>>('/DC-Control/v1/ipam/conflicts', { params })
/** 创建IP冲突记录 */
export const createIPConflict = (data: IPConflictFormData) => request.post<IPConflictItem>('/DC-Control/v1/ipam/conflicts', data)
export const createIPConflict = (data: IPConflictFormData) =>
request.post<IPAMResponse<IPConflictItem>>('/DC-Control/v1/ipam/conflicts', data)
/** ========== IP变更 API ========== */
/** 获取IP变更列表 */
export const fetchIPChangeList = (params?: IPChangeListParams) =>
request.get<IPChangeListResponse>('/DC-Control/v1/ipam/changes', { params })
request.get<IPAMResponse<IPChangeListResponse>>('/DC-Control/v1/ipam/changes', { params })
/** 创建IP变更记录 */
export const createIPChange = (data: IPChangeFormData) => request.post<IPChangeItem>('/DC-Control/v1/ipam/changes', data)
export const createIPChange = (data: IPChangeFormData) => request.post<IPAMResponse<IPChangeItem>>('/DC-Control/v1/ipam/changes', data)
/** ========== IP异常 API ========== */
/** 获取IP异常列表 */
export const fetchIPAnomalyList = (params?: IPAnomalyListParams) =>
request.get<IPAnomalyListResponse>('/DC-Control/v1/ipam/anomalies', { params })
request.get<IPAMResponse<IPAnomalyListResponse>>('/DC-Control/v1/ipam/anomalies', { params })
/** 创建IP异常记录 */
export const createIPAnomaly = (data: IPAnomalyFormData) => request.post<IPAnomalyItem>('/DC-Control/v1/ipam/anomalies', data)
export const createIPAnomaly = (data: IPAnomalyFormData) => request.post<IPAMResponse<IPAnomalyItem>>('/DC-Control/v1/ipam/anomalies', data)

View File

@@ -9,7 +9,7 @@ export interface RoomDeviceItem {
service_identity: string
name: string
description: string
room_id: string
room_id: number
device_code?: string
device_category: string
type?: string
@@ -69,7 +69,7 @@ export interface RoomDeviceCreateData {
service_identity?: string
name: string
description?: string
room_id: string
room_id: number
device_category: string
agent_config?: string
collect_method?: 'api' | 'snmp'
@@ -97,7 +97,7 @@ export interface RoomDeviceCreateData {
export interface RoomDeviceUpdateData {
name?: string
description?: string
room_id?: string
room_id?: number
device_category?: string
agent_config?: string
collect_method?: 'api' | 'snmp'

View File

@@ -67,7 +67,7 @@ export interface StorageListParams {
/** 创建存储设备请求参数 */
export interface StorageCreateData {
service_identity: string
service_identity?: string
name: string
category?: string
type: string

View File

@@ -15,6 +15,7 @@ export interface LoginData {
/** 用户信息 */
export interface UserItem {
id?: number
user_id?: number
account?: string
password?: string
confirmPassword?: string