feat: 坯布出仓增加操作语音并精简扫码明细
This commit is contained in:
@@ -366,6 +366,56 @@ function playErrorAudio() {
|
||||
errorAudio.play();
|
||||
}
|
||||
|
||||
// 坯布出仓等业务的固定中文提示语音
|
||||
const SPEAK_AUDIO = {
|
||||
'扫码出仓成功': '/static/audio/scan_out_ok.mp3',
|
||||
'删除成功': '/static/audio/delete_ok.mp3',
|
||||
'提交成功': '/static/audio/submit_ok.mp3',
|
||||
'审核成功': '/static/audio/audit_ok.mp3',
|
||||
'作废成功': '/static/audio/void_ok.mp3',
|
||||
};
|
||||
|
||||
const speakAudioMap = {};
|
||||
|
||||
function stopOtherSpeak(exceptText) {
|
||||
Object.keys(speakAudioMap).forEach((key) => {
|
||||
if (key === exceptText || !speakAudioMap[key]) return;
|
||||
try {
|
||||
speakAudioMap[key].stop();
|
||||
} catch (e) {}
|
||||
});
|
||||
if (successAudio) {
|
||||
try {
|
||||
successAudio.stop();
|
||||
} catch (e) {}
|
||||
}
|
||||
}
|
||||
|
||||
function playSpeak(text) {
|
||||
const src = SPEAK_AUDIO[text];
|
||||
if (!src) return;
|
||||
stopOtherSpeak(text);
|
||||
const prev = speakAudioMap[text];
|
||||
if (prev) {
|
||||
try {
|
||||
prev.stop();
|
||||
prev.destroy();
|
||||
} catch (e) {}
|
||||
speakAudioMap[text] = undefined;
|
||||
}
|
||||
const audio = uni.createInnerAudioContext();
|
||||
audio.autoplay = true;
|
||||
audio.src = src;
|
||||
audio.onError((res) => {
|
||||
console.log('语音播放失败', text, res && res.errMsg);
|
||||
try {
|
||||
audio.destroy();
|
||||
} catch (e) {}
|
||||
if (speakAudioMap[text] === audio) speakAudioMap[text] = undefined;
|
||||
});
|
||||
speakAudioMap[text] = audio;
|
||||
}
|
||||
|
||||
|
||||
export default {
|
||||
get apiurl() {
|
||||
@@ -378,4 +428,5 @@ export default {
|
||||
parGetData,
|
||||
playSuccessAudio,
|
||||
playErrorAudio,
|
||||
playSpeak,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user