Browse Source

优化

master
LiLongLong 2 months ago
parent
commit
9507ffed7a
  1. BIN
      public/audio/alert_left.mp3
  2. BIN
      public/audio/begin_left.mp3
  3. BIN
      public/audio/begin_right.mp3
  4. BIN
      public/audio/end_left.mp3
  5. BIN
      public/audio/end_right.mp3
  6. BIN
      public/audio/measure_end.mp3
  7. BIN
      public/audio/measuring.mp3
  8. BIN
      public/audio/ready.mp3
  9. BIN
      public/audio/side_end.mp3
  10. 2
      src/App.tsx
  11. 20
      src/pages/Measure.tsx
  12. 38
      src/store/features/measureSlice.ts

BIN
public/audio/alert_left.mp3

BIN
public/audio/begin_left.mp3

BIN
public/audio/begin_right.mp3

BIN
public/audio/end_left.mp3

BIN
public/audio/end_right.mp3

BIN
public/audio/measure_end.mp3

BIN
public/audio/measuring.mp3

BIN
public/audio/ready.mp3

BIN
public/audio/side_end.mp3

2
src/App.tsx

@ -34,6 +34,7 @@ function App() {
// 监听推送消息,更新store // 监听推送消息,更新store
useEffect(() => { useEffect(() => {
const subscription = bridgeOb.subscribe((datagram) => { const subscription = bridgeOb.subscribe((datagram) => {
console.log('datagram.type--', datagram.type)
if (datagram.type === 'measure-event') { if (datagram.type === 'measure-event') {
dispatch(updateTaskState(datagram.data)); dispatch(updateTaskState(datagram.data));
} else if (datagram.type === 'measure-point') { } else if (datagram.type === 'measure-point') {
@ -47,7 +48,6 @@ function App() {
} else if (datagram.type === 'update-base-progress') { } else if (datagram.type === 'update-base-progress') {
dispatch(updateSyncBaseProgress(datagram.data)); dispatch(updateSyncBaseProgress(datagram.data));
}else if (datagram.type === 'measure-finished') { }else if (datagram.type === 'measure-finished') {
console.log('measure-finished---------', datagram.data)
dispatch(updateMeasureFinish(datagram.data)); dispatch(updateMeasureFinish(datagram.data));
} }
}); });

20
src/pages/Measure.tsx

@ -37,6 +37,7 @@ export default function Measure() {
const canvasRef = useRef<MeasurementCanvasRef>(null); const canvasRef = useRef<MeasurementCanvasRef>(null);
const [railSize, setRailSize] = useState<number | string | null>(); const [railSize, setRailSize] = useState<number | string | null>();
const iconWidth = 35; const iconWidth = 35;
const [showStandard, setShowStandard] = useState(false);
// 默认选中第一个轨型 // 默认选中第一个轨型
useEffect(() => { useEffect(() => {
@ -156,23 +157,10 @@ export default function Measure() {
Toast.show(res.message); Toast.show(res.message);
} }
setInitStart(true); setInitStart(true);
openAudio();
setShowStandard(false)
}); });
}; };
const openAudio = () => {
// const audioReady = new Audio('/audio/ticking.wav');
// // 播放音频
// audioReady
// .play()
// .then(() => {
// console.log('音频开始播放 已准备好');
// })
// .catch((err) => {
// console.error('播放音频时出错:', err);
// });
};
const onOrgBarClick = async () => { const onOrgBarClick = async () => {
if (baseState.ktjOrgs.length === 0) { if (baseState.ktjOrgs.length === 0) {
Dialog.alert({ Dialog.alert({
@ -281,6 +269,8 @@ export default function Measure() {
left_end: 'done', left_end: 'done',
right_end: 'done', right_end: 'done',
}); });
// 测量完成,显示基线
setShowStandard(true)
break; break;
default: default:
setState({ setState({
@ -435,7 +425,7 @@ export default function Measure() {
pixelPerMm={window.innerWidth / 90} pixelPerMm={window.innerWidth / 90}
maxZoom={8} maxZoom={8}
showGrid={true} showGrid={true}
showBenchmark={true}
showBenchmark={showStandard}
showAnalysis={false} showAnalysis={false}
showScale={false} showScale={false}
scaleInterval={1} scaleInterval={1}

38
src/store/features/measureSlice.ts

@ -25,13 +25,7 @@ function isLeftFinished(state: MeasureState) {
return true; return true;
return false; return false;
} }
const audioList: HTMLAudioElement[] = []
function pauseAudio(){
audioList.forEach(audio => {
audio.pause()
})
}
let status: 1| 2 ;
export const measureSlice = createSlice({ export const measureSlice = createSlice({
name: 'measure', name: 'measure',
initialState, initialState,
@ -48,27 +42,15 @@ export const measureSlice = createSlice({
state.leftPoints = []; state.leftPoints = [];
state.rightPoints = []; state.rightPoints = [];
} }
if(action.payload === 'WAITING_FOR_RECORD_THE_2ND_SIDE'){
const audio3 = new Audio('/audio/ticking.wav');
audio3.play().then(() => {});
audioList.push(audio3)
} else {
if (action.payload === 'START_RECORD_LEFT') {
const audio1 = new Audio('/audio/ticking.wav');
audio1.play().then(() => {});
audioList.push(audio1)
} else if (action.payload === 'START_RECORD_RIGHT') {
// const audio3 = new Audio('/audio/ticking.wav');
// audio3.play().then(() => {});
// audioList.push(audio3)
} else if (action.payload === 'FINISH_RECORD') {
const audio4 = new Audio('/audio/ticking.wav');
audio4.play().then(() => {});
audioList.push(audio4)
} else if (action.payload === 'WRONG_SIDE') {
const audio5 = new Audio('/audio/ticking.wav');
audio5.play().then(() => {});
}
if(action.payload === 'WAITING_FOR_RECORD_THE_1ST_SIDE') {
status = 1
}else if(action.payload === 'WAITING_FOR_RECORD_THE_2ND_SIDE') {
status = 2
}
if((['START_RECORD_LEFT', 'START_RECORD_RIGHT'].includes(action.payload) && status === 1) || (['FINISH_RECORD_LEFT', 'FINISH_RECORD_RIGHT'].includes(action.payload) && status === 1) || ['FINISH_RECORD'].includes(action.payload)) {
const audio = new Audio('/audio/ticking.wav');
audio.play().then(() => {});
} }
}, },
addNewPoint: (state, action: PayloadAction<TrackRecordSig['data']>) => { addNewPoint: (state, action: PayloadAction<TrackRecordSig['data']>) => {

Loading…
Cancel
Save