diff --git a/build.zip b/build.zip index 4484f0a..4196cf4 100644 Binary files a/build.zip and b/build.zip differ diff --git a/public/audio/measure_end.mp3 b/public/audio/measure_end.mp3 new file mode 100644 index 0000000..83c8634 Binary files /dev/null and b/public/audio/measure_end.mp3 differ diff --git a/public/audio/measuring.mp3 b/public/audio/measuring.mp3 new file mode 100644 index 0000000..9c52945 Binary files /dev/null and b/public/audio/measuring.mp3 differ diff --git a/public/audio/ready.mp3 b/public/audio/ready.mp3 new file mode 100644 index 0000000..0db85af Binary files /dev/null and b/public/audio/ready.mp3 differ diff --git a/public/audio/side_end.mp3 b/public/audio/side_end.mp3 new file mode 100644 index 0000000..0df0a16 Binary files /dev/null and b/public/audio/side_end.mp3 differ diff --git a/src/App.tsx b/src/App.tsx index d8cce3b..ea2b6e1 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -4,7 +4,7 @@ import { Toast } from 'antd-mobile'; import Bridge, { bridgeOb, emitBridgeEvent } from './utils/bridge'; import { useAppDispatch, useAppSelector } from './utils/hooks'; -import { addNewPoint, updateTaskState } from './store/features/measureSlice'; +import { addNewPoint, updateTaskState, updateMeasureFinish } from './store/features/measureSlice'; import { refreshStationList, updateBleList, @@ -46,6 +46,9 @@ function App() { dispatch(updateSyncProgress(datagram.data)); } else if (datagram.type === 'update-base-progress') { dispatch(updateSyncBaseProgress(datagram.data)); + }else if (datagram.type === 'measure-finished') { + console.log('measure-finished---------', datagram.data) + dispatch(updateMeasureFinish(datagram.data)); } }); return () => subscription.unsubscribe(); diff --git a/src/pages/Measure.tsx b/src/pages/Measure.tsx index 7b0e127..990f5da 100644 --- a/src/pages/Measure.tsx +++ b/src/pages/Measure.tsx @@ -466,12 +466,12 @@ export default function Measure() { {/**测量状态区 */}
- - - - - - + + + + + +
diff --git a/src/services/mobileWsType.ts b/src/services/mobileWsType.ts index f2446b8..2ea89cb 100644 --- a/src/services/mobileWsType.ts +++ b/src/services/mobileWsType.ts @@ -66,6 +66,18 @@ export type SyncBaseStatus = { type: 'update-base-progress'; }; +type Points = { + x: number; + y: number; +} +export type MeasurePointFinish = { + type: 'measure-finished'; + data: { + outline1: Points[]; + outline2: Points[]; + }; +}; + export type MobileDatagram = | PeripheralStatus | MeasureEvent @@ -73,4 +85,5 @@ export type MobileDatagram = | BleList | SyncProgress | SyncItemFinish - | SyncBaseStatus; + | SyncBaseStatus + | MeasurePointFinish; diff --git a/src/store/features/measureSlice.ts b/src/store/features/measureSlice.ts index 8c42a94..e6f3e69 100644 --- a/src/store/features/measureSlice.ts +++ b/src/store/features/measureSlice.ts @@ -44,16 +44,16 @@ export const measureSlice = createSlice({ state.rightPoints = []; } if (action.payload === 'START_RECORD_LEFT') { - const audio1 = new Audio('/audio/begin_left.mp3'); + const audio1 = new Audio('/audio/measuring.mp3'); audio1.play().then(() => {}); } else if (action.payload === 'FINISH_RECORD_LEFT') { - const audio2 = new Audio('/audio/end_left.mp3'); + const audio2 = new Audio('/audio/side_end.mp3'); audio2.play().then(() => {}); } else if (action.payload === 'START_RECORD_RIGHT') { - const audio3 = new Audio('/audio/begin_right.mp3'); + const audio3 = new Audio('/audio/measuring.mp3'); audio3.play().then(() => {}); } else if (action.payload === 'FINISH_RECORD_RIGHT') { - const audio4 = new Audio('/audio/end_right.mp3'); + const audio4 = new Audio('/audio/measure_end.mp3'); audio4.play().then(() => {}); } else if (action.payload === 'WRONG_SIDE') { const audio5 = new Audio('/audio/alert_left.mp3'); @@ -75,9 +75,14 @@ export const measureSlice = createSlice({ updateMeasureData:(state, { payload })=>{ state.measureData = payload - } + }, + + updateMeasureFinish: (state, { payload })=>{ + state.rightPoints = payload.outline1 + state.leftPoints = payload.outline2 + }, }, }); -export const { updateTaskState, addNewPoint, resetState, updateMeasureData } = measureSlice.actions; +export const { updateTaskState, addNewPoint, resetState, updateMeasureData, updateMeasureFinish } = measureSlice.actions; export default measureSlice.reducer;