import MHeader from '@/components/m-header'; import MSticky from '@/components/m-sticky'; import { defineComponent, onMounted, reactive, onBeforeUnmount } from 'vue'; import styles from './index.module.less'; import { Button, Field, showToast } from 'vant'; import MUploader from '@/components/m-uploader'; import { api_userMusicDetail, api_userMusicSave } from '../api'; import { useRoute, useRouter } from 'vue-router'; import videoBg from '../images/videobg.png'; import { postMessage } from '@/helpers/native-message'; import { browser} from '@/helpers/utils'; export default defineComponent({ name: 'creation-edit', setup() { const {isTablet} = browser() const route = useRoute(); const router = useRouter(); const state = reactive({ id: route.query.id, playType: '', musicDetail: {} as any, desc: '', videoImg: '', // 视频封面 img: [] as any }); const onSubmit = async () => { try { await api_userMusicSave({ id: state.id, img: state.img.join(','), videoImg: state.videoImg, desc: state.desc || '我发布了一首演奏作品,快来听听吧~', musicPracticeRecordId: state.musicDetail.musicPracticeRecordId, type: 'FORMAL' }); router.back(); } catch { // } }; // 截图 const onCropper = () => { postMessage( { api: 'videoCrop', content: { url: state.musicDetail.videoUrl } }, res => { if (res?.content.videoCover) { state.videoImg = res.content.videoCover; } } ); }; // 设置导航栏颜色 function setStatusBarTextColor(isWhite: boolean) { postMessage({ api: 'setStatusBarTextColor', content: { statusBarTextColor: isWhite } }); } onMounted(async () => { setStatusBarTextColor(false); try { const { data } = await api_userMusicDetail(state.id); state.musicDetail = data; 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 { // } }); onBeforeUnmount(() => { setStatusBarTextColor(true); }); return () => (
{/*
选封面
*/}

{state.musicDetail.musicSheetName}

{state.musicDetail.username}

{state.playType === 'Video' && (
{ if (img.length > 0) { state.videoImg = img[0]; } }} options={{ fixedNumber: [16, 9] }} />
视频截取封面
)}
); } });