Browse Source

优化按钮及语音

master
LiLongLong 3 months ago
parent
commit
95b3673662
  1. BIN
      build.zip
  2. 18
      src/pages/Measure.tsx
  3. 15
      src/store/features/measureSlice.ts

BIN
build.zip

18
src/pages/Measure.tsx

@ -151,9 +151,23 @@ export default function Measure() {
} else {
Toast.show(res.message);
}
openAudio()
});
};
const openAudio = () => {
const audioReady = new Audio("/audio/ready.mp3");
// 播放音频
audioReady
.play()
.then(() => {
console.log("音频开始播放 已准备好");
})
.catch(err => {
console.error("播放音频时出错:", err);
});
}
const onOrgBarClick = async () => {
if (baseState.ktjOrgs.length === 0) {
Dialog.alert({
@ -445,9 +459,9 @@ export default function Measure() {
{/**按钮操作区 */}
<section className="flex items-center gap-4 px-4 my-4">
<div className="btn-contained rounded-md text-sm h-10 flex-1" onClick={onStartClick}>
<button className="btn-contained rounded-md text-sm h-10 flex-1" onClick={onStartClick}>
{measureState.leftPoints.length > 0 ? '重新测量' : '开始测量'}
</div>
</button>
<button
className="btn-contained rounded-md text-sm h-10 flex-1"
disabled={measureState.taskState !== 'FINISH_RECORD_RIGHT'}

15
src/store/features/measureSlice.ts

@ -26,6 +26,7 @@ function isLeftFinished(state: MeasureState) {
return false;
}
export const measureSlice = createSlice({
name: 'measure',
initialState,
@ -33,8 +34,7 @@ export const measureSlice = createSlice({
updateTaskState: (state, action: PayloadAction<TaskState['data']>) => {
if (
action.payload === 'SPEED_DETECTED' ||
action.payload === 'END_RECORD' ||
action.payload === 'FINISH_RECORD'
action.payload === 'END_RECORD'
) {
return;
}
@ -53,6 +53,9 @@ export const measureSlice = createSlice({
const audio3 = new Audio('/audio/measuring.mp3');
audio3.play().then(() => {});
} else if (action.payload === 'FINISH_RECORD_RIGHT') {
const audio4 = new Audio('/audio/side_end.mp3');
audio4.play().then(() => {});
} else if (action.payload === 'FINISH_RECORD') {
const audio4 = new Audio('/audio/measure_end.mp3');
audio4.play().then(() => {});
} else if (action.payload === 'WRONG_SIDE') {
@ -78,8 +81,12 @@ export const measureSlice = createSlice({
},
updateMeasureFinish: (state, { payload })=>{
state.rightPoints = payload.outline1
state.leftPoints = payload.outline2
if(payload.outline1 && payload.outline1.length){
state.rightPoints = payload.outline1
}
if(payload.outline2 && payload.outline2.length){
state.leftPoints = payload.outline2
}
},
},
});

Loading…
Cancel
Save