Просмотр исходного кода

fix: 更换oss后,音频url被转译了兼容处理

TIANYONG 1 год назад
Родитель
Сommit
0a54931a3f
2 измененных файлов с 10 добавлено и 3 удалено
  1. 7 0
      src/helpers/utils.ts
  2. 3 3
      src/subpages/colexiu/uses/use-app.ts

+ 7 - 0
src/helpers/utils.ts

@@ -188,3 +188,10 @@ export const getVoiceChinesName = (name: string | undefined) => {
   }
   return viewname ? name + (name !== viewname ? ' (' + viewname + ')' : '') : ''
 }
+
+
+// 判断是否被转译
+export const isEncoded = (uri: string) => {
+  uri = uri || '';
+  return uri !== decodeURI(uri);
+}

+ 3 - 3
src/subpages/colexiu/uses/use-app.ts

@@ -10,7 +10,7 @@ import { listenerMessage, postMessage } from '/src/helpers/native-message'
 import audiosInstance from '/src/helpers/multiple-audio'
 import { formatXML, onlyVisible, getCustomInfo } from '/src/pages/detail/helpers'
 import { MusicSheelDetail, ShaeetStatusType } from '../index.d'
-import { browser, getRequestHostname } from '/src/helpers/utils'
+import { browser, getRequestHostname, isEncoded } from '/src/helpers/utils'
 import formatId, { formatdata, getSubjectIdCode } from '../fingering/format-id'
 import { evaluatStopPlay } from '../buttons/evaluating'
 import state from '/src/pages/detail/state'
@@ -66,9 +66,9 @@ export const useMp3s = async (detail: MusicSheelDetail) => {
     } catch (error) {}
   }
   // 伴奏
-  const backgroundSong = encodeURI(detail.metronomeUrl || '')
+  const backgroundSong = isEncoded(detail.metronomeUrl || '') ? detail.metronomeUrl || '' : encodeURI(detail.metronomeUrl || '')
   // 原音
-  const musicSong = encodeURI(activebg?.audioFileUrl|| '')
+  const musicSong = isEncoded(activebg?.audioFileUrl|| '') ? '' : encodeURI(activebg?.audioFileUrl|| '')
   // 兼容未修改之前
   runtime.songs = {
     background: backgroundSong ? backgroundSong + '?t=background' : '',