import MHeader from '@/components/col-header' import MSticky from '@/components/col-sticky' import { defineComponent, onMounted, reactive } from 'vue' import styles from './index.module.less' import { Button, Field } from 'vant' import MUploader from '@/components/col-upload' 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, musicDetail: {} as any, playType: '', desc: '', videoImg: '', // 视频封面 img: '' }) const onSubmit = async () => { console.log({ id: state.id, img: state.img, videoImg: state.videoImg, desc: state.desc || '我发布了一首演奏作品,快来听听吧~', musicPracticeRecordId: state.musicDetail.musicPracticeRecordId, type: 'FORMAL' }) try { await api_userMusicSave({ id: state.id, img: state.img, 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 } } ) } onMounted(async () => { try { const { data } = await api_userMusicDetail(state.id) state.musicDetail = data state.desc = data.desc state.videoImg = data.videoImg state.img = data.img if (data?.videoUrl.lastIndexOf('mp4') !== -1) { state.playType = 'Video' } else { state.playType = 'Audio' } } catch { // } }) return () => (
{state.musicDetail.musicSheetName}
{state.musicDetail.username}