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 { } else {
Toast.show(res.message); 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 () => { const onOrgBarClick = async () => {
if (baseState.ktjOrgs.length === 0) { if (baseState.ktjOrgs.length === 0) {
Dialog.alert({ Dialog.alert({
@ -445,9 +459,9 @@ export default function Measure() {
{/**按钮操作区 */} {/**按钮操作区 */}
<section className="flex items-center gap-4 px-4 my-4"> <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 ? '重新测量' : '开始测量'} {measureState.leftPoints.length > 0 ? '重新测量' : '开始测量'}
</div>
</button>
<button <button
className="btn-contained rounded-md text-sm h-10 flex-1" className="btn-contained rounded-md text-sm h-10 flex-1"
disabled={measureState.taskState !== 'FINISH_RECORD_RIGHT'} disabled={measureState.taskState !== 'FINISH_RECORD_RIGHT'}

15
src/store/features/measureSlice.ts

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