Compare commits
No commits in common. "a894b1d510f8a29c6d3ecd7fb2383f6d66a3f0b5" and "73c66e6b3807cda398cf9b1937c78e691b3365bd" have entirely different histories.
a894b1d510
...
73c66e6b38
@ -137,25 +137,6 @@ export const AddUserToOrganizationUnitInputSchema = {
|
||||
additionalProperties: false
|
||||
} as const;
|
||||
|
||||
export const AggregateRouteConfigSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
routeKey: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
parameter: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
jsonPath: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
}
|
||||
},
|
||||
additionalProperties: false
|
||||
} as const;
|
||||
|
||||
export const ApplicationApiDescriptionModelSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
@ -1022,115 +1003,6 @@ export const CTWingPrivateProductInfoModifyInputSchema = {
|
||||
description: 'CTWing 产品修改'
|
||||
} as const;
|
||||
|
||||
export const CTWingWorkshopProductListOutputSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
nonce: {
|
||||
type: 'string',
|
||||
description: '用于计算签名字符的随机串',
|
||||
nullable: true
|
||||
},
|
||||
signature: {
|
||||
type: 'string',
|
||||
description: '加密签名,用以校验推送客户端身份合法性,校验方法见实例验证',
|
||||
nullable: true
|
||||
},
|
||||
timestamp: {
|
||||
type: 'integer',
|
||||
description: '签名有效期(毫秒)',
|
||||
format: 'int64'
|
||||
},
|
||||
msg: {
|
||||
type: 'string',
|
||||
description: '消息内容,JSON字符串,具体的设备相关信息',
|
||||
nullable: true
|
||||
},
|
||||
ctWingAccountId: {
|
||||
type: 'string',
|
||||
description: 'CTWing账户Id',
|
||||
nullable: true
|
||||
},
|
||||
ioTPlatformProductId: {
|
||||
type: 'string',
|
||||
description: '物联网平台对应的产品Id',
|
||||
nullable: true
|
||||
},
|
||||
productName: {
|
||||
type: 'string',
|
||||
description: '产品名称',
|
||||
nullable: true
|
||||
},
|
||||
featureAccesskey: {
|
||||
type: 'string',
|
||||
description: '设备访问密钥',
|
||||
nullable: true
|
||||
},
|
||||
communicationAddress: {
|
||||
type: 'string',
|
||||
description: '通讯服务地址',
|
||||
nullable: true
|
||||
},
|
||||
communicationAddressTLS: {
|
||||
type: 'string',
|
||||
description: 'TLS通讯服务地址',
|
||||
nullable: true
|
||||
}
|
||||
},
|
||||
additionalProperties: false,
|
||||
description: '生产车间获取CTWing产品列表'
|
||||
} as const;
|
||||
|
||||
export const CTWingWorkshopProductListOutputListHttpDataResultSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
code: {
|
||||
'$ref': '#/components/schemas/ResponeResultEnum'
|
||||
},
|
||||
msg: {
|
||||
type: 'string',
|
||||
description: '详细描述',
|
||||
nullable: true
|
||||
},
|
||||
success: {
|
||||
type: 'boolean',
|
||||
description: `是否获取到数据或者逻辑处理成功
|
||||
服务内部判断状态采用此属性`
|
||||
},
|
||||
timestamp: {
|
||||
type: 'integer',
|
||||
description: '时间戳(毫秒)',
|
||||
format: 'int64',
|
||||
readOnly: true
|
||||
},
|
||||
locationCode: {
|
||||
type: 'integer',
|
||||
description: `位置编码,主要用于接口请求逻辑定位
|
||||
使用时必须保证每个请求中不重复出现`,
|
||||
format: 'int32'
|
||||
},
|
||||
extras: {
|
||||
type: 'string',
|
||||
description: '扩展信息',
|
||||
nullable: true
|
||||
},
|
||||
data: {
|
||||
type: 'array',
|
||||
items: {
|
||||
'$ref': '#/components/schemas/CTWingWorkshopProductListOutput'
|
||||
},
|
||||
description: '扩展字段',
|
||||
nullable: true
|
||||
},
|
||||
total: {
|
||||
type: 'integer',
|
||||
description: '总数',
|
||||
format: 'int64'
|
||||
}
|
||||
},
|
||||
additionalProperties: false,
|
||||
description: 'HTTP 请求返回结果'
|
||||
} as const;
|
||||
|
||||
export const ChangePasswordInputSchema = {
|
||||
required: ['newPassword'],
|
||||
type: 'object',
|
||||
@ -1272,28 +1144,6 @@ export const CreateDataDictinaryInputSchema = {
|
||||
additionalProperties: false
|
||||
} as const;
|
||||
|
||||
export const CreateDeviceAggregationInputSchema = {
|
||||
required: ['deviceAddress', 'ioTPlatform', 'ioTPlatformProductId'],
|
||||
type: 'object',
|
||||
properties: {
|
||||
deviceAddress: {
|
||||
minLength: 1,
|
||||
type: 'string',
|
||||
description: '表通信地址'
|
||||
},
|
||||
ioTPlatform: {
|
||||
'$ref': '#/components/schemas/IoTPlatformTypeEnum'
|
||||
},
|
||||
ioTPlatformProductId: {
|
||||
minLength: 1,
|
||||
type: 'string',
|
||||
description: '集中器在物联网平台中对应的产品Id'
|
||||
}
|
||||
},
|
||||
additionalProperties: false,
|
||||
description: '设备聚合新增设备'
|
||||
} as const;
|
||||
|
||||
export const CreateLanguageInputSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
@ -2531,231 +2381,6 @@ export const FeatureProviderDtoSchema = {
|
||||
additionalProperties: false
|
||||
} as const;
|
||||
|
||||
export const FileAggregateRouteSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
routeKeys: {
|
||||
type: 'array',
|
||||
items: {
|
||||
type: 'string'
|
||||
},
|
||||
nullable: true
|
||||
},
|
||||
routeKeysConfig: {
|
||||
type: 'array',
|
||||
items: {
|
||||
'$ref': '#/components/schemas/AggregateRouteConfig'
|
||||
},
|
||||
nullable: true
|
||||
},
|
||||
upstreamPathTemplate: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
upstreamHost: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
routeIsCaseSensitive: {
|
||||
type: 'boolean'
|
||||
},
|
||||
aggregator: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
upstreamHttpMethod: {
|
||||
type: 'array',
|
||||
items: {
|
||||
type: 'string'
|
||||
},
|
||||
nullable: true,
|
||||
readOnly: true
|
||||
},
|
||||
priority: {
|
||||
type: 'integer',
|
||||
format: 'int32'
|
||||
}
|
||||
},
|
||||
additionalProperties: false
|
||||
} as const;
|
||||
|
||||
export const FileAuthenticationOptionsSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
authenticationProviderKey: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
allowedScopes: {
|
||||
type: 'array',
|
||||
items: {
|
||||
type: 'string'
|
||||
},
|
||||
nullable: true
|
||||
}
|
||||
},
|
||||
additionalProperties: false
|
||||
} as const;
|
||||
|
||||
export const FileCacheOptionsSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
ttlSeconds: {
|
||||
type: 'integer',
|
||||
format: 'int32'
|
||||
},
|
||||
region: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
}
|
||||
},
|
||||
additionalProperties: false
|
||||
} as const;
|
||||
|
||||
export const FileConfigurationSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
routes: {
|
||||
type: 'array',
|
||||
items: {
|
||||
'$ref': '#/components/schemas/FileRoute'
|
||||
},
|
||||
nullable: true
|
||||
},
|
||||
dynamicRoutes: {
|
||||
type: 'array',
|
||||
items: {
|
||||
'$ref': '#/components/schemas/FileDynamicRoute'
|
||||
},
|
||||
nullable: true
|
||||
},
|
||||
aggregates: {
|
||||
type: 'array',
|
||||
items: {
|
||||
'$ref': '#/components/schemas/FileAggregateRoute'
|
||||
},
|
||||
nullable: true
|
||||
},
|
||||
globalConfiguration: {
|
||||
'$ref': '#/components/schemas/FileGlobalConfiguration'
|
||||
}
|
||||
},
|
||||
additionalProperties: false
|
||||
} as const;
|
||||
|
||||
export const FileDynamicRouteSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
serviceName: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
rateLimitRule: {
|
||||
'$ref': '#/components/schemas/FileRateLimitRule'
|
||||
},
|
||||
downstreamHttpVersion: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
}
|
||||
},
|
||||
additionalProperties: false
|
||||
} as const;
|
||||
|
||||
export const FileGlobalConfigurationSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
requestIdKey: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
serviceDiscoveryProvider: {
|
||||
'$ref': '#/components/schemas/FileServiceDiscoveryProvider'
|
||||
},
|
||||
rateLimitOptions: {
|
||||
'$ref': '#/components/schemas/FileRateLimitOptions'
|
||||
},
|
||||
qoSOptions: {
|
||||
'$ref': '#/components/schemas/FileQoSOptions'
|
||||
},
|
||||
baseUrl: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
loadBalancerOptions: {
|
||||
'$ref': '#/components/schemas/FileLoadBalancerOptions'
|
||||
},
|
||||
downstreamScheme: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
httpHandlerOptions: {
|
||||
'$ref': '#/components/schemas/FileHttpHandlerOptions'
|
||||
},
|
||||
downstreamHttpVersion: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
}
|
||||
},
|
||||
additionalProperties: false
|
||||
} as const;
|
||||
|
||||
export const FileHostAndPortSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
host: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
port: {
|
||||
type: 'integer',
|
||||
format: 'int32'
|
||||
}
|
||||
},
|
||||
additionalProperties: false
|
||||
} as const;
|
||||
|
||||
export const FileHttpHandlerOptionsSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
allowAutoRedirect: {
|
||||
type: 'boolean'
|
||||
},
|
||||
useCookieContainer: {
|
||||
type: 'boolean'
|
||||
},
|
||||
useTracing: {
|
||||
type: 'boolean'
|
||||
},
|
||||
useProxy: {
|
||||
type: 'boolean'
|
||||
},
|
||||
maxConnectionsPerServer: {
|
||||
type: 'integer',
|
||||
format: 'int32'
|
||||
}
|
||||
},
|
||||
additionalProperties: false
|
||||
} as const;
|
||||
|
||||
export const FileLoadBalancerOptionsSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
type: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
key: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
expiry: {
|
||||
type: 'integer',
|
||||
format: 'int32'
|
||||
}
|
||||
},
|
||||
additionalProperties: false
|
||||
} as const;
|
||||
|
||||
export const FileObjectDtoSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
@ -2789,299 +2414,6 @@ export const FileObjectDtoSchema = {
|
||||
description: '文件'
|
||||
} as const;
|
||||
|
||||
export const FileQoSOptionsSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
exceptionsAllowedBeforeBreaking: {
|
||||
type: 'integer',
|
||||
format: 'int32'
|
||||
},
|
||||
durationOfBreak: {
|
||||
type: 'integer',
|
||||
format: 'int32'
|
||||
},
|
||||
timeoutValue: {
|
||||
type: 'integer',
|
||||
format: 'int32'
|
||||
}
|
||||
},
|
||||
additionalProperties: false
|
||||
} as const;
|
||||
|
||||
export const FileRateLimitOptionsSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
clientIdHeader: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
quotaExceededMessage: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
rateLimitCounterPrefix: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
disableRateLimitHeaders: {
|
||||
type: 'boolean'
|
||||
},
|
||||
httpStatusCode: {
|
||||
type: 'integer',
|
||||
format: 'int32'
|
||||
}
|
||||
},
|
||||
additionalProperties: false
|
||||
} as const;
|
||||
|
||||
export const FileRateLimitRuleSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
clientWhitelist: {
|
||||
type: 'array',
|
||||
items: {
|
||||
type: 'string'
|
||||
},
|
||||
nullable: true
|
||||
},
|
||||
enableRateLimiting: {
|
||||
type: 'boolean'
|
||||
},
|
||||
period: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
periodTimespan: {
|
||||
type: 'number',
|
||||
format: 'double'
|
||||
},
|
||||
limit: {
|
||||
type: 'integer',
|
||||
format: 'int64'
|
||||
}
|
||||
},
|
||||
additionalProperties: false
|
||||
} as const;
|
||||
|
||||
export const FileRouteSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
downstreamPathTemplate: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
upstreamPathTemplate: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
upstreamHttpMethod: {
|
||||
type: 'array',
|
||||
items: {
|
||||
type: 'string'
|
||||
},
|
||||
nullable: true
|
||||
},
|
||||
downstreamHttpMethod: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
addHeadersToRequest: {
|
||||
type: 'object',
|
||||
additionalProperties: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
nullable: true
|
||||
},
|
||||
upstreamHeaderTransform: {
|
||||
type: 'object',
|
||||
additionalProperties: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
nullable: true
|
||||
},
|
||||
downstreamHeaderTransform: {
|
||||
type: 'object',
|
||||
additionalProperties: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
nullable: true
|
||||
},
|
||||
addClaimsToRequest: {
|
||||
type: 'object',
|
||||
additionalProperties: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
nullable: true
|
||||
},
|
||||
routeClaimsRequirement: {
|
||||
type: 'object',
|
||||
additionalProperties: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
nullable: true
|
||||
},
|
||||
addQueriesToRequest: {
|
||||
type: 'object',
|
||||
additionalProperties: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
nullable: true
|
||||
},
|
||||
changeDownstreamPathTemplate: {
|
||||
type: 'object',
|
||||
additionalProperties: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
nullable: true
|
||||
},
|
||||
requestIdKey: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
fileCacheOptions: {
|
||||
'$ref': '#/components/schemas/FileCacheOptions'
|
||||
},
|
||||
routeIsCaseSensitive: {
|
||||
type: 'boolean'
|
||||
},
|
||||
serviceName: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
serviceNamespace: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
downstreamScheme: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
qoSOptions: {
|
||||
'$ref': '#/components/schemas/FileQoSOptions'
|
||||
},
|
||||
loadBalancerOptions: {
|
||||
'$ref': '#/components/schemas/FileLoadBalancerOptions'
|
||||
},
|
||||
rateLimitOptions: {
|
||||
'$ref': '#/components/schemas/FileRateLimitRule'
|
||||
},
|
||||
authenticationOptions: {
|
||||
'$ref': '#/components/schemas/FileAuthenticationOptions'
|
||||
},
|
||||
httpHandlerOptions: {
|
||||
'$ref': '#/components/schemas/FileHttpHandlerOptions'
|
||||
},
|
||||
downstreamHostAndPorts: {
|
||||
type: 'array',
|
||||
items: {
|
||||
'$ref': '#/components/schemas/FileHostAndPort'
|
||||
},
|
||||
nullable: true
|
||||
},
|
||||
upstreamHost: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
key: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
delegatingHandlers: {
|
||||
type: 'array',
|
||||
items: {
|
||||
type: 'string'
|
||||
},
|
||||
nullable: true
|
||||
},
|
||||
priority: {
|
||||
type: 'integer',
|
||||
format: 'int32'
|
||||
},
|
||||
timeout: {
|
||||
type: 'integer',
|
||||
format: 'int32'
|
||||
},
|
||||
dangerousAcceptAnyServerCertificateValidator: {
|
||||
type: 'boolean'
|
||||
},
|
||||
securityOptions: {
|
||||
'$ref': '#/components/schemas/FileSecurityOptions'
|
||||
},
|
||||
downstreamHttpVersion: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
}
|
||||
},
|
||||
additionalProperties: false
|
||||
} as const;
|
||||
|
||||
export const FileSecurityOptionsSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
ipAllowedList: {
|
||||
type: 'array',
|
||||
items: {
|
||||
type: 'string'
|
||||
},
|
||||
nullable: true
|
||||
},
|
||||
ipBlockedList: {
|
||||
type: 'array',
|
||||
items: {
|
||||
type: 'string'
|
||||
},
|
||||
nullable: true
|
||||
}
|
||||
},
|
||||
additionalProperties: false
|
||||
} as const;
|
||||
|
||||
export const FileServiceDiscoveryProviderSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
scheme: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
host: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
port: {
|
||||
type: 'integer',
|
||||
format: 'int32'
|
||||
},
|
||||
type: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
token: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
configurationKey: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
},
|
||||
pollingInterval: {
|
||||
type: 'integer',
|
||||
format: 'int32'
|
||||
},
|
||||
namespace: {
|
||||
type: 'string',
|
||||
nullable: true
|
||||
}
|
||||
},
|
||||
additionalProperties: false
|
||||
} as const;
|
||||
|
||||
export const FindByUserNameInputSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
@ -3569,44 +2901,6 @@ export const GetUnAddUserOutputPagedResultDtoSchema = {
|
||||
additionalProperties: false
|
||||
} as const;
|
||||
|
||||
export const HttpDataResultSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
code: {
|
||||
'$ref': '#/components/schemas/ResponeResultEnum'
|
||||
},
|
||||
msg: {
|
||||
type: 'string',
|
||||
description: '详细描述',
|
||||
nullable: true
|
||||
},
|
||||
success: {
|
||||
type: 'boolean',
|
||||
description: `是否获取到数据或者逻辑处理成功
|
||||
服务内部判断状态采用此属性`
|
||||
},
|
||||
timestamp: {
|
||||
type: 'integer',
|
||||
description: '时间戳(毫秒)',
|
||||
format: 'int64',
|
||||
readOnly: true
|
||||
},
|
||||
locationCode: {
|
||||
type: 'integer',
|
||||
description: `位置编码,主要用于接口请求逻辑定位
|
||||
使用时必须保证每个请求中不重复出现`,
|
||||
format: 'int32'
|
||||
},
|
||||
extras: {
|
||||
type: 'string',
|
||||
description: '扩展信息',
|
||||
nullable: true
|
||||
}
|
||||
},
|
||||
additionalProperties: false,
|
||||
description: 'HTTP 请求返回结果'
|
||||
} as const;
|
||||
|
||||
export const HttpStatusCodeSchema = {
|
||||
enum: [100, 101, 102, 103, 200, 201, 202, 203, 204, 205, 206, 207, 208, 226, 300, 301, 302, 303, 304, 305, 306, 307, 308, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 421, 422, 423, 424, 426, 428, 429, 431, 451, 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, 511],
|
||||
type: 'integer',
|
||||
@ -5519,143 +4813,6 @@ export const OneNetProductInfoModifyInputSchema = {
|
||||
description: '修改OneNET产品'
|
||||
} as const;
|
||||
|
||||
export const OneNetWorkshopProductListOutputSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
nonce: {
|
||||
type: 'string',
|
||||
description: '用于计算签名字符的随机串',
|
||||
nullable: true
|
||||
},
|
||||
signature: {
|
||||
type: 'string',
|
||||
description: '加密签名,用以校验推送客户端身份合法性,校验方法见实例验证',
|
||||
nullable: true
|
||||
},
|
||||
timestamp: {
|
||||
type: 'integer',
|
||||
description: '签名有效期(毫秒)',
|
||||
format: 'int64'
|
||||
},
|
||||
msg: {
|
||||
type: 'string',
|
||||
description: '消息内容,JSON字符串,具体的设备相关信息',
|
||||
nullable: true
|
||||
},
|
||||
oneNETAccountId: {
|
||||
type: 'string',
|
||||
description: 'OneNET账户Id',
|
||||
nullable: true
|
||||
},
|
||||
ioTPlatformProductId: {
|
||||
type: 'string',
|
||||
description: '物联网平台对应的产品Id',
|
||||
nullable: true
|
||||
},
|
||||
productName: {
|
||||
type: 'string',
|
||||
description: '产品名称',
|
||||
nullable: true
|
||||
},
|
||||
productAccesskey: {
|
||||
type: 'string',
|
||||
description: '产品访问密钥',
|
||||
nullable: true
|
||||
},
|
||||
communicationAddress: {
|
||||
type: 'string',
|
||||
description: '通讯服务地址',
|
||||
nullable: true
|
||||
},
|
||||
communicationAddressTLS: {
|
||||
type: 'string',
|
||||
description: 'TLS通讯服务地址',
|
||||
nullable: true
|
||||
}
|
||||
},
|
||||
additionalProperties: false,
|
||||
description: '生产车间获取OneNET产品列表'
|
||||
} as const;
|
||||
|
||||
export const OneNetWorkshopProductListOutputListHttpDataResultSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
code: {
|
||||
'$ref': '#/components/schemas/ResponeResultEnum'
|
||||
},
|
||||
msg: {
|
||||
type: 'string',
|
||||
description: '详细描述',
|
||||
nullable: true
|
||||
},
|
||||
success: {
|
||||
type: 'boolean',
|
||||
description: `是否获取到数据或者逻辑处理成功
|
||||
服务内部判断状态采用此属性`
|
||||
},
|
||||
timestamp: {
|
||||
type: 'integer',
|
||||
description: '时间戳(毫秒)',
|
||||
format: 'int64',
|
||||
readOnly: true
|
||||
},
|
||||
locationCode: {
|
||||
type: 'integer',
|
||||
description: `位置编码,主要用于接口请求逻辑定位
|
||||
使用时必须保证每个请求中不重复出现`,
|
||||
format: 'int32'
|
||||
},
|
||||
extras: {
|
||||
type: 'string',
|
||||
description: '扩展信息',
|
||||
nullable: true
|
||||
},
|
||||
data: {
|
||||
type: 'array',
|
||||
items: {
|
||||
'$ref': '#/components/schemas/OneNetWorkshopProductListOutput'
|
||||
},
|
||||
description: '扩展字段',
|
||||
nullable: true
|
||||
},
|
||||
total: {
|
||||
type: 'integer',
|
||||
description: '总数',
|
||||
format: 'int64'
|
||||
}
|
||||
},
|
||||
additionalProperties: false,
|
||||
description: 'HTTP 请求返回结果'
|
||||
} as const;
|
||||
|
||||
export const OpenApiRequestSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
nonce: {
|
||||
type: 'string',
|
||||
description: '用于计算签名字符的随机串',
|
||||
nullable: true
|
||||
},
|
||||
signature: {
|
||||
type: 'string',
|
||||
description: '加密签名,用以校验推送客户端身份合法性,校验方法见实例验证',
|
||||
nullable: true
|
||||
},
|
||||
timestamp: {
|
||||
type: 'integer',
|
||||
description: '签名有效期(毫秒)',
|
||||
format: 'int64'
|
||||
},
|
||||
msg: {
|
||||
type: 'string',
|
||||
description: '消息内容,JSON字符串,具体的设备相关信息',
|
||||
nullable: true
|
||||
}
|
||||
},
|
||||
additionalProperties: false,
|
||||
description: '开放接口请求入参,所有外部接口请求参数'
|
||||
} as const;
|
||||
|
||||
export const OpenTypeSchema = {
|
||||
enum: [10, 20, 30, 40],
|
||||
type: 'integer',
|
||||
@ -8354,14 +7511,6 @@ export const ResetTwoFactorInputSchema = {
|
||||
additionalProperties: false
|
||||
} as const;
|
||||
|
||||
export const ResponeResultEnumSchema = {
|
||||
enum: [0, 1, 2, 3, 4, 5, 6, 200, 201, 400, 401, 403, 404, 500, 503, 504, -102, -101],
|
||||
type: 'integer',
|
||||
description: '响应结果枚举',
|
||||
format: 'int32',
|
||||
'说明:': 'Success=0,Fail=1,LoginOut=2,TimeOut=3,Exception=4,NotAllowed=5,NotLoggedIn=6,OK=200,NoData=201,BadRequest=400,Unauthorized=401,Forbidden=403,NotFound=404,AepInternalError=500,ServiceUnavailable=503,AsyncService=504,HandlerException=-102,HandlerFail=-101'
|
||||
} as const;
|
||||
|
||||
export const ReturnValueApiDescriptionModelSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
@ -8377,52 +7526,6 @@ export const ReturnValueApiDescriptionModelSchema = {
|
||||
additionalProperties: false
|
||||
} as const;
|
||||
|
||||
export const SelectResultSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
key: {
|
||||
type: 'string',
|
||||
description: '下拉框 键',
|
||||
nullable: true
|
||||
},
|
||||
value: {
|
||||
type: 'string',
|
||||
description: '下拉框 值',
|
||||
nullable: true
|
||||
},
|
||||
secondValue: {
|
||||
type: 'string',
|
||||
description: '下拉框 值2',
|
||||
nullable: true
|
||||
},
|
||||
thirdValue: {
|
||||
description: '下拉框 值3',
|
||||
nullable: true
|
||||
}
|
||||
},
|
||||
additionalProperties: false,
|
||||
description: '下拉框选项元素'
|
||||
} as const;
|
||||
|
||||
export const SelectResultListInputSchema = {
|
||||
required: ['typeName'],
|
||||
type: 'object',
|
||||
properties: {
|
||||
typeName: {
|
||||
minLength: 1,
|
||||
type: 'string',
|
||||
description: '类型名称'
|
||||
},
|
||||
thirdAttributeTypeName: {
|
||||
type: 'string',
|
||||
description: '第三级类型',
|
||||
nullable: true
|
||||
}
|
||||
},
|
||||
additionalProperties: false,
|
||||
description: '获取下拉框数据'
|
||||
} as const;
|
||||
|
||||
export const SendBroadCastMessageInputSchema = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -45,12 +45,6 @@ export type AddUserToOrganizationUnitInput = {
|
||||
organizationUnitId?: string;
|
||||
};
|
||||
|
||||
export type AggregateRouteConfig = {
|
||||
routeKey?: (string) | null;
|
||||
parameter?: (string) | null;
|
||||
jsonPath?: (string) | null;
|
||||
};
|
||||
|
||||
export type ApplicationApiDescriptionModel = {
|
||||
modules?: {
|
||||
[key: string]: ModuleApiDescriptionModel;
|
||||
@ -210,21 +204,6 @@ export type CreateDataDictinaryInput = {
|
||||
description?: (string) | null;
|
||||
};
|
||||
|
||||
/**
|
||||
* 设备聚合新增设备
|
||||
*/
|
||||
export type CreateDeviceAggregationInput = {
|
||||
/**
|
||||
* 表通信地址
|
||||
*/
|
||||
deviceAddress: string;
|
||||
ioTPlatform: IoTPlatformTypeEnum;
|
||||
/**
|
||||
* 集中器在物联网平台中对应的产品Id
|
||||
*/
|
||||
ioTPlatformProductId: string;
|
||||
};
|
||||
|
||||
/**
|
||||
* 创建语言
|
||||
*/
|
||||
@ -731,89 +710,6 @@ export type CTWingPrivateProductInfoModifyInput = {
|
||||
id?: string;
|
||||
};
|
||||
|
||||
/**
|
||||
* 生产车间获取CTWing产品列表
|
||||
*/
|
||||
export type CTWingWorkshopProductListOutput = {
|
||||
/**
|
||||
* 用于计算签名字符的随机串
|
||||
*/
|
||||
nonce?: (string) | null;
|
||||
/**
|
||||
* 加密签名,用以校验推送客户端身份合法性,校验方法见实例验证
|
||||
*/
|
||||
signature?: (string) | null;
|
||||
/**
|
||||
* 签名有效期(毫秒)
|
||||
*/
|
||||
timestamp?: number;
|
||||
/**
|
||||
* 消息内容,JSON字符串,具体的设备相关信息
|
||||
*/
|
||||
msg?: (string) | null;
|
||||
/**
|
||||
* CTWing账户Id
|
||||
*/
|
||||
ctWingAccountId?: (string) | null;
|
||||
/**
|
||||
* 物联网平台对应的产品Id
|
||||
*/
|
||||
ioTPlatformProductId?: (string) | null;
|
||||
/**
|
||||
* 产品名称
|
||||
*/
|
||||
productName?: (string) | null;
|
||||
/**
|
||||
* 设备访问密钥
|
||||
*/
|
||||
featureAccesskey?: (string) | null;
|
||||
/**
|
||||
* 通讯服务地址
|
||||
*/
|
||||
communicationAddress?: (string) | null;
|
||||
/**
|
||||
* TLS通讯服务地址
|
||||
*/
|
||||
communicationAddressTLS?: (string) | null;
|
||||
};
|
||||
|
||||
/**
|
||||
* HTTP 请求返回结果
|
||||
*/
|
||||
export type CTWingWorkshopProductListOutputListHttpDataResult = {
|
||||
code?: ResponeResultEnum;
|
||||
/**
|
||||
* 详细描述
|
||||
*/
|
||||
msg?: (string) | null;
|
||||
/**
|
||||
* 是否获取到数据或者逻辑处理成功
|
||||
* 服务内部判断状态采用此属性
|
||||
*/
|
||||
success?: boolean;
|
||||
/**
|
||||
* 时间戳(毫秒)
|
||||
*/
|
||||
readonly timestamp?: number;
|
||||
/**
|
||||
* 位置编码,主要用于接口请求逻辑定位
|
||||
* 使用时必须保证每个请求中不重复出现
|
||||
*/
|
||||
locationCode?: number;
|
||||
/**
|
||||
* 扩展信息
|
||||
*/
|
||||
extras?: (string) | null;
|
||||
/**
|
||||
* 扩展字段
|
||||
*/
|
||||
data?: Array<CTWingWorkshopProductListOutput> | null;
|
||||
/**
|
||||
* 总数
|
||||
*/
|
||||
total?: number;
|
||||
};
|
||||
|
||||
export type CurrentCultureDto = {
|
||||
displayName?: (string) | null;
|
||||
englishName?: (string) | null;
|
||||
@ -1310,71 +1206,6 @@ export type FeatureProviderDto = {
|
||||
key?: (string) | null;
|
||||
};
|
||||
|
||||
export type FileAggregateRoute = {
|
||||
routeKeys?: Array<(string)> | null;
|
||||
routeKeysConfig?: Array<AggregateRouteConfig> | null;
|
||||
upstreamPathTemplate?: (string) | null;
|
||||
upstreamHost?: (string) | null;
|
||||
routeIsCaseSensitive?: boolean;
|
||||
aggregator?: (string) | null;
|
||||
readonly upstreamHttpMethod?: Array<(string)> | null;
|
||||
priority?: number;
|
||||
};
|
||||
|
||||
export type FileAuthenticationOptions = {
|
||||
authenticationProviderKey?: (string) | null;
|
||||
allowedScopes?: Array<(string)> | null;
|
||||
};
|
||||
|
||||
export type FileCacheOptions = {
|
||||
ttlSeconds?: number;
|
||||
region?: (string) | null;
|
||||
};
|
||||
|
||||
export type FileConfiguration = {
|
||||
routes?: Array<FileRoute> | null;
|
||||
dynamicRoutes?: Array<FileDynamicRoute> | null;
|
||||
aggregates?: Array<FileAggregateRoute> | null;
|
||||
globalConfiguration?: FileGlobalConfiguration;
|
||||
};
|
||||
|
||||
export type FileDynamicRoute = {
|
||||
serviceName?: (string) | null;
|
||||
rateLimitRule?: FileRateLimitRule;
|
||||
downstreamHttpVersion?: (string) | null;
|
||||
};
|
||||
|
||||
export type FileGlobalConfiguration = {
|
||||
requestIdKey?: (string) | null;
|
||||
serviceDiscoveryProvider?: FileServiceDiscoveryProvider;
|
||||
rateLimitOptions?: FileRateLimitOptions;
|
||||
qoSOptions?: FileQoSOptions;
|
||||
baseUrl?: (string) | null;
|
||||
loadBalancerOptions?: FileLoadBalancerOptions;
|
||||
downstreamScheme?: (string) | null;
|
||||
httpHandlerOptions?: FileHttpHandlerOptions;
|
||||
downstreamHttpVersion?: (string) | null;
|
||||
};
|
||||
|
||||
export type FileHostAndPort = {
|
||||
host?: (string) | null;
|
||||
port?: number;
|
||||
};
|
||||
|
||||
export type FileHttpHandlerOptions = {
|
||||
allowAutoRedirect?: boolean;
|
||||
useCookieContainer?: boolean;
|
||||
useTracing?: boolean;
|
||||
useProxy?: boolean;
|
||||
maxConnectionsPerServer?: number;
|
||||
};
|
||||
|
||||
export type FileLoadBalancerOptions = {
|
||||
type?: (string) | null;
|
||||
key?: (string) | null;
|
||||
expiry?: number;
|
||||
};
|
||||
|
||||
/**
|
||||
* 文件
|
||||
*/
|
||||
@ -1401,92 +1232,6 @@ export type FileObjectDto = {
|
||||
fileName?: (string) | null;
|
||||
};
|
||||
|
||||
export type FileQoSOptions = {
|
||||
exceptionsAllowedBeforeBreaking?: number;
|
||||
durationOfBreak?: number;
|
||||
timeoutValue?: number;
|
||||
};
|
||||
|
||||
export type FileRateLimitOptions = {
|
||||
clientIdHeader?: (string) | null;
|
||||
quotaExceededMessage?: (string) | null;
|
||||
rateLimitCounterPrefix?: (string) | null;
|
||||
disableRateLimitHeaders?: boolean;
|
||||
httpStatusCode?: number;
|
||||
};
|
||||
|
||||
export type FileRateLimitRule = {
|
||||
clientWhitelist?: Array<(string)> | null;
|
||||
enableRateLimiting?: boolean;
|
||||
period?: (string) | null;
|
||||
periodTimespan?: number;
|
||||
limit?: number;
|
||||
};
|
||||
|
||||
export type FileRoute = {
|
||||
downstreamPathTemplate?: (string) | null;
|
||||
upstreamPathTemplate?: (string) | null;
|
||||
upstreamHttpMethod?: Array<(string)> | null;
|
||||
downstreamHttpMethod?: (string) | null;
|
||||
addHeadersToRequest?: {
|
||||
[key: string]: ((string) | null);
|
||||
} | null;
|
||||
upstreamHeaderTransform?: {
|
||||
[key: string]: ((string) | null);
|
||||
} | null;
|
||||
downstreamHeaderTransform?: {
|
||||
[key: string]: ((string) | null);
|
||||
} | null;
|
||||
addClaimsToRequest?: {
|
||||
[key: string]: ((string) | null);
|
||||
} | null;
|
||||
routeClaimsRequirement?: {
|
||||
[key: string]: ((string) | null);
|
||||
} | null;
|
||||
addQueriesToRequest?: {
|
||||
[key: string]: ((string) | null);
|
||||
} | null;
|
||||
changeDownstreamPathTemplate?: {
|
||||
[key: string]: ((string) | null);
|
||||
} | null;
|
||||
requestIdKey?: (string) | null;
|
||||
fileCacheOptions?: FileCacheOptions;
|
||||
routeIsCaseSensitive?: boolean;
|
||||
serviceName?: (string) | null;
|
||||
serviceNamespace?: (string) | null;
|
||||
downstreamScheme?: (string) | null;
|
||||
qoSOptions?: FileQoSOptions;
|
||||
loadBalancerOptions?: FileLoadBalancerOptions;
|
||||
rateLimitOptions?: FileRateLimitRule;
|
||||
authenticationOptions?: FileAuthenticationOptions;
|
||||
httpHandlerOptions?: FileHttpHandlerOptions;
|
||||
downstreamHostAndPorts?: Array<FileHostAndPort> | null;
|
||||
upstreamHost?: (string) | null;
|
||||
key?: (string) | null;
|
||||
delegatingHandlers?: Array<(string)> | null;
|
||||
priority?: number;
|
||||
timeout?: number;
|
||||
dangerousAcceptAnyServerCertificateValidator?: boolean;
|
||||
securityOptions?: FileSecurityOptions;
|
||||
downstreamHttpVersion?: (string) | null;
|
||||
};
|
||||
|
||||
export type FileSecurityOptions = {
|
||||
ipAllowedList?: Array<(string)> | null;
|
||||
ipBlockedList?: Array<(string)> | null;
|
||||
};
|
||||
|
||||
export type FileServiceDiscoveryProvider = {
|
||||
scheme?: (string) | null;
|
||||
host?: (string) | null;
|
||||
port?: number;
|
||||
type?: (string) | null;
|
||||
token?: (string) | null;
|
||||
configurationKey?: (string) | null;
|
||||
pollingInterval?: number;
|
||||
namespace?: (string) | null;
|
||||
};
|
||||
|
||||
export type FindByUserNameInput = {
|
||||
userName?: (string) | null;
|
||||
};
|
||||
@ -1708,35 +1453,6 @@ export type GetUnAddUserOutputPagedResultDto = {
|
||||
totalCount?: number;
|
||||
};
|
||||
|
||||
/**
|
||||
* HTTP 请求返回结果
|
||||
*/
|
||||
export type HttpDataResult = {
|
||||
code?: ResponeResultEnum;
|
||||
/**
|
||||
* 详细描述
|
||||
*/
|
||||
msg?: (string) | null;
|
||||
/**
|
||||
* 是否获取到数据或者逻辑处理成功
|
||||
* 服务内部判断状态采用此属性
|
||||
*/
|
||||
success?: boolean;
|
||||
/**
|
||||
* 时间戳(毫秒)
|
||||
*/
|
||||
readonly timestamp?: number;
|
||||
/**
|
||||
* 位置编码,主要用于接口请求逻辑定位
|
||||
* 使用时必须保证每个请求中不重复出现
|
||||
*/
|
||||
locationCode?: number;
|
||||
/**
|
||||
* 扩展信息
|
||||
*/
|
||||
extras?: (string) | null;
|
||||
};
|
||||
|
||||
export type HttpStatusCode = 100 | 101 | 102 | 103 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 226 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 421 | 422 | 423 | 424 | 426 | 428 | 429 | 431 | 451 | 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511;
|
||||
|
||||
export type IanaTimeZone = {
|
||||
@ -2788,111 +2504,6 @@ export type OneNetProductInfoModifyInput = {
|
||||
deviceThingModelFileName?: (string) | null;
|
||||
};
|
||||
|
||||
/**
|
||||
* 生产车间获取OneNET产品列表
|
||||
*/
|
||||
export type OneNetWorkshopProductListOutput = {
|
||||
/**
|
||||
* 用于计算签名字符的随机串
|
||||
*/
|
||||
nonce?: (string) | null;
|
||||
/**
|
||||
* 加密签名,用以校验推送客户端身份合法性,校验方法见实例验证
|
||||
*/
|
||||
signature?: (string) | null;
|
||||
/**
|
||||
* 签名有效期(毫秒)
|
||||
*/
|
||||
timestamp?: number;
|
||||
/**
|
||||
* 消息内容,JSON字符串,具体的设备相关信息
|
||||
*/
|
||||
msg?: (string) | null;
|
||||
/**
|
||||
* OneNET账户Id
|
||||
*/
|
||||
oneNETAccountId?: (string) | null;
|
||||
/**
|
||||
* 物联网平台对应的产品Id
|
||||
*/
|
||||
ioTPlatformProductId?: (string) | null;
|
||||
/**
|
||||
* 产品名称
|
||||
*/
|
||||
productName?: (string) | null;
|
||||
/**
|
||||
* 产品访问密钥
|
||||
*/
|
||||
productAccesskey?: (string) | null;
|
||||
/**
|
||||
* 通讯服务地址
|
||||
*/
|
||||
communicationAddress?: (string) | null;
|
||||
/**
|
||||
* TLS通讯服务地址
|
||||
*/
|
||||
communicationAddressTLS?: (string) | null;
|
||||
};
|
||||
|
||||
/**
|
||||
* HTTP 请求返回结果
|
||||
*/
|
||||
export type OneNetWorkshopProductListOutputListHttpDataResult = {
|
||||
code?: ResponeResultEnum;
|
||||
/**
|
||||
* 详细描述
|
||||
*/
|
||||
msg?: (string) | null;
|
||||
/**
|
||||
* 是否获取到数据或者逻辑处理成功
|
||||
* 服务内部判断状态采用此属性
|
||||
*/
|
||||
success?: boolean;
|
||||
/**
|
||||
* 时间戳(毫秒)
|
||||
*/
|
||||
readonly timestamp?: number;
|
||||
/**
|
||||
* 位置编码,主要用于接口请求逻辑定位
|
||||
* 使用时必须保证每个请求中不重复出现
|
||||
*/
|
||||
locationCode?: number;
|
||||
/**
|
||||
* 扩展信息
|
||||
*/
|
||||
extras?: (string) | null;
|
||||
/**
|
||||
* 扩展字段
|
||||
*/
|
||||
data?: Array<OneNetWorkshopProductListOutput> | null;
|
||||
/**
|
||||
* 总数
|
||||
*/
|
||||
total?: number;
|
||||
};
|
||||
|
||||
/**
|
||||
* 开放接口请求入参,所有外部接口请求参数
|
||||
*/
|
||||
export type OpenApiRequest = {
|
||||
/**
|
||||
* 用于计算签名字符的随机串
|
||||
*/
|
||||
nonce?: (string) | null;
|
||||
/**
|
||||
* 加密签名,用以校验推送客户端身份合法性,校验方法见实例验证
|
||||
*/
|
||||
signature?: (string) | null;
|
||||
/**
|
||||
* 签名有效期(毫秒)
|
||||
*/
|
||||
timestamp?: number;
|
||||
/**
|
||||
* 消息内容,JSON字符串,具体的设备相关信息
|
||||
*/
|
||||
msg?: (string) | null;
|
||||
};
|
||||
|
||||
/**
|
||||
* 打开类型
|
||||
*/
|
||||
@ -4382,52 +3993,11 @@ export type ResetTwoFactorInput = {
|
||||
userId?: string;
|
||||
};
|
||||
|
||||
/**
|
||||
* 响应结果枚举
|
||||
*/
|
||||
export type ResponeResultEnum = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 200 | 201 | 400 | 401 | 403 | 404 | 500 | 503 | 504 | -102 | -101;
|
||||
|
||||
export type ReturnValueApiDescriptionModel = {
|
||||
type?: (string) | null;
|
||||
typeSimple?: (string) | null;
|
||||
};
|
||||
|
||||
/**
|
||||
* 下拉框选项元素
|
||||
*/
|
||||
export type SelectResult = {
|
||||
/**
|
||||
* 下拉框 键
|
||||
*/
|
||||
key?: (string) | null;
|
||||
/**
|
||||
* 下拉框 值
|
||||
*/
|
||||
value?: (string) | null;
|
||||
/**
|
||||
* 下拉框 值2
|
||||
*/
|
||||
secondValue?: (string) | null;
|
||||
/**
|
||||
* 下拉框 值3
|
||||
*/
|
||||
thirdValue?: unknown;
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取下拉框数据
|
||||
*/
|
||||
export type SelectResultListInput = {
|
||||
/**
|
||||
* 类型名称
|
||||
*/
|
||||
typeName: string;
|
||||
/**
|
||||
* 第三级类型
|
||||
*/
|
||||
thirdAttributeTypeName?: (string) | null;
|
||||
};
|
||||
|
||||
export type SendBroadCastMessageInput = {
|
||||
/**
|
||||
* 消息标题
|
||||
@ -4855,29 +4425,6 @@ export type PostAuditLogsPageResponse = (PagingAuditLogOutputPagedResultDto);
|
||||
|
||||
export type PostAuditLogsPageError = (RemoteServiceErrorResponse);
|
||||
|
||||
export type PostAggregationBusinessReceiveCommandInfoAsyncData = {
|
||||
query?: {
|
||||
/**
|
||||
* 开放接口请求入参,所有外部接口请求参数
|
||||
*/
|
||||
input?: OpenApiRequest;
|
||||
};
|
||||
};
|
||||
|
||||
export type PostAggregationBusinessReceiveCommandInfoAsyncResponse = (HttpDataResult);
|
||||
|
||||
export type PostAggregationBusinessReceiveCommandInfoAsyncError = unknown;
|
||||
|
||||
export type GetCommonGetSelectListData = {
|
||||
query?: {
|
||||
input?: SelectResultListInput;
|
||||
};
|
||||
};
|
||||
|
||||
export type GetCommonGetSelectListResponse = (Array<SelectResult>);
|
||||
|
||||
export type GetCommonGetSelectListError = unknown;
|
||||
|
||||
export type PostCtWingAccountInsertAsyncData = {
|
||||
query?: {
|
||||
input?: CTWingAccountInsertInput;
|
||||
@ -4918,29 +4465,6 @@ export type PostCtWingAccountListAsyncResponse = (CTWingAccountInfoDtoPagedResul
|
||||
|
||||
export type PostCtWingAccountListAsyncError = unknown;
|
||||
|
||||
export type PostAggregationCtWingReceiveWorkshopProductionInfoAsyncData = {
|
||||
query?: {
|
||||
input?: OpenApiRequest;
|
||||
};
|
||||
};
|
||||
|
||||
export type PostAggregationCtWingReceiveWorkshopProductionInfoAsyncResponse = (unknown);
|
||||
|
||||
export type PostAggregationCtWingReceiveWorkshopProductionInfoAsyncError = unknown;
|
||||
|
||||
export type PostAggregationCtWingGetProductListAsyncData = {
|
||||
query?: {
|
||||
/**
|
||||
* 开放接口请求入参,所有外部接口请求参数
|
||||
*/
|
||||
input?: OpenApiRequest;
|
||||
};
|
||||
};
|
||||
|
||||
export type PostAggregationCtWingGetProductListAsyncResponse = (CTWingWorkshopProductListOutputListHttpDataResult);
|
||||
|
||||
export type PostAggregationCtWingGetProductListAsyncError = unknown;
|
||||
|
||||
export type PostCtWingProductInsertAsyncData = {
|
||||
query?: {
|
||||
input?: CTWingPrivateProductInfoInsertInput;
|
||||
@ -5093,46 +4617,6 @@ export type PostDataDictionaryUpdateResponse = (unknown);
|
||||
|
||||
export type PostDataDictionaryUpdateError = (RemoteServiceErrorResponse);
|
||||
|
||||
export type PostAggregationDeviceCreateAsyncData = {
|
||||
query?: {
|
||||
input?: CreateDeviceAggregationInput;
|
||||
};
|
||||
};
|
||||
|
||||
export type PostAggregationDeviceCreateAsyncResponse = (boolean);
|
||||
|
||||
export type PostAggregationDeviceCreateAsyncError = unknown;
|
||||
|
||||
export type PostAggregationDeviceDeleteAsyncData = {
|
||||
query?: {
|
||||
input?: IdInput;
|
||||
};
|
||||
};
|
||||
|
||||
export type PostAggregationDeviceDeleteAsyncResponse = (boolean);
|
||||
|
||||
export type PostAggregationDeviceDeleteAsyncError = unknown;
|
||||
|
||||
export type PostAggregationDeviceFindByIdAsyncData = {
|
||||
query?: {
|
||||
input?: IdInput;
|
||||
};
|
||||
};
|
||||
|
||||
export type PostAggregationDeviceFindByIdAsyncResponse = (DeviceManagementInfoDto);
|
||||
|
||||
export type PostAggregationDeviceFindByIdAsyncError = unknown;
|
||||
|
||||
export type PostAggregationDeviceRepushDeviceInfoToIoTplatformData = {
|
||||
query?: {
|
||||
input?: IdInput;
|
||||
};
|
||||
};
|
||||
|
||||
export type PostAggregationDeviceRepushDeviceInfoToIoTplatformResponse = (DeviceManagementInfoDto);
|
||||
|
||||
export type PostAggregationDeviceRepushDeviceInfoToIoTplatformError = unknown;
|
||||
|
||||
export type PostDeviceInfoFindByDeviceAddressData = {
|
||||
query?: {
|
||||
deviceAddress?: string;
|
||||
@ -5473,29 +4957,6 @@ export type PostOneNetAccountListAsyncResponse = (OneNETAccountInfoDtoPagedResul
|
||||
|
||||
export type PostOneNetAccountListAsyncError = unknown;
|
||||
|
||||
export type PostAggregationOneNetReceiveWorkshopProductionInfoAsyncData = {
|
||||
query?: {
|
||||
input?: OpenApiRequest;
|
||||
};
|
||||
};
|
||||
|
||||
export type PostAggregationOneNetReceiveWorkshopProductionInfoAsyncResponse = (unknown);
|
||||
|
||||
export type PostAggregationOneNetReceiveWorkshopProductionInfoAsyncError = unknown;
|
||||
|
||||
export type PostAggregationOneNetGetProductListAsyncData = {
|
||||
query?: {
|
||||
/**
|
||||
* 开放接口请求入参,所有外部接口请求参数
|
||||
*/
|
||||
input?: OpenApiRequest;
|
||||
};
|
||||
};
|
||||
|
||||
export type PostAggregationOneNetGetProductListAsyncResponse = (OneNetWorkshopProductListOutputListHttpDataResult);
|
||||
|
||||
export type PostAggregationOneNetGetProductListAsyncError = unknown;
|
||||
|
||||
export type PostOneNetProductInsertAsyncData = {
|
||||
query?: {
|
||||
input?: OneNetProductInfoInsertInput;
|
||||
|
||||
@ -264,6 +264,7 @@
|
||||
"OneNETManagement": {
|
||||
"AccountName": "AccountName",
|
||||
"PhoneNumber": "PhoneNumber",
|
||||
"BelongingAccountName": "BelongingAccountName",
|
||||
"AccountAccesskey": "AccountAccesskey",
|
||||
"ProductCount": "ProductCount",
|
||||
"OneNETAccountId": "OneNETAccountId",
|
||||
@ -272,6 +273,7 @@
|
||||
"ProductName": "ProductName",
|
||||
"ProductAccesskey": "ProductAccesskey",
|
||||
"IsEncrypted": "IsEncrypted",
|
||||
"BelongingProductName": "Belonging ProductName",
|
||||
"CommunicationAddress": "Communication Address",
|
||||
"CommunicationAddressTLS": "TLS Communication Address",
|
||||
"DeviceThingModelFileName": "DeviceThingModelFileName",
|
||||
@ -283,15 +285,16 @@
|
||||
"CTWingManagement": {
|
||||
"AccountName": "AccountName",
|
||||
"PhoneNumber": "PhoneNumber",
|
||||
"BelongingAccountName": "BelongingAccountName",
|
||||
"AccountAccesskey": "AccountAccesskey",
|
||||
"ProductCount": "ProductCount",
|
||||
"CTWingAccountId": "CTWingAccountId",
|
||||
"CTWingProductId": "CTWingProductId",
|
||||
"IoTPlatformProductId": "IoTPlatformProductId",
|
||||
"ProductName": "ProductName",
|
||||
"FeatureAccesskey": "FeatureAccesskey",
|
||||
"MasterKey": "MasterKey",
|
||||
"ProductAccesskey": "ProductAccesskey",
|
||||
"IsEncrypted": "IsEncrypted",
|
||||
"BelongingProductName": "Belonging ProductName",
|
||||
"CommunicationAddress": "Communication Address",
|
||||
"CommunicationAddressTLS": "TLS Communication Address",
|
||||
"DeviceThingModelFileName": "DeviceThingModelFileName",
|
||||
|
||||
@ -57,10 +57,5 @@
|
||||
"IoTPlatform": "IoTPlatform",
|
||||
"note": "note",
|
||||
"creationTime": "CreationTime",
|
||||
"lastModificationTime": "LastModificationTime",
|
||||
"BelongingProductName": "Belonging ProductName",
|
||||
"BelongingAccountName": "BelongingAccountName",
|
||||
"AppId": "AppId",
|
||||
"AppKey": "AppKey",
|
||||
"AppSecret": "AppSecret"
|
||||
"lastModificationTime": "LastModificationTime"
|
||||
}
|
||||
|
||||
@ -265,6 +265,7 @@
|
||||
},
|
||||
"OneNETManagement": {
|
||||
"AccountName": "账号名称",
|
||||
"BelongingAccountName": "所属账号",
|
||||
"PhoneNumber": "手机号码",
|
||||
"AccountAccesskey": "账户通信密钥",
|
||||
"ProductCount": "产品数量",
|
||||
@ -274,6 +275,7 @@
|
||||
"ProductName": "产品名称",
|
||||
"ProductAccesskey": "产品密钥",
|
||||
"IsEncrypted": "是否加密",
|
||||
"BelongingProductName": "所属产品",
|
||||
"CommunicationAddress": "通讯地址",
|
||||
"CommunicationAddressTLS": "TLS通讯地址",
|
||||
"DeviceThingModelFileName": "物模型文件",
|
||||
@ -284,6 +286,7 @@
|
||||
},
|
||||
"CTWingManagement": {
|
||||
"AccountName": "账号名称",
|
||||
"BelongingAccountName": "所属账号",
|
||||
"PhoneNumber": "手机号码",
|
||||
"AccountAccesskey": "账户通信密钥",
|
||||
"ProductCount": "产品数量",
|
||||
@ -291,9 +294,9 @@
|
||||
"CTWingProductId": "CTWing产品Id",
|
||||
"IoTPlatformProductId": "物联网平台对应的产品Id",
|
||||
"ProductName": "产品名称",
|
||||
"FeatureAccesskey": "设备访问密钥",
|
||||
"MasterKey": "通信主密钥",
|
||||
"ProductAccesskey": "产品密钥",
|
||||
"IsEncrypted": "是否加密",
|
||||
"BelongingProductName": "所属产品",
|
||||
"CommunicationAddress": "通讯地址",
|
||||
"CommunicationAddressTLS": "TLS通讯地址",
|
||||
"DeviceThingModelFileName": "物模型文件",
|
||||
|
||||
@ -58,10 +58,5 @@
|
||||
"IoTPlatform": "物联网平台",
|
||||
"note": "备注",
|
||||
"creationTime": "创建时间",
|
||||
"lastModificationTime": "最后更新时间",
|
||||
"BelongingProductName": "所属产品",
|
||||
"BelongingAccountName": "所属账号",
|
||||
"AppId": "应用Id",
|
||||
"AppKey": "应用Key",
|
||||
"AppSecret": "应用Secret"
|
||||
"lastModificationTime": "最后更新时间"
|
||||
}
|
||||
|
||||
@ -17,7 +17,7 @@ export const querySchema = computed(() => [
|
||||
export const tableSchema: any = computed((): VxeGridProps['columns'] => [
|
||||
{ title: $t('common.seq'), type: 'seq', width: 50 },
|
||||
{
|
||||
field: 'accountId',
|
||||
field: 'ctWingAccountId',
|
||||
title: $t('abp.CTWingManagement.CTWingAccountId'),
|
||||
minWidth: '150',
|
||||
},
|
||||
@ -32,18 +32,8 @@ export const tableSchema: any = computed((): VxeGridProps['columns'] => [
|
||||
minWidth: '150',
|
||||
},
|
||||
{
|
||||
field: 'appId',
|
||||
title: $t('common.AppId'),
|
||||
minWidth: '150',
|
||||
},
|
||||
{
|
||||
field: 'appKey',
|
||||
title: $t('common.AppKey'),
|
||||
minWidth: '150',
|
||||
},
|
||||
{
|
||||
field: 'appSecret',
|
||||
title: $t('common.AppSecret'),
|
||||
field: 'accountAccesskey',
|
||||
title: $t('abp.CTWingManagement.AccountAccesskey'),
|
||||
minWidth: '150',
|
||||
},
|
||||
{
|
||||
|
||||
@ -19,7 +19,7 @@ export const tableSchema: any = computed((): VxeGridProps['columns'] => [
|
||||
{ title: $t('common.seq'), type: 'seq', width: 50 },
|
||||
{
|
||||
field: 'ctWingAccountName',
|
||||
title: $t('common.BelongingAccountName'),
|
||||
title: $t('abp.CTWingManagement.BelongingAccountName'),
|
||||
minWidth: '150',
|
||||
},
|
||||
{
|
||||
@ -33,13 +33,8 @@ export const tableSchema: any = computed((): VxeGridProps['columns'] => [
|
||||
minWidth: '150',
|
||||
},
|
||||
{
|
||||
field: 'masterKey',
|
||||
title: $t('abp.CTWingManagement.MasterKey'),
|
||||
minWidth: '150',
|
||||
},
|
||||
{
|
||||
field: 'featureAccesskey',
|
||||
title: $t('abp.CTWingManagement.FeatureAccesskey'),
|
||||
field: 'productAccesskey',
|
||||
title: $t('abp.CTWingManagement.ProductAccesskey'),
|
||||
minWidth: '150',
|
||||
},
|
||||
{
|
||||
@ -47,12 +42,55 @@ export const tableSchema: any = computed((): VxeGridProps['columns'] => [
|
||||
title: $t('abp.CTWingManagement.CommunicationAddress'),
|
||||
minWidth: '150',
|
||||
},
|
||||
{
|
||||
field: 'communicationAddressTLS',
|
||||
title: $t('abp.CTWingManagement.CommunicationAddressTLS'),
|
||||
minWidth: '150',
|
||||
},
|
||||
{
|
||||
field: 'deviceThingModelFileName',
|
||||
title: $t('abp.CTWingManagement.DeviceThingModelFileName'),
|
||||
minWidth: '150',
|
||||
slots: { default: 'deviceThingModelFileName' },
|
||||
},
|
||||
{
|
||||
field: 'productCreateTime',
|
||||
title: $t('abp.CTWingManagement.IoTPlatformProductCreateTime'),
|
||||
minWidth: '150',
|
||||
formatter: ({ cellValue }: any) => {
|
||||
if (!cellValue) return '-';
|
||||
const date = new Date(cellValue);
|
||||
if (isNaN(date.getTime())) return '-';
|
||||
return date.toLocaleString('zh-CN', {
|
||||
year: 'numeric',
|
||||
month: '2-digit',
|
||||
day: '2-digit',
|
||||
hour: '2-digit',
|
||||
minute: '2-digit',
|
||||
second: '2-digit',
|
||||
hour12: false,
|
||||
}).replace(/\//g, '-');
|
||||
},
|
||||
},
|
||||
{
|
||||
field: 'productUpdateTime',
|
||||
title: $t('abp.CTWingManagement.IoTPlatformProductUpdateTime'),
|
||||
minWidth: '150',
|
||||
formatter: ({ cellValue }: any) => {
|
||||
if (!cellValue) return '-';
|
||||
const date = new Date(cellValue);
|
||||
if (isNaN(date.getTime())) return '-';
|
||||
return date.toLocaleString('zh-CN', {
|
||||
year: 'numeric',
|
||||
month: '2-digit',
|
||||
day: '2-digit',
|
||||
hour: '2-digit',
|
||||
minute: '2-digit',
|
||||
second: '2-digit',
|
||||
hour12: false,
|
||||
}).replace(/\//g, '-');
|
||||
},
|
||||
},
|
||||
{
|
||||
field: 'creationTime',
|
||||
title: $t('abp.CTWingManagement.CreationTime'),
|
||||
@ -61,17 +99,15 @@ export const tableSchema: any = computed((): VxeGridProps['columns'] => [
|
||||
if (!cellValue) return '-';
|
||||
const date = new Date(cellValue);
|
||||
if (isNaN(date.getTime())) return '-';
|
||||
return date
|
||||
.toLocaleString('zh-CN', {
|
||||
year: 'numeric',
|
||||
month: '2-digit',
|
||||
day: '2-digit',
|
||||
hour: '2-digit',
|
||||
minute: '2-digit',
|
||||
second: '2-digit',
|
||||
hour12: false,
|
||||
})
|
||||
.replaceAll('/', '-');
|
||||
return date.toLocaleString('zh-CN', {
|
||||
year: 'numeric',
|
||||
month: '2-digit',
|
||||
day: '2-digit',
|
||||
hour: '2-digit',
|
||||
minute: '2-digit',
|
||||
second: '2-digit',
|
||||
hour12: false,
|
||||
}).replace(/\//g, '-');
|
||||
},
|
||||
},
|
||||
{
|
||||
@ -82,17 +118,15 @@ export const tableSchema: any = computed((): VxeGridProps['columns'] => [
|
||||
if (!cellValue) return '-';
|
||||
const date = new Date(cellValue);
|
||||
if (isNaN(date.getTime())) return '-';
|
||||
return date
|
||||
.toLocaleString('zh-CN', {
|
||||
year: 'numeric',
|
||||
month: '2-digit',
|
||||
day: '2-digit',
|
||||
hour: '2-digit',
|
||||
minute: '2-digit',
|
||||
second: '2-digit',
|
||||
hour12: false,
|
||||
})
|
||||
.replaceAll('/', '-');
|
||||
return date.toLocaleString('zh-CN', {
|
||||
year: 'numeric',
|
||||
month: '2-digit',
|
||||
day: '2-digit',
|
||||
hour: '2-digit',
|
||||
minute: '2-digit',
|
||||
second: '2-digit',
|
||||
hour12: false,
|
||||
}).replace(/\//g, '-');
|
||||
},
|
||||
},
|
||||
{
|
||||
|
||||
@ -123,37 +123,13 @@ async function submit() {
|
||||
if (!valid) return;
|
||||
|
||||
const formValues = await formApi.getValues();
|
||||
|
||||
// 根据平台类型处理数据
|
||||
let processedFormValues = { ...formValues };
|
||||
|
||||
if (formValues.ioTPlatform === '2') {
|
||||
// OneNET平台
|
||||
processedFormValues.ioTPlatformAccountId = formValues.oneNETAccountId;
|
||||
processedFormValues.ioTPlatformProductId = formValues.oneNETProductId;
|
||||
// 清理不需要的字段
|
||||
delete processedFormValues.oneNETAccountId;
|
||||
delete processedFormValues.oneNETProductId;
|
||||
delete processedFormValues.ctWingAccountId;
|
||||
delete processedFormValues.ctWingProductId;
|
||||
} else if (formValues.ioTPlatform === '1') {
|
||||
// CTWing平台
|
||||
processedFormValues.ioTPlatformAccountId = formValues.ctWingAccountId;
|
||||
processedFormValues.ioTPlatformProductId = formValues.ctWingProductId;
|
||||
// 清理不需要的字段
|
||||
delete processedFormValues.ctWingAccountId;
|
||||
delete processedFormValues.ctWingProductId;
|
||||
delete processedFormValues.oneNETAccountId;
|
||||
delete processedFormValues.oneNETProductId;
|
||||
}
|
||||
|
||||
const fetchParams: any = isEdit
|
||||
? {
|
||||
id: editRow.value.id,
|
||||
...processedFormValues,
|
||||
...formValues,
|
||||
}
|
||||
: {
|
||||
...processedFormValues,
|
||||
...formValues,
|
||||
};
|
||||
|
||||
try {
|
||||
@ -184,21 +160,7 @@ async function submit() {
|
||||
async function onEdit(record: any) {
|
||||
editRow.value = record;
|
||||
userModalApi.open();
|
||||
|
||||
// 根据平台类型设置表单值
|
||||
const formValues = { ...record };
|
||||
|
||||
if (record.ioTPlatform === 2 || record.ioTPlatform === '2') {
|
||||
// OneNET平台
|
||||
formValues.oneNETAccountId = record.ioTPlatformAccountId;
|
||||
formValues.oneNETProductId = record.ioTPlatformProductId;
|
||||
} else if (record.ioTPlatform === 1 || record.ioTPlatform === '1') {
|
||||
// CTWing平台
|
||||
formValues.ctWingAccountId = record.ioTPlatformAccountId;
|
||||
formValues.ctWingProductId = record.ioTPlatformProductId;
|
||||
}
|
||||
|
||||
editFormApi.setValues(formValues);
|
||||
editFormApi.setValues({ ...record });
|
||||
}
|
||||
|
||||
function onDel(row: any) {
|
||||
|
||||
@ -6,9 +6,6 @@ import { z } from '@vben/common-ui';
|
||||
|
||||
import {
|
||||
getCommonGetSelectList,
|
||||
postCtWingAccountListAsync,
|
||||
postCtWingProductListAsync,
|
||||
postOneNetAccountListAsync,
|
||||
postOneNetProductListAsync,
|
||||
} from '#/api-client';
|
||||
import { $t } from '#/locales';
|
||||
@ -94,8 +91,8 @@ export const tableSchema: any = computed((): VxeGridProps['columns'] => [
|
||||
export const addDeviceFormSchema: any = computed(() => [
|
||||
{
|
||||
component: 'ApiSelect',
|
||||
fieldName: 'ioTPlatform',
|
||||
label: $t('abp.deviceInfos.ioTPlatform'),
|
||||
fieldName: 'IoTPlatform',
|
||||
label: $t('common.IoTPlatform'),
|
||||
componentProps: {
|
||||
api: getCommonGetSelectList,
|
||||
params: {
|
||||
@ -125,141 +122,22 @@ export const addDeviceFormSchema: any = computed(() => [
|
||||
},
|
||||
},
|
||||
rules: z.string().min(1, {
|
||||
message: `${$t('common.pleaseSelect')}${$t('abp.deviceInfos.ioTPlatform')}`,
|
||||
message: `${$t('common.pleaseSelect')}${$t('common.IoTPlatform')}`,
|
||||
}),
|
||||
},
|
||||
{
|
||||
component: 'ApiSelect',
|
||||
fieldName: 'oneNETAccountId',
|
||||
label: $t('abp.deviceInfos.ioTPlatformAccountName'),
|
||||
dependencies: {
|
||||
show(values: any) {
|
||||
return values.ioTPlatform === '2'; // OneNET平台
|
||||
},
|
||||
rules(values: any) {
|
||||
if (values.ioTPlatform === '2') {
|
||||
return 'required';
|
||||
}
|
||||
return null;
|
||||
},
|
||||
triggerFields: ['ioTPlatform'],
|
||||
},
|
||||
componentProps: {
|
||||
api: postOneNetAccountListAsync,
|
||||
params: {
|
||||
body: {
|
||||
pageIndex: 1,
|
||||
pageSize: 1000,
|
||||
},
|
||||
},
|
||||
labelField: 'accountName',
|
||||
valueField: 'oneNETAccountId',
|
||||
immediate: true,
|
||||
afterFetch: (res: any) => {
|
||||
// 如果是 Axios 响应对象,提取 data
|
||||
if (res && res.data) {
|
||||
const data = res.data;
|
||||
|
||||
// 确保返回的是数组格式
|
||||
if (Array.isArray(data)) {
|
||||
return data;
|
||||
}
|
||||
// 如果是包装在 items 中的,提取出来
|
||||
if (data && Array.isArray(data.items)) {
|
||||
return data.items;
|
||||
}
|
||||
// 如果是包装在 data 中的,提取出来
|
||||
if (data && Array.isArray(data.data)) {
|
||||
return data.data;
|
||||
}
|
||||
}
|
||||
|
||||
// 如果都不是,返回空数组
|
||||
return [];
|
||||
},
|
||||
placeholder: `${$t('common.pleaseSelect')}${$t('abp.deviceInfos.ioTPlatformAccountName')}`,
|
||||
},
|
||||
rules: z.string().optional(),
|
||||
},
|
||||
{
|
||||
component: 'ApiSelect',
|
||||
fieldName: 'ctWingAccountId',
|
||||
label: $t('abp.deviceInfos.ioTPlatformAccountName'),
|
||||
dependencies: {
|
||||
show(values: any) {
|
||||
return values.ioTPlatform === '1'; // CTWing平台
|
||||
},
|
||||
rules(values: any) {
|
||||
if (values.ioTPlatform === '1') {
|
||||
return 'required';
|
||||
}
|
||||
return null;
|
||||
},
|
||||
triggerFields: ['ioTPlatform'],
|
||||
},
|
||||
componentProps: {
|
||||
api: postCtWingAccountListAsync,
|
||||
params: {
|
||||
body: {
|
||||
pageIndex: 1,
|
||||
pageSize: 1000,
|
||||
},
|
||||
},
|
||||
labelField: 'accountName',
|
||||
valueField: 'ctWingAccountId',
|
||||
immediate: true,
|
||||
afterFetch: (res: any) => {
|
||||
// 如果是 Axios 响应对象,提取 data
|
||||
if (res && res.data) {
|
||||
const data = res.data;
|
||||
|
||||
// 确保返回的是数组格式
|
||||
if (Array.isArray(data)) {
|
||||
return data;
|
||||
}
|
||||
// 如果是包装在 items 中的,提取出来
|
||||
if (data && Array.isArray(data.items)) {
|
||||
return data.items;
|
||||
}
|
||||
// 如果是包装在 data 中的,提取出来
|
||||
if (data && Array.isArray(data.data)) {
|
||||
return data.data;
|
||||
}
|
||||
}
|
||||
|
||||
// 如果都不是,返回空数组
|
||||
return [];
|
||||
},
|
||||
placeholder: `${$t('common.pleaseSelect')}${$t('abp.deviceInfos.ioTPlatformAccountName')}`,
|
||||
},
|
||||
rules: z.string().optional(),
|
||||
},
|
||||
{
|
||||
component: 'ApiSelect',
|
||||
fieldName: 'oneNETProductId',
|
||||
label: $t('abp.deviceInfos.ioTPlatformProductName'),
|
||||
dependencies: {
|
||||
show(values: any) {
|
||||
return values.ioTPlatform === '2' && values.oneNETAccountId; // OneNET平台且已选择账号
|
||||
},
|
||||
rules(values: any) {
|
||||
if (values.ioTPlatform === '2' && values.oneNETAccountId) {
|
||||
return 'required';
|
||||
}
|
||||
return null;
|
||||
},
|
||||
triggerFields: ['ioTPlatform', 'oneNETAccountId'],
|
||||
},
|
||||
fieldName: 'ioTPlatformProductId',
|
||||
label: $t('abp.OneNETManagement.BelongingProductName'),
|
||||
componentProps: {
|
||||
api: postOneNetProductListAsync,
|
||||
params: (formValues: any) => ({
|
||||
params: {
|
||||
body: {
|
||||
pageIndex: 1,
|
||||
pageSize: 1000,
|
||||
oneNETAccountId: formValues.oneNETAccountId,
|
||||
},
|
||||
}),
|
||||
labelField: 'productName',
|
||||
},
|
||||
labelField: 'label',
|
||||
valueField: 'ioTPlatformProductId',
|
||||
immediate: true,
|
||||
afterFetch: (res: any) => {
|
||||
@ -280,73 +158,18 @@ export const addDeviceFormSchema: any = computed(() => [
|
||||
// 为每个产品项添加组合标签
|
||||
return items.map((item: any) => ({
|
||||
...item,
|
||||
label: `${item.productName || ''} (${item.ioTPlatformProductId || ''})`,
|
||||
label: `${item.productName || item.ProductName || ''} (${item.ioTPlatformProductId || ''})`,
|
||||
}));
|
||||
}
|
||||
|
||||
// 如果都不是,返回空数组
|
||||
return [];
|
||||
},
|
||||
placeholder: `${$t('common.pleaseSelect')}${$t('abp.deviceInfos.ioTPlatformProductName')}`,
|
||||
placeholder: `${$t('common.pleaseSelect')}${$t('abp.OneNETManagement.BelongingProductName')}`,
|
||||
},
|
||||
rules: z.string().optional(),
|
||||
},
|
||||
{
|
||||
component: 'ApiSelect',
|
||||
fieldName: 'ctWingProductId',
|
||||
label: $t('abp.deviceInfos.ioTPlatformProductName'),
|
||||
dependencies: {
|
||||
show(values: any) {
|
||||
return values.ioTPlatform === '1' && values.ctWingAccountId; // CTWing平台且已选择账号
|
||||
},
|
||||
rules(values: any) {
|
||||
if (values.ioTPlatform === '1' && values.ctWingAccountId) {
|
||||
return 'required';
|
||||
}
|
||||
return null;
|
||||
},
|
||||
triggerFields: ['ioTPlatform', 'ctWingAccountId'],
|
||||
},
|
||||
componentProps: {
|
||||
api: postCtWingProductListAsync,
|
||||
params: (formValues: any) => ({
|
||||
body: {
|
||||
pageIndex: 1,
|
||||
pageSize: 1000,
|
||||
ctWingAccountId: formValues.ctWingAccountId,
|
||||
},
|
||||
}),
|
||||
labelField: 'productName',
|
||||
valueField: 'ioTPlatformProductId',
|
||||
immediate: true,
|
||||
afterFetch: (res: any) => {
|
||||
// 如果是 Axios 响应对象,提取 data
|
||||
if (res && res.data) {
|
||||
const data = res.data;
|
||||
|
||||
// 确保返回的是数组格式
|
||||
let items = [];
|
||||
if (Array.isArray(data)) {
|
||||
items = data;
|
||||
} else if (data && Array.isArray(data.items)) {
|
||||
items = data.items;
|
||||
} else if (data && Array.isArray(data.data)) {
|
||||
items = data.data;
|
||||
}
|
||||
|
||||
// 为每个产品项添加组合标签
|
||||
return items.map((item: any) => ({
|
||||
...item,
|
||||
label: `${item.productName || ''} (${item.ioTPlatformProductId || ''})`,
|
||||
}));
|
||||
}
|
||||
|
||||
// 如果都不是,返回空数组
|
||||
return [];
|
||||
},
|
||||
placeholder: `${$t('common.pleaseSelect')}${$t('abp.deviceInfos.ioTPlatformProductName')}`,
|
||||
},
|
||||
rules: z.string().optional(),
|
||||
rules: z.string().min(1, {
|
||||
message: `${$t('common.pleaseSelect')}${$t('abp.OneNETManagement.BelongingProductName')}`,
|
||||
}),
|
||||
},
|
||||
{
|
||||
component: 'Input',
|
||||
@ -361,8 +184,8 @@ export const addDeviceFormSchema: any = computed(() => [
|
||||
export const editDeviceFormSchemaEdit: any = computed(() => [
|
||||
{
|
||||
component: 'ApiSelect',
|
||||
fieldName: 'ioTPlatform',
|
||||
label: $t('abp.deviceInfos.ioTPlatform'),
|
||||
fieldName: 'IoTPlatform',
|
||||
label: $t('common.IoTPlatform'),
|
||||
componentProps: {
|
||||
api: getCommonGetSelectList,
|
||||
params: {
|
||||
@ -391,229 +214,60 @@ export const editDeviceFormSchemaEdit: any = computed(() => [
|
||||
return [];
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
component: 'ApiSelect',
|
||||
fieldName: 'ioTPlatformProductId',
|
||||
label: $t('abp.OneNETManagement.BelongingProductName'),
|
||||
componentProps: {
|
||||
api: postOneNetProductListAsync,
|
||||
params: {
|
||||
body: {
|
||||
pageIndex: 1,
|
||||
pageSize: 1000,
|
||||
},
|
||||
},
|
||||
labelField: 'label',
|
||||
valueField: 'ioTPlatformProductId',
|
||||
immediate: true,
|
||||
afterFetch: (res: any) => {
|
||||
// 如果是 Axios 响应对象,提取 data
|
||||
if (res && res.data) {
|
||||
const data = res.data;
|
||||
|
||||
// 确保返回的是数组格式
|
||||
let items = [];
|
||||
if (Array.isArray(data)) {
|
||||
items = data;
|
||||
} else if (data && Array.isArray(data.items)) {
|
||||
items = data.items;
|
||||
} else if (data && Array.isArray(data.data)) {
|
||||
items = data.data;
|
||||
}
|
||||
|
||||
// 为每个产品项添加组合标签
|
||||
return items.map((item: any) => ({
|
||||
...item,
|
||||
label: `${item.productName || item.ProductName || ''} (${item.ioTPlatformProductId || ''})`,
|
||||
}));
|
||||
}
|
||||
|
||||
// 如果都不是,返回空数组
|
||||
return [];
|
||||
},
|
||||
placeholder: `${$t('common.pleaseSelect')}${$t('abp.OneNETManagement.BelongingProductName')}`,
|
||||
},
|
||||
rules: z.string().min(1, {
|
||||
message: `${$t('common.pleaseSelect')}${$t('abp.deviceInfos.ioTPlatform')}`,
|
||||
message: `${$t('common.pleaseSelect')}${$t('abp.OneNETManagement.BelongingProductName')}`,
|
||||
}),
|
||||
},
|
||||
{
|
||||
component: 'ApiSelect',
|
||||
fieldName: 'oneNETAccountId',
|
||||
label: $t('abp.deviceInfos.ioTPlatformAccountName'),
|
||||
dependencies: {
|
||||
show(values: any) {
|
||||
return values.ioTPlatform === '2'; // OneNET平台
|
||||
},
|
||||
rules(values: any) {
|
||||
if (values.ioTPlatform === '2') {
|
||||
return 'required';
|
||||
}
|
||||
return null;
|
||||
},
|
||||
triggerFields: ['ioTPlatform'],
|
||||
},
|
||||
componentProps: {
|
||||
api: postOneNetAccountListAsync,
|
||||
params: {
|
||||
body: {
|
||||
pageIndex: 1,
|
||||
pageSize: 1000,
|
||||
},
|
||||
},
|
||||
labelField: 'accountName',
|
||||
valueField: 'oneNETAccountId',
|
||||
immediate: true,
|
||||
afterFetch: (res: any) => {
|
||||
// 如果是 Axios 响应对象,提取 data
|
||||
if (res && res.data) {
|
||||
const data = res.data;
|
||||
|
||||
// 确保返回的是数组格式
|
||||
if (Array.isArray(data)) {
|
||||
return data;
|
||||
}
|
||||
// 如果是包装在 items 中的,提取出来
|
||||
if (data && Array.isArray(data.items)) {
|
||||
return data.items;
|
||||
}
|
||||
// 如果是包装在 data 中的,提取出来
|
||||
if (data && Array.isArray(data.data)) {
|
||||
return data.data;
|
||||
}
|
||||
}
|
||||
|
||||
// 如果都不是,返回空数组
|
||||
return [];
|
||||
},
|
||||
placeholder: `${$t('common.pleaseSelect')}${$t('abp.deviceInfos.ioTPlatformAccountName')}`,
|
||||
},
|
||||
rules: z.string().optional(),
|
||||
},
|
||||
{
|
||||
component: 'ApiSelect',
|
||||
fieldName: 'ctWingAccountId',
|
||||
label: $t('abp.deviceInfos.ioTPlatformAccountName'),
|
||||
dependencies: {
|
||||
show(values: any) {
|
||||
return values.ioTPlatform === '1'; // CTWing平台
|
||||
},
|
||||
rules(values: any) {
|
||||
if (values.ioTPlatform === '1') {
|
||||
return 'required';
|
||||
}
|
||||
return null;
|
||||
},
|
||||
triggerFields: ['ioTPlatform'],
|
||||
},
|
||||
componentProps: {
|
||||
api: postCtWingAccountListAsync,
|
||||
params: {
|
||||
body: {
|
||||
pageIndex: 1,
|
||||
pageSize: 1000,
|
||||
},
|
||||
},
|
||||
labelField: 'accountName',
|
||||
valueField: 'ctWingAccountId',
|
||||
immediate: true,
|
||||
afterFetch: (res: any) => {
|
||||
// 如果是 Axios 响应对象,提取 data
|
||||
if (res && res.data) {
|
||||
const data = res.data;
|
||||
|
||||
// 确保返回的是数组格式
|
||||
if (Array.isArray(data)) {
|
||||
return data;
|
||||
}
|
||||
// 如果是包装在 items 中的,提取出来
|
||||
if (data && Array.isArray(data.items)) {
|
||||
return data.items;
|
||||
}
|
||||
// 如果是包装在 data 中的,提取出来
|
||||
if (data && Array.isArray(data.data)) {
|
||||
return data.data;
|
||||
}
|
||||
}
|
||||
|
||||
// 如果都不是,返回空数组
|
||||
return [];
|
||||
},
|
||||
placeholder: `${$t('common.pleaseSelect')}${$t('abp.deviceInfos.ioTPlatformAccountName')}`,
|
||||
},
|
||||
rules: z.string().optional(),
|
||||
},
|
||||
{
|
||||
component: 'ApiSelect',
|
||||
fieldName: 'oneNETProductId',
|
||||
label: $t('abp.deviceInfos.ioTPlatformProductName'),
|
||||
dependencies: {
|
||||
show(values: any) {
|
||||
return values.ioTPlatform === '2' && values.oneNETAccountId; // OneNET平台且已选择账号
|
||||
},
|
||||
rules(values: any) {
|
||||
if (values.ioTPlatform === '2' && values.oneNETAccountId) {
|
||||
return 'required';
|
||||
}
|
||||
return null;
|
||||
},
|
||||
triggerFields: ['ioTPlatform', 'oneNETAccountId'],
|
||||
},
|
||||
componentProps: {
|
||||
api: postOneNetProductListAsync,
|
||||
params: (formValues: any) => ({
|
||||
body: {
|
||||
pageIndex: 1,
|
||||
pageSize: 1000,
|
||||
oneNETAccountId: formValues.oneNETAccountId,
|
||||
},
|
||||
}),
|
||||
labelField: 'productName',
|
||||
valueField: 'ioTPlatformProductId',
|
||||
immediate: true,
|
||||
afterFetch: (res: any) => {
|
||||
// 如果是 Axios 响应对象,提取 data
|
||||
if (res && res.data) {
|
||||
const data = res.data;
|
||||
|
||||
// 确保返回的是数组格式
|
||||
let items = [];
|
||||
if (Array.isArray(data)) {
|
||||
items = data;
|
||||
} else if (data && Array.isArray(data.items)) {
|
||||
items = data.items;
|
||||
} else if (data && Array.isArray(data.data)) {
|
||||
items = data.data;
|
||||
}
|
||||
|
||||
// 为每个产品项添加组合标签
|
||||
return items.map((item: any) => ({
|
||||
...item,
|
||||
label: `${item.productName || ''} (${item.ioTPlatformProductId || ''})`,
|
||||
}));
|
||||
}
|
||||
|
||||
// 如果都不是,返回空数组
|
||||
return [];
|
||||
},
|
||||
placeholder: `${$t('common.pleaseSelect')}${$t('abp.deviceInfos.ioTPlatformProductName')}`,
|
||||
},
|
||||
rules: z.string().optional(),
|
||||
},
|
||||
{
|
||||
component: 'ApiSelect',
|
||||
fieldName: 'ctWingProductId',
|
||||
label: $t('abp.deviceInfos.ioTPlatformProductName'),
|
||||
dependencies: {
|
||||
show(values: any) {
|
||||
return values.ioTPlatform === '1' && values.ctWingAccountId; // CTWing平台且已选择账号
|
||||
},
|
||||
rules(values: any) {
|
||||
if (values.ioTPlatform === '1' && values.ctWingAccountId) {
|
||||
return 'required';
|
||||
}
|
||||
return null;
|
||||
},
|
||||
triggerFields: ['ioTPlatform', 'ctWingAccountId'],
|
||||
},
|
||||
componentProps: {
|
||||
api: postCtWingProductListAsync,
|
||||
params: (formValues: any) => ({
|
||||
body: {
|
||||
pageIndex: 1,
|
||||
pageSize: 1000,
|
||||
ctWingAccountId: formValues.ctWingAccountId,
|
||||
},
|
||||
}),
|
||||
labelField: 'productName',
|
||||
valueField: 'ioTPlatformProductId',
|
||||
immediate: true,
|
||||
afterFetch: (res: any) => {
|
||||
// 如果是 Axios 响应对象,提取 data
|
||||
if (res && res.data) {
|
||||
const data = res.data;
|
||||
|
||||
// 确保返回的是数组格式
|
||||
let items = [];
|
||||
if (Array.isArray(data)) {
|
||||
items = data;
|
||||
} else if (data && Array.isArray(data.items)) {
|
||||
items = data.items;
|
||||
} else if (data && Array.isArray(data.data)) {
|
||||
items = data.data;
|
||||
}
|
||||
|
||||
// 为每个产品项添加组合标签
|
||||
return items.map((item: any) => ({
|
||||
...item,
|
||||
label: `${item.productName || ''} (${item.ioTPlatformProductId || ''})`,
|
||||
}));
|
||||
}
|
||||
|
||||
// 如果都不是,返回空数组
|
||||
return [];
|
||||
},
|
||||
placeholder: `${$t('common.pleaseSelect')}${$t('abp.deviceInfos.ioTPlatformProductName')}`,
|
||||
},
|
||||
rules: z.string().optional(),
|
||||
component: 'Input',
|
||||
fieldName: 'deviceName',
|
||||
label: $t('abp.deviceInfos.deviceName'),
|
||||
rules: z.string().min(1, {
|
||||
message: `${$t('common.pleaseInput')}${$t('abp.deviceInfos.deviceName')}`,
|
||||
}),
|
||||
},
|
||||
{
|
||||
component: 'Input',
|
||||
@ -621,4 +275,12 @@ export const editDeviceFormSchemaEdit: any = computed(() => [
|
||||
label: $t('abp.deviceInfos.deviceAddress'),
|
||||
disabled: true,
|
||||
},
|
||||
{
|
||||
component: 'Input',
|
||||
fieldName: 'platformPassword',
|
||||
label: $t('abp.deviceInfos.platformPassword'),
|
||||
rules: z.string().min(1, {
|
||||
message: `${$t('common.pleaseInput')}${$t('common.info')}${$t('abp.deviceInfos.platformPassword')}`,
|
||||
}),
|
||||
},
|
||||
]);
|
||||
|
||||
@ -19,7 +19,7 @@ export const tableSchema: any = computed((): VxeGridProps['columns'] => [
|
||||
{ title: $t('common.seq'), type: 'seq', width: 50 },
|
||||
{
|
||||
field: 'oneNETAccountName',
|
||||
title: $t('common.BelongingAccountName'),
|
||||
title: $t('abp.OneNETManagement.BelongingAccountName'),
|
||||
minWidth: '150',
|
||||
},
|
||||
{
|
||||
@ -61,17 +61,15 @@ export const tableSchema: any = computed((): VxeGridProps['columns'] => [
|
||||
if (!cellValue) return '-';
|
||||
const date = new Date(cellValue);
|
||||
if (isNaN(date.getTime())) return '-';
|
||||
return date
|
||||
.toLocaleString('zh-CN', {
|
||||
year: 'numeric',
|
||||
month: '2-digit',
|
||||
day: '2-digit',
|
||||
hour: '2-digit',
|
||||
minute: '2-digit',
|
||||
second: '2-digit',
|
||||
hour12: false,
|
||||
})
|
||||
.replaceAll('/', '-');
|
||||
return date.toLocaleString('zh-CN', {
|
||||
year: 'numeric',
|
||||
month: '2-digit',
|
||||
day: '2-digit',
|
||||
hour: '2-digit',
|
||||
minute: '2-digit',
|
||||
second: '2-digit',
|
||||
hour12: false,
|
||||
}).replace(/\//g, '-');
|
||||
},
|
||||
},
|
||||
{
|
||||
@ -82,17 +80,15 @@ export const tableSchema: any = computed((): VxeGridProps['columns'] => [
|
||||
if (!cellValue) return '-';
|
||||
const date = new Date(cellValue);
|
||||
if (isNaN(date.getTime())) return '-';
|
||||
return date
|
||||
.toLocaleString('zh-CN', {
|
||||
year: 'numeric',
|
||||
month: '2-digit',
|
||||
day: '2-digit',
|
||||
hour: '2-digit',
|
||||
minute: '2-digit',
|
||||
second: '2-digit',
|
||||
hour12: false,
|
||||
})
|
||||
.replaceAll('/', '-');
|
||||
return date.toLocaleString('zh-CN', {
|
||||
year: 'numeric',
|
||||
month: '2-digit',
|
||||
day: '2-digit',
|
||||
hour: '2-digit',
|
||||
minute: '2-digit',
|
||||
second: '2-digit',
|
||||
hour12: false,
|
||||
}).replace(/\//g, '-');
|
||||
},
|
||||
},
|
||||
{
|
||||
@ -103,17 +99,15 @@ export const tableSchema: any = computed((): VxeGridProps['columns'] => [
|
||||
if (!cellValue) return '-';
|
||||
const date = new Date(cellValue);
|
||||
if (isNaN(date.getTime())) return '-';
|
||||
return date
|
||||
.toLocaleString('zh-CN', {
|
||||
year: 'numeric',
|
||||
month: '2-digit',
|
||||
day: '2-digit',
|
||||
hour: '2-digit',
|
||||
minute: '2-digit',
|
||||
second: '2-digit',
|
||||
hour12: false,
|
||||
})
|
||||
.replaceAll('/', '-');
|
||||
return date.toLocaleString('zh-CN', {
|
||||
year: 'numeric',
|
||||
month: '2-digit',
|
||||
day: '2-digit',
|
||||
hour: '2-digit',
|
||||
minute: '2-digit',
|
||||
second: '2-digit',
|
||||
hour12: false,
|
||||
}).replace(/\//g, '-');
|
||||
},
|
||||
},
|
||||
{
|
||||
@ -124,17 +118,15 @@ export const tableSchema: any = computed((): VxeGridProps['columns'] => [
|
||||
if (!cellValue) return '-';
|
||||
const date = new Date(cellValue);
|
||||
if (isNaN(date.getTime())) return '-';
|
||||
return date
|
||||
.toLocaleString('zh-CN', {
|
||||
year: 'numeric',
|
||||
month: '2-digit',
|
||||
day: '2-digit',
|
||||
hour: '2-digit',
|
||||
minute: '2-digit',
|
||||
second: '2-digit',
|
||||
hour12: false,
|
||||
})
|
||||
.replaceAll('/', '-');
|
||||
return date.toLocaleString('zh-CN', {
|
||||
year: 'numeric',
|
||||
month: '2-digit',
|
||||
day: '2-digit',
|
||||
hour: '2-digit',
|
||||
minute: '2-digit',
|
||||
second: '2-digit',
|
||||
hour12: false,
|
||||
}).replace(/\//g, '-');
|
||||
},
|
||||
},
|
||||
{
|
||||
@ -166,7 +158,7 @@ export const addProductFormSchema: any = computed(() => [
|
||||
{
|
||||
component: 'ApiSelect',
|
||||
fieldName: 'oneNETAccountId',
|
||||
label: $t('common.BelongingAccountName'),
|
||||
label: $t('abp.OneNETManagement.BelongingAccountName'),
|
||||
componentProps: {
|
||||
api: postOneNetAccountListAsync,
|
||||
params: {
|
||||
@ -200,10 +192,10 @@ export const addProductFormSchema: any = computed(() => [
|
||||
// 如果都不是,返回空数组
|
||||
return [];
|
||||
},
|
||||
placeholder: `${$t('common.pleaseSelect')}${$t('common.BelongingAccountName')}`,
|
||||
placeholder: `${$t('common.pleaseSelect')}${$t('abp.OneNETManagement.BelongingAccountName')}`,
|
||||
},
|
||||
rules: z.string().min(1, {
|
||||
message: `${$t('common.pleaseSelect')}${$t('common.BelongingAccountName')}`,
|
||||
message: `${$t('common.pleaseSelect')}${$t('abp.OneNETManagement.BelongingAccountName')}`,
|
||||
}),
|
||||
},
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user