snss-types 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-types/index.d.ts +681 -0
- package/dist-types/index.js +157 -0
- package/dist-types/index.js.map +1 -0
- package/package.json +10 -4
- package/src/types/case.ts +0 -86
- package/src/types/index.ts +0 -70
- package/src/types/scene.ts +0 -612
package/src/types/scene.ts
DELETED
|
@@ -1,612 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 场景树结构对象类型
|
|
3
|
-
*/
|
|
4
|
-
export interface SceneItem {
|
|
5
|
-
label: string
|
|
6
|
-
value: string
|
|
7
|
-
meta: SceneItemMeta
|
|
8
|
-
isLeaf?: boolean
|
|
9
|
-
[x: string]: any
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* 场景元数据详细信息类型
|
|
14
|
-
*/
|
|
15
|
-
export interface SceneItemMeta {
|
|
16
|
-
scene_json?: SceneItemSelfInfo
|
|
17
|
-
manifest_json?: ManifestData
|
|
18
|
-
constellations_json?: ConstellationsData
|
|
19
|
-
satellites_json?: SatellitesData
|
|
20
|
-
nodes_json?: NodesData
|
|
21
|
-
links_json?: LinksData
|
|
22
|
-
tasks_json?: TasksData
|
|
23
|
-
flows_json?: FlowsData
|
|
24
|
-
timeline_json?: TimelineData
|
|
25
|
-
metrics_json?: MetricsData
|
|
26
|
-
evaluation_json?: EvaluationData
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* 场景节点(单个架构版本)
|
|
31
|
-
*/
|
|
32
|
-
export interface SceneItemSelfInfo {
|
|
33
|
-
/** 场景唯一标识 */
|
|
34
|
-
scene_id: string
|
|
35
|
-
/** 场景显示名称 */
|
|
36
|
-
scene_name: string
|
|
37
|
-
/** 文件路径 */
|
|
38
|
-
file_path?: string
|
|
39
|
-
/** 场景角色:基线/迭代/最终 */
|
|
40
|
-
scene_role: SceneRole
|
|
41
|
-
/** 场景描述说明 */
|
|
42
|
-
description: string
|
|
43
|
-
/** 上一个场景ID(可选,基线版本没有) */
|
|
44
|
-
prev_scene_id?: string
|
|
45
|
-
/** 下一个场景ID(可选,最终版本没有) */
|
|
46
|
-
next_scene_id?: string
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* 场景角色类型
|
|
51
|
-
* - baseline: 基线架构版本
|
|
52
|
-
* - iteration: 优化迭代版本
|
|
53
|
-
* - final: 最终优化版本
|
|
54
|
-
*/
|
|
55
|
-
export type SceneRole = 'baseline' | 'iteration' | 'final'
|
|
56
|
-
|
|
57
|
-
// #region manifest.json 类型 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
|
|
58
|
-
// ==================== manifest.json 类型 ====================
|
|
59
|
-
/**
|
|
60
|
-
* 时间配置
|
|
61
|
-
*/
|
|
62
|
-
export interface ManifestTime {
|
|
63
|
-
epoch_utc: string // 起始UTC时间,如 "2026-01-01T00:00:00Z"
|
|
64
|
-
start_time_s: number
|
|
65
|
-
end_time_s: number
|
|
66
|
-
time_step_ms: number
|
|
67
|
-
frame_count: number
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* 场景清单文件
|
|
72
|
-
*/
|
|
73
|
-
export interface ManifestData {
|
|
74
|
-
scene_id: string
|
|
75
|
-
scene_name: string
|
|
76
|
-
description: string
|
|
77
|
-
time: ManifestTime
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
// #endregion ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
|
|
81
|
-
|
|
82
|
-
// #region constellations.json 类型 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
|
|
83
|
-
// ==================== constellations.json 类型 ====================
|
|
84
|
-
/**
|
|
85
|
-
* 星座类型
|
|
86
|
-
*/
|
|
87
|
-
export type ConstellationType = 'GEO' | 'MEO' | 'LEO'
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* 星座配置
|
|
91
|
-
*/
|
|
92
|
-
export interface Constellation {
|
|
93
|
-
constellation_id: string
|
|
94
|
-
constellation_name: string
|
|
95
|
-
layer: ConstellationType
|
|
96
|
-
satellite_count: number
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* 星座列表
|
|
101
|
-
*/
|
|
102
|
-
export interface ConstellationsData {
|
|
103
|
-
constellations: Constellation[]
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
// #endregion ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
|
|
107
|
-
|
|
108
|
-
// #region satellites.json 类型 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
|
|
109
|
-
// ==================== satellites.json 类型 ====================
|
|
110
|
-
/**
|
|
111
|
-
* 卫星TLE数据
|
|
112
|
-
*/
|
|
113
|
-
export interface SatelliteTLE {
|
|
114
|
-
line1: string
|
|
115
|
-
line2: string
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
/**
|
|
119
|
-
* 卫星配置
|
|
120
|
-
*/
|
|
121
|
-
export interface Satellite {
|
|
122
|
-
satellite_id: string
|
|
123
|
-
satellite_name: string
|
|
124
|
-
constellation_id: string
|
|
125
|
-
layer: ConstellationType
|
|
126
|
-
satellite_type: TaskType
|
|
127
|
-
orbit_plane: number
|
|
128
|
-
orbit_index: number
|
|
129
|
-
tle: SatelliteTLE
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
/**
|
|
133
|
-
* 卫星列表
|
|
134
|
-
*/
|
|
135
|
-
export interface SatellitesData {
|
|
136
|
-
satellites: Satellite[]
|
|
137
|
-
}
|
|
138
|
-
// #endregion ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
|
|
139
|
-
|
|
140
|
-
// #region nodes.json 类型 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
|
|
141
|
-
// ==================== nodes.json 类型 ====================
|
|
142
|
-
/**
|
|
143
|
-
* 地理位置
|
|
144
|
-
*/
|
|
145
|
-
export interface GeoPosition {
|
|
146
|
-
lon_deg: number
|
|
147
|
-
lat_deg: number
|
|
148
|
-
alt_km: number
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
/**
|
|
152
|
-
* 容量配置
|
|
153
|
-
*/
|
|
154
|
-
export interface Capacity {
|
|
155
|
-
max_access_capacity_mbps: number
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
/**
|
|
159
|
-
* 显示配置
|
|
160
|
-
*/
|
|
161
|
-
export interface DisplayOptions {
|
|
162
|
-
show_trajectory?: boolean
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
/**
|
|
166
|
-
* 节点类型
|
|
167
|
-
*/
|
|
168
|
-
export type NodeType = 'gateway' | 'user_terminal' | 'control_center' | 'other'
|
|
169
|
-
|
|
170
|
-
/**
|
|
171
|
-
* 终端类型(仅在 node_type = 'user_terminal' 时使用)
|
|
172
|
-
*/
|
|
173
|
-
export type TerminalType = 'fixed' | 'mobile' | 'airborne' | 'maritime'
|
|
174
|
-
|
|
175
|
-
/**
|
|
176
|
-
* 移动模型类型
|
|
177
|
-
*/
|
|
178
|
-
export type MobilityModel = 'static' | 'waypoint'
|
|
179
|
-
|
|
180
|
-
/**
|
|
181
|
-
* 网关节点
|
|
182
|
-
*/
|
|
183
|
-
export interface GatewayNode {
|
|
184
|
-
node_id: string
|
|
185
|
-
node_name: string
|
|
186
|
-
node_type: 'gateway'
|
|
187
|
-
region: string
|
|
188
|
-
geo_position: GeoPosition
|
|
189
|
-
capacity: Capacity
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
/**
|
|
193
|
-
* 固定用户终端
|
|
194
|
-
*/
|
|
195
|
-
export interface StaticUserTerminal {
|
|
196
|
-
node_id: string
|
|
197
|
-
node_name: string
|
|
198
|
-
node_type: 'user_terminal'
|
|
199
|
-
terminal_type: 'fixed'
|
|
200
|
-
mobility_model: 'static'
|
|
201
|
-
geo_position: GeoPosition
|
|
202
|
-
display_options?: DisplayOptions
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
/**
|
|
206
|
-
* 移动用户终端
|
|
207
|
-
*/
|
|
208
|
-
export interface MobileUserTerminal {
|
|
209
|
-
node_id: string
|
|
210
|
-
node_name: string
|
|
211
|
-
node_type: 'user_terminal'
|
|
212
|
-
terminal_type: 'mobile'
|
|
213
|
-
mobility_model: 'waypoint'
|
|
214
|
-
geo_position: GeoPosition
|
|
215
|
-
display_options?: DisplayOptions
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
/**
|
|
219
|
-
* 其他类型用户终端
|
|
220
|
-
*/
|
|
221
|
-
export interface OtherUserTerminal {
|
|
222
|
-
node_id: string
|
|
223
|
-
node_name: string
|
|
224
|
-
node_type: 'user_terminal'
|
|
225
|
-
terminal_type: Exclude<TerminalType, 'fixed' | 'mobile'>
|
|
226
|
-
mobility_model: MobilityModel
|
|
227
|
-
geo_position: GeoPosition
|
|
228
|
-
display_options?: DisplayOptions
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
/**
|
|
232
|
-
* 控制中心节点
|
|
233
|
-
*/
|
|
234
|
-
export interface ControlCenterNode {
|
|
235
|
-
node_id: string
|
|
236
|
-
node_name: string
|
|
237
|
-
node_type: 'control_center'
|
|
238
|
-
geo_position: GeoPosition
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
/**
|
|
242
|
-
* 其他类型节点
|
|
243
|
-
*/
|
|
244
|
-
export interface OtherNode {
|
|
245
|
-
node_id: string
|
|
246
|
-
node_name: string
|
|
247
|
-
node_type: 'other'
|
|
248
|
-
geo_position: GeoPosition
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
/**
|
|
252
|
-
* 节点联合类型
|
|
253
|
-
*/
|
|
254
|
-
export type Node =
|
|
255
|
-
| GatewayNode
|
|
256
|
-
| StaticUserTerminal
|
|
257
|
-
| MobileUserTerminal
|
|
258
|
-
| OtherUserTerminal
|
|
259
|
-
| ControlCenterNode
|
|
260
|
-
| OtherNode
|
|
261
|
-
|
|
262
|
-
/**
|
|
263
|
-
* 节点列表
|
|
264
|
-
*/
|
|
265
|
-
export interface NodesData {
|
|
266
|
-
nodes: Node[]
|
|
267
|
-
}
|
|
268
|
-
// #endregion ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
|
|
269
|
-
|
|
270
|
-
// #region links.json 类型 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
|
|
271
|
-
// ==================== links.json 类型 ====================
|
|
272
|
-
/**
|
|
273
|
-
* 链路类型
|
|
274
|
-
*/
|
|
275
|
-
export type LinkType = 'ISL' | 'IOL' | 'GSL' | 'BACKHAUL'
|
|
276
|
-
|
|
277
|
-
/**
|
|
278
|
-
* 节点类型
|
|
279
|
-
*/
|
|
280
|
-
export type LinkNodeType = 'satellite' | 'gateway'
|
|
281
|
-
|
|
282
|
-
/**
|
|
283
|
-
* 链路实例
|
|
284
|
-
*/
|
|
285
|
-
export interface Link {
|
|
286
|
-
link_id: string
|
|
287
|
-
node_a_id: string
|
|
288
|
-
node_a_type: LinkNodeType
|
|
289
|
-
node_b_id: string
|
|
290
|
-
node_b_type: LinkNodeType
|
|
291
|
-
link_type: LinkType
|
|
292
|
-
capacity_mbps: number
|
|
293
|
-
node_a_constellation_id?: string
|
|
294
|
-
node_b_constellation_id?: string
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
/**
|
|
298
|
-
* 批量链路配置规则
|
|
299
|
-
*/
|
|
300
|
-
export interface BulkConfigRule {
|
|
301
|
-
constellation_id: string
|
|
302
|
-
link_type: LinkType
|
|
303
|
-
capacity_mbps: number
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
/**
|
|
307
|
-
* 链路列表
|
|
308
|
-
*/
|
|
309
|
-
export interface LinksData {
|
|
310
|
-
links: Link[]
|
|
311
|
-
bulk_config_rules: BulkConfigRule[]
|
|
312
|
-
}
|
|
313
|
-
// #endregion ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
|
|
314
|
-
|
|
315
|
-
// #region tasks.json 类型 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
|
|
316
|
-
// ==================== tasks.json 类型 ====================
|
|
317
|
-
/**
|
|
318
|
-
* 任务类型
|
|
319
|
-
*/
|
|
320
|
-
export type TaskType = 'emergency_communication'
|
|
321
|
-
|
|
322
|
-
/**
|
|
323
|
-
* 任务优先级
|
|
324
|
-
*/
|
|
325
|
-
export type TaskPriority = 'high'
|
|
326
|
-
|
|
327
|
-
/**
|
|
328
|
-
* 任务
|
|
329
|
-
*/
|
|
330
|
-
export interface Task {
|
|
331
|
-
task_id: string
|
|
332
|
-
task_name: string
|
|
333
|
-
task_type: TaskType
|
|
334
|
-
priority: TaskPriority
|
|
335
|
-
flow_ids: string[]
|
|
336
|
-
start_time_s: number
|
|
337
|
-
end_time_s: number
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
/**
|
|
341
|
-
* 任务列表
|
|
342
|
-
*/
|
|
343
|
-
export interface TasksData {
|
|
344
|
-
tasks: Task[]
|
|
345
|
-
}
|
|
346
|
-
// #endregion ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
|
|
347
|
-
|
|
348
|
-
// #region flows.json 类型 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
|
|
349
|
-
// ==================== flows.json 类型 ====================
|
|
350
|
-
/**
|
|
351
|
-
* 业务类型
|
|
352
|
-
*/
|
|
353
|
-
export type ServiceType = 'voice' | 'image_return'
|
|
354
|
-
|
|
355
|
-
/**
|
|
356
|
-
* 业务优先级
|
|
357
|
-
*/
|
|
358
|
-
export type FlowPriority = 'high'
|
|
359
|
-
|
|
360
|
-
/**
|
|
361
|
-
* 业务流
|
|
362
|
-
*/
|
|
363
|
-
export interface Flow {
|
|
364
|
-
flow_id: string
|
|
365
|
-
flow_name: string
|
|
366
|
-
task_id: string
|
|
367
|
-
service_type: ServiceType
|
|
368
|
-
priority: FlowPriority
|
|
369
|
-
src_node_id: string
|
|
370
|
-
dst_node_id: string
|
|
371
|
-
start_time_s: number
|
|
372
|
-
end_time_s: number
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
/**
|
|
376
|
-
* 业务流列表
|
|
377
|
-
*/
|
|
378
|
-
export interface FlowsData {
|
|
379
|
-
flows: Flow[]
|
|
380
|
-
}
|
|
381
|
-
// #endregion ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
|
|
382
|
-
|
|
383
|
-
// #region timeline.json 类型 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
|
|
384
|
-
// ==================== timeline.json 类型 ====================
|
|
385
|
-
/**
|
|
386
|
-
* 地理位置
|
|
387
|
-
*/
|
|
388
|
-
export interface GeoPosition {
|
|
389
|
-
lon_deg: number
|
|
390
|
-
lat_deg: number
|
|
391
|
-
alt_km: number
|
|
392
|
-
}
|
|
393
|
-
|
|
394
|
-
/**
|
|
395
|
-
* 速度向量
|
|
396
|
-
*/
|
|
397
|
-
export interface VelocityWGS {
|
|
398
|
-
vx: number
|
|
399
|
-
vy: number
|
|
400
|
-
vz: number
|
|
401
|
-
unit: string
|
|
402
|
-
}
|
|
403
|
-
|
|
404
|
-
/**
|
|
405
|
-
* 用户状态
|
|
406
|
-
*/
|
|
407
|
-
export interface UserState {
|
|
408
|
-
node_id: string
|
|
409
|
-
geo_position: GeoPosition
|
|
410
|
-
velocity_wgs: VelocityWGS
|
|
411
|
-
}
|
|
412
|
-
|
|
413
|
-
/**
|
|
414
|
-
* 链路状态
|
|
415
|
-
*/
|
|
416
|
-
export interface LinkState {
|
|
417
|
-
link_id: string
|
|
418
|
-
status: string
|
|
419
|
-
utilization_ratio: number
|
|
420
|
-
congestion_level: number
|
|
421
|
-
}
|
|
422
|
-
|
|
423
|
-
/**
|
|
424
|
-
* 业务流状态
|
|
425
|
-
*/
|
|
426
|
-
export interface FlowState {
|
|
427
|
-
flow_id: string
|
|
428
|
-
status: string
|
|
429
|
-
throughput_mbps: number
|
|
430
|
-
avg_delay_ms: number
|
|
431
|
-
loss_rate: number
|
|
432
|
-
current_path_node_ids: string[]
|
|
433
|
-
is_sla_satisfied: boolean
|
|
434
|
-
}
|
|
435
|
-
|
|
436
|
-
/**
|
|
437
|
-
* 任务状态
|
|
438
|
-
*/
|
|
439
|
-
export interface TaskState {
|
|
440
|
-
task_id: string
|
|
441
|
-
status: string
|
|
442
|
-
active_flow_ids: string[]
|
|
443
|
-
}
|
|
444
|
-
|
|
445
|
-
/**
|
|
446
|
-
* 时间轴单帧数据
|
|
447
|
-
*/
|
|
448
|
-
export interface TimelineFrame {
|
|
449
|
-
frame_no: number
|
|
450
|
-
timestamp_s: number
|
|
451
|
-
user_states: UserState[]
|
|
452
|
-
links: LinkState[]
|
|
453
|
-
flows: FlowState[]
|
|
454
|
-
tasks: TaskState[]
|
|
455
|
-
}
|
|
456
|
-
|
|
457
|
-
/**
|
|
458
|
-
* 时间轴数据
|
|
459
|
-
*/
|
|
460
|
-
export interface TimelineData {
|
|
461
|
-
timelines: TimelineFrame[]
|
|
462
|
-
}
|
|
463
|
-
// #endregion ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
|
|
464
|
-
|
|
465
|
-
// #region metrics.json 类型 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
|
|
466
|
-
// ==================== metrics.json 类型 ====================
|
|
467
|
-
/**
|
|
468
|
-
* 概要统计
|
|
469
|
-
*/
|
|
470
|
-
export interface MetricsSummary {
|
|
471
|
-
active_flow_total: number
|
|
472
|
-
high_priority_flow_total: number
|
|
473
|
-
avg_delay_ms: number
|
|
474
|
-
avg_loss_rate: number
|
|
475
|
-
avg_throughput_mbps: number
|
|
476
|
-
congested_link_total: number
|
|
477
|
-
}
|
|
478
|
-
|
|
479
|
-
/**
|
|
480
|
-
* 时序数据点
|
|
481
|
-
*/
|
|
482
|
-
export interface TimeseriesPoint {
|
|
483
|
-
timestamp_s: number
|
|
484
|
-
active_flow_count: number
|
|
485
|
-
network_throughput_mbps: number
|
|
486
|
-
avg_delay_ms: number
|
|
487
|
-
avg_loss_rate: number
|
|
488
|
-
congested_link_count: number
|
|
489
|
-
}
|
|
490
|
-
|
|
491
|
-
/**
|
|
492
|
-
* 图表配置
|
|
493
|
-
*/
|
|
494
|
-
export interface ChartConfig {
|
|
495
|
-
chart_id: string
|
|
496
|
-
chart_name: string
|
|
497
|
-
chart_type: string
|
|
498
|
-
x_field: string
|
|
499
|
-
y_fields: string[]
|
|
500
|
-
unit: string
|
|
501
|
-
}
|
|
502
|
-
|
|
503
|
-
/**
|
|
504
|
-
* 图表资源
|
|
505
|
-
*/
|
|
506
|
-
export interface FigureAsset {
|
|
507
|
-
figure_id: string
|
|
508
|
-
figure_name: string
|
|
509
|
-
figure_type: string
|
|
510
|
-
file_path: string
|
|
511
|
-
description: string
|
|
512
|
-
}
|
|
513
|
-
|
|
514
|
-
/**
|
|
515
|
-
* 指标数据
|
|
516
|
-
*/
|
|
517
|
-
export interface MetricsData {
|
|
518
|
-
summary: MetricsSummary
|
|
519
|
-
timeseries: TimeseriesPoint[]
|
|
520
|
-
charts: ChartConfig[]
|
|
521
|
-
figure_assets: FigureAsset[]
|
|
522
|
-
}
|
|
523
|
-
// #endregion ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
|
|
524
|
-
|
|
525
|
-
// #region evaluation.json ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
|
|
526
|
-
// ==================== evaluation.json 类型 ====================
|
|
527
|
-
/**
|
|
528
|
-
* 评估方法类型
|
|
529
|
-
*/
|
|
530
|
-
export type EvaluationMethod = 'AHP_ENTROPY'
|
|
531
|
-
|
|
532
|
-
/**
|
|
533
|
-
* 指标方向类型
|
|
534
|
-
*/
|
|
535
|
-
export type MetricDirection = 'benefit' | 'cost'
|
|
536
|
-
|
|
537
|
-
/**
|
|
538
|
-
* 评估模型
|
|
539
|
-
*/
|
|
540
|
-
export interface EvaluationModel {
|
|
541
|
-
method: EvaluationMethod
|
|
542
|
-
}
|
|
543
|
-
|
|
544
|
-
/**
|
|
545
|
-
* 细分指标
|
|
546
|
-
*/
|
|
547
|
-
export interface Metric {
|
|
548
|
-
metric_id: string
|
|
549
|
-
metric_name: string
|
|
550
|
-
direction: MetricDirection
|
|
551
|
-
value: number
|
|
552
|
-
normalized_value: number
|
|
553
|
-
unit: string
|
|
554
|
-
}
|
|
555
|
-
|
|
556
|
-
/**
|
|
557
|
-
* 评估维度
|
|
558
|
-
*/
|
|
559
|
-
export interface EvaluationDimension {
|
|
560
|
-
dimension_id: string
|
|
561
|
-
dimension_name: string
|
|
562
|
-
score: number
|
|
563
|
-
ahp_weight: number
|
|
564
|
-
entropy_weight: number
|
|
565
|
-
combined_weight: number
|
|
566
|
-
metrics: Metric[]
|
|
567
|
-
}
|
|
568
|
-
|
|
569
|
-
/**
|
|
570
|
-
* 最终得分
|
|
571
|
-
*/
|
|
572
|
-
export interface FinalScore {
|
|
573
|
-
score: number
|
|
574
|
-
score_scale: string
|
|
575
|
-
}
|
|
576
|
-
|
|
577
|
-
/**
|
|
578
|
-
* 评估图表配置
|
|
579
|
-
*/
|
|
580
|
-
export interface EvaluationChart {
|
|
581
|
-
chart_id: string
|
|
582
|
-
chart_name: string
|
|
583
|
-
chart_type: string
|
|
584
|
-
label_field: string
|
|
585
|
-
value_field: string
|
|
586
|
-
unit: string
|
|
587
|
-
}
|
|
588
|
-
|
|
589
|
-
/**
|
|
590
|
-
* 评估图表资源
|
|
591
|
-
*/
|
|
592
|
-
export interface EvaluationFigureAsset {
|
|
593
|
-
figure_id: string
|
|
594
|
-
figure_name: string
|
|
595
|
-
figure_type: string
|
|
596
|
-
file_path: string
|
|
597
|
-
description: string
|
|
598
|
-
}
|
|
599
|
-
|
|
600
|
-
/**
|
|
601
|
-
* 评估结果
|
|
602
|
-
*/
|
|
603
|
-
export interface EvaluationData {
|
|
604
|
-
scene_id: string
|
|
605
|
-
scene_name: string
|
|
606
|
-
evaluation_model: EvaluationModel
|
|
607
|
-
dimensions: EvaluationDimension[]
|
|
608
|
-
final_score: FinalScore
|
|
609
|
-
charts: EvaluationChart[]
|
|
610
|
-
figure_assets: EvaluationFigureAsset[]
|
|
611
|
-
}
|
|
612
|
-
// #endregion ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
|