diff --git a/src/render/bootstrapScript/BD&time.ts b/src/render/bootstrapScript/BD&time.ts new file mode 100644 index 0000000..fd2ecc4 --- /dev/null +++ b/src/render/bootstrapScript/BD&time.ts @@ -0,0 +1,5 @@ +import { bootstrap } from './base' +import { App } from '@/app/BD&time' +import { setupStore } from '@/stores' + +bootstrap(App, [ setupStore ]) diff --git a/src/render/bootstrapScript/BDCommunicationAssistant.ts b/src/render/bootstrapScript/BDCommunicationAssistant.ts new file mode 100644 index 0000000..a67328c --- /dev/null +++ b/src/render/bootstrapScript/BDCommunicationAssistant.ts @@ -0,0 +1,5 @@ +import { bootstrap } from './base' +import { App } from '@/app/BDCommunicationAssistant' +import { setupStore } from '@/stores' + +bootstrap(App, [ setupStore ]) diff --git a/src/render/bootstrapScript/BDComprehensiveExperimentalPlatform.ts b/src/render/bootstrapScript/BDComprehensiveExperimentalPlatform.ts new file mode 100644 index 0000000..1be3332 --- /dev/null +++ b/src/render/bootstrapScript/BDComprehensiveExperimentalPlatform.ts @@ -0,0 +1,6 @@ +import { bootstrap } from './base' +import { App } from '@/app/BDComprehensiveExperimentalPlatform' +import { setupMap } from '@/components/Map' +import { setupStore } from '@/stores' + +bootstrap(App, [ setupMap, setupStore ]) diff --git a/src/render/bootstrapScript/BDDataAnalysisPlatform.ts b/src/render/bootstrapScript/BDDataAnalysisPlatform.ts new file mode 100644 index 0000000..efb2b9e --- /dev/null +++ b/src/render/bootstrapScript/BDDataAnalysisPlatform.ts @@ -0,0 +1,6 @@ +import { bootstrap } from './base' +import { App } from '@/app/BDDataAnalysisPlatform' +import { setupMap } from '@/components/Map' +import { setupStore } from '@/stores' + +bootstrap(App, [ setupMap, setupStore ]) diff --git a/src/render/bootstrapScript/BDMeteorologicalDataDisplayPlatform.ts b/src/render/bootstrapScript/BDMeteorologicalDataDisplayPlatform.ts new file mode 100644 index 0000000..c916078 --- /dev/null +++ b/src/render/bootstrapScript/BDMeteorologicalDataDisplayPlatform.ts @@ -0,0 +1,6 @@ +import { bootstrap } from './base' +import { App } from '@/app/BDMeteorologicalDataDisplayPlatform' +import { setupMap } from '@/components/Map' +import { setupStore } from '@/stores' + +bootstrap(App, [ setupMap, setupStore ]) diff --git a/src/render/bootstrapScript/BDMeteorologicalDataProtocol.ts b/src/render/bootstrapScript/BDMeteorologicalDataProtocol.ts new file mode 100644 index 0000000..b553fe0 --- /dev/null +++ b/src/render/bootstrapScript/BDMeteorologicalDataProtocol.ts @@ -0,0 +1,4 @@ +import { bootstrap } from './base' +import { App } from '@/app/BDMeteorologicalDataProtocol' + +bootstrap(App) diff --git a/src/render/bootstrapScript/BDPositionTrackRetracing.ts b/src/render/bootstrapScript/BDPositionTrackRetracing.ts new file mode 100644 index 0000000..6f96c09 --- /dev/null +++ b/src/render/bootstrapScript/BDPositionTrackRetracing.ts @@ -0,0 +1,6 @@ +import { bootstrap } from './base' +import { App } from '@/app/BDPositionTrackRetracing' +import { setupMap } from '@/components/Map' +import { setupStore } from '@/stores' + +bootstrap(App, [ setupMap, setupStore ]) diff --git a/src/render/bootstrapScript/BDSatellite3DPostureControl.ts b/src/render/bootstrapScript/BDSatellite3DPostureControl.ts new file mode 100644 index 0000000..5cfa8b0 --- /dev/null +++ b/src/render/bootstrapScript/BDSatellite3DPostureControl.ts @@ -0,0 +1,5 @@ +import { bootstrap } from './base' +import { App } from '@/app/BDSatellite3DPostureControl' +import { setupStore } from '@/stores' + +bootstrap(App, [ setupStore ]) diff --git a/src/render/bootstrapScript/BDSatelliteAttitudeControl.ts b/src/render/bootstrapScript/BDSatelliteAttitudeControl.ts new file mode 100644 index 0000000..daff883 --- /dev/null +++ b/src/render/bootstrapScript/BDSatelliteAttitudeControl.ts @@ -0,0 +1,5 @@ +import { bootstrap } from './base' +import { App } from '@/app/BDSatelliteAttitudeControl' +import { setupStore } from '@/stores' + +bootstrap(App, [ setupStore ]) diff --git a/src/render/bootstrapScript/BDSatelliteParameterMonitoringPlatform.ts b/src/render/bootstrapScript/BDSatelliteParameterMonitoringPlatform.ts new file mode 100644 index 0000000..1107c3b --- /dev/null +++ b/src/render/bootstrapScript/BDSatelliteParameterMonitoringPlatform.ts @@ -0,0 +1,5 @@ +import { bootstrap } from './base' +import { App } from '@/app/BDSatelliteParameterMonitoringPlatform' +import { setupStore } from '@/stores' + +bootstrap(App, [ setupStore ]) diff --git a/src/render/bootstrapScript/BDSatelliteTimeConfiguration.ts b/src/render/bootstrapScript/BDSatelliteTimeConfiguration.ts new file mode 100644 index 0000000..fd1053b --- /dev/null +++ b/src/render/bootstrapScript/BDSatelliteTimeConfiguration.ts @@ -0,0 +1,5 @@ +import { bootstrap } from './base' +import { App } from '@/app/BDSatelliteTimeConfiguration' +import { setupStore } from '@/stores' + +bootstrap(App, [ setupStore ]) diff --git a/src/render/bootstrapScript/ClockConfig.ts b/src/render/bootstrapScript/ClockConfig.ts new file mode 100644 index 0000000..0ae006b --- /dev/null +++ b/src/render/bootstrapScript/ClockConfig.ts @@ -0,0 +1,5 @@ +import { bootstrap } from './base' +import { App } from '@/app/ClockConfig' +import { setupStore } from '@/stores' + +bootstrap(App, [ setupStore ]) diff --git a/src/render/bootstrapScript/ElectronicScreenDesign.ts b/src/render/bootstrapScript/ElectronicScreenDesign.ts new file mode 100644 index 0000000..72b8277 --- /dev/null +++ b/src/render/bootstrapScript/ElectronicScreenDesign.ts @@ -0,0 +1,5 @@ +import { bootstrap } from './base' +import { App } from '@/app/ElectronicScreenDesign' +import { setupStore } from '@/stores' + +bootstrap(App, [ setupStore ]) diff --git a/src/render/bootstrapScript/FontDesign.ts b/src/render/bootstrapScript/FontDesign.ts new file mode 100644 index 0000000..7555007 --- /dev/null +++ b/src/render/bootstrapScript/FontDesign.ts @@ -0,0 +1,5 @@ +import { bootstrap } from './base' +import { App } from '@/app/FontDesign' +import { setupStore } from '@/stores' + +bootstrap(App, [ setupStore ]) diff --git a/src/render/bootstrapScript/GeneratingConstellationChart.ts b/src/render/bootstrapScript/GeneratingConstellationChart.ts new file mode 100644 index 0000000..2610d1b --- /dev/null +++ b/src/render/bootstrapScript/GeneratingConstellationChart.ts @@ -0,0 +1,5 @@ +import { bootstrap } from './base' +import { App } from '@/app/GeneratingConstellationChart' +import { setupStore } from '@/stores' + +bootstrap(App, [ setupStore ]) diff --git a/src/render/bootstrapScript/GestureRecognition.ts b/src/render/bootstrapScript/GestureRecognition.ts new file mode 100644 index 0000000..819e70e --- /dev/null +++ b/src/render/bootstrapScript/GestureRecognition.ts @@ -0,0 +1,5 @@ +import { bootstrap } from './base' +import { App } from '@/app/GestureRecognition' +import { setupStore } from '@/stores' + +bootstrap(App, [ setupStore ]) diff --git a/src/render/bootstrapScript/NixieTubeConfiguration.ts b/src/render/bootstrapScript/NixieTubeConfiguration.ts new file mode 100644 index 0000000..535cf16 --- /dev/null +++ b/src/render/bootstrapScript/NixieTubeConfiguration.ts @@ -0,0 +1,5 @@ +import { bootstrap } from './base' +import { App } from '@/app/NixieTubeConfiguration' +import { setupStore } from '@/stores' + +bootstrap(App, [ setupStore ]) diff --git a/src/render/bootstrapScript/VoltageMonitoring.ts b/src/render/bootstrapScript/VoltageMonitoring.ts new file mode 100644 index 0000000..33bb125 --- /dev/null +++ b/src/render/bootstrapScript/VoltageMonitoring.ts @@ -0,0 +1,5 @@ +import { bootstrap } from './base' +import { App } from '@/app/VoltageMonitoring' +import { setupStore } from '@/stores' + +bootstrap(App, [ setupStore ]) diff --git a/src/render/bootstrapScript/WirelessCommunicationModuleConfiguration.ts b/src/render/bootstrapScript/WirelessCommunicationModuleConfiguration.ts new file mode 100644 index 0000000..0fe74c7 --- /dev/null +++ b/src/render/bootstrapScript/WirelessCommunicationModuleConfiguration.ts @@ -0,0 +1,5 @@ +import { bootstrap } from './base' +import { App } from '@/app/WirelessCommunicationModuleConfiguration' +import { setupStore } from '@/stores' + +bootstrap(App, [ setupStore ]) diff --git a/src/render/bootstrapScript/base.ts b/src/render/bootstrapScript/base.ts new file mode 100644 index 0000000..7c88197 --- /dev/null +++ b/src/render/bootstrapScript/base.ts @@ -0,0 +1,10 @@ +import { createApp } from 'vue' +import '@/common.less' + +export const bootstrap = (App, setupFuncs: Function[] = []) => { + const app = createApp(App) + + setupFuncs.forEach((setupFunc) => setupFunc.call(this, app)) + + app.mount('#app') +} diff --git a/src/render/bootstrapScript/distanceCalculationTool.ts b/src/render/bootstrapScript/distanceCalculationTool.ts new file mode 100644 index 0000000..162e726 --- /dev/null +++ b/src/render/bootstrapScript/distanceCalculationTool.ts @@ -0,0 +1,6 @@ +import { bootstrap } from './base' +import { App } from '@/app/distanceCalculationTool' +import { setupMap } from '@/components/Map' +import { setupStore } from '@/stores' + +bootstrap(App, [ setupMap, setupStore ]) diff --git a/src/render/bootstrapScript/index.ts b/src/render/bootstrapScript/index.ts new file mode 100644 index 0000000..46e4f60 --- /dev/null +++ b/src/render/bootstrapScript/index.ts @@ -0,0 +1,6 @@ +import { bootstrap } from './base' +import { App } from '@/app/index' +import { setupRouter } from '@/router/index' +import { setupStore } from '@/stores' + +bootstrap(App, [ setupRouter, setupStore ]) diff --git a/src/render/common.less b/src/render/common.less new file mode 100644 index 0000000..404edee --- /dev/null +++ b/src/render/common.less @@ -0,0 +1,58 @@ + + +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +a { + text-decoration: none; +} + +li { + list-style: none; +} + +div::-webkit-scrollbar { + width: 0; +} + +.w-full { + width: 100%; +} + +.h-full { + height: 100%; +} + +.w-h-full { + width: 100%; + height: 100%; +} + +.text-center { + text-align: center; +} + + +.flex { + display: flex; +} + +.flex-col { + flex-direction: column; +} + +.flex-1 { + flex: 1 1 0%; +} + +.mx-auto { + margin-left: auto; + margin-right: auto; +} + +.text-right { + text-align: right; +} diff --git a/src/render/components/Application/index.ts b/src/render/components/Application/index.ts new file mode 100644 index 0000000..f6fa04d --- /dev/null +++ b/src/render/components/Application/index.ts @@ -0,0 +1 @@ +export { default as Application } from './index.vue' diff --git a/src/render/components/Application/index.vue b/src/render/components/Application/index.vue new file mode 100644 index 0000000..0fa1ab1 --- /dev/null +++ b/src/render/components/Application/index.vue @@ -0,0 +1,39 @@ + + + diff --git a/src/render/components/Charts/CNR/data.ts b/src/render/components/Charts/CNR/data.ts new file mode 100644 index 0000000..2aa5806 --- /dev/null +++ b/src/render/components/Charts/CNR/data.ts @@ -0,0 +1,47 @@ +import { reactive } from 'vue' +import { graphic } from 'echarts/core' + +const active_color = new graphic.LinearGradient( + 0, 1, 0, 0, + [ + {offset: 0.3, color: '#83bff6'}, + {offset: 1, color: '#188df0'} + ] +) +const unactive_color = '#9ca3af' + +export const option = reactive({ + grid: { + containLabel: true + }, + xAxis: { + type: 'category', + axisTick: { show: false }, + axisLine: { show: false }, + axisLabel: { color: 'black' } + }, + yAxis: { + max: 60, + splitNumber: 3, + axisLabel: { + fontSize: 24 + } + }, + series: [{ + type: 'bar', + barMaxWidth: '50%', + label: { + show: true, + position: 'top', + // formatter: function ({ value }) { + // return !value || value[1] === 0 ? '' : value[1] + // } + // formatter: '{a}-{b}-{c}' + }, + itemStyle: { + // color: ({ value }) => { + // return value[1] ? active_color : unactive_color + // } + } + }] +}) \ No newline at end of file diff --git a/src/render/components/Charts/CNR/index.ts b/src/render/components/Charts/CNR/index.ts new file mode 100644 index 0000000..dd04ab4 --- /dev/null +++ b/src/render/components/Charts/CNR/index.ts @@ -0,0 +1 @@ +export { default as CNR } from './index.vue'; diff --git a/src/render/components/Charts/CNR/index.vue b/src/render/components/Charts/CNR/index.vue new file mode 100644 index 0000000..ecc44c9 --- /dev/null +++ b/src/render/components/Charts/CNR/index.vue @@ -0,0 +1,42 @@ + + + diff --git a/src/render/components/Charts/Clock/index.ts b/src/render/components/Charts/Clock/index.ts new file mode 100644 index 0000000..c4ff6bb --- /dev/null +++ b/src/render/components/Charts/Clock/index.ts @@ -0,0 +1 @@ +export { default as Clock } from './index.vue' diff --git a/src/render/components/Charts/Clock/index.vue b/src/render/components/Charts/Clock/index.vue new file mode 100644 index 0000000..3b66193 --- /dev/null +++ b/src/render/components/Charts/Clock/index.vue @@ -0,0 +1,250 @@ + + + \ No newline at end of file diff --git a/src/render/components/Charts/Planisphere/data.ts b/src/render/components/Charts/Planisphere/data.ts new file mode 100644 index 0000000..d1ecfa6 --- /dev/null +++ b/src/render/components/Charts/Planisphere/data.ts @@ -0,0 +1,65 @@ +import { reactive } from "vue" + +export const active_color = '#e5323e' +export const unactive_color = '#9ca3af' + +export const option = reactive({ + polar: { + radius: '85%' + }, + angleAxis: { + min: 0, + max: 360, + interval: 45, + axisTick: { + show: false + }, + axisLabel: { + fontSize: 24, + formatter: function (value: number) { + switch (value) + { + case 0 : return '北' + case 90 : return '东' + case 180 : return '南' + case 270 : return '西' + } + }, + } + }, + radiusAxis: { + min: -90, + max: 0, + interval: 30, + axisLabel: { + rotate: -25, + showMinLabel: false, + showMaxLabel: false, + verticalAlign: 'bottom', + // formatter: function(value: number){ + // return Math.abs(value) + // }, + formatter: function(value, index){ + if(value === 0){ + return ''; + } + + return -value; + }, + } + }, + series: [{ + coordinateSystem: 'polar', + type: 'scatter', + symbolSize: 32, + label: { + show: true, + formatter: '{@[2]}' + }, + itemStyle: { + color: ({ value }) => { + return value[3] ? active_color : unactive_color + } + }, + }] +}) \ No newline at end of file diff --git a/src/render/components/Charts/Planisphere/index.ts b/src/render/components/Charts/Planisphere/index.ts new file mode 100644 index 0000000..07e76e8 --- /dev/null +++ b/src/render/components/Charts/Planisphere/index.ts @@ -0,0 +1 @@ +export { default as Planisphere } from './index.vue'; diff --git a/src/render/components/Charts/Planisphere/index.vue b/src/render/components/Charts/Planisphere/index.vue new file mode 100644 index 0000000..4fc09d5 --- /dev/null +++ b/src/render/components/Charts/Planisphere/index.vue @@ -0,0 +1,34 @@ + + + diff --git a/src/render/components/Charts/index.ts b/src/render/components/Charts/index.ts new file mode 100644 index 0000000..d038c73 --- /dev/null +++ b/src/render/components/Charts/index.ts @@ -0,0 +1,3 @@ +import { Clock } from './Clock' + +export { Clock } diff --git a/src/render/components/Map/amap/Map/data.ts b/src/render/components/Map/amap/Map/data.ts new file mode 100644 index 0000000..1f52f96 --- /dev/null +++ b/src/render/components/Map/amap/Map/data.ts @@ -0,0 +1 @@ +export const zooms = [4, 20] diff --git a/src/render/components/Map/amap/Map/index.ts b/src/render/components/Map/amap/Map/index.ts new file mode 100644 index 0000000..c775f7f --- /dev/null +++ b/src/render/components/Map/amap/Map/index.ts @@ -0,0 +1 @@ +export { default as Map } from './index.vue' diff --git a/src/render/components/Map/amap/Map/index.vue b/src/render/components/Map/amap/Map/index.vue new file mode 100644 index 0000000..86b1ac5 --- /dev/null +++ b/src/render/components/Map/amap/Map/index.vue @@ -0,0 +1,61 @@ + + + + + diff --git a/src/render/components/Map/amap/MapInfoWindow.vue b/src/render/components/Map/amap/MapInfoWindow.vue new file mode 100644 index 0000000..9e7b89e --- /dev/null +++ b/src/render/components/Map/amap/MapInfoWindow.vue @@ -0,0 +1,18 @@ + + + diff --git a/src/render/components/Map/amap/MapMarker.vue b/src/render/components/Map/amap/MapMarker.vue new file mode 100644 index 0000000..7eef123 --- /dev/null +++ b/src/render/components/Map/amap/MapMarker.vue @@ -0,0 +1,11 @@ + + + diff --git a/src/render/components/Map/amap/MapPolyline.vue b/src/render/components/Map/amap/MapPolyline.vue new file mode 100644 index 0000000..3e5ebf6 --- /dev/null +++ b/src/render/components/Map/amap/MapPolyline.vue @@ -0,0 +1,13 @@ + + + diff --git a/src/render/components/Map/amap/MapText.vue b/src/render/components/Map/amap/MapText.vue new file mode 100644 index 0000000..f0ea440 --- /dev/null +++ b/src/render/components/Map/amap/MapText.vue @@ -0,0 +1,10 @@ + + + diff --git a/src/render/components/Map/amap/Marker.vue b/src/render/components/Map/amap/Marker.vue new file mode 100644 index 0000000..48c1b9c --- /dev/null +++ b/src/render/components/Map/amap/Marker.vue @@ -0,0 +1,9 @@ + + + diff --git a/src/render/components/Map/amap/MouseTool.vue b/src/render/components/Map/amap/MouseTool.vue new file mode 100644 index 0000000..d8ebd25 --- /dev/null +++ b/src/render/components/Map/amap/MouseTool.vue @@ -0,0 +1,12 @@ + + + + + diff --git a/src/render/components/Map/amap/PolylineView/index.ts b/src/render/components/Map/amap/PolylineView/index.ts new file mode 100644 index 0000000..5fd25eb --- /dev/null +++ b/src/render/components/Map/amap/PolylineView/index.ts @@ -0,0 +1 @@ +export { default as PolylineView } from './index.vue'; diff --git a/src/render/components/Map/amap/PolylineView/index.vue b/src/render/components/Map/amap/PolylineView/index.vue new file mode 100644 index 0000000..37fbf97 --- /dev/null +++ b/src/render/components/Map/amap/PolylineView/index.vue @@ -0,0 +1,9 @@ + + + diff --git a/src/render/components/Map/amap/TrackLineView/data.ts b/src/render/components/Map/amap/TrackLineView/data.ts new file mode 100644 index 0000000..0391357 --- /dev/null +++ b/src/render/components/Map/amap/TrackLineView/data.ts @@ -0,0 +1,2 @@ +export const timing = [[0, 0.3], [1, 0.7]] +export const rotationSpeed = 10 diff --git a/src/render/components/Map/amap/TrackLineView/index.ts b/src/render/components/Map/amap/TrackLineView/index.ts new file mode 100644 index 0000000..7c89908 --- /dev/null +++ b/src/render/components/Map/amap/TrackLineView/index.ts @@ -0,0 +1,2 @@ +export { default as TrackLineView } from './index.vue'; +export { Journey } from './type'; diff --git a/src/render/components/Map/amap/TrackLineView/index.vue b/src/render/components/Map/amap/TrackLineView/index.vue new file mode 100644 index 0000000..60357db --- /dev/null +++ b/src/render/components/Map/amap/TrackLineView/index.vue @@ -0,0 +1,66 @@ + + + diff --git a/src/render/components/Map/amap/TrackLineView/type.ts b/src/render/components/Map/amap/TrackLineView/type.ts new file mode 100644 index 0000000..03aea2b --- /dev/null +++ b/src/render/components/Map/amap/TrackLineView/type.ts @@ -0,0 +1,6 @@ +export class Journey { + constructor(paths, durationData) { + this.paths = paths + this.durationData = durationData + } +} \ No newline at end of file diff --git a/src/render/components/Map/amap/index.ts b/src/render/components/Map/amap/index.ts new file mode 100644 index 0000000..5a19d0d --- /dev/null +++ b/src/render/components/Map/amap/index.ts @@ -0,0 +1,28 @@ +import type { App } from 'vue' +import VueAMap, { initAMapApiLoader, lazyAMapApiLoaderInstance } from '@vuemap/vue-amap' +import '@vuemap/vue-amap/dist/style.css' +import { wgs84togcj02 } from 'coordtransform' +initAMapApiLoader({ + key: '763566888253f0a902f73609cf45a021', +}) + +export const setupMap = (app: App) => { + app.use(VueAMap) + + // 引入高德原生 SDK + lazyAMapApiLoaderInstance.then() +} + +export const lonlat2Position = (longitude, latitude) => { + return wgs84togcj02(longitude, latitude) +} + +export * from './Map' +export * from './PolylineView' +export * from './TrackLineView' +export { default as Marker } from './Marker.vue' +export { default as MapText } from './MapText.vue' +export { default as MapMarker } from './MapMarker.vue' +export { default as MapPolyline } from './MapPolyline.vue' +export { default as MapInfoWindow } from './MapInfoWindow.vue' +export { default as MouseTool } from './MouseTool.vue' diff --git a/src/render/components/Map/index.ts b/src/render/components/Map/index.ts new file mode 100644 index 0000000..cceba71 --- /dev/null +++ b/src/render/components/Map/index.ts @@ -0,0 +1 @@ +export * from './amap' diff --git a/src/render/components/SerialPort/ManagementView/data.ts b/src/render/components/SerialPort/ManagementView/data.ts new file mode 100644 index 0000000..fcc1118 --- /dev/null +++ b/src/render/components/SerialPort/ManagementView/data.ts @@ -0,0 +1,26 @@ +export const BAUDRATE_OPTIONS = [ + { label: 9600 , value: 9600 }, + { label: 38400 , value: 38400 }, + { label: 115200, value: 115200 }, +] + +export const DATA_BITS_OPTIONS = [ + { label: 8 , value: 8 }, + { label: 7 , value: 7 }, +] + +export const STOPBITS_OPTIONS = [ + { label: 1 , value: 1 }, + { label: 2 , value: 2 }, +] + +export const PARITY_OPTIONS = [ + { label: '无' , value: 'none' }, + { label: '奇' , value: 'odd' }, + { label: '偶' , value: 'even' }, +] + +export const FLOW_CONTROL_OPTIONS = [ + { label: '无' , value: 'none' }, + { label: '硬件', value: 'hardware' }, +] diff --git a/src/render/components/SerialPort/ManagementView/index.ts b/src/render/components/SerialPort/ManagementView/index.ts new file mode 100644 index 0000000..28895c9 --- /dev/null +++ b/src/render/components/SerialPort/ManagementView/index.ts @@ -0,0 +1 @@ +export { default as SerialPortManagementView } from './index.vue' diff --git a/src/render/components/SerialPort/ManagementView/index.vue b/src/render/components/SerialPort/ManagementView/index.vue new file mode 100644 index 0000000..e08c6c4 --- /dev/null +++ b/src/render/components/SerialPort/ManagementView/index.vue @@ -0,0 +1,74 @@ + + + + + diff --git a/src/render/components/SerialPort/ReceivingMessageView/index.ts b/src/render/components/SerialPort/ReceivingMessageView/index.ts new file mode 100644 index 0000000..1e19d95 --- /dev/null +++ b/src/render/components/SerialPort/ReceivingMessageView/index.ts @@ -0,0 +1 @@ +export { default as SerialPortReceivingMessageView } from './index.vue'; diff --git a/src/render/components/SerialPort/ReceivingMessageView/index.vue b/src/render/components/SerialPort/ReceivingMessageView/index.vue new file mode 100644 index 0000000..fb3aa96 --- /dev/null +++ b/src/render/components/SerialPort/ReceivingMessageView/index.vue @@ -0,0 +1,64 @@ + + + diff --git a/src/render/components/SerialPort/SendingMessageView/index.ts b/src/render/components/SerialPort/SendingMessageView/index.ts new file mode 100644 index 0000000..e266f07 --- /dev/null +++ b/src/render/components/SerialPort/SendingMessageView/index.ts @@ -0,0 +1 @@ +export { default as SerialPortSendingMessageView } from './index.vue' diff --git a/src/render/components/SerialPort/SendingMessageView/index.vue b/src/render/components/SerialPort/SendingMessageView/index.vue new file mode 100644 index 0000000..8b3707b --- /dev/null +++ b/src/render/components/SerialPort/SendingMessageView/index.vue @@ -0,0 +1,51 @@ + + + diff --git a/src/render/components/SerialPort/index.ts b/src/render/components/SerialPort/index.ts new file mode 100644 index 0000000..7a6fba8 --- /dev/null +++ b/src/render/components/SerialPort/index.ts @@ -0,0 +1,3 @@ +export * from './ManagementView' +export * from './SendingMessageView' +export * from './ReceivingMessageView' diff --git a/src/render/components/SerialPortManagementDrawer/index.ts b/src/render/components/SerialPortManagementDrawer/index.ts new file mode 100644 index 0000000..0396d70 --- /dev/null +++ b/src/render/components/SerialPortManagementDrawer/index.ts @@ -0,0 +1 @@ +export { default as SerialPortManagementDrawer } from './index.vue' diff --git a/src/render/components/SerialPortManagementDrawer/index.vue b/src/render/components/SerialPortManagementDrawer/index.vue new file mode 100644 index 0000000..4a6b184 --- /dev/null +++ b/src/render/components/SerialPortManagementDrawer/index.vue @@ -0,0 +1,33 @@ + + + + + + diff --git a/src/render/components/Tabs/TabPane/index.ts b/src/render/components/Tabs/TabPane/index.ts new file mode 100644 index 0000000..0f0bd2e --- /dev/null +++ b/src/render/components/Tabs/TabPane/index.ts @@ -0,0 +1 @@ +export { default as TabPane } from './index.vue' diff --git a/src/render/components/Tabs/TabPane/index.vue b/src/render/components/Tabs/TabPane/index.vue new file mode 100644 index 0000000..7941328 --- /dev/null +++ b/src/render/components/Tabs/TabPane/index.vue @@ -0,0 +1,18 @@ + + + + + \ No newline at end of file diff --git a/src/render/components/Tabs/index.ts b/src/render/components/Tabs/index.ts new file mode 100644 index 0000000..d0cd81c --- /dev/null +++ b/src/render/components/Tabs/index.ts @@ -0,0 +1,3 @@ +export { default as Tabs } from './index.vue' +// export * from './TabPane' +export { TabPane } from './TabPane' diff --git a/src/render/components/Tabs/index.vue b/src/render/components/Tabs/index.vue new file mode 100644 index 0000000..3c71643 --- /dev/null +++ b/src/render/components/Tabs/index.vue @@ -0,0 +1,44 @@ + + + + + \ No newline at end of file diff --git a/src/render/layout/absolute/Default.vue b/src/render/layout/absolute/Default.vue new file mode 100644 index 0000000..002da6a --- /dev/null +++ b/src/render/layout/absolute/Default.vue @@ -0,0 +1,12 @@ + + + diff --git a/src/render/layout/absolute/FixHeader.vue b/src/render/layout/absolute/FixHeader.vue new file mode 100644 index 0000000..f28127c --- /dev/null +++ b/src/render/layout/absolute/FixHeader.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/render/layout/absolute/LeftSider.vue b/src/render/layout/absolute/LeftSider.vue new file mode 100644 index 0000000..4671d85 --- /dev/null +++ b/src/render/layout/absolute/LeftSider.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/render/layout/absolute/RightSider.vue b/src/render/layout/absolute/RightSider.vue new file mode 100644 index 0000000..7c17595 --- /dev/null +++ b/src/render/layout/absolute/RightSider.vue @@ -0,0 +1,25 @@ + + + + + diff --git a/src/render/layout/absolute/Root.vue b/src/render/layout/absolute/Root.vue new file mode 100644 index 0000000..96b7f6d --- /dev/null +++ b/src/render/layout/absolute/Root.vue @@ -0,0 +1,9 @@ + + + diff --git a/src/render/layout/default/index.ts b/src/render/layout/default/index.ts new file mode 100644 index 0000000..14b3c99 --- /dev/null +++ b/src/render/layout/default/index.ts @@ -0,0 +1 @@ +export { default as Layout } from './index.vue' diff --git a/src/render/layout/default/index.vue b/src/render/layout/default/index.vue new file mode 100644 index 0000000..6f0cc2e --- /dev/null +++ b/src/render/layout/default/index.vue @@ -0,0 +1,12 @@ + + + diff --git a/src/render/layout/fixFooter/index.ts b/src/render/layout/fixFooter/index.ts new file mode 100644 index 0000000..c519a6d --- /dev/null +++ b/src/render/layout/fixFooter/index.ts @@ -0,0 +1 @@ +export { default as FixFooterLayout } from './index.vue' diff --git a/src/render/layout/fixFooter/index.vue b/src/render/layout/fixFooter/index.vue new file mode 100644 index 0000000..aafa1af --- /dev/null +++ b/src/render/layout/fixFooter/index.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/render/layout/fixHeader/index.ts b/src/render/layout/fixHeader/index.ts new file mode 100644 index 0000000..28f185c --- /dev/null +++ b/src/render/layout/fixHeader/index.ts @@ -0,0 +1 @@ +export { default as FixHeaderLayout } from './index.vue' diff --git a/src/render/layout/fixHeader/index.vue b/src/render/layout/fixHeader/index.vue new file mode 100644 index 0000000..79a8b18 --- /dev/null +++ b/src/render/layout/fixHeader/index.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/render/layout/leftSider/index.ts b/src/render/layout/leftSider/index.ts new file mode 100644 index 0000000..ee284a9 --- /dev/null +++ b/src/render/layout/leftSider/index.ts @@ -0,0 +1 @@ +export { default as LeftSiderLayout } from './index.vue' diff --git a/src/render/layout/leftSider/index.vue b/src/render/layout/leftSider/index.vue new file mode 100644 index 0000000..eda0e76 --- /dev/null +++ b/src/render/layout/leftSider/index.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/render/layout/rightSider/index.ts b/src/render/layout/rightSider/index.ts new file mode 100644 index 0000000..f27b8f0 --- /dev/null +++ b/src/render/layout/rightSider/index.ts @@ -0,0 +1 @@ +export { default as RightSiderLayout } from './index.vue' diff --git a/src/render/layout/rightSider/index.vue b/src/render/layout/rightSider/index.vue new file mode 100644 index 0000000..041365f --- /dev/null +++ b/src/render/layout/rightSider/index.vue @@ -0,0 +1,23 @@ + + + diff --git a/src/render/layout/static/LeftSider.vue b/src/render/layout/static/LeftSider.vue new file mode 100644 index 0000000..f70562f --- /dev/null +++ b/src/render/layout/static/LeftSider.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/render/layout/static/Root.vue b/src/render/layout/static/Root.vue new file mode 100644 index 0000000..32ec910 --- /dev/null +++ b/src/render/layout/static/Root.vue @@ -0,0 +1,9 @@ + + + diff --git a/src/render/page/BD&time.html b/src/render/page/BD&time.html new file mode 100644 index 0000000..bff3fbb --- /dev/null +++ b/src/render/page/BD&time.html @@ -0,0 +1,13 @@ + + + + + + + 北斗与时间的关系学习软件 + + +
+ + + diff --git a/src/render/page/BD-communication-assistant.html b/src/render/page/BD-communication-assistant.html new file mode 100644 index 0000000..26d452e --- /dev/null +++ b/src/render/page/BD-communication-assistant.html @@ -0,0 +1,13 @@ + + + + + + + 北斗通信助手教学软件 + + +
+ + + diff --git a/src/render/page/BD-comprehensive-experimental-platform.html b/src/render/page/BD-comprehensive-experimental-platform.html new file mode 100644 index 0000000..2ecc5df --- /dev/null +++ b/src/render/page/BD-comprehensive-experimental-platform.html @@ -0,0 +1,13 @@ + + + + + + + 北斗综合实验平台 + + +
+ + + diff --git a/src/render/page/BD-data-analysis-platform.html b/src/render/page/BD-data-analysis-platform.html new file mode 100644 index 0000000..52b62c3 --- /dev/null +++ b/src/render/page/BD-data-analysis-platform.html @@ -0,0 +1,13 @@ + + + + + + + 北斗数据分析平台 + + +
+ + + diff --git a/src/render/page/BD-meteorological-data-display-platform.html b/src/render/page/BD-meteorological-data-display-platform.html new file mode 100644 index 0000000..ad0c28e --- /dev/null +++ b/src/render/page/BD-meteorological-data-display-platform.html @@ -0,0 +1,13 @@ + + + + + + + 北斗气象数据展示平台 + + +
+ + + diff --git a/src/render/page/BD-meteorological-data-protocol.html b/src/render/page/BD-meteorological-data-protocol.html new file mode 100644 index 0000000..71c7a60 --- /dev/null +++ b/src/render/page/BD-meteorological-data-protocol.html @@ -0,0 +1,13 @@ + + + + + + + 北斗气象数据协议 + + +
+ + + diff --git a/src/render/page/BD-position-track-retracing.html b/src/render/page/BD-position-track-retracing.html new file mode 100644 index 0000000..3b13b60 --- /dev/null +++ b/src/render/page/BD-position-track-retracing.html @@ -0,0 +1,13 @@ + + + + + + + 北斗位置轨迹回溯软件 + + +
+ + + diff --git a/src/render/page/BD-satellite-3D-posture-display.html b/src/render/page/BD-satellite-3D-posture-display.html new file mode 100644 index 0000000..4da3252 --- /dev/null +++ b/src/render/page/BD-satellite-3D-posture-display.html @@ -0,0 +1,13 @@ + + + + + + + 北斗卫星3D姿态展示软件 + + +
+ + + diff --git a/src/render/page/BD-satellite-attitude-control.html b/src/render/page/BD-satellite-attitude-control.html new file mode 100644 index 0000000..3711582 --- /dev/null +++ b/src/render/page/BD-satellite-attitude-control.html @@ -0,0 +1,13 @@ + + + + + + + 北斗卫星姿态控制软件 + + +
+ + + diff --git a/src/render/page/BD-satellite-parameter-monitoring-platform.html b/src/render/page/BD-satellite-parameter-monitoring-platform.html new file mode 100644 index 0000000..615df98 --- /dev/null +++ b/src/render/page/BD-satellite-parameter-monitoring-platform.html @@ -0,0 +1,13 @@ + + + + + + + 北斗卫星参数监测平台 + + +
+ + + diff --git a/src/render/page/BD-satellite-time-configuration.html b/src/render/page/BD-satellite-time-configuration.html new file mode 100644 index 0000000..cfcfed5 --- /dev/null +++ b/src/render/page/BD-satellite-time-configuration.html @@ -0,0 +1,13 @@ + + + + + + + 北斗卫星时间配置软件 + + +
+ + + diff --git a/src/render/page/clock-config.html b/src/render/page/clock-config.html new file mode 100644 index 0000000..3e22117 --- /dev/null +++ b/src/render/page/clock-config.html @@ -0,0 +1,13 @@ + + + + + + + 时钟配置软件 + + +
+ + + diff --git a/src/render/page/distance-calculation-tool.html b/src/render/page/distance-calculation-tool.html new file mode 100644 index 0000000..72c988c --- /dev/null +++ b/src/render/page/distance-calculation-tool.html @@ -0,0 +1,13 @@ + + + + + + + 距离计算工具软件 + + +
+ + + diff --git a/src/render/page/electronic-screen-design.html b/src/render/page/electronic-screen-design.html new file mode 100644 index 0000000..1ee81c9 --- /dev/null +++ b/src/render/page/electronic-screen-design.html @@ -0,0 +1,13 @@ + + + + + + + 电子屏幕设计软件 + + +
+ + + diff --git a/src/render/page/font-design.html b/src/render/page/font-design.html new file mode 100644 index 0000000..797ba95 --- /dev/null +++ b/src/render/page/font-design.html @@ -0,0 +1,13 @@ + + + + + + + 字体设计软件 + + +
+ + + diff --git a/src/render/page/generating-constellation-chart.html b/src/render/page/generating-constellation-chart.html new file mode 100644 index 0000000..2c670f1 --- /dev/null +++ b/src/render/page/generating-constellation-chart.html @@ -0,0 +1,13 @@ + + + + + + + 生成星座图工具软件 + + +
+ + + diff --git a/src/render/page/gesture-recognition.html b/src/render/page/gesture-recognition.html new file mode 100644 index 0000000..daf5047 --- /dev/null +++ b/src/render/page/gesture-recognition.html @@ -0,0 +1,13 @@ + + + + + + + 手势识别软件 + + +
+ + + diff --git a/src/render/page/index.html b/src/render/page/index.html new file mode 100644 index 0000000..dad3002 --- /dev/null +++ b/src/render/page/index.html @@ -0,0 +1,13 @@ + + + + + + + 北斗启航实验平台软件 + + +
+ + + diff --git a/src/render/page/nixie-tube-configuration.html b/src/render/page/nixie-tube-configuration.html new file mode 100644 index 0000000..ff1d922 --- /dev/null +++ b/src/render/page/nixie-tube-configuration.html @@ -0,0 +1,13 @@ + + + + + + + 数码管配置软件 + + +
+ + + diff --git a/src/render/page/voltage-monitoring.html b/src/render/page/voltage-monitoring.html new file mode 100644 index 0000000..cd5ccbe --- /dev/null +++ b/src/render/page/voltage-monitoring.html @@ -0,0 +1,13 @@ + + + + + + + 模块电压监控软件 + + +
+ + + diff --git a/src/render/page/wireless-communication-module-configuration.html b/src/render/page/wireless-communication-module-configuration.html new file mode 100644 index 0000000..94223c0 --- /dev/null +++ b/src/render/page/wireless-communication-module-configuration.html @@ -0,0 +1,13 @@ + + + + + + + 无线通信模块配置软件 + + +
+ + + diff --git a/src/render/router/index/index.ts b/src/render/router/index/index.ts new file mode 100644 index 0000000..ee0a97c --- /dev/null +++ b/src/render/router/index/index.ts @@ -0,0 +1,34 @@ +import { App } from 'vue' +import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router' + +const RootRoute: RouteRecordRaw = { + path: '/', + name: 'root', + redirect: '/category', + children: [{ + path: '/category', + name: 'category', + component: () => import('@/views/index/router-view/category/index.vue'), + }, { + path: '/class/:class_id', + name: 'class', + component: () => import('@/views/index/router-view/class/index.vue'), + }, { + path: '/course/:course_id', + name: 'course', + component: () => import('@/views/index/router-view/course/index.vue'), + }, ] +} + +export const routes: RouteRecordRaw[] = [RootRoute] + +const router = createRouter({ + history: createWebHashHistory(), + routes, +}) + +export const setupRouter = (app: App) => { + app.use(router) +} + +export default router diff --git a/src/render/shims-vue.d.ts b/src/render/shims-vue.d.ts new file mode 100644 index 0000000..ac1ded7 --- /dev/null +++ b/src/render/shims-vue.d.ts @@ -0,0 +1,5 @@ +declare module '*.vue' { + import { DefineComponent } from 'vue' + const component: DefineComponent<{}, {}, any> + export default component +} diff --git a/src/render/stores/index.ts b/src/render/stores/index.ts new file mode 100644 index 0000000..efaf6c9 --- /dev/null +++ b/src/render/stores/index.ts @@ -0,0 +1,10 @@ +import type { App } from 'vue'; +import { createPinia } from 'pinia'; + +const store = createPinia(); + +export function setupStore(app: App) { + app.use(store); +} + +export { store }; diff --git a/src/render/stores/modules/network/index.ts b/src/render/stores/modules/network/index.ts new file mode 100644 index 0000000..c10c7c7 --- /dev/null +++ b/src/render/stores/modules/network/index.ts @@ -0,0 +1,10 @@ +import { ref } from 'vue' +import { defineStore } from 'pinia' + +export const useNetworkStore = defineStore('network', () => { + const isOnLine = ref(window.navigator.onLine) + window.addEventListener( 'online' , () => isOnLine.value = true ) + window.addEventListener( 'offline', () => isOnLine.value = false ) + + return { isOnLine } +}) diff --git a/src/render/stores/nmea.ts b/src/render/stores/nmea.ts new file mode 100644 index 0000000..ffcf7a2 --- /dev/null +++ b/src/render/stores/nmea.ts @@ -0,0 +1,127 @@ +import EventEmitter from 'events' +import { defineStore } from 'pinia' +import { parse, Helpers } from 'nmea' + +export class NMEADataSource extends EventEmitter {} + + +const verify = (value: String) => { + if (!value) { + return false + } + + const dollar_index = value.indexOf('$') + const star_index = value.indexOf('*') + if (value.indexOf('$') !== 0 || star_index <= dollar_index) { + return false + } + + const [sentence, checksum, ] = value.split('*') + return Helpers.verifyChecksum(sentence, checksum) +} + +export const useNMEAStore = defineStore('nmea', { + state: () => ({ + GGA: null, + GLL: null, + GSA: {}, + GSV: {}, + RMC: null, + VTG: null, + ZDA: null, + TXT: null, + // ANT: null, + // DHV: null, + // LPS: null, + // UTC: null, + // GST: null, + // INS: null, + // TIM: null, + handled: false, + }), + getters: { + dateTime () { + if (!this.RMC || !this.RMC.date || !this.RMC.timestamp) return + + return Helpers.parseDateTime(this.RMC.date, this.RMC.timestamp) + }, + longitude () { + if (!this.RMC || !this.RMC.lon || !this.RMC.lonPole) return + + return Helpers.parseLongitude(this.RMC.lon, this.RMC.lonPole) + }, + latitude () { + if (!this.RMC || !this.RMC.lat || !this.RMC.latPole) return + + return Helpers.parseLatitude(this.RMC.lat, this.RMC.latPole) + }, + altitude () { + if (!this.GGA || !this.GGA.alt || !this.GGA.altUnit) return + + return Helpers.parseAltitude(this.GGA.alt, this.GGA.altUnit) + }, + satellites () { + return (talker_id) => { + const gsa = this.GSA[talker_id] + const gsvs = this.GSV[talker_id] + + if (!gsa || !gsvs ) return + + const satelliteArr = [] + + const active_satellites = gsa.satellites + + gsvs.forEach(({ satellites }) => { + satellites.forEach(satellite => { + if (active_satellites.indexOf(parseInt(satellite.id)) < 0) { + satellite.active = false + } else { + satellite.active = true + } + + satelliteArr.push(satellite) + }) + }) + + return satelliteArr + } + }, + }, + actions: { + bindDataSource(source: NMEADataSource) { + source.on('open', () => this.$reset()) + + let result; + source.on('data', (data: String) => { + if (!verify(data)) return + + result = parse(data) + if (!result) return + + // 监控第一条语句,并重置所有state + if (result.sentence === 'GGA') this.$reset() + + switch (result.sentence) { + case 'GSA': + this.GSA[result.talker_id] = result + break; + case 'GSV': + if (!this.GSV[result.talker_id]) { + this.GSV[result.talker_id] = [] + } + + this.GSV[result.talker_id].push(result) + break; + default: + this.$state[result.sentence] = result + break; + } + + // 监听最后一条语句,并设置handled为true + if (result.sentence === 'TXT') { + this.handled = true + } + }) + }, + }, +}) diff --git a/src/render/stores/serialPort/data.ts b/src/render/stores/serialPort/data.ts new file mode 100644 index 0000000..0914d14 --- /dev/null +++ b/src/render/stores/serialPort/data.ts @@ -0,0 +1,7 @@ +export const filters = [ + { usbProductId: 8963 , usbVendorId: 1659 }, // 核心处理模块(micro-usb),蓝色无线通信模块 + { usbProductId: 29986, usbVendorId: 6790 }, // 核心处理模块(type-c),红色无线通信模块 + { usbProductId: 29987, usbVendorId: 6790 }, // 核心处理模块(type-c) + { usbProductId: 2 , usbVendorId: 12346 }, // 黑色无线通信模块(typc-c,micro-usb) + { usbProductId: 21970, usbVendorId: 6790 }, // 星座图监控软件配套红盒子接收机 +] diff --git a/src/render/stores/serialPort/index.ts b/src/render/stores/serialPort/index.ts new file mode 100644 index 0000000..11cb799 --- /dev/null +++ b/src/render/stores/serialPort/index.ts @@ -0,0 +1,140 @@ +import { ref } from 'vue' +import { defineStore } from 'pinia' +import { filters } from './data' + + +let keepReading = false +let reader = ref() +let writer = ref() + +const encoder = new TextEncoder() + +// TODO: 处理串口的连接和断开连接事件 +// navigator.serial.addEventListener("connect", (event) => { +// // TODO: Automatically open event.target or warn user a port is available. +// }); + +// navigator.serial.addEventListener("disconnect", (event) => { +// // TODO: Remove |event.target| from the UI. +// // If the serial port was opened, a stream error would be observed as well. +// }); + +export const useSerialPortStore = defineStore('serialPort', { + state: () => ({ + instance: null, + }), + getters: { + isOpen () { + return Boolean(this.instance && reader.value && writer.value) + }, + }, + actions: { + async select() { + if (!('serial' in navigator)) throw new Error('当前环境不支持串口功能') + + this.instance = await navigator.serial.requestPort({ filters }) + }, + + async open(options) { + if ( !options ) throw new Error('缺少串口配置参数') + + if ( !this.instance ) throw new Error('未选择串口设备') + + if ( this.isOpen ) throw new Error('串口已打开') + + try { + await this.instance.open(options) + } catch (error) { + console.error(error) + throw new Error('串口被占用') + } + + // Turn on Data Terminal Ready (DTR) signal. + await this.instance.setSignals({ dataTerminalReady: true }); + // Turn off Request To Send (RTS) signal. + await this.instance.setSignals({ requestToSend: true }); + + writer.value = this.instance.writable.getWriter() + reader.value = this.instance.readable.getReader() + + eventListeners[SerialPortEventType.afterOpen]?.forEach((cb: Function) => cb(this)) + + keepReading = true + // Listen to data coming from the serial device. + while (this.instance.readable && keepReading) { + + try { + while (true) { + const { value, done } = await reader.value.read() + + if (done) { + // reader.cancel() has been called. + break + } + + if (value) { + // value is a Uint8Array. + eventListeners[SerialPortEventType.data]?.forEach((cb: Function) => cb(value)) + } + } + } catch (error) { + console.error(error) + throw new Error('读取串口数据出错') + } finally { + // Allow the serial port to be closed later. + reader.value.releaseLock() + reader.value = null + } + } + + await this.instance.close() + }, + + async close() { + writer.value.releaseLock() + writer.value = null + + keepReading = false + reader.value.cancel() + }, + + async write ( data: Uint8Array | string ) { + if (!data) return + + if (!writer.value) throw new Error('串口未打开') + + if (typeof(data) == 'string') { + // TODO: 跟其他串口通信助手一起测试一下编解码的问题 + data = encoder.encode(data) + } + + await writer.value.write(data); + }, + + addEventListener (eventName: string, callback: Function) { + if (!(eventName in eventListeners)) { + eventListeners[eventName] = [] + } + + eventListeners[eventName].push(callback) + }, + + removeEventListener (eventName: string, callback: Function) { + if (!(eventName in eventListeners)) return + + const index = eventListeners[eventName].indexOf(callback) + if (index < 0) return + + eventListeners[eventName].splice(index, 1) + }, + }, +}) + +const eventListeners = {} +export enum SerialPortEventType { + beforeOpen, + afterOpen, + beforeClose, + afterClose, + data +} \ No newline at end of file diff --git a/src/render/types/index.d.ts b/src/render/types/index.d.ts new file mode 100644 index 0000000..c318218 --- /dev/null +++ b/src/render/types/index.d.ts @@ -0,0 +1,9 @@ +import { IpcRenderer } from 'electron' + +export {}; + +declare global { + interface Window { + ipcRenderer: IpcRenderer; + } +} diff --git a/src/render/utils/index.ts b/src/render/utils/index.ts new file mode 100644 index 0000000..b757c52 --- /dev/null +++ b/src/render/utils/index.ts @@ -0,0 +1 @@ +export const hasIpcRenderer = () => 'ipcRenderer' in window diff --git a/src/render/utils/parser.ts b/src/render/utils/parser.ts new file mode 100644 index 0000000..2ae12c2 --- /dev/null +++ b/src/render/utils/parser.ts @@ -0,0 +1,133 @@ +const NEW_LINE = '\r\n' + + +export class LineBreakParser { + chunks: string | undefined + + constructor() { + // A container for holding stream data until a new line. + this.chunks = '' + } + + parse(chunk) { + // Append new chunks to existing chunks. + this.chunks += chunk; + // For each line breaks in chunks, send the parsed lines out. + const lines = this.chunks?.split(NEW_LINE) + this.chunks = lines?.pop() + return lines + } + +} + +/* +export class LineBreakTransformer { + chunks: string | undefined + + constructor() { + // A container for holding stream data until a new line. + this.chunks = '' + } + + transform(chunk, controller) { + // Append new chunks to existing chunks. + this.chunks += chunk; + // For each line breaks in chunks, send the parsed lines out. + const lines = this.chunks.split(NEW_LINE); + this.chunks = lines.pop(); + lines.forEach((line) => controller.enqueue(line + '\r\n')); + } + + flush(controller) { + // When the stream is closed, flush any remaining chunks out. + controller.enqueue(this.chunks); + } +} + +// TODO: 修复bug +export class InterByteTimeoutTransformer { + maxBufferSize: number + currentPacket: number[] + chunks: string | undefined + interval: number + intervalID: NodeJS.Timeout | undefined + + constructor({ maxBufferSize = 65536, interval }) { + if (!interval) { + throw new TypeError('"interval" is required') + } + + if (typeof interval !== 'number' || Number.isNaN(interval)) { + throw new TypeError('"interval" is not a number') + } + + if (interval < 1) { + throw new TypeError('"interval" is not greater than 0') + } + + if (typeof maxBufferSize !== 'number' || Number.isNaN(maxBufferSize)) { + throw new TypeError('"maxBufferSize" is not a number') + } + + if (maxBufferSize < 1) { + throw new TypeError('"maxBufferSize" is not greater than 0') + } + + this.maxBufferSize = maxBufferSize + this.currentPacket = [] + this.interval = interval + + } + + transform(chunk, controller) { + if (this.intervalID) { + clearTimeout(this.intervalID) + } + + this.pushChunk(chunk, controller) + + // for (let offset = 0; offset < chunk.length; offset++) { + // this.currentPacket.push(chunk[offset]) + // if (this.currentPacket.length >= this.maxBufferSize) { + // this.emitPacket(controller) + // } + // } + + // this.intervalID = setTimeout(this.emitPacket.bind(this), this.interval) + this.intervalID = setTimeout(() => this.emitPacket(controller), this.interval) + } + + pushChunk(chunk, controller) { + if (this.chunks?.length + chunk.length >= this.maxBufferSize) { + const offset = this.maxBufferSize - this.chunks?.length + this.chunks += chunk.substr(0, offset) + this.emitPacket(controller) + + this.pushChunk(chunk.substr(offset), controller) + } else { + this.chunks += chunk + } + } + + emitPacket(controller) { + if (this.intervalID) { + clearTimeout(this.intervalID) + } + + if (this.chunks?.length > 0) { + controller.enqueue(this.chunks) + this.chunks = '' + } + + // if (this.currentPacket.length > 0) { + // controller.enqueue(this.currentPacket.join('')) + // this.chunks = '' + // } + this.currentPacket = [] + } + + flush(controller) { + this.emitPacket(controller) + } +} +*/ diff --git a/src/render/views/BD&time/ConversionView/data.ts b/src/render/views/BD&time/ConversionView/data.ts new file mode 100644 index 0000000..4aaf1d3 --- /dev/null +++ b/src/render/views/BD&time/ConversionView/data.ts @@ -0,0 +1,11 @@ +export const labelStyle = { + fontSize : '18px', + fontWeight: 'bold', + marginBottom: '24px', +} + +export const timePickerProps = { + actions: null +} + +export const max_timestamp = new Date().getTime() diff --git a/src/render/views/BD&time/ConversionView/index.ts b/src/render/views/BD&time/ConversionView/index.ts new file mode 100644 index 0000000..4b68ae6 --- /dev/null +++ b/src/render/views/BD&time/ConversionView/index.ts @@ -0,0 +1 @@ +export { default as ConversionView } from './index.vue' diff --git a/src/render/views/BD&time/ConversionView/index.vue b/src/render/views/BD&time/ConversionView/index.vue new file mode 100644 index 0000000..10f5510 --- /dev/null +++ b/src/render/views/BD&time/ConversionView/index.vue @@ -0,0 +1,83 @@ + + + + + diff --git a/src/render/views/BD&time/TimingView/data.ts b/src/render/views/BD&time/TimingView/data.ts new file mode 100644 index 0000000..b82f99d --- /dev/null +++ b/src/render/views/BD&time/TimingView/data.ts @@ -0,0 +1 @@ +export const actions = ['now'] diff --git a/src/render/views/BD&time/TimingView/index.ts b/src/render/views/BD&time/TimingView/index.ts new file mode 100644 index 0000000..038886b --- /dev/null +++ b/src/render/views/BD&time/TimingView/index.ts @@ -0,0 +1 @@ +export { default as TimingView } from './index.vue' diff --git a/src/render/views/BD&time/TimingView/index.vue b/src/render/views/BD&time/TimingView/index.vue new file mode 100644 index 0000000..5c66757 --- /dev/null +++ b/src/render/views/BD&time/TimingView/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/render/views/BDComprehensiveExperimentalPlatform/MapView/disasterInfoView/data.ts b/src/render/views/BDComprehensiveExperimentalPlatform/MapView/disasterInfoView/data.ts new file mode 100644 index 0000000..601c1da --- /dev/null +++ b/src/render/views/BDComprehensiveExperimentalPlatform/MapView/disasterInfoView/data.ts @@ -0,0 +1,3 @@ +export const type = 'disaster' +// e.g.:@R,0000001,2023-03-31,9:00:00,A,40.236154,N,114.231546,E,0* +export const regExp = /^@R,.*,.*,.*,[AV],.*,[NS]?,.*,[EW]?,[01]?\*$/ diff --git a/src/render/views/BDComprehensiveExperimentalPlatform/MapView/disasterInfoView/index.ts b/src/render/views/BDComprehensiveExperimentalPlatform/MapView/disasterInfoView/index.ts new file mode 100644 index 0000000..ee3d059 --- /dev/null +++ b/src/render/views/BDComprehensiveExperimentalPlatform/MapView/disasterInfoView/index.ts @@ -0,0 +1,2 @@ +export { default as disasterInfoView } from './index.vue'; +export { regExp as disasterRegExp, type as disasterType} from './data'; diff --git a/src/render/views/BDComprehensiveExperimentalPlatform/MapView/disasterInfoView/index.vue b/src/render/views/BDComprehensiveExperimentalPlatform/MapView/disasterInfoView/index.vue new file mode 100644 index 0000000..7ad4ed7 --- /dev/null +++ b/src/render/views/BDComprehensiveExperimentalPlatform/MapView/disasterInfoView/index.vue @@ -0,0 +1,68 @@ + + + diff --git a/src/render/views/BDComprehensiveExperimentalPlatform/MapView/elevationInfoView/data.ts b/src/render/views/BDComprehensiveExperimentalPlatform/MapView/elevationInfoView/data.ts new file mode 100644 index 0000000..6482481 --- /dev/null +++ b/src/render/views/BDComprehensiveExperimentalPlatform/MapView/elevationInfoView/data.ts @@ -0,0 +1,2 @@ +export const type = 'elevation' +export const regExp = /^@O,.*,.*,.*,[AV],.*,[NS]?,.*,[EW]?,.*\*$/ diff --git a/src/render/views/BDComprehensiveExperimentalPlatform/MapView/elevationInfoView/index.ts b/src/render/views/BDComprehensiveExperimentalPlatform/MapView/elevationInfoView/index.ts new file mode 100644 index 0000000..6d6badc --- /dev/null +++ b/src/render/views/BDComprehensiveExperimentalPlatform/MapView/elevationInfoView/index.ts @@ -0,0 +1,2 @@ +export { default as elevationInfoView } from './index.vue'; +export { regExp as elevationRegExp, type as elevationType } from './data'; diff --git a/src/render/views/BDComprehensiveExperimentalPlatform/MapView/elevationInfoView/index.vue b/src/render/views/BDComprehensiveExperimentalPlatform/MapView/elevationInfoView/index.vue new file mode 100644 index 0000000..15d8e31 --- /dev/null +++ b/src/render/views/BDComprehensiveExperimentalPlatform/MapView/elevationInfoView/index.vue @@ -0,0 +1,46 @@ + + + diff --git a/src/render/views/BDComprehensiveExperimentalPlatform/MapView/index.ts b/src/render/views/BDComprehensiveExperimentalPlatform/MapView/index.ts new file mode 100644 index 0000000..22bfefd --- /dev/null +++ b/src/render/views/BDComprehensiveExperimentalPlatform/MapView/index.ts @@ -0,0 +1 @@ +export { default as MapView } from './index.vue' diff --git a/src/render/views/BDComprehensiveExperimentalPlatform/MapView/index.vue b/src/render/views/BDComprehensiveExperimentalPlatform/MapView/index.vue new file mode 100644 index 0000000..b6f31e4 --- /dev/null +++ b/src/render/views/BDComprehensiveExperimentalPlatform/MapView/index.vue @@ -0,0 +1,114 @@ + + + \ No newline at end of file diff --git a/src/render/views/BDComprehensiveExperimentalPlatform/MapView/velocityInfoView/data.ts b/src/render/views/BDComprehensiveExperimentalPlatform/MapView/velocityInfoView/data.ts new file mode 100644 index 0000000..b2ff658 --- /dev/null +++ b/src/render/views/BDComprehensiveExperimentalPlatform/MapView/velocityInfoView/data.ts @@ -0,0 +1,2 @@ +export const type = 'velocity' +export const regExp = /^@V,.*,.*,.*,[AV],.*,[NS]?,.*,[EW]?,.*\*$/ diff --git a/src/render/views/BDComprehensiveExperimentalPlatform/MapView/velocityInfoView/index.ts b/src/render/views/BDComprehensiveExperimentalPlatform/MapView/velocityInfoView/index.ts new file mode 100644 index 0000000..3a46710 --- /dev/null +++ b/src/render/views/BDComprehensiveExperimentalPlatform/MapView/velocityInfoView/index.ts @@ -0,0 +1,2 @@ +export { default as velocityInfoView } from './index.vue'; +export { regExp as velocityRegExp, type as velocityType } from './data'; diff --git a/src/render/views/BDComprehensiveExperimentalPlatform/MapView/velocityInfoView/index.vue b/src/render/views/BDComprehensiveExperimentalPlatform/MapView/velocityInfoView/index.vue new file mode 100644 index 0000000..5e6d9c9 --- /dev/null +++ b/src/render/views/BDComprehensiveExperimentalPlatform/MapView/velocityInfoView/index.vue @@ -0,0 +1,46 @@ + + + diff --git a/src/render/views/BDComprehensiveExperimentalPlatform/MapView/weatherInfoView/data.ts b/src/render/views/BDComprehensiveExperimentalPlatform/MapView/weatherInfoView/data.ts new file mode 100644 index 0000000..bb7d9a7 --- /dev/null +++ b/src/render/views/BDComprehensiveExperimentalPlatform/MapView/weatherInfoView/data.ts @@ -0,0 +1,3 @@ +export const type = 'weather' +// e.g.:@W,0000001,2023-03-31,9:00:00,A,40.236154,N,114.231546,E,20,68,101,39* +export const regExp = /^@W,.*,.*,.*,[AV],.*,[NS]?,.*,[EW]?,.*,.*,.*,.*\*$/ diff --git a/src/render/views/BDComprehensiveExperimentalPlatform/MapView/weatherInfoView/index.ts b/src/render/views/BDComprehensiveExperimentalPlatform/MapView/weatherInfoView/index.ts new file mode 100644 index 0000000..af1495d --- /dev/null +++ b/src/render/views/BDComprehensiveExperimentalPlatform/MapView/weatherInfoView/index.ts @@ -0,0 +1,2 @@ +export { default as weatherInfoView } from './index.vue'; +export { regExp as weatherRegExp, type as weatherType } from './data'; diff --git a/src/render/views/BDComprehensiveExperimentalPlatform/MapView/weatherInfoView/index.vue b/src/render/views/BDComprehensiveExperimentalPlatform/MapView/weatherInfoView/index.vue new file mode 100644 index 0000000..a3e8001 --- /dev/null +++ b/src/render/views/BDComprehensiveExperimentalPlatform/MapView/weatherInfoView/index.vue @@ -0,0 +1,66 @@ + + + diff --git a/src/render/views/BDDataAnalysisPlatform/BasicInfoView/index.ts b/src/render/views/BDDataAnalysisPlatform/BasicInfoView/index.ts new file mode 100644 index 0000000..f06cd89 --- /dev/null +++ b/src/render/views/BDDataAnalysisPlatform/BasicInfoView/index.ts @@ -0,0 +1 @@ +export { default as BasicInfoView } from './index.vue'; diff --git a/src/render/views/BDDataAnalysisPlatform/BasicInfoView/index.vue b/src/render/views/BDDataAnalysisPlatform/BasicInfoView/index.vue new file mode 100644 index 0000000..256006f --- /dev/null +++ b/src/render/views/BDDataAnalysisPlatform/BasicInfoView/index.vue @@ -0,0 +1,50 @@ + + + + + diff --git a/src/render/views/BDDataAnalysisPlatform/MapView.vue b/src/render/views/BDDataAnalysisPlatform/MapView.vue new file mode 100644 index 0000000..7500372 --- /dev/null +++ b/src/render/views/BDDataAnalysisPlatform/MapView.vue @@ -0,0 +1,23 @@ + + + diff --git a/src/render/views/BDDataAnalysisPlatform/PlanisphereView/data.ts b/src/render/views/BDDataAnalysisPlatform/PlanisphereView/data.ts new file mode 100644 index 0000000..84e6fef --- /dev/null +++ b/src/render/views/BDDataAnalysisPlatform/PlanisphereView/data.ts @@ -0,0 +1,58 @@ +import { reactive } from "vue" + +export const active_color = '#e5323e' +export const unactive_color = '#9ca3af' + +export const option = reactive({ + polar: { + radius: '85%' + }, + angleAxis: { + min: 0, + max: 360, + interval: 45, + axisTick: { + show: false + }, + axisLabel: { + fontSize: 24, + formatter: function (value: number) { + switch (value) + { + case 0 : return '北' + case 90 : return '东' + case 180 : return '南' + case 270 : return '西' + } + }, + } + }, + radiusAxis: { + min: -90, + max: 0, + interval: 30, + axisLabel: { + rotate: -25, + showMinLabel: false, + showMaxLabel: false, + verticalAlign: 'bottom', + formatter: function(value: number){ + return Math.abs(value) + }, + } + }, + series: [{ + coordinateSystem: 'polar', + type: 'scatter', + symbolSize: 32, + label: { + show: true, + formatter: '{@[2]}' + }, + itemStyle: { + color: ({ value }) => { + return value[3] ? active_color : unactive_color + } + }, + }] +}) \ No newline at end of file diff --git a/src/render/views/BDDataAnalysisPlatform/PlanisphereView/index.ts b/src/render/views/BDDataAnalysisPlatform/PlanisphereView/index.ts new file mode 100644 index 0000000..378ab3d --- /dev/null +++ b/src/render/views/BDDataAnalysisPlatform/PlanisphereView/index.ts @@ -0,0 +1 @@ +export { default as PlanisphereView } from './index.vue'; diff --git a/src/render/views/BDDataAnalysisPlatform/PlanisphereView/index.vue b/src/render/views/BDDataAnalysisPlatform/PlanisphereView/index.vue new file mode 100644 index 0000000..97b5526 --- /dev/null +++ b/src/render/views/BDDataAnalysisPlatform/PlanisphereView/index.vue @@ -0,0 +1,38 @@ + + + diff --git a/src/render/views/BDDataAnalysisPlatform/SNRView/data.ts b/src/render/views/BDDataAnalysisPlatform/SNRView/data.ts new file mode 100644 index 0000000..21dbcde --- /dev/null +++ b/src/render/views/BDDataAnalysisPlatform/SNRView/data.ts @@ -0,0 +1,45 @@ +import { reactive } from "vue" +import { graphic } from "echarts/core" + +const active_color = new graphic.LinearGradient( + 0, 1, 0, 0, + [ + {offset: 0.3, color: '#83bff6'}, + {offset: 1, color: '#188df0'} + ] +) +const unactive_color = '#9ca3af' + +export const option = reactive({ + grid: { + containLabel: true + }, + xAxis: { + type: 'category', + axisTick: { show: false }, + axisLine: { show: false }, + axisLabel: { color: 'black' } + }, + yAxis: { + max: 60, + axisLabel: { + fontSize: 24 + } + }, + series: [{ + type: 'bar', + barMaxWidth: '50%', + label: { + show: true, + position: 'top', + formatter: function ({ value }) { + return !value || value[1] === 0 ? '' : value[1] + } + }, + itemStyle: { + color: ({ value }) => { + return value[2] ? active_color : unactive_color + } + } + }] +}) \ No newline at end of file diff --git a/src/render/views/BDDataAnalysisPlatform/SNRView/index.ts b/src/render/views/BDDataAnalysisPlatform/SNRView/index.ts new file mode 100644 index 0000000..11b2b8d --- /dev/null +++ b/src/render/views/BDDataAnalysisPlatform/SNRView/index.ts @@ -0,0 +1 @@ +export { default as SNRView } from './index.vue'; diff --git a/src/render/views/BDDataAnalysisPlatform/SNRView/index.vue b/src/render/views/BDDataAnalysisPlatform/SNRView/index.vue new file mode 100644 index 0000000..ec1be81 --- /dev/null +++ b/src/render/views/BDDataAnalysisPlatform/SNRView/index.vue @@ -0,0 +1,44 @@ + + + diff --git a/src/render/views/BDMeteorologicalDataDisplayPlatform/MapView/MeteorologicalDataView.vue b/src/render/views/BDMeteorologicalDataDisplayPlatform/MapView/MeteorologicalDataView.vue new file mode 100644 index 0000000..438db42 --- /dev/null +++ b/src/render/views/BDMeteorologicalDataDisplayPlatform/MapView/MeteorologicalDataView.vue @@ -0,0 +1,53 @@ + + + diff --git a/src/render/views/BDMeteorologicalDataDisplayPlatform/MapView/index.ts b/src/render/views/BDMeteorologicalDataDisplayPlatform/MapView/index.ts new file mode 100644 index 0000000..22bfefd --- /dev/null +++ b/src/render/views/BDMeteorologicalDataDisplayPlatform/MapView/index.ts @@ -0,0 +1 @@ +export { default as MapView } from './index.vue' diff --git a/src/render/views/BDMeteorologicalDataDisplayPlatform/MapView/index.vue b/src/render/views/BDMeteorologicalDataDisplayPlatform/MapView/index.vue new file mode 100644 index 0000000..b676d02 --- /dev/null +++ b/src/render/views/BDMeteorologicalDataDisplayPlatform/MapView/index.vue @@ -0,0 +1,63 @@ + + + \ No newline at end of file diff --git a/src/render/views/BDMeteorologicalDataProtocol/CorrectAnswerView.vue b/src/render/views/BDMeteorologicalDataProtocol/CorrectAnswerView.vue new file mode 100644 index 0000000..c098ec5 --- /dev/null +++ b/src/render/views/BDMeteorologicalDataProtocol/CorrectAnswerView.vue @@ -0,0 +1,85 @@ + + + + \ No newline at end of file diff --git a/src/render/views/BDMeteorologicalDataProtocol/DataFormView/data.ts b/src/render/views/BDMeteorologicalDataProtocol/DataFormView/data.ts new file mode 100644 index 0000000..b1701b8 --- /dev/null +++ b/src/render/views/BDMeteorologicalDataProtocol/DataFormView/data.ts @@ -0,0 +1,7 @@ +export const itemStyle = { + flex: '1 1 30%', +} + +export const timePickerProps = { + actions: null +} diff --git a/src/render/views/BDMeteorologicalDataProtocol/DataFormView/index.ts b/src/render/views/BDMeteorologicalDataProtocol/DataFormView/index.ts new file mode 100644 index 0000000..3044866 --- /dev/null +++ b/src/render/views/BDMeteorologicalDataProtocol/DataFormView/index.ts @@ -0,0 +1 @@ +export { default as DataFormView } from './index.vue' diff --git a/src/render/views/BDMeteorologicalDataProtocol/DataFormView/index.vue b/src/render/views/BDMeteorologicalDataProtocol/DataFormView/index.vue new file mode 100644 index 0000000..58d8995 --- /dev/null +++ b/src/render/views/BDMeteorologicalDataProtocol/DataFormView/index.vue @@ -0,0 +1,307 @@ + + + + + diff --git a/src/render/views/BDMeteorologicalDataProtocol/DataProtocolView.vue b/src/render/views/BDMeteorologicalDataProtocol/DataProtocolView.vue new file mode 100644 index 0000000..3a7130e --- /dev/null +++ b/src/render/views/BDMeteorologicalDataProtocol/DataProtocolView.vue @@ -0,0 +1,55 @@ + + + + \ No newline at end of file diff --git a/src/render/views/BDPositionTrackRetracing/InteractionView.vue b/src/render/views/BDPositionTrackRetracing/InteractionView.vue new file mode 100644 index 0000000..cb3baed --- /dev/null +++ b/src/render/views/BDPositionTrackRetracing/InteractionView.vue @@ -0,0 +1,49 @@ + + + + + diff --git a/src/render/views/BDPositionTrackRetracing/MapView.vue b/src/render/views/BDPositionTrackRetracing/MapView.vue new file mode 100644 index 0000000..27bd219 --- /dev/null +++ b/src/render/views/BDPositionTrackRetracing/MapView.vue @@ -0,0 +1,77 @@ + + + \ No newline at end of file diff --git a/src/render/views/BDSatellite3DPostureControl/SatelliteModelView/index copy.vue b/src/render/views/BDSatellite3DPostureControl/SatelliteModelView/index copy.vue new file mode 100644 index 0000000..cdb3c40 --- /dev/null +++ b/src/render/views/BDSatellite3DPostureControl/SatelliteModelView/index copy.vue @@ -0,0 +1,347 @@ + + + + + diff --git a/src/render/views/BDSatellite3DPostureControl/SatelliteModelView/index.ts b/src/render/views/BDSatellite3DPostureControl/SatelliteModelView/index.ts new file mode 100644 index 0000000..99c79b9 --- /dev/null +++ b/src/render/views/BDSatellite3DPostureControl/SatelliteModelView/index.ts @@ -0,0 +1 @@ +export { default as SatelliteModelView } from './index.vue'; diff --git a/src/render/views/BDSatellite3DPostureControl/SatelliteModelView/index.vue b/src/render/views/BDSatellite3DPostureControl/SatelliteModelView/index.vue new file mode 100644 index 0000000..2482d76 --- /dev/null +++ b/src/render/views/BDSatellite3DPostureControl/SatelliteModelView/index.vue @@ -0,0 +1,218 @@ + + + diff --git a/src/render/views/BDSatelliteAttitudeControl/RemoteControlView/index.ts b/src/render/views/BDSatelliteAttitudeControl/RemoteControlView/index.ts new file mode 100644 index 0000000..806071d --- /dev/null +++ b/src/render/views/BDSatelliteAttitudeControl/RemoteControlView/index.ts @@ -0,0 +1 @@ +export { default as RemoteControlView } from './index.vue' diff --git a/src/render/views/BDSatelliteAttitudeControl/RemoteControlView/index.vue b/src/render/views/BDSatelliteAttitudeControl/RemoteControlView/index.vue new file mode 100644 index 0000000..07c3ab2 --- /dev/null +++ b/src/render/views/BDSatelliteAttitudeControl/RemoteControlView/index.vue @@ -0,0 +1,17 @@ + + + + + diff --git a/src/render/views/BDSatelliteAttitudeControl/components/MotorControlView/data.ts b/src/render/views/BDSatelliteAttitudeControl/components/MotorControlView/data.ts new file mode 100644 index 0000000..db96cbe --- /dev/null +++ b/src/render/views/BDSatelliteAttitudeControl/components/MotorControlView/data.ts @@ -0,0 +1,3 @@ +export const MAX = 255 + +export const MIN = 180 diff --git a/src/render/views/BDSatelliteAttitudeControl/components/MotorControlView/index.ts b/src/render/views/BDSatelliteAttitudeControl/components/MotorControlView/index.ts new file mode 100644 index 0000000..5e763a9 --- /dev/null +++ b/src/render/views/BDSatelliteAttitudeControl/components/MotorControlView/index.ts @@ -0,0 +1 @@ +export { default as MotorControlView } from './index.vue' diff --git a/src/render/views/BDSatelliteAttitudeControl/components/MotorControlView/index.vue b/src/render/views/BDSatelliteAttitudeControl/components/MotorControlView/index.vue new file mode 100644 index 0000000..69136c4 --- /dev/null +++ b/src/render/views/BDSatelliteAttitudeControl/components/MotorControlView/index.vue @@ -0,0 +1,50 @@ + + + + + diff --git a/src/render/views/BDSatelliteParameterMonitoringPlatform/AttitudeParameterView/index.ts b/src/render/views/BDSatelliteParameterMonitoringPlatform/AttitudeParameterView/index.ts new file mode 100644 index 0000000..07da4ab --- /dev/null +++ b/src/render/views/BDSatelliteParameterMonitoringPlatform/AttitudeParameterView/index.ts @@ -0,0 +1 @@ +export { default as AttitudeParameterView } from './index.vue'; diff --git a/src/render/views/BDSatelliteParameterMonitoringPlatform/AttitudeParameterView/index.vue b/src/render/views/BDSatelliteParameterMonitoringPlatform/AttitudeParameterView/index.vue new file mode 100644 index 0000000..4881cb1 --- /dev/null +++ b/src/render/views/BDSatelliteParameterMonitoringPlatform/AttitudeParameterView/index.vue @@ -0,0 +1,96 @@ + + + + + + diff --git a/src/render/views/BDSatelliteParameterMonitoringPlatform/ParameterMonitoringView/index.ts b/src/render/views/BDSatelliteParameterMonitoringPlatform/ParameterMonitoringView/index.ts new file mode 100644 index 0000000..e9bcce8 --- /dev/null +++ b/src/render/views/BDSatelliteParameterMonitoringPlatform/ParameterMonitoringView/index.ts @@ -0,0 +1 @@ +export { default as ParameterMonitoringView } from './index.vue' diff --git a/src/render/views/BDSatelliteParameterMonitoringPlatform/ParameterMonitoringView/index.vue b/src/render/views/BDSatelliteParameterMonitoringPlatform/ParameterMonitoringView/index.vue new file mode 100644 index 0000000..da7c8f9 --- /dev/null +++ b/src/render/views/BDSatelliteParameterMonitoringPlatform/ParameterMonitoringView/index.vue @@ -0,0 +1,25 @@ + + + + + + diff --git a/src/render/views/BDSatelliteParameterMonitoringPlatform/SatelliteTimeView/index.ts b/src/render/views/BDSatelliteParameterMonitoringPlatform/SatelliteTimeView/index.ts new file mode 100644 index 0000000..333bc2e --- /dev/null +++ b/src/render/views/BDSatelliteParameterMonitoringPlatform/SatelliteTimeView/index.ts @@ -0,0 +1 @@ +export { default as SatelliteTimeView } from './index.vue'; diff --git a/src/render/views/BDSatelliteParameterMonitoringPlatform/SatelliteTimeView/index.vue b/src/render/views/BDSatelliteParameterMonitoringPlatform/SatelliteTimeView/index.vue new file mode 100644 index 0000000..6746ded --- /dev/null +++ b/src/render/views/BDSatelliteParameterMonitoringPlatform/SatelliteTimeView/index.vue @@ -0,0 +1,66 @@ + + + + + + diff --git a/src/render/views/BDSatelliteParameterMonitoringPlatform/StateParameterView/index.ts b/src/render/views/BDSatelliteParameterMonitoringPlatform/StateParameterView/index.ts new file mode 100644 index 0000000..d1812c6 --- /dev/null +++ b/src/render/views/BDSatelliteParameterMonitoringPlatform/StateParameterView/index.ts @@ -0,0 +1 @@ +export { default as StateParameterView } from './index.vue'; diff --git a/src/render/views/BDSatelliteParameterMonitoringPlatform/StateParameterView/index.vue b/src/render/views/BDSatelliteParameterMonitoringPlatform/StateParameterView/index.vue new file mode 100644 index 0000000..4a89e7d --- /dev/null +++ b/src/render/views/BDSatelliteParameterMonitoringPlatform/StateParameterView/index.vue @@ -0,0 +1,73 @@ + + + + + + diff --git a/src/render/views/BDSatelliteTimeConfiguration/CustomTimingView/data.ts b/src/render/views/BDSatelliteTimeConfiguration/CustomTimingView/data.ts new file mode 100644 index 0000000..b6e5fe8 --- /dev/null +++ b/src/render/views/BDSatelliteTimeConfiguration/CustomTimingView/data.ts @@ -0,0 +1,5 @@ +export const actions = null + +export const timePickerProps = { + actions: null +} diff --git a/src/render/views/BDSatelliteTimeConfiguration/CustomTimingView/index.ts b/src/render/views/BDSatelliteTimeConfiguration/CustomTimingView/index.ts new file mode 100644 index 0000000..30d3c17 --- /dev/null +++ b/src/render/views/BDSatelliteTimeConfiguration/CustomTimingView/index.ts @@ -0,0 +1 @@ +export { default as CustomTimingView } from './index.vue'; diff --git a/src/render/views/BDSatelliteTimeConfiguration/CustomTimingView/index.vue b/src/render/views/BDSatelliteTimeConfiguration/CustomTimingView/index.vue new file mode 100644 index 0000000..808a7ff --- /dev/null +++ b/src/render/views/BDSatelliteTimeConfiguration/CustomTimingView/index.vue @@ -0,0 +1,55 @@ + + + + + diff --git a/src/render/views/BDSatelliteTimeConfiguration/SystemTimingView/data.ts b/src/render/views/BDSatelliteTimeConfiguration/SystemTimingView/data.ts new file mode 100644 index 0000000..46e9500 --- /dev/null +++ b/src/render/views/BDSatelliteTimeConfiguration/SystemTimingView/data.ts @@ -0,0 +1 @@ +export const weekdays = ['星期天', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'] diff --git a/src/render/views/BDSatelliteTimeConfiguration/SystemTimingView/index.ts b/src/render/views/BDSatelliteTimeConfiguration/SystemTimingView/index.ts new file mode 100644 index 0000000..a4fb3a8 --- /dev/null +++ b/src/render/views/BDSatelliteTimeConfiguration/SystemTimingView/index.ts @@ -0,0 +1 @@ +export { default as SystemTimingView } from './index.vue'; diff --git a/src/render/views/BDSatelliteTimeConfiguration/SystemTimingView/index.vue b/src/render/views/BDSatelliteTimeConfiguration/SystemTimingView/index.vue new file mode 100644 index 0000000..9845fc2 --- /dev/null +++ b/src/render/views/BDSatelliteTimeConfiguration/SystemTimingView/index.vue @@ -0,0 +1,63 @@ + + + + + diff --git a/src/render/views/ClockConfig/AnimationConfigView/data.ts b/src/render/views/ClockConfig/AnimationConfigView/data.ts new file mode 100644 index 0000000..cfb963a --- /dev/null +++ b/src/render/views/ClockConfig/AnimationConfigView/data.ts @@ -0,0 +1,13 @@ +export const animationDurationOptions = [10, 100, 1000].map( + (v) => ({ + label: v, + value: v + }) +) + +export const dateDisplayDurationOptions = [0, 1, 3, 5].map( + (v) => ({ + label: v, + value: v + }) +) diff --git a/src/render/views/ClockConfig/AnimationConfigView/index.ts b/src/render/views/ClockConfig/AnimationConfigView/index.ts new file mode 100644 index 0000000..f900ea1 --- /dev/null +++ b/src/render/views/ClockConfig/AnimationConfigView/index.ts @@ -0,0 +1 @@ +export { default as AnimationConfigView } from './index.vue' diff --git a/src/render/views/ClockConfig/AnimationConfigView/index.vue b/src/render/views/ClockConfig/AnimationConfigView/index.vue new file mode 100644 index 0000000..193a914 --- /dev/null +++ b/src/render/views/ClockConfig/AnimationConfigView/index.vue @@ -0,0 +1,81 @@ + + + + + \ No newline at end of file diff --git a/src/render/views/ClockConfig/GestureRecognitionConfigView/data.ts b/src/render/views/ClockConfig/GestureRecognitionConfigView/data.ts new file mode 100644 index 0000000..30f9e6f --- /dev/null +++ b/src/render/views/ClockConfig/GestureRecognitionConfigView/data.ts @@ -0,0 +1,22 @@ +export const MAX_DISTANCE = -300 +export const MIN_DISTANCE = -900 + +export const timeOutOptions = [200, 600, 1000, 1500, 2000].map( + (v) => ({ + label: v, + value: v + }) +) + +export const intervalOptions = [0.5, 1, 2, 3].map( + (v) => ({ + label: v, + value: v + }) +) + +export const eventOptions = [ + { label: '屏幕向右翻页', value: 0 }, + { label: '屏幕向左翻页', value: 1 }, + { label: '显示日期' , value: 2 }, +] \ No newline at end of file diff --git a/src/render/views/ClockConfig/GestureRecognitionConfigView/index.ts b/src/render/views/ClockConfig/GestureRecognitionConfigView/index.ts new file mode 100644 index 0000000..add2f35 --- /dev/null +++ b/src/render/views/ClockConfig/GestureRecognitionConfigView/index.ts @@ -0,0 +1 @@ +export { default as GestureRecognitionConfigView } from './index.vue' diff --git a/src/render/views/ClockConfig/GestureRecognitionConfigView/index.vue b/src/render/views/ClockConfig/GestureRecognitionConfigView/index.vue new file mode 100644 index 0000000..308db8b --- /dev/null +++ b/src/render/views/ClockConfig/GestureRecognitionConfigView/index.vue @@ -0,0 +1,115 @@ + + + + + \ No newline at end of file diff --git a/src/render/views/ClockConfig/ResetButtonView.vue b/src/render/views/ClockConfig/ResetButtonView.vue new file mode 100644 index 0000000..e364105 --- /dev/null +++ b/src/render/views/ClockConfig/ResetButtonView.vue @@ -0,0 +1,26 @@ + + + + + \ No newline at end of file diff --git a/src/render/views/ClockConfig/ScreenConfigView/data.ts b/src/render/views/ClockConfig/ScreenConfigView/data.ts new file mode 100644 index 0000000..0fda6ee --- /dev/null +++ b/src/render/views/ClockConfig/ScreenConfigView/data.ts @@ -0,0 +1,4 @@ +export const count = 10 + +export const MIN = 0 +export const MAX = 30 diff --git a/src/render/views/ClockConfig/ScreenConfigView/index.ts b/src/render/views/ClockConfig/ScreenConfigView/index.ts new file mode 100644 index 0000000..cc5ba40 --- /dev/null +++ b/src/render/views/ClockConfig/ScreenConfigView/index.ts @@ -0,0 +1 @@ +export { default as ScreenConfigView } from './index.vue' diff --git a/src/render/views/ClockConfig/ScreenConfigView/index.vue b/src/render/views/ClockConfig/ScreenConfigView/index.vue new file mode 100644 index 0000000..66bd5ac --- /dev/null +++ b/src/render/views/ClockConfig/ScreenConfigView/index.vue @@ -0,0 +1,87 @@ + + + + + \ No newline at end of file diff --git a/src/render/views/ClockConfig/SoundDetectionModuleConfigView/data.ts b/src/render/views/ClockConfig/SoundDetectionModuleConfigView/data.ts new file mode 100644 index 0000000..d20c52d --- /dev/null +++ b/src/render/views/ClockConfig/SoundDetectionModuleConfigView/data.ts @@ -0,0 +1,5 @@ +export const options = [ + { label: '屏幕向右翻页', value: 0 }, + { label: '屏幕向左翻页', value: 1 }, + { label: '显示日期' , value: 2 }, +] diff --git a/src/render/views/ClockConfig/SoundDetectionModuleConfigView/index.ts b/src/render/views/ClockConfig/SoundDetectionModuleConfigView/index.ts new file mode 100644 index 0000000..6ad8adc --- /dev/null +++ b/src/render/views/ClockConfig/SoundDetectionModuleConfigView/index.ts @@ -0,0 +1 @@ +export { default as SoundDetectionModuleConfigView } from './index.vue' diff --git a/src/render/views/ClockConfig/SoundDetectionModuleConfigView/index.vue b/src/render/views/ClockConfig/SoundDetectionModuleConfigView/index.vue new file mode 100644 index 0000000..7f98d74 --- /dev/null +++ b/src/render/views/ClockConfig/SoundDetectionModuleConfigView/index.vue @@ -0,0 +1,46 @@ + + + + + \ No newline at end of file diff --git a/src/render/views/DistanceCalculationTool/PointInfoInputFormView/data.ts b/src/render/views/DistanceCalculationTool/PointInfoInputFormView/data.ts new file mode 100644 index 0000000..b9e6db0 --- /dev/null +++ b/src/render/views/DistanceCalculationTool/PointInfoInputFormView/data.ts @@ -0,0 +1,4 @@ +export const MAX_LNG = 180 +export const MIN_LNG = -180 +export const MAX_LAT = 90 +export const MIN_LAT = -90 diff --git a/src/render/views/DistanceCalculationTool/PointInfoInputFormView/index.ts b/src/render/views/DistanceCalculationTool/PointInfoInputFormView/index.ts new file mode 100644 index 0000000..47e9399 --- /dev/null +++ b/src/render/views/DistanceCalculationTool/PointInfoInputFormView/index.ts @@ -0,0 +1 @@ +export { default as PointInfoInputFormView } from './index.vue' diff --git a/src/render/views/DistanceCalculationTool/PointInfoInputFormView/index.vue b/src/render/views/DistanceCalculationTool/PointInfoInputFormView/index.vue new file mode 100644 index 0000000..54092ed --- /dev/null +++ b/src/render/views/DistanceCalculationTool/PointInfoInputFormView/index.vue @@ -0,0 +1,174 @@ + + + + + \ No newline at end of file diff --git a/src/render/views/DistanceCalculationTool/ResultView.vue b/src/render/views/DistanceCalculationTool/ResultView.vue new file mode 100644 index 0000000..e0f6f98 --- /dev/null +++ b/src/render/views/DistanceCalculationTool/ResultView.vue @@ -0,0 +1,36 @@ + + + + + diff --git a/src/render/views/ElectronicScreenDesign/ClearButtonView.vue b/src/render/views/ElectronicScreenDesign/ClearButtonView.vue new file mode 100644 index 0000000..db714e9 --- /dev/null +++ b/src/render/views/ElectronicScreenDesign/ClearButtonView.vue @@ -0,0 +1,24 @@ + + + diff --git a/src/render/views/ElectronicScreenDesign/ColorPickerView.vue b/src/render/views/ElectronicScreenDesign/ColorPickerView.vue new file mode 100644 index 0000000..a846204 --- /dev/null +++ b/src/render/views/ElectronicScreenDesign/ColorPickerView.vue @@ -0,0 +1,14 @@ + + + + + \ No newline at end of file diff --git a/src/render/views/ElectronicScreenDesign/LEDPanelView/components/LED.vue b/src/render/views/ElectronicScreenDesign/LEDPanelView/components/LED.vue new file mode 100644 index 0000000..820a0e6 --- /dev/null +++ b/src/render/views/ElectronicScreenDesign/LEDPanelView/components/LED.vue @@ -0,0 +1,29 @@ + + + + + \ No newline at end of file diff --git a/src/render/views/ElectronicScreenDesign/LEDPanelView/data.ts b/src/render/views/ElectronicScreenDesign/LEDPanelView/data.ts new file mode 100644 index 0000000..43cef52 --- /dev/null +++ b/src/render/views/ElectronicScreenDesign/LEDPanelView/data.ts @@ -0,0 +1 @@ +export const ROWS = 8, COLS = 32 diff --git a/src/render/views/ElectronicScreenDesign/LEDPanelView/index.ts b/src/render/views/ElectronicScreenDesign/LEDPanelView/index.ts new file mode 100644 index 0000000..5be0210 --- /dev/null +++ b/src/render/views/ElectronicScreenDesign/LEDPanelView/index.ts @@ -0,0 +1 @@ +export { default as LEDPanelView } from './index.vue' diff --git a/src/render/views/ElectronicScreenDesign/LEDPanelView/index.vue b/src/render/views/ElectronicScreenDesign/LEDPanelView/index.vue new file mode 100644 index 0000000..fa958a6 --- /dev/null +++ b/src/render/views/ElectronicScreenDesign/LEDPanelView/index.vue @@ -0,0 +1,56 @@ + + + diff --git a/src/render/views/FontDesign/DotMatrixScreenDisplayView/LEDPanelView/components/LED.vue b/src/render/views/FontDesign/DotMatrixScreenDisplayView/LEDPanelView/components/LED.vue new file mode 100644 index 0000000..1c1bdf3 --- /dev/null +++ b/src/render/views/FontDesign/DotMatrixScreenDisplayView/LEDPanelView/components/LED.vue @@ -0,0 +1,22 @@ + + + + + \ No newline at end of file diff --git a/src/render/views/FontDesign/DotMatrixScreenDisplayView/LEDPanelView/data.ts b/src/render/views/FontDesign/DotMatrixScreenDisplayView/LEDPanelView/data.ts new file mode 100644 index 0000000..43cef52 --- /dev/null +++ b/src/render/views/FontDesign/DotMatrixScreenDisplayView/LEDPanelView/data.ts @@ -0,0 +1 @@ +export const ROWS = 8, COLS = 32 diff --git a/src/render/views/FontDesign/DotMatrixScreenDisplayView/LEDPanelView/index.ts b/src/render/views/FontDesign/DotMatrixScreenDisplayView/LEDPanelView/index.ts new file mode 100644 index 0000000..5be0210 --- /dev/null +++ b/src/render/views/FontDesign/DotMatrixScreenDisplayView/LEDPanelView/index.ts @@ -0,0 +1 @@ +export { default as LEDPanelView } from './index.vue' diff --git a/src/render/views/FontDesign/DotMatrixScreenDisplayView/LEDPanelView/index.vue b/src/render/views/FontDesign/DotMatrixScreenDisplayView/LEDPanelView/index.vue new file mode 100644 index 0000000..79c369c --- /dev/null +++ b/src/render/views/FontDesign/DotMatrixScreenDisplayView/LEDPanelView/index.vue @@ -0,0 +1,62 @@ + + + diff --git a/src/render/views/FontDesign/DotMatrixScreenDisplayView/index.ts b/src/render/views/FontDesign/DotMatrixScreenDisplayView/index.ts new file mode 100644 index 0000000..aeb741b --- /dev/null +++ b/src/render/views/FontDesign/DotMatrixScreenDisplayView/index.ts @@ -0,0 +1 @@ +export { default as DotMatrixScreenDisplayView } from './index.vue' diff --git a/src/render/views/FontDesign/DotMatrixScreenDisplayView/index.vue b/src/render/views/FontDesign/DotMatrixScreenDisplayView/index.vue new file mode 100644 index 0000000..28110a3 --- /dev/null +++ b/src/render/views/FontDesign/DotMatrixScreenDisplayView/index.vue @@ -0,0 +1,116 @@ + + + + + \ No newline at end of file diff --git a/src/render/views/FontDesign/EditFontView/Font35View/DotMatrixScreen35View.vue b/src/render/views/FontDesign/EditFontView/Font35View/DotMatrixScreen35View.vue new file mode 100644 index 0000000..fb1e40f --- /dev/null +++ b/src/render/views/FontDesign/EditFontView/Font35View/DotMatrixScreen35View.vue @@ -0,0 +1,15 @@ + + + diff --git a/src/render/views/FontDesign/EditFontView/Font35View/index.ts b/src/render/views/FontDesign/EditFontView/Font35View/index.ts new file mode 100644 index 0000000..ced59a7 --- /dev/null +++ b/src/render/views/FontDesign/EditFontView/Font35View/index.ts @@ -0,0 +1 @@ +export { default as Font35View } from './index.vue' diff --git a/src/render/views/FontDesign/EditFontView/Font35View/index.vue b/src/render/views/FontDesign/EditFontView/Font35View/index.vue new file mode 100644 index 0000000..fbeaa16 --- /dev/null +++ b/src/render/views/FontDesign/EditFontView/Font35View/index.vue @@ -0,0 +1,42 @@ + + + + + diff --git a/src/render/views/FontDesign/EditFontView/Font47View/DotMatrixScreen47View.vue b/src/render/views/FontDesign/EditFontView/Font47View/DotMatrixScreen47View.vue new file mode 100644 index 0000000..50907ff --- /dev/null +++ b/src/render/views/FontDesign/EditFontView/Font47View/DotMatrixScreen47View.vue @@ -0,0 +1,15 @@ + + + diff --git a/src/render/views/FontDesign/EditFontView/Font47View/index.ts b/src/render/views/FontDesign/EditFontView/Font47View/index.ts new file mode 100644 index 0000000..de524ff --- /dev/null +++ b/src/render/views/FontDesign/EditFontView/Font47View/index.ts @@ -0,0 +1 @@ +export { default as Font47View } from './index.vue' diff --git a/src/render/views/FontDesign/EditFontView/Font47View/index.vue b/src/render/views/FontDesign/EditFontView/Font47View/index.vue new file mode 100644 index 0000000..24d9ff7 --- /dev/null +++ b/src/render/views/FontDesign/EditFontView/Font47View/index.vue @@ -0,0 +1,41 @@ + + + + + diff --git a/src/render/views/FontDesign/EditFontView/index.ts b/src/render/views/FontDesign/EditFontView/index.ts new file mode 100644 index 0000000..4af19ed --- /dev/null +++ b/src/render/views/FontDesign/EditFontView/index.ts @@ -0,0 +1 @@ +export { default as EditFontView } from './index.vue' diff --git a/src/render/views/FontDesign/EditFontView/index.vue b/src/render/views/FontDesign/EditFontView/index.vue new file mode 100644 index 0000000..c443b03 --- /dev/null +++ b/src/render/views/FontDesign/EditFontView/index.vue @@ -0,0 +1,58 @@ + + + diff --git a/src/render/views/FontDesign/LED.vue b/src/render/views/FontDesign/LED.vue new file mode 100644 index 0000000..0f95da6 --- /dev/null +++ b/src/render/views/FontDesign/LED.vue @@ -0,0 +1,30 @@ + + + + + \ No newline at end of file diff --git a/src/render/views/GeneratingConstellationChart/ConstellationChartView.vue b/src/render/views/GeneratingConstellationChart/ConstellationChartView.vue new file mode 100644 index 0000000..e01daf2 --- /dev/null +++ b/src/render/views/GeneratingConstellationChart/ConstellationChartView.vue @@ -0,0 +1,40 @@ + + + + + diff --git a/src/render/views/GeneratingConstellationChart/SatelliteDataFormView/ControlButtonGroupView.vue b/src/render/views/GeneratingConstellationChart/SatelliteDataFormView/ControlButtonGroupView.vue new file mode 100644 index 0000000..65c929a --- /dev/null +++ b/src/render/views/GeneratingConstellationChart/SatelliteDataFormView/ControlButtonGroupView.vue @@ -0,0 +1,62 @@ + + + + + diff --git a/src/render/views/GeneratingConstellationChart/SatelliteDataFormView/DataFormView/SatelliteDataFormItem.vue b/src/render/views/GeneratingConstellationChart/SatelliteDataFormView/DataFormView/SatelliteDataFormItem.vue new file mode 100644 index 0000000..823b4e6 --- /dev/null +++ b/src/render/views/GeneratingConstellationChart/SatelliteDataFormView/DataFormView/SatelliteDataFormItem.vue @@ -0,0 +1,32 @@ + + + + + \ No newline at end of file diff --git a/src/render/views/GeneratingConstellationChart/SatelliteDataFormView/DataFormView/index.ts b/src/render/views/GeneratingConstellationChart/SatelliteDataFormView/DataFormView/index.ts new file mode 100644 index 0000000..3044866 --- /dev/null +++ b/src/render/views/GeneratingConstellationChart/SatelliteDataFormView/DataFormView/index.ts @@ -0,0 +1 @@ +export { default as DataFormView } from './index.vue' diff --git a/src/render/views/GeneratingConstellationChart/SatelliteDataFormView/DataFormView/index.vue b/src/render/views/GeneratingConstellationChart/SatelliteDataFormView/DataFormView/index.vue new file mode 100644 index 0000000..3af17ec --- /dev/null +++ b/src/render/views/GeneratingConstellationChart/SatelliteDataFormView/DataFormView/index.vue @@ -0,0 +1,25 @@ + + + + + \ No newline at end of file diff --git a/src/render/views/GeneratingConstellationChart/SatelliteDataFormView/index.ts b/src/render/views/GeneratingConstellationChart/SatelliteDataFormView/index.ts new file mode 100644 index 0000000..128f2cc --- /dev/null +++ b/src/render/views/GeneratingConstellationChart/SatelliteDataFormView/index.ts @@ -0,0 +1 @@ +export { default as SatelliteDataFormView } from './index.vue' diff --git a/src/render/views/GeneratingConstellationChart/SatelliteDataFormView/index.vue b/src/render/views/GeneratingConstellationChart/SatelliteDataFormView/index.vue new file mode 100644 index 0000000..fb29973 --- /dev/null +++ b/src/render/views/GeneratingConstellationChart/SatelliteDataFormView/index.vue @@ -0,0 +1,19 @@ + + + + + diff --git a/src/render/views/GestureRecognition/GestureAnimationView.vue b/src/render/views/GestureRecognition/GestureAnimationView.vue new file mode 100644 index 0000000..71a3c28 --- /dev/null +++ b/src/render/views/GestureRecognition/GestureAnimationView.vue @@ -0,0 +1,54 @@ + + + + + diff --git a/src/render/views/GestureRecognition/ParamConfigView/data.ts b/src/render/views/GestureRecognition/ParamConfigView/data.ts new file mode 100644 index 0000000..f75f5c5 --- /dev/null +++ b/src/render/views/GestureRecognition/ParamConfigView/data.ts @@ -0,0 +1,16 @@ +export const MAX_DISTANCE = -300 +export const MIN_DISTANCE = -900 + +export const timeOutOptions = [200, 600, 1000, 1500, 2000].map( + (v) => ({ + label: v, + value: v + }) +) + +export const intervalOptions = [0.5, 1, 2, 3].map( + (v) => ({ + label: v, + value: v + }) +) \ No newline at end of file diff --git a/src/render/views/GestureRecognition/ParamConfigView/index.ts b/src/render/views/GestureRecognition/ParamConfigView/index.ts new file mode 100644 index 0000000..338fde4 --- /dev/null +++ b/src/render/views/GestureRecognition/ParamConfigView/index.ts @@ -0,0 +1 @@ +export { default as ParamConfigView } from './index.vue' diff --git a/src/render/views/GestureRecognition/ParamConfigView/index.vue b/src/render/views/GestureRecognition/ParamConfigView/index.vue new file mode 100644 index 0000000..2bb8ea8 --- /dev/null +++ b/src/render/views/GestureRecognition/ParamConfigView/index.vue @@ -0,0 +1,117 @@ + + + + + diff --git a/src/render/views/NixieTubeConfiguration/NixieTubeControlView/components/BlockLED.vue b/src/render/views/NixieTubeConfiguration/NixieTubeControlView/components/BlockLED.vue new file mode 100644 index 0000000..cb214a2 --- /dev/null +++ b/src/render/views/NixieTubeConfiguration/NixieTubeControlView/components/BlockLED.vue @@ -0,0 +1,82 @@ + + + + + \ No newline at end of file diff --git a/src/render/views/NixieTubeConfiguration/NixieTubeControlView/components/CutOffDot.vue b/src/render/views/NixieTubeConfiguration/NixieTubeControlView/components/CutOffDot.vue new file mode 100644 index 0000000..a404720 --- /dev/null +++ b/src/render/views/NixieTubeConfiguration/NixieTubeControlView/components/CutOffDot.vue @@ -0,0 +1,16 @@ + + + + + diff --git a/src/render/views/NixieTubeConfiguration/NixieTubeControlView/components/DigitalTube.vue b/src/render/views/NixieTubeConfiguration/NixieTubeControlView/components/DigitalTube.vue new file mode 100644 index 0000000..421c878 --- /dev/null +++ b/src/render/views/NixieTubeConfiguration/NixieTubeControlView/components/DigitalTube.vue @@ -0,0 +1,81 @@ + + + + + diff --git a/src/render/views/NixieTubeConfiguration/NixieTubeControlView/components/DotLED.vue b/src/render/views/NixieTubeConfiguration/NixieTubeControlView/components/DotLED.vue new file mode 100644 index 0000000..219ffe9 --- /dev/null +++ b/src/render/views/NixieTubeConfiguration/NixieTubeControlView/components/DotLED.vue @@ -0,0 +1,62 @@ + + + + + diff --git a/src/render/views/NixieTubeConfiguration/NixieTubeControlView/components/FourDigitTube.vue b/src/render/views/NixieTubeConfiguration/NixieTubeControlView/components/FourDigitTube.vue new file mode 100644 index 0000000..59e6bfc --- /dev/null +++ b/src/render/views/NixieTubeConfiguration/NixieTubeControlView/components/FourDigitTube.vue @@ -0,0 +1,23 @@ + + + + + diff --git a/src/render/views/NixieTubeConfiguration/NixieTubeControlView/data.ts b/src/render/views/NixieTubeConfiguration/NixieTubeControlView/data.ts new file mode 100644 index 0000000..d2225f2 --- /dev/null +++ b/src/render/views/NixieTubeConfiguration/NixieTubeControlView/data.ts @@ -0,0 +1,14 @@ +import { ref } from 'vue' + +export const FOUR_DIGIT_TUBE_NUM = 5 +export const DIGIT_TUBE_NUM_OF_FOUR_DIGIT_TUBE = 4 +export const LED_NUM_OF_DIGIT_TUBE = 8 +export const DEFAULT_SELECTED_INDEX = 0 + +export const dataArr = ref(new Array(FOUR_DIGIT_TUBE_NUM)) +for (let i = 0; i < FOUR_DIGIT_TUBE_NUM; i++) { + dataArr.value[i] = new Array(DIGIT_TUBE_NUM_OF_FOUR_DIGIT_TUBE) + for (let j = 0; j < DIGIT_TUBE_NUM_OF_FOUR_DIGIT_TUBE; j++) { + dataArr.value[i][j] = new Array(LED_NUM_OF_DIGIT_TUBE).fill(0) + } +} diff --git a/src/render/views/NixieTubeConfiguration/NixieTubeControlView/index.ts b/src/render/views/NixieTubeConfiguration/NixieTubeControlView/index.ts new file mode 100644 index 0000000..1880f25 --- /dev/null +++ b/src/render/views/NixieTubeConfiguration/NixieTubeControlView/index.ts @@ -0,0 +1 @@ +export { default as NixieTubeControlView } from './index.vue' diff --git a/src/render/views/NixieTubeConfiguration/NixieTubeControlView/index.vue b/src/render/views/NixieTubeConfiguration/NixieTubeControlView/index.vue new file mode 100644 index 0000000..3541d13 --- /dev/null +++ b/src/render/views/NixieTubeConfiguration/NixieTubeControlView/index.vue @@ -0,0 +1,16 @@ + + + + + \ No newline at end of file diff --git a/src/render/views/NixieTubeConfiguration/NixieTubeSelectView/data.ts b/src/render/views/NixieTubeConfiguration/NixieTubeSelectView/data.ts new file mode 100644 index 0000000..c25f4ae --- /dev/null +++ b/src/render/views/NixieTubeConfiguration/NixieTubeSelectView/data.ts @@ -0,0 +1,7 @@ +import { FOUR_DIGIT_TUBE_NUM } from '../NixieTubeControlView/data' + +export const options = new Array(FOUR_DIGIT_TUBE_NUM) + +for (let i = 0; i < FOUR_DIGIT_TUBE_NUM; i++) { + options[i] = { label: i + 1, value: i} +} diff --git a/src/render/views/NixieTubeConfiguration/NixieTubeSelectView/index.ts b/src/render/views/NixieTubeConfiguration/NixieTubeSelectView/index.ts new file mode 100644 index 0000000..241d555 --- /dev/null +++ b/src/render/views/NixieTubeConfiguration/NixieTubeSelectView/index.ts @@ -0,0 +1 @@ +export { default as NixieTubeSelectView } from './index.vue' diff --git a/src/render/views/NixieTubeConfiguration/NixieTubeSelectView/index.vue b/src/render/views/NixieTubeConfiguration/NixieTubeSelectView/index.vue new file mode 100644 index 0000000..99df002 --- /dev/null +++ b/src/render/views/NixieTubeConfiguration/NixieTubeSelectView/index.vue @@ -0,0 +1,22 @@ + + + + + diff --git a/src/render/views/NixieTubeConfiguration/SendCMDButtonView.vue b/src/render/views/NixieTubeConfiguration/SendCMDButtonView.vue new file mode 100644 index 0000000..d6d6887 --- /dev/null +++ b/src/render/views/NixieTubeConfiguration/SendCMDButtonView.vue @@ -0,0 +1,40 @@ + + + diff --git a/src/render/views/VoltageMonitoring/MonitorView/index.ts b/src/render/views/VoltageMonitoring/MonitorView/index.ts new file mode 100644 index 0000000..9cc160f --- /dev/null +++ b/src/render/views/VoltageMonitoring/MonitorView/index.ts @@ -0,0 +1 @@ +export { default as MonitorView } from './index.vue' diff --git a/src/render/views/VoltageMonitoring/MonitorView/index.vue b/src/render/views/VoltageMonitoring/MonitorView/index.vue new file mode 100644 index 0000000..dd5d545 --- /dev/null +++ b/src/render/views/VoltageMonitoring/MonitorView/index.vue @@ -0,0 +1,110 @@ + + + \ No newline at end of file diff --git a/src/render/views/VoltageMonitoring/SelectDeviceView/data.ts b/src/render/views/VoltageMonitoring/SelectDeviceView/data.ts new file mode 100644 index 0000000..29365f0 --- /dev/null +++ b/src/render/views/VoltageMonitoring/SelectDeviceView/data.ts @@ -0,0 +1,5 @@ +export const options = [ + { label: 'PM2.5模块' , value: 'A;6', }, + { label: '太阳能电池板', value: 'A;6,7', }, + { label: '红外传感器' , value: 'A;4,5', }, +] diff --git a/src/render/views/VoltageMonitoring/SelectDeviceView/index.ts b/src/render/views/VoltageMonitoring/SelectDeviceView/index.ts new file mode 100644 index 0000000..36e1abf --- /dev/null +++ b/src/render/views/VoltageMonitoring/SelectDeviceView/index.ts @@ -0,0 +1 @@ +export { default as SelectDeviceView } from './index.vue'; diff --git a/src/render/views/VoltageMonitoring/SelectDeviceView/index.vue b/src/render/views/VoltageMonitoring/SelectDeviceView/index.vue new file mode 100644 index 0000000..f0d9015 --- /dev/null +++ b/src/render/views/VoltageMonitoring/SelectDeviceView/index.vue @@ -0,0 +1,68 @@ + + + + + diff --git a/src/render/views/WirelessCommunicationModuleConfiguration/ConfigurationParameterFormView/data.ts b/src/render/views/WirelessCommunicationModuleConfiguration/ConfigurationParameterFormView/data.ts new file mode 100644 index 0000000..f2311e7 --- /dev/null +++ b/src/render/views/WirelessCommunicationModuleConfiguration/ConfigurationParameterFormView/data.ts @@ -0,0 +1,21 @@ +// 信道选择范围为100-125 +export const channelOptions = Array.from({ length: 26 }, (_val, index) => index + 100).map( + v => ({ + label: v, + value: v + }) +) + +export const baudRateOptions = [ + { label: 9600 , value: 4 }, + { label: 38400 , value: 6 }, + { label: 115200, value: 7 }, +] + +// 2.4G查询指令 +// 实例:AA 5C 00 00 00 00 00 00 00 00 00 00 00 00 00 12 00 18 +export const queryCMD = new Uint8Array([0xAA, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x18]) + +// 2.4G设置指令缓存 +// 实例:AA 5A 00 00 0A 5A 00 00 00 07 00 66 00 00 00 00 00 D5 +export const configCMD = new Uint8Array([0xAA, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00]) diff --git a/src/render/views/WirelessCommunicationModuleConfiguration/ConfigurationParameterFormView/index.ts b/src/render/views/WirelessCommunicationModuleConfiguration/ConfigurationParameterFormView/index.ts new file mode 100644 index 0000000..20f6f4e --- /dev/null +++ b/src/render/views/WirelessCommunicationModuleConfiguration/ConfigurationParameterFormView/index.ts @@ -0,0 +1 @@ +export { default as ConfigurationParameterFormView } from './index.vue'; diff --git a/src/render/views/WirelessCommunicationModuleConfiguration/ConfigurationParameterFormView/index.vue b/src/render/views/WirelessCommunicationModuleConfiguration/ConfigurationParameterFormView/index.vue new file mode 100644 index 0000000..dd4ffb3 --- /dev/null +++ b/src/render/views/WirelessCommunicationModuleConfiguration/ConfigurationParameterFormView/index.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/render/views/WirelessCommunicationModuleConfiguration/SketchMapView.vue b/src/render/views/WirelessCommunicationModuleConfiguration/SketchMapView.vue new file mode 100644 index 0000000..ebcb4fc --- /dev/null +++ b/src/render/views/WirelessCommunicationModuleConfiguration/SketchMapView.vue @@ -0,0 +1,11 @@ + + + + diff --git a/src/render/views/index/ConnectUsModalView/index.ts b/src/render/views/index/ConnectUsModalView/index.ts new file mode 100644 index 0000000..56749e7 --- /dev/null +++ b/src/render/views/index/ConnectUsModalView/index.ts @@ -0,0 +1,2 @@ +// TODO: 使用use接口导出 +export { default as ConnectUsModalView } from './index.vue' diff --git a/src/render/views/index/ConnectUsModalView/index.vue b/src/render/views/index/ConnectUsModalView/index.vue new file mode 100644 index 0000000..7c12cb6 --- /dev/null +++ b/src/render/views/index/ConnectUsModalView/index.vue @@ -0,0 +1,49 @@ + + + + + diff --git a/src/render/views/index/HeaderView/components/BatteryStatus/index.ts b/src/render/views/index/HeaderView/components/BatteryStatus/index.ts new file mode 100644 index 0000000..e00517e --- /dev/null +++ b/src/render/views/index/HeaderView/components/BatteryStatus/index.ts @@ -0,0 +1 @@ +export { default as BatteryStatus } from './index.vue' diff --git a/src/render/views/index/HeaderView/components/BatteryStatus/index.vue b/src/render/views/index/HeaderView/components/BatteryStatus/index.vue new file mode 100644 index 0000000..e88cd89 --- /dev/null +++ b/src/render/views/index/HeaderView/components/BatteryStatus/index.vue @@ -0,0 +1,78 @@ + + + + + \ No newline at end of file diff --git a/src/render/views/index/HeaderView/components/BatteryStatus/type.ts b/src/render/views/index/HeaderView/components/BatteryStatus/type.ts new file mode 100644 index 0000000..f4d27c4 --- /dev/null +++ b/src/render/views/index/HeaderView/components/BatteryStatus/type.ts @@ -0,0 +1,10 @@ +export interface BatteryManager { + charging : boolean; // 当前电池是否正在充电 + chargingTime : number; // 距离充电完毕还需多少秒,如果为 0 则充电完毕 + dischargingTime : number; // 距离电池耗电至空且挂起需要多少秒 + level : number; // 电量的放大等级,这个值在 0.0 至 1.0 之间 + onchargingchange : Function | null; // 电池充电状态更新时被调用 + onchargingtimechange : Function | null; // 电池充电时间更新时被调用 + ondischargingtimechange : Function | null; // 电池断开充电时间更新时被调用 + onlevelchange : Function | null; // 电池电量更新时被调用 +} diff --git a/src/render/views/index/HeaderView/components/HomeButton.vue b/src/render/views/index/HeaderView/components/HomeButton.vue new file mode 100644 index 0000000..b284808 --- /dev/null +++ b/src/render/views/index/HeaderView/components/HomeButton.vue @@ -0,0 +1,14 @@ + + + diff --git a/src/render/views/index/HeaderView/components/Logo.vue b/src/render/views/index/HeaderView/components/Logo.vue new file mode 100644 index 0000000..edb012a --- /dev/null +++ b/src/render/views/index/HeaderView/components/Logo.vue @@ -0,0 +1,23 @@ + + + diff --git a/src/render/views/index/HeaderView/components/NetworkStatus.vue b/src/render/views/index/HeaderView/components/NetworkStatus.vue new file mode 100644 index 0000000..e0a0647 --- /dev/null +++ b/src/render/views/index/HeaderView/components/NetworkStatus.vue @@ -0,0 +1,24 @@ + + + + + + diff --git a/src/render/views/index/HeaderView/components/RouterBackButton.vue b/src/render/views/index/HeaderView/components/RouterBackButton.vue new file mode 100644 index 0000000..5e53df8 --- /dev/null +++ b/src/render/views/index/HeaderView/components/RouterBackButton.vue @@ -0,0 +1,14 @@ + + + diff --git a/src/render/views/index/HeaderView/components/SystemDateTime.vue b/src/render/views/index/HeaderView/components/SystemDateTime.vue new file mode 100644 index 0000000..3ff96ac --- /dev/null +++ b/src/render/views/index/HeaderView/components/SystemDateTime.vue @@ -0,0 +1,17 @@ + + + diff --git a/src/render/views/index/HeaderView/index.ts b/src/render/views/index/HeaderView/index.ts new file mode 100644 index 0000000..1a05d28 --- /dev/null +++ b/src/render/views/index/HeaderView/index.ts @@ -0,0 +1 @@ +export { default as HeaderView } from './index.vue' diff --git a/src/render/views/index/HeaderView/index.vue b/src/render/views/index/HeaderView/index.vue new file mode 100644 index 0000000..4723ef4 --- /dev/null +++ b/src/render/views/index/HeaderView/index.vue @@ -0,0 +1,50 @@ + + + + + diff --git a/src/render/views/index/QuickBurningModalView/index.ts b/src/render/views/index/QuickBurningModalView/index.ts new file mode 100644 index 0000000..6c8a85e --- /dev/null +++ b/src/render/views/index/QuickBurningModalView/index.ts @@ -0,0 +1,2 @@ +// TODO: 使用use接口导出 +export { default as QuickBurningModalView } from './index.vue' diff --git a/src/render/views/index/QuickBurningModalView/index.vue b/src/render/views/index/QuickBurningModalView/index.vue new file mode 100644 index 0000000..21aa824 --- /dev/null +++ b/src/render/views/index/QuickBurningModalView/index.vue @@ -0,0 +1,90 @@ + + + diff --git a/src/render/views/index/SystemSettingsModalView/CommonToolsView.vue b/src/render/views/index/SystemSettingsModalView/CommonToolsView.vue new file mode 100644 index 0000000..961764f --- /dev/null +++ b/src/render/views/index/SystemSettingsModalView/CommonToolsView.vue @@ -0,0 +1,45 @@ + + + diff --git a/src/render/views/index/SystemSettingsModalView/ConnectNetworkView.vue b/src/render/views/index/SystemSettingsModalView/ConnectNetworkView.vue new file mode 100644 index 0000000..778cb9b --- /dev/null +++ b/src/render/views/index/SystemSettingsModalView/ConnectNetworkView.vue @@ -0,0 +1,139 @@ + + + + + \ No newline at end of file diff --git a/src/render/views/index/SystemSettingsModalView/index.ts b/src/render/views/index/SystemSettingsModalView/index.ts new file mode 100644 index 0000000..fac41e5 --- /dev/null +++ b/src/render/views/index/SystemSettingsModalView/index.ts @@ -0,0 +1,2 @@ +// TODO: 使用use接口导出 +export { default as SystemSettingsModalView } from './index.vue' diff --git a/src/render/views/index/SystemSettingsModalView/index.vue b/src/render/views/index/SystemSettingsModalView/index.vue new file mode 100644 index 0000000..a3d0e6f --- /dev/null +++ b/src/render/views/index/SystemSettingsModalView/index.vue @@ -0,0 +1,34 @@ + + + diff --git a/src/render/views/index/ToolbarView/index.ts b/src/render/views/index/ToolbarView/index.ts new file mode 100644 index 0000000..d24af55 --- /dev/null +++ b/src/render/views/index/ToolbarView/index.ts @@ -0,0 +1 @@ +export { default as ToolbarView } from './index.vue' diff --git a/src/render/views/index/ToolbarView/index.vue b/src/render/views/index/ToolbarView/index.vue new file mode 100644 index 0000000..cb94cb1 --- /dev/null +++ b/src/render/views/index/ToolbarView/index.vue @@ -0,0 +1,96 @@ + + + + + diff --git a/src/render/views/index/router-view/category/index.vue b/src/render/views/index/router-view/category/index.vue new file mode 100644 index 0000000..22141a8 --- /dev/null +++ b/src/render/views/index/router-view/category/index.vue @@ -0,0 +1,119 @@ + + + + + diff --git a/src/render/views/index/router-view/class/CourseListItemView/index.ts b/src/render/views/index/router-view/class/CourseListItemView/index.ts new file mode 100644 index 0000000..f5cdee5 --- /dev/null +++ b/src/render/views/index/router-view/class/CourseListItemView/index.ts @@ -0,0 +1 @@ +export { default as CourseListItemView } from './index.vue' diff --git a/src/render/views/index/router-view/class/CourseListItemView/index.vue b/src/render/views/index/router-view/class/CourseListItemView/index.vue new file mode 100644 index 0000000..9c4a075 --- /dev/null +++ b/src/render/views/index/router-view/class/CourseListItemView/index.vue @@ -0,0 +1,42 @@ + + + + + diff --git a/src/render/views/index/router-view/class/index.vue b/src/render/views/index/router-view/class/index.vue new file mode 100644 index 0000000..f4b9149 --- /dev/null +++ b/src/render/views/index/router-view/class/index.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/src/render/views/index/router-view/course/ContentView/index.ts b/src/render/views/index/router-view/course/ContentView/index.ts new file mode 100644 index 0000000..e0def09 --- /dev/null +++ b/src/render/views/index/router-view/course/ContentView/index.ts @@ -0,0 +1 @@ +export { default as ContentView } from './index.vue' diff --git a/src/render/views/index/router-view/course/ContentView/index.vue b/src/render/views/index/router-view/course/ContentView/index.vue new file mode 100644 index 0000000..e1fec2f --- /dev/null +++ b/src/render/views/index/router-view/course/ContentView/index.vue @@ -0,0 +1,165 @@ + + + + + + diff --git a/src/render/views/index/router-view/course/ProgramBurnButtonListView/index.ts b/src/render/views/index/router-view/course/ProgramBurnButtonListView/index.ts new file mode 100644 index 0000000..db53a54 --- /dev/null +++ b/src/render/views/index/router-view/course/ProgramBurnButtonListView/index.ts @@ -0,0 +1 @@ +export { default as ProgramBurnButtonListView } from './index.vue' diff --git a/src/render/views/index/router-view/course/ProgramBurnButtonListView/index.vue b/src/render/views/index/router-view/course/ProgramBurnButtonListView/index.vue new file mode 100644 index 0000000..dd2b628 --- /dev/null +++ b/src/render/views/index/router-view/course/ProgramBurnButtonListView/index.vue @@ -0,0 +1,111 @@ + + + + + + diff --git a/src/render/views/index/router-view/course/SoftwareLaunchButtonListView/index.ts b/src/render/views/index/router-view/course/SoftwareLaunchButtonListView/index.ts new file mode 100644 index 0000000..38e8bf3 --- /dev/null +++ b/src/render/views/index/router-view/course/SoftwareLaunchButtonListView/index.ts @@ -0,0 +1 @@ +export { default as SoftwareLaunchButtonListView } from './index.vue'; diff --git a/src/render/views/index/router-view/course/SoftwareLaunchButtonListView/index.vue b/src/render/views/index/router-view/course/SoftwareLaunchButtonListView/index.vue new file mode 100644 index 0000000..10605c7 --- /dev/null +++ b/src/render/views/index/router-view/course/SoftwareLaunchButtonListView/index.vue @@ -0,0 +1,57 @@ + + + + + + diff --git a/src/render/views/index/router-view/course/index.vue b/src/render/views/index/router-view/course/index.vue new file mode 100644 index 0000000..5f95bde --- /dev/null +++ b/src/render/views/index/router-view/course/index.vue @@ -0,0 +1,75 @@ + + + + +