|
@@ -3,6 +3,8 @@ import { OpenSheetMusicDisplay, EngravingRules, OSMDOptions } from '/osmd-extend
|
|
|
import { formatZoom } from '/src/helpers/utils'
|
|
|
import { setEngravingRules } from './helpers'
|
|
|
import { Toast } from 'vant'
|
|
|
+import qs from 'query-string'
|
|
|
+const search = qs.parse(location.search);
|
|
|
|
|
|
/**
|
|
|
* 合并规则
|
|
@@ -64,7 +66,15 @@ export const useOsmdLoader = async (osmd: OpenSheetMusicDisplay, score: string)
|
|
|
try {
|
|
|
if (score && osmd) {
|
|
|
await osmd.load(score)
|
|
|
- osmd.zoom = formatZoom()
|
|
|
+ // 自定义缩放比例
|
|
|
+ let customZoom = formatZoom()
|
|
|
+ if (search?.zoom) {
|
|
|
+ let userZoom = Number(search?.zoom)
|
|
|
+ userZoom = userZoom < 50 ? 50 : userZoom > 160 ? 160 : userZoom
|
|
|
+ customZoom = userZoom / 100
|
|
|
+ }
|
|
|
+ osmd.zoom = customZoom
|
|
|
+
|
|
|
await osmd.render()
|
|
|
}
|
|
|
} catch (error) {}
|