|
@@ -16,6 +16,7 @@ export default defineComponent({
|
|
|
const router = useRouter();
|
|
|
const state = reactive({
|
|
|
id: route.query.id,
|
|
|
+ playType: '',
|
|
|
musicDetail: {} as any,
|
|
|
desc: '',
|
|
|
videoImg: '', // 视频封面
|
|
@@ -63,6 +64,12 @@ export default defineComponent({
|
|
|
state.desc = data.desc;
|
|
|
state.videoImg = data.videoImg;
|
|
|
state.img = data.img ? [data.img] : [];
|
|
|
+
|
|
|
+ if (data?.videoUrl.lastIndexOf('mp4') !== -1) {
|
|
|
+ state.playType = 'Video';
|
|
|
+ } else {
|
|
|
+ state.playType = 'Audio';
|
|
|
+ }
|
|
|
} catch {
|
|
|
//
|
|
|
}
|
|
@@ -73,24 +80,29 @@ export default defineComponent({
|
|
|
<MHeader border={false} />
|
|
|
</MSticky>
|
|
|
|
|
|
- <div class={[styles.section, styles.sectionVideo]}>
|
|
|
- <img src={state.videoImg || videoBg} class={styles.videoBg} />
|
|
|
- <div class={styles.btnGroup}>
|
|
|
- <MUploader
|
|
|
- class={styles.btnImg}
|
|
|
- cropper
|
|
|
- deletable={false}
|
|
|
- onUploadChange={img => {
|
|
|
- if (img.length > 0) {
|
|
|
- state.videoImg = img[0];
|
|
|
- }
|
|
|
- }}
|
|
|
- />
|
|
|
- <div class={styles.btnCropper} onClick={onCropper}>
|
|
|
- 视频截取封面
|
|
|
+ {state.playType === 'Video' && (
|
|
|
+ <div class={[styles.section, styles.sectionVideo]}>
|
|
|
+ <img src={state.videoImg || videoBg} class={styles.videoBg} />
|
|
|
+ <div class={styles.btnGroup}>
|
|
|
+ <MUploader
|
|
|
+ class={styles.btnImg}
|
|
|
+ cropper
|
|
|
+ deletable={false}
|
|
|
+ onUploadChange={img => {
|
|
|
+ if (img.length > 0) {
|
|
|
+ state.videoImg = img[0];
|
|
|
+ }
|
|
|
+ }}
|
|
|
+ options={{
|
|
|
+ fixedNumber: [16, 9]
|
|
|
+ }}
|
|
|
+ />
|
|
|
+ <div class={styles.btnCropper} onClick={onCropper}>
|
|
|
+ 视频截取封面
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
+ )}
|
|
|
|
|
|
<div class={styles.section}>
|
|
|
<Field
|
|
@@ -113,7 +125,7 @@ export default defineComponent({
|
|
|
deletable={false}
|
|
|
v-model:modelValue={state.img}
|
|
|
/>
|
|
|
- <div class={styles.tip}>选封面</div>
|
|
|
+ {/* <div class={styles.tip}>选封面</div> */}
|
|
|
</div>
|
|
|
<div class={styles.musicDetail}>
|
|
|
<p class={styles.musicName}>{state.musicDetail.musicSheetName}</p>
|