From 0a512f38f15775647151d5e06ac3519c9c1c07b1 Mon Sep 17 00:00:00 2001 From: asd <374367073@qq.com> Date: Tue, 27 Oct 2020 12:01:25 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=A7=86=E9=A2=91=E5=8F=91=E5=B8=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.vue | 8 +- src/api/index.ts | 13 +++ src/views/mine/ReleaseVideo.vue | 154 +++++++++++++++++++++--------- src/views/mine/ReleaseWebcast.vue | 95 ++++++++++++------ 4 files changed, 198 insertions(+), 72 deletions(-) diff --git a/src/App.vue b/src/App.vue index a0aa075..cb5bc53 100644 --- a/src/App.vue +++ b/src/App.vue @@ -42,5 +42,11 @@ div { text-overflow: ellipsis; white-space: nowrap; } - +input::-webkit-outer-spin-button, +input::-webkit-inner-spin-button { + -webkit-appearance: none; +} +input[type="number"]{ + -moz-appearance: textfield; +} diff --git a/src/api/index.ts b/src/api/index.ts index 993c63b..67a0c1c 100644 --- a/src/api/index.ts +++ b/src/api/index.ts @@ -189,6 +189,19 @@ export async function videoadd( form: any,data: any) { } } +/** + * 编辑视频 + */ +export async function setvideo(data?: any) { + console.log(data,11110) + const res=await put('video/'+data.id,data) + if(res.code==0){ + message.success("修改成功") + }else{ + message.error(res.msg) + } +} + /** * 视频详情 */ diff --git a/src/views/mine/ReleaseVideo.vue b/src/views/mine/ReleaseVideo.vue index 404250d..c0480fa 100644 --- a/src/views/mine/ReleaseVideo.vue +++ b/src/views/mine/ReleaseVideo.vue @@ -10,7 +10,7 @@ /> - +
{ if(useRoute().query.id){ - console.log(useRoute().query.id) + console.log(useRoute().query.id,"knijkdbj") form.value = await videodetail(useRoute().query.id,1) console.log(form.value,"fornm") } @@ -189,71 +190,136 @@ export default defineComponent({ const uploadpicprogress: Ref = ref(0); const videofile = ref(); const videos = ref>([]); + const ifalowupload=ref(false) interface AntUpload { action: string; data: unknown; file: File; } async function uploadspic(file: AntUpload) { - const res = await uploadflie(file.file, (info: any) => { - console.log(info); - uploadpicprogress.value = info.percent.toFixed(2) * 100; - }); - console.log(res); - form.value.img = res.video.url; + if(ifalowupload.value){ + const res = await uploadflie(file.file, (info: any) => { + console.log(info); + uploadpicprogress.value = info.percent.toFixed(2) * 100; + }); + console.log(res); + form.value.img = res.video.url; + }else{ + return + } + } /** * 上传视频 */ - const uploadprogress: Ref = ref(0); + const uploadprogress: Ref = ref(0); + const ifallowvideo=ref(false) async function uploads(file: AntUpload) { - uploadprogress.value=0 - form.value.video=[""] - console.log(file); - videofile.value = file.file; - videos.value[0].addEventListener("durationchange", () => { - console.log(videos.value[0].duration); - form.value.fileduration = videos.value[0].duration; - }); - const res = await uploadflie(file.file, (info: any) => { - console.log(info); - uploadprogress.value = info.percent.toFixed(2) * 100; - }); - console.log(res); + if(ifallowvideo.value){ + uploadprogress.value=0 + form.value.video=[""] + console.log(file); + videofile.value = file.file; + videos.value[0].addEventListener("durationchange", () => { + console.log(videos.value[0].duration); + form.value.fileduration = videos.value[0].duration; + }); + const res = await uploadflie(file.file, (info: any) => { + console.log(info); + uploadprogress.value = info.percent.toFixed(2) * 100; + }); + console.log(res); - form.value.fileid = res.fileId; - form.value.fileurl = res.video.url; - form.value.video[0]=res.video.url + form.value.fileid = res.fileId; + form.value.fileurl = res.video.url; + form.value.video[0]=res.video.url + uploadprogress.value=0 + } + + } + + function beforeVideoUpload(info?: any){ + console.log(info) + if(info.type.split("/")[0]!="video"){ + ifallowvideo.value + message.error("文件必须是视频格式") + + }else{ + ifallowvideo.value=true + } + } /** * 表单提交 */ + const routes=useRoute() const onSubmit = async (e: FromSend) => { e.preventDefault(); console.log(toRaw(form.value), 111); - videoadd(form, toRaw(form.value)); + console.log(toRaw(form.value).video[0].length) + + console.log(routes.query,"adsadsa") + const subdata=toRaw(form.value) + if(subdata.title==""){ + message.error("标题不能为空") + return + }else if(subdata.img==""){ + message.error("封面不能为空") + return + }else if(subdata.fileurl==""){ + message.error("视频文件不能为空") + }else if(subdata.desc==""){ + message.error("视频简介不能为空") + } + else{ + + if(routes.query.id){ + form.value.id=routes.query.id + console.log('edi') + setvideo(form.value) + }else{ + videoadd(form, toRaw(form.value)); + } + // videoadd(form, toRaw(form.value)); + } + + // videoadd(form, toRaw(form.value)); }; + function beforeUpload(info?: any){ + console.log(info.type) + if(info.type.split('/')[0]!="image"){ + message.error("上传文件必须是图片格式") + ifalowupload.value=false + return + }else{ + ifalowupload.value=true + } + } + return { - labelCol: { span: 4 }, - wrapperCol: { span: 14 }, - form, - viewCover, - previewImage, - previewCover, - coverChange, - cancelCover, - beforeCoverUpload, - onSubmit, - uploadpicprogress, - uploadspic, - uploadprogress, - uploads, - videofile, - videos, - removeFile + labelCol: { span: 4 }, + wrapperCol: { span: 14 }, + form, + viewCover, + previewImage, + previewCover, + coverChange, + cancelCover, + beforeCoverUpload, + onSubmit, + uploadpicprogress, + uploadspic, + uploadprogress, + uploads, + videofile, + videos, + removeFile, + beforeUpload, + ifalowupload, + beforeVideoUpload }; }, }); diff --git a/src/views/mine/ReleaseWebcast.vue b/src/views/mine/ReleaseWebcast.vue index 894f8bd..ee987f9 100644 --- a/src/views/mine/ReleaseWebcast.vue +++ b/src/views/mine/ReleaseWebcast.vue @@ -75,7 +75,12 @@ v-model:value="form.startTime" placeholder="请设置您的开始时间" /> --> - + 分钟 @@ -94,6 +100,7 @@ size="small" v-model:value="form.livenumber" placeholder="请输入直播人数" + type="number" /> @@ -125,7 +132,7 @@
您尚未获得直播资格
- {{lives.data.msg}} + {{ lives.data.msg }}
意见反馈
@@ -135,7 +142,7 @@ - {{lives.msg}} + {{ lives.msg }}
@@ -162,8 +169,9 @@ import { previewCover } from "@/utils/common"; import { FromSend, ImgInfo } from "@/types/index"; import { uploadflie } from "@/utils/vod"; import { getlivest, liveadd, liveinfo, setlive } from "@/api"; -import { useRoute } from 'vue-router'; -import dayjs from 'dayjs'; +import { useRoute } from "vue-router"; +import dayjs from "dayjs"; +import { message } from "ant-design-vue"; export default defineComponent({ name: "ReleaseWebcast", @@ -272,30 +280,52 @@ export default defineComponent({ /** * todo 需要后台返回年份 */ - const id = useRoute().query.id - if(id != null && typeof id == 'string'){ - liveinfo(parseInt(id)).then((res)=>{ + const id = useRoute().query.id; + if (id != null && typeof id == "string") { + liveinfo(parseInt(id)).then((res) => { form.value = res; - }) + }); } const onSubmit = (e: FromSend) => { e.preventDefault(); validate() .then(() => { - // console.log(toRaw(form),111); + console.log(toRaw(form), 111); const subdata: any = toRaw(form.value); - // subdata.fileid=picinfo. - if(id != undefined && id){ - /** - * todo 提交会报错 - */ - subdata.id = id; - setlive(subdata) - }else{ - console.log(subdata); - liveadd(subdata); + if (subdata.title == "") { + message.error("直播标题不能为空"); + return; + } else if (subdata.img == "") { + message.error("直播封面不能为空"); + return; + } else if (subdata.fileurl == "") { + message.error("视频介绍不能为空"); + return; + } else if (subdata.dateline == "") { + message.error("开始时间不能为空"); + return; + } else if (subdata.livetime == "") { + message.error("直播时长不能为空"); + return; + } else if (subdata.livenumber == "") { + message.error("直播人数不能为空"); + return; + } else if (subdata.desc == "") { + message.error("直播简介不能为空"); + return; + } else { + // subdata.fileid=picinfo. + if (id != undefined && id) { + /** + * todo 提交会报错 编辑直播 + */ + subdata.id = id; + // setlive(subdata) + } else { + console.log(subdata); + // liveadd(subdata); + } } - }) .catch((err: unknown) => { console.log("error", err); @@ -317,9 +347,20 @@ export default defineComponent({ // const month = new Date(e).getMonth()+1 // console.log(new Date(e).getFullYear()+"-"+month+'-'+new Date(e).getDate()) // console.log(e.toString()) - const time = dayjs(new Date(e)) - const timestr = time.year() + "-" + (time.month() + 1) + "-" + time.date() + " " + time.hour() + ":" + time.minute() + ":" + time.second() - console.log(timestr) + const time = dayjs(new Date(e)); + const timestr = + time.year() + + "-" + + (time.month() + 1) + + "-" + + time.date() + + " " + + time.hour() + + ":" + + time.minute() + + ":" + + time.second(); + console.log(timestr); form.value.dateline = timestr; } /** @@ -368,11 +409,11 @@ export default defineComponent({ } getlivest().then((res) => { - if(res){ + if (res) { isEntitled.value = true; lives.value = res; } - }) + }); return { labelCol: { span: 4 }, @@ -396,7 +437,7 @@ export default defineComponent({ startchange, videofile, videos, - lives + lives, }; }, }); -- 2.47.2 From 34dc5033df0fa80267566727a1cdb149c5cf71c8 Mon Sep 17 00:00:00 2001 From: asd <374367073@qq.com> Date: Wed, 28 Oct 2020 09:30:56 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=90=84=E7=A7=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/NavTop.vue | 13 +- src/views/mine/Aboutus.vue | 6 + src/views/mine/Cashout.vue | 593 +++++++------- src/views/mine/ReleaseWebcast.vue | 1215 +++++++++++++++-------------- 4 files changed, 967 insertions(+), 860 deletions(-) diff --git a/src/components/NavTop.vue b/src/components/NavTop.vue index b7685c9..83ffc50 100644 --- a/src/components/NavTop.vue +++ b/src/components/NavTop.vue @@ -1,6 +1,6 @@