You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

types.ts 2.9 kB

1 year ago
1 year ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. /*
  2. * @Author: 赵伟
  3. * @Date: 2024-04-08 09:54:39
  4. * @Description: 定义全局类型,比如无关联的页面都需要要的类型
  5. */
  6. import { ExperimentStatus, TensorBoardStatus } from '@/enums';
  7. import type { Settings as LayoutSettings } from '@ant-design/pro-components';
  8. export type ClientInfo = {
  9. accessTokenUri: string;
  10. checkTokenUri: string;
  11. clientId: string;
  12. clientSecret: string;
  13. loginPage: string;
  14. logoutUri: string;
  15. redirectUri: string;
  16. userAuthorizationUri: string;
  17. };
  18. // 全局初始状态类型
  19. export type GlobalInitialState = {
  20. settings?: Partial<LayoutSettings>;
  21. currentUser?: API.CurrentUser;
  22. fetchUserInfo?: () => Promise<API.CurrentUser | undefined>;
  23. loading?: boolean;
  24. collapsed?: boolean;
  25. clientInfo?: ClientInfo;
  26. };
  27. // 流水线全局参数
  28. export type PipelineGlobalParam = {
  29. param_name: string;
  30. description: string;
  31. param_type: number;
  32. param_value: number | string | boolean;
  33. is_sensitive: number;
  34. };
  35. // 实验实例
  36. export type ExperimentInstance = {
  37. id: number;
  38. experiment_id: number;
  39. workflow_id: number;
  40. create_time: string;
  41. finish_time: string;
  42. update_time: string;
  43. status: string;
  44. argo_ins_name: string;
  45. argo_ins_ns: string;
  46. nodes_result: {
  47. [key: string]: any;
  48. };
  49. nodes_status: string;
  50. global_param: PipelineGlobalParam[];
  51. tensorBoardStatus?: TensorBoardStatus;
  52. tensorboardUrl?: string;
  53. };
  54. // 流水线节点
  55. export type PipelineNodeModel = {
  56. id: string;
  57. experimentStatus: ExperimentStatus;
  58. label: string;
  59. experimentStartTime: string;
  60. experimentEndTime?: string | null;
  61. control_strategy: string;
  62. in_parameters: string;
  63. out_parameters: string;
  64. component_label: string;
  65. icon_path: string;
  66. workflowId?: string;
  67. };
  68. // 流水线节点模型数据
  69. export type PipelineNodeModelParameter = {
  70. type: string;
  71. item_type: string;
  72. label: string;
  73. value: any;
  74. require?: number;
  75. placeholder?: string;
  76. describe?: string;
  77. fromSelect?: boolean;
  78. showValue?: any;
  79. editable?: number;
  80. activeTab?: string; // ResourceSelectorModal tab
  81. expandedKeys?: string[]; // ResourceSelectorModal expandedKeys
  82. checkedKeys?: string[]; // ResourceSelectorModal checkedKeys
  83. };
  84. // 修改属性类型
  85. export type ChangePropertyType<T, K extends keyof T, NewType> = Omit<T, K> & { [P in K]: NewType };
  86. // export type PascalCaseType<T> = {
  87. // [K in keyof T as `${Capitalize<string & K>}`]: T[K];
  88. // }
  89. // 序列化后的流水线节点
  90. export type PipelineNodeModelSerialize = Omit<
  91. PipelineNodeModel,
  92. 'control_strategy' | 'in_parameters' | 'out_parameters'
  93. > & {
  94. control_strategy: Record<string, PipelineNodeModelParameter>;
  95. in_parameters: Record<string, PipelineNodeModelParameter>;
  96. out_parameters: Record<string, PipelineNodeModelParameter>;
  97. };
  98. // 资源规格
  99. export type ComputingResource = {
  100. id: number;
  101. computing_resource: string;
  102. description: string;
  103. standard: string;
  104. create_by: string;
  105. };