|
@@ -1,4 +1,4 @@
|
|
|
-import { defineComponent, onMounted, reactive } from 'vue';
|
|
|
+import { defineComponent, onMounted, onUnmounted, reactive, watch } from 'vue';
|
|
|
// import WaveSurfer from 'wavesurfer.js';
|
|
|
import styles from './index.module.less';
|
|
|
import MSticky from '@/components/m-sticky';
|
|
@@ -34,6 +34,7 @@ import dayjs from 'dayjs';
|
|
|
import { nextTick } from 'process';
|
|
|
import MVideo from '@/components/m-video';
|
|
|
import ShareModel from './share-model';
|
|
|
+import { usePageVisibility } from '@vant/use';
|
|
|
|
|
|
export default defineComponent({
|
|
|
name: 'creation-detail',
|
|
@@ -224,6 +225,16 @@ export default defineComponent({
|
|
|
// }
|
|
|
};
|
|
|
|
|
|
+ const pageVisibility = usePageVisibility();
|
|
|
+ watch(pageVisibility, value => {
|
|
|
+ console.log(value);
|
|
|
+ if (value === 'hidden') {
|
|
|
+ if (audioDom) {
|
|
|
+ audioDom.pause();
|
|
|
+ state.paused = audioDom.paused;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
onMounted(async () => {
|
|
|
try {
|
|
|
const res = await api_userMusicDetail(state.id);
|
|
@@ -261,6 +272,13 @@ export default defineComponent({
|
|
|
//
|
|
|
}
|
|
|
});
|
|
|
+
|
|
|
+ onUnmounted(() => {
|
|
|
+ if (audioDom) {
|
|
|
+ audioDom.pause();
|
|
|
+ state.paused = audioDom.paused;
|
|
|
+ }
|
|
|
+ });
|
|
|
return () => (
|
|
|
<div class={styles.creation}>
|
|
|
<MSticky position="top">
|