model.ts 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. import {
  2. HotAtom,
  3. HotStyleAtom,
  4. MeasureAtom,
  5. Setup,
  6. Pose as BasePose,
  7. } from '@/store'
  8. import { Code } from './code'
  9. export type Pose = BasePose & { id: number }
  10. export type Hot = Omit<HotAtom, 'style'> & {
  11. poiStyleId: string
  12. }
  13. export type Style = HotStyleAtom
  14. export type Measure = Omit<MeasureAtom, 'dataSet'> & { dataSet: string }
  15. export type DateSet = {
  16. id: string
  17. name: string
  18. createTime: string
  19. plyExist: boolean
  20. lasExist: boolean
  21. sceneVersion: 'V3' | 'V4'
  22. objExist: boolean
  23. color: string
  24. version: number
  25. location: [number, number, number, ]
  26. shootTime: string
  27. isUpload: boolean
  28. orientation: number
  29. isItself: boolean
  30. isCalibrated: boolean
  31. pointCount: number
  32. sceneName: string
  33. from: string
  34. jobId?: string
  35. status: number
  36. }
  37. export type SetupInfo = Setup
  38. export type Floorpan = {
  39. id: string
  40. dataset_id: string
  41. floor_plan_path: string
  42. floor_plan_path_4K: string
  43. }
  44. export type DefCtrlPoints = {
  45. defaultGisP1: [number, number]
  46. defaultGisP2: [number, number]
  47. defaultLocation1: [number, number, number]
  48. defaultLocation2: [number, number, number]
  49. panoId1: string
  50. panoId2: string
  51. }
  52. export type AutCtrlPoint = {
  53. ageControlLocation1: [number, number, number]
  54. ageControlLocation2: [number, number, number]
  55. gps84ControlCoordinate1: [number, number, number]
  56. gps84ControlCoordinate2: [number, number, number]
  57. gpsControlCoordinate1: [number, number, number]
  58. gpsControlCoordinate2: [number, number, number]
  59. gpsRaw1: [string, string, string]
  60. gpsRaw2: [string, string, string]
  61. roamingPointId1: string
  62. roamingPointId2: string
  63. epsg: string
  64. }
  65. export type Pano = {
  66. gga_location: [number, number, number]
  67. floor_location: [number, number, number]
  68. dataset_floor_location: [number, number, number]
  69. dataset_floor_orientation: [number, number, number]
  70. dataset_id: string
  71. dataset_location: [number, number, number]
  72. dataset_orientation: [number, number, number, number]
  73. id: string
  74. location: [number, number, number]
  75. orientation: [number, number, number, number]
  76. }
  77. export type CtrlPoints = DefCtrlPoints & AutCtrlPoint & { status: number }
  78. export type LoginQRInfo = {
  79. url: string
  80. uuid: string
  81. }
  82. // 用户信息
  83. export type UserInfo = {
  84. admin: boolean
  85. avatar: string
  86. createTime: string
  87. delFlag: string
  88. email: string
  89. loginIp: string
  90. nickName: string
  91. sex: '0' | '1'
  92. status: '0'
  93. userName: string
  94. }
  95. // 相机信息
  96. export type CamreaInfo = {
  97. activatedTime: string
  98. childName: string
  99. nickName: string
  100. snCode: string
  101. avatar?: string
  102. }
  103. export type AMapPoi = {
  104. pname: string
  105. cityname: string
  106. address: string
  107. location: string
  108. }
  109. export type Coordinates = [number, number][][]
  110. export type ModelAtom = {
  111. area: number
  112. volume: number
  113. height: number
  114. z_max: number
  115. z_min: number
  116. polygon: {
  117. coordinates: Coordinates
  118. type: 'Polygon'
  119. }
  120. hole: {
  121. coordinates: Coordinates
  122. type: 'Hole'
  123. }
  124. init?: boolean
  125. flagPano: string
  126. panos: number[]
  127. isLonlat: boolean
  128. datasets: Array<string>
  129. parentId: string
  130. title: string
  131. }
  132. export type Model = ModelAtom & {
  133. altitude: number
  134. center: [number, number, number]
  135. id: string
  136. sceneCode: string
  137. children?: Model[]
  138. }
  139. export type Coords = {
  140. epsg: string
  141. epsgCode: string
  142. name: string
  143. }[]
  144. export type Menu = {
  145. id: number
  146. menuType: "C" | "F",
  147. status: '1' | '0'
  148. path: string
  149. }
  150. export type SureDataset = {
  151. datasetId: DateSet['id']
  152. name: string
  153. sceneCode: string
  154. status: number
  155. controlPointStatus: number
  156. }
  157. export type SureDatasets = SureDataset[]
  158. export enum NType {
  159. CTRLCHANGE = 'controlPointAction',
  160. CALIBARPROPRESS = 'datasetCalibrationAction',
  161. ADDDATASET = 'addDatasetAction',
  162. RECALCULATE = 'recalculateAction'
  163. }
  164. type CTRLCHANGERET = {
  165. sceneCode: string
  166. code: Code
  167. refresh: boolean
  168. }
  169. type CALIBARPROPRESSRET = CTRLCHANGERET & { progress: number }
  170. type ADDDATASET = CALIBARPROPRESSRET & { datasetId: string }
  171. export type CheckRes = {
  172. [NType.CTRLCHANGE]?: CTRLCHANGERET
  173. [NType.RECALCULATE]?: CTRLCHANGERET
  174. [NType.CALIBARPROPRESS]?: CALIBARPROPRESSRET
  175. [NType.ADDDATASET]?: ADDDATASET
  176. }