|
@ -1,158 +1,138 @@ |
|
|
<template> |
|
|
<template> |
|
|
<view class="page"> |
|
|
|
|
|
|
|
|
<view class="page"> |
|
|
<navbar title="视频分享" leftClick @leftClick="$utils.navigateBack" /> |
|
|
<navbar title="视频分享" leftClick @leftClick="$utils.navigateBack" /> |
|
|
|
|
|
|
|
|
<view class="content"> |
|
|
|
|
|
<uv-form |
|
|
|
|
|
ref="form" |
|
|
|
|
|
:model="form" |
|
|
|
|
|
:rules="rules" |
|
|
|
|
|
labelPosition="left" |
|
|
|
|
|
labelWidth="340rpx" |
|
|
|
|
|
:labelStyle="{ |
|
|
|
|
|
|
|
|
<view class="content"> |
|
|
|
|
|
<uv-form ref="form" :model="form" :rules="rules" labelPosition="left" labelWidth="340rpx" :labelStyle="{ |
|
|
color: '#1B1B1B', |
|
|
color: '#1B1B1B', |
|
|
fontSize: '32rpx', |
|
|
fontSize: '32rpx', |
|
|
fontWeight: 'bold', |
|
|
fontWeight: 'bold', |
|
|
}" |
|
|
|
|
|
errorType="toast" |
|
|
|
|
|
> |
|
|
|
|
|
<view class="flex upload__view"> |
|
|
|
|
|
<view class="upload upload-cover"> |
|
|
|
|
|
<uv-form-item labelWidth="0" prop="indexImage"> |
|
|
|
|
|
<formUpload v-model="form.indexImage"> |
|
|
|
|
|
<template v-slot="{ value }"> |
|
|
|
|
|
<!-- todo: 默认 --> |
|
|
|
|
|
<image |
|
|
|
|
|
:src="value" |
|
|
|
|
|
mode="aspectFill" |
|
|
|
|
|
style="width: 344rpx; height: 344rpx;" |
|
|
|
|
|
radius="14rpx" |
|
|
|
|
|
/> |
|
|
|
|
|
</template> |
|
|
|
|
|
</formUpload> |
|
|
|
|
|
<view class="upload-cover-text flex">设置封面</view> |
|
|
|
|
|
</uv-form-item> |
|
|
|
|
|
</view> |
|
|
|
|
|
<view class="upload upload-video"> |
|
|
|
|
|
<uv-form-item labelWidth="0" prop="vio"> |
|
|
|
|
|
<formUpload v-model="form.vio" accept="video"> |
|
|
|
|
|
<template v-slot> |
|
|
|
|
|
<video v-if="form.vio" |
|
|
|
|
|
:src="form.vio" |
|
|
|
|
|
style="width: 344rpx; height: 344rpx;" |
|
|
|
|
|
radius="14rpx" |
|
|
|
|
|
:controls="false" |
|
|
|
|
|
:autoplay="false" |
|
|
|
|
|
:show-center-play-btn="false" |
|
|
|
|
|
></video> |
|
|
|
|
|
<view v-else class="flex flex-column" style="width: 344rpx; height: 344rpx;"> |
|
|
|
|
|
<image src="../static/record/icon-camera.png" style="width: 130rpx; height: 105rpx;" ></image> |
|
|
|
|
|
<text class="upload-video-text">上传视频</text> |
|
|
|
|
|
</view> |
|
|
|
|
|
</template> |
|
|
|
|
|
</formUpload> |
|
|
|
|
|
</uv-form-item> |
|
|
|
|
|
</view> |
|
|
|
|
|
</view> |
|
|
|
|
|
<view class="form-item"> |
|
|
|
|
|
<uv-form-item label="标题" labelWidth="84rpx" prop="headTitle"> |
|
|
|
|
|
<view class="form-item-content"> |
|
|
|
|
|
<formInput v-model="form.headTitle" placeholder="请输入你的视频名称" width="584rpx"></formInput> |
|
|
|
|
|
</view> |
|
|
|
|
|
</uv-form-item> |
|
|
|
|
|
</view> |
|
|
|
|
|
<view class="form-item"> |
|
|
|
|
|
<uv-form-item label="设置广告弹出时间(s)" prop="timeNum"> |
|
|
|
|
|
<view class="form-item-content"> |
|
|
|
|
|
<formNumberBox v-model="form.timeNum" ></formNumberBox> |
|
|
|
|
|
</view> |
|
|
|
|
|
</uv-form-item> |
|
|
|
|
|
</view> |
|
|
|
|
|
<view class="form-item"> |
|
|
|
|
|
<uv-form-item label="设置转发次数(次)" prop="num"> |
|
|
|
|
|
<view class="form-item-content"> |
|
|
|
|
|
<formNumberBox v-model="form.num" ></formNumberBox> |
|
|
|
|
|
</view> |
|
|
|
|
|
</uv-form-item> |
|
|
|
|
|
</view> |
|
|
|
|
|
<view class="form-item"> |
|
|
|
|
|
<uv-form-item label="选择二维码" prop="wxCodeImage"> |
|
|
|
|
|
<view class="form-item-content"> |
|
|
|
|
|
<formUpload v-model="form.wxCodeImage"> |
|
|
|
|
|
<template v-slot="{ value }"> |
|
|
|
|
|
<view class="flex" style="min-width: 93rpx; height: 45rpx;"> |
|
|
|
|
|
<image |
|
|
|
|
|
:src="value" |
|
|
|
|
|
mode="aspectFill" |
|
|
|
|
|
style="width: 45rpx; height: 45rpx;" |
|
|
|
|
|
radius="14rpx" |
|
|
|
|
|
/> |
|
|
|
|
|
<uv-icon style="margin-left: 20rpx" name="arrow-right" color="#000000" size="28rpx"></uv-icon> |
|
|
|
|
|
</view> |
|
|
|
|
|
</template> |
|
|
|
|
|
</formUpload> |
|
|
|
|
|
</view> |
|
|
|
|
|
</uv-form-item> |
|
|
|
|
|
</view> |
|
|
|
|
|
<view class="form-item"> |
|
|
|
|
|
<uv-form-item label="视频描述" prop="textDetails" labelPosition="top"> |
|
|
|
|
|
<view style="margin-top: 32rpx;"> |
|
|
|
|
|
<formTextarea |
|
|
|
|
|
v-model="form.textDetails" |
|
|
|
|
|
placeholder="请描述你的视频" |
|
|
|
|
|
></formTextarea> |
|
|
|
|
|
</view> |
|
|
|
|
|
</uv-form-item> |
|
|
|
|
|
</view> |
|
|
|
|
|
|
|
|
|
|
|
</uv-form> |
|
|
|
|
|
</view> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 审核通过 --> |
|
|
|
|
|
<button v-if="status === 1" class="button-submit" open-type="share"> |
|
|
|
|
|
发布 |
|
|
|
|
|
</button> |
|
|
|
|
|
<!-- 不是 审核中 或 已发布 -> 即 创建分享 或 审核不通过 --> |
|
|
|
|
|
<button v-else-if="![0,1].includes(status)" class="button-submit" @click="preSubmit"> |
|
|
|
|
|
提交审核 |
|
|
|
|
|
</button> |
|
|
|
|
|
|
|
|
|
|
|
<autoCrop ref="autoCropRef" @change="onSubmit"></autoCrop> |
|
|
|
|
|
</view> |
|
|
|
|
|
|
|
|
}" errorType="toast"> |
|
|
|
|
|
<view class="flex upload__view"> |
|
|
|
|
|
<view class="upload upload-cover"> |
|
|
|
|
|
<uv-form-item labelWidth="0" prop="indexImage"> |
|
|
|
|
|
<formUpload v-model="form.indexImage"> |
|
|
|
|
|
<template v-slot="{ value }"> |
|
|
|
|
|
<!-- todo: 默认 --> |
|
|
|
|
|
<image :src="value" mode="aspectFill" style="width: 344rpx; height: 344rpx;" |
|
|
|
|
|
radius="14rpx" /> |
|
|
|
|
|
</template> |
|
|
|
|
|
</formUpload> |
|
|
|
|
|
<view class="upload-cover-text flex">设置封面</view> |
|
|
|
|
|
</uv-form-item> |
|
|
|
|
|
</view> |
|
|
|
|
|
<view class="upload upload-video"> |
|
|
|
|
|
<uv-form-item labelWidth="0" prop="vio"> |
|
|
|
|
|
<formUpload v-model="form.vio" accept="video"> |
|
|
|
|
|
<template v-slot> |
|
|
|
|
|
<video v-if="form.vio" :src="form.vio" style="width: 344rpx; height: 344rpx;" |
|
|
|
|
|
radius="14rpx" :controls="false" :autoplay="false" |
|
|
|
|
|
:show-center-play-btn="false"></video> |
|
|
|
|
|
<view v-else class="flex flex-column" style="width: 344rpx; height: 344rpx;"> |
|
|
|
|
|
<image src="../static/record/icon-camera.png" |
|
|
|
|
|
style="width: 130rpx; height: 105rpx;"></image> |
|
|
|
|
|
<text class="upload-video-text">上传视频</text> |
|
|
|
|
|
</view> |
|
|
|
|
|
</template> |
|
|
|
|
|
</formUpload> |
|
|
|
|
|
</uv-form-item> |
|
|
|
|
|
</view> |
|
|
|
|
|
</view> |
|
|
|
|
|
<view class="form-item"> |
|
|
|
|
|
<uv-form-item label="标题" labelWidth="84rpx" prop="headTitle"> |
|
|
|
|
|
<view class="form-item-content"> |
|
|
|
|
|
<formInput v-model="form.headTitle" placeholder="请输入你的视频名称" width="584rpx"></formInput> |
|
|
|
|
|
</view> |
|
|
|
|
|
</uv-form-item> |
|
|
|
|
|
</view> |
|
|
|
|
|
<view class="form-item"> |
|
|
|
|
|
<uv-form-item label="设置广告弹出时间(s)" prop="timeNum"> |
|
|
|
|
|
<view class="form-item-content"> |
|
|
|
|
|
<formNumberBox v-model="form.timeNum"></formNumberBox> |
|
|
|
|
|
</view> |
|
|
|
|
|
</uv-form-item> |
|
|
|
|
|
</view> |
|
|
|
|
|
<view class="form-item"> |
|
|
|
|
|
<uv-form-item label="设置转发次数(次)" prop="num"> |
|
|
|
|
|
<view class="form-item-content"> |
|
|
|
|
|
<formNumberBox v-model="form.num"></formNumberBox> |
|
|
|
|
|
</view> |
|
|
|
|
|
</uv-form-item> |
|
|
|
|
|
</view> |
|
|
|
|
|
<view class="form-item"> |
|
|
|
|
|
<uv-form-item label="选择二维码" prop="wxCodeImage"> |
|
|
|
|
|
<view class="form-item-content"> |
|
|
|
|
|
<formUpload v-model="form.wxCodeImage"> |
|
|
|
|
|
<template v-slot="{ value }"> |
|
|
|
|
|
<view class="flex" style="min-width: 93rpx; height: 45rpx;"> |
|
|
|
|
|
<image :src="value" mode="aspectFill" style="width: 45rpx; height: 45rpx;" |
|
|
|
|
|
radius="14rpx" /> |
|
|
|
|
|
<uv-icon style="margin-left: 20rpx" name="arrow-right" color="#000000" |
|
|
|
|
|
size="28rpx"></uv-icon> |
|
|
|
|
|
</view> |
|
|
|
|
|
</template> |
|
|
|
|
|
</formUpload> |
|
|
|
|
|
</view> |
|
|
|
|
|
</uv-form-item> |
|
|
|
|
|
</view> |
|
|
|
|
|
<view class="form-item"> |
|
|
|
|
|
<uv-form-item label="视频描述" prop="textDetails" labelPosition="top"> |
|
|
|
|
|
<view style="margin-top: 32rpx;"> |
|
|
|
|
|
<formTextarea v-model="form.textDetails" placeholder="请描述你的视频"></formTextarea> |
|
|
|
|
|
</view> |
|
|
|
|
|
</uv-form-item> |
|
|
|
|
|
</view> |
|
|
|
|
|
|
|
|
|
|
|
</uv-form> |
|
|
|
|
|
</view> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 审核通过 --> |
|
|
|
|
|
<button v-if="status === 1" class="button-submit" open-type="share"> |
|
|
|
|
|
发布 |
|
|
|
|
|
</button> |
|
|
|
|
|
<!-- 不是 审核中 或 已发布 -> 即 创建分享 或 审核不通过 --> |
|
|
|
|
|
<button v-else-if="![0,1].includes(status)" class="button-submit" @click="preSubmit"> |
|
|
|
|
|
提交审核 |
|
|
|
|
|
</button> |
|
|
|
|
|
|
|
|
|
|
|
<autoCrop ref="autoCropRef" @change="onSubmit"></autoCrop> |
|
|
|
|
|
</view> |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
<script> |
|
|
<script> |
|
|
import { mapState } from 'vuex' |
|
|
|
|
|
import shareLog from '@/utils/shareLog' |
|
|
|
|
|
|
|
|
import { |
|
|
|
|
|
mapState |
|
|
|
|
|
} from 'vuex' |
|
|
|
|
|
import shareLog from '@/utils/shareLog' |
|
|
|
|
|
|
|
|
import formUpload from '../components/formUpload.vue' |
|
|
|
|
|
import formInput from '../components/formInput.vue' |
|
|
|
|
|
import formNumberBox from '../components/formNumberBox.vue' |
|
|
|
|
|
import formTextarea from '../components/formTextarea.vue' |
|
|
|
|
|
import autoCrop from '../components/autoCrop.vue' |
|
|
|
|
|
|
|
|
import formUpload from '../components/formUpload.vue' |
|
|
|
|
|
import formInput from '../components/formInput.vue' |
|
|
|
|
|
import formNumberBox from '../components/formNumberBox.vue' |
|
|
|
|
|
import formTextarea from '../components/formTextarea.vue' |
|
|
|
|
|
import autoCrop from '../components/autoCrop.vue' |
|
|
|
|
|
|
|
|
export default { |
|
|
export default { |
|
|
components: { |
|
|
|
|
|
formUpload, |
|
|
|
|
|
formInput, |
|
|
|
|
|
formNumberBox, |
|
|
|
|
|
formTextarea, |
|
|
|
|
|
autoCrop, |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
components: { |
|
|
|
|
|
formUpload, |
|
|
|
|
|
formInput, |
|
|
|
|
|
formNumberBox, |
|
|
|
|
|
formTextarea, |
|
|
|
|
|
autoCrop, |
|
|
|
|
|
}, |
|
|
data() { |
|
|
data() { |
|
|
return { |
|
|
|
|
|
id: null, |
|
|
|
|
|
status: null, |
|
|
|
|
|
form: { |
|
|
|
|
|
headTitle: null, |
|
|
|
|
|
indexImage: null, |
|
|
|
|
|
vio: null, |
|
|
|
|
|
timeNum: 0, |
|
|
|
|
|
num: 0, |
|
|
|
|
|
wxCodeImage: null, |
|
|
|
|
|
textDetails: null, |
|
|
|
|
|
}, |
|
|
|
|
|
rules: { |
|
|
|
|
|
|
|
|
return { |
|
|
|
|
|
id: null, |
|
|
|
|
|
status: null, |
|
|
|
|
|
form: { |
|
|
|
|
|
headTitle: null, |
|
|
|
|
|
indexImage: null, |
|
|
|
|
|
vio: null, |
|
|
|
|
|
timeNum: 0, |
|
|
|
|
|
num: 0, |
|
|
|
|
|
wxCodeImage: null, |
|
|
|
|
|
textDetails: null, |
|
|
|
|
|
}, |
|
|
|
|
|
rules: { |
|
|
'indexImage': { |
|
|
'indexImage': { |
|
|
type: 'string', |
|
|
type: 'string', |
|
|
required: true, |
|
|
required: true, |
|
@ -172,11 +152,11 @@ |
|
|
type: 'number', |
|
|
type: 'number', |
|
|
required: true, |
|
|
required: true, |
|
|
message: '请设置广告弹出时间(大于1)', |
|
|
message: '请设置广告弹出时间(大于1)', |
|
|
validator: (rule, value, callback) => { |
|
|
|
|
|
if (value > 1) { |
|
|
|
|
|
return true |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
validator: (rule, value, callback) => { |
|
|
|
|
|
if (value > 1) { |
|
|
|
|
|
return true |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
return false; |
|
|
return false; |
|
|
}, |
|
|
}, |
|
|
}, |
|
|
}, |
|
@ -184,11 +164,11 @@ |
|
|
type: 'number', |
|
|
type: 'number', |
|
|
required: true, |
|
|
required: true, |
|
|
message: '请设置转发次数(大于0)', |
|
|
message: '请设置转发次数(大于0)', |
|
|
validator: (rule, value, callback) => { |
|
|
|
|
|
if (value > 0) { |
|
|
|
|
|
return true |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
validator: (rule, value, callback) => { |
|
|
|
|
|
if (value > 0) { |
|
|
|
|
|
return true |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
return false; |
|
|
return false; |
|
|
}, |
|
|
}, |
|
|
}, |
|
|
}, |
|
@ -203,177 +183,179 @@ |
|
|
message: '请描述你的视频', |
|
|
message: '请描述你的视频', |
|
|
}, |
|
|
}, |
|
|
}, |
|
|
}, |
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
computed: { |
|
|
computed: { |
|
|
...mapState(['userInfo']), |
|
|
...mapState(['userInfo']), |
|
|
}, |
|
|
}, |
|
|
onLoad(option) { |
|
|
onLoad(option) { |
|
|
const { id } = option |
|
|
|
|
|
|
|
|
const { |
|
|
|
|
|
id |
|
|
|
|
|
} = option |
|
|
|
|
|
|
|
|
if (!id) { |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
if (!id) { |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
this.id = id |
|
|
|
|
|
|
|
|
this.id = id |
|
|
|
|
|
|
|
|
this.fetchDetails(id) |
|
|
|
|
|
|
|
|
this.fetchDetails(id) |
|
|
}, |
|
|
}, |
|
|
onReady() { |
|
|
onReady() { |
|
|
this.$refs.form.setRules(this.rules); |
|
|
this.$refs.form.setRules(this.rules); |
|
|
}, |
|
|
}, |
|
|
onShareAppMessage(res) { |
|
|
|
|
|
const { |
|
|
|
|
|
headTitle, |
|
|
|
|
|
indexImage, |
|
|
|
|
|
} = this.form |
|
|
|
|
|
|
|
|
|
|
|
let o = { |
|
|
|
|
|
title : headTitle, |
|
|
|
|
|
imageUrl: indexImage, |
|
|
|
|
|
path: `/pages_order/sharing/video?id=${this.id}&state=1&shareId=${this.userInfo.id}` |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//调用增加分享次数的方法 |
|
|
|
|
|
const params = { |
|
|
|
|
|
id:this.id, |
|
|
|
|
|
state:"1", |
|
|
|
|
|
} |
|
|
|
|
|
this.$fetch('addLogShareInfo', params) |
|
|
|
|
|
// todo: get times and check is unlocked |
|
|
|
|
|
|
|
|
|
|
|
shareLog.insert(this.id) |
|
|
|
|
|
|
|
|
|
|
|
this.isLocked = false |
|
|
|
|
|
|
|
|
|
|
|
return o |
|
|
|
|
|
}, |
|
|
|
|
|
methods: { |
|
|
|
|
|
async fetchDetails(id) { |
|
|
|
|
|
try { |
|
|
|
|
|
const result = await this.$fetch('getVideoShareInfo', { id }) |
|
|
|
|
|
|
|
|
|
|
|
const { |
|
|
|
|
|
headTitle, |
|
|
|
|
|
indexImage, |
|
|
|
|
|
vio, |
|
|
|
|
|
timeNum, |
|
|
|
|
|
num, |
|
|
|
|
|
wxCodeImage, |
|
|
|
|
|
textDetails, |
|
|
|
|
|
status, |
|
|
|
|
|
} = result || {} |
|
|
|
|
|
|
|
|
|
|
|
this.form = { |
|
|
|
|
|
headTitle, |
|
|
|
|
|
indexImage, |
|
|
|
|
|
vio, |
|
|
|
|
|
timeNum, |
|
|
|
|
|
num, |
|
|
|
|
|
wxCodeImage, |
|
|
|
|
|
textDetails, |
|
|
|
|
|
} |
|
|
|
|
|
this.status = status |
|
|
|
|
|
} catch (err) { |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
async preSubmit() { |
|
|
|
|
|
try { |
|
|
|
|
|
await this.$refs.form.validate() |
|
|
|
|
|
this.$refs.autoCropRef.set(this.form.indexImage) |
|
|
|
|
|
} catch (err) { |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
async onSubmit(indexImage) { |
|
|
|
|
|
try { |
|
|
|
|
|
|
|
|
|
|
|
await this.$refs.form.validate() |
|
|
|
|
|
|
|
|
|
|
|
const { |
|
|
|
|
|
headTitle, |
|
|
|
|
|
vio, |
|
|
|
|
|
timeNum, |
|
|
|
|
|
num, |
|
|
|
|
|
wxCodeImage, |
|
|
|
|
|
textDetails, |
|
|
|
|
|
} = this.form |
|
|
|
|
|
|
|
|
|
|
|
const params = { |
|
|
|
|
|
headTitle, |
|
|
|
|
|
indexImage, |
|
|
|
|
|
vio, |
|
|
|
|
|
timeNum, |
|
|
|
|
|
num, |
|
|
|
|
|
wxCodeImage, |
|
|
|
|
|
textDetails, |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (this.id) { |
|
|
|
|
|
params.id = this.id |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
await this.$fetch('saveOrUpdateVideoShare', params) |
|
|
|
|
|
|
|
|
|
|
|
uni.showToast({ |
|
|
|
|
|
title: '提交成功', |
|
|
|
|
|
icon: 'none' |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
setTimeout(uni.navigateBack, 1000, -1) |
|
|
|
|
|
|
|
|
|
|
|
} catch (err) { |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
onPublish() { |
|
|
|
|
|
// todo |
|
|
|
|
|
}, |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
onShareAppMessage(res) { |
|
|
|
|
|
const { |
|
|
|
|
|
headTitle, |
|
|
|
|
|
indexImage, |
|
|
|
|
|
} = this.form |
|
|
|
|
|
|
|
|
|
|
|
let o = { |
|
|
|
|
|
title: headTitle, |
|
|
|
|
|
imageUrl: indexImage, |
|
|
|
|
|
path: `/pages_order/sharing/video?id=${this.id}&state=1&shareId=${this.userInfo.id}` |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//调用增加分享次数的方法 |
|
|
|
|
|
const params = { |
|
|
|
|
|
id: this.id, |
|
|
|
|
|
state: "1", |
|
|
|
|
|
} |
|
|
|
|
|
this.$fetch('addLogShareInfo', params) |
|
|
|
|
|
// todo: get times and check is unlocked |
|
|
|
|
|
|
|
|
|
|
|
shareLog.insert(this.id) |
|
|
|
|
|
|
|
|
|
|
|
this.isLocked = false |
|
|
|
|
|
|
|
|
|
|
|
return o |
|
|
|
|
|
}, |
|
|
|
|
|
methods: { |
|
|
|
|
|
async fetchDetails(id) { |
|
|
|
|
|
try { |
|
|
|
|
|
const result = await this.$fetch('getVideoShareInfo', { |
|
|
|
|
|
id |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
const { |
|
|
|
|
|
headTitle, |
|
|
|
|
|
indexImage, |
|
|
|
|
|
vio, |
|
|
|
|
|
timeNum, |
|
|
|
|
|
num, |
|
|
|
|
|
wxCodeImage, |
|
|
|
|
|
textDetails, |
|
|
|
|
|
status, |
|
|
|
|
|
} = result || {} |
|
|
|
|
|
|
|
|
|
|
|
this.form = { |
|
|
|
|
|
headTitle, |
|
|
|
|
|
indexImage, |
|
|
|
|
|
vio, |
|
|
|
|
|
timeNum, |
|
|
|
|
|
num, |
|
|
|
|
|
wxCodeImage, |
|
|
|
|
|
textDetails, |
|
|
|
|
|
} |
|
|
|
|
|
this.status = status |
|
|
|
|
|
} catch (err) { |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
async preSubmit() { |
|
|
|
|
|
try { |
|
|
|
|
|
await this.$refs.form.validate() |
|
|
|
|
|
this.$refs.autoCropRef.set(this.form.indexImage) |
|
|
|
|
|
} catch (err) { |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
async onSubmit(indexImage) { |
|
|
|
|
|
try { |
|
|
|
|
|
|
|
|
|
|
|
await this.$refs.form.validate() |
|
|
|
|
|
|
|
|
|
|
|
const { |
|
|
|
|
|
headTitle, |
|
|
|
|
|
vio, |
|
|
|
|
|
timeNum, |
|
|
|
|
|
num, |
|
|
|
|
|
wxCodeImage, |
|
|
|
|
|
textDetails, |
|
|
|
|
|
} = this.form |
|
|
|
|
|
|
|
|
|
|
|
const params = { |
|
|
|
|
|
headTitle, |
|
|
|
|
|
indexImage, |
|
|
|
|
|
vio, |
|
|
|
|
|
timeNum, |
|
|
|
|
|
num, |
|
|
|
|
|
wxCodeImage, |
|
|
|
|
|
textDetails, |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (this.id) { |
|
|
|
|
|
params.id = this.id |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
await this.$fetch('saveOrUpdateVideoShare', params) |
|
|
|
|
|
|
|
|
|
|
|
uni.showToast({ |
|
|
|
|
|
title: '提交成功', |
|
|
|
|
|
icon: 'none' |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
setTimeout(uni.navigateBack, 1000, -1) |
|
|
|
|
|
|
|
|
|
|
|
} catch (err) { |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
onPublish() { |
|
|
|
|
|
// todo |
|
|
|
|
|
}, |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
</script> |
|
|
</script> |
|
|
|
|
|
|
|
|
<style scoped lang="scss"> |
|
|
<style scoped lang="scss"> |
|
|
@import '../styles/pageForm.scss'; |
|
|
|
|
|
|
|
|
|
|
|
.upload__view { |
|
|
|
|
|
justify-content: space-between; |
|
|
|
|
|
margin-bottom: 20rpx; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.upload { |
|
|
|
|
|
background-color: $uni-fg-color; |
|
|
|
|
|
border-radius: 12rpx; |
|
|
|
|
|
overflow: hidden; |
|
|
|
|
|
|
|
|
|
|
|
/deep/ .uv-form-item__body { |
|
|
|
|
|
padding: 0 !important; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.upload-video { |
|
|
|
|
|
&-text { |
|
|
|
|
|
color: #1B1B1B; |
|
|
|
|
|
font-size: 32rpx; |
|
|
|
|
|
font-weight: 700; |
|
|
|
|
|
margin-top: 35rpx; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.upload-cover { |
|
|
|
|
|
position: relative; |
|
|
|
|
|
|
|
|
|
|
|
&-text { |
|
|
|
|
|
position: absolute; |
|
|
|
|
|
bottom: 0; |
|
|
|
|
|
width: 100%; |
|
|
|
|
|
background-color: rgba($color: #000000, $alpha: 0.6); |
|
|
|
|
|
color: #FFFFFF; |
|
|
|
|
|
padding: 21rpx 0; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@import '../styles/pageForm.scss'; |
|
|
|
|
|
|
|
|
|
|
|
.upload__view { |
|
|
|
|
|
justify-content: space-between; |
|
|
|
|
|
margin-bottom: 20rpx; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.upload { |
|
|
|
|
|
background-color: $uni-fg-color; |
|
|
|
|
|
border-radius: 12rpx; |
|
|
|
|
|
overflow: hidden; |
|
|
|
|
|
|
|
|
|
|
|
/deep/ .uv-form-item__body { |
|
|
|
|
|
padding: 0 !important; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.upload-video { |
|
|
|
|
|
&-text { |
|
|
|
|
|
color: #1B1B1B; |
|
|
|
|
|
font-size: 32rpx; |
|
|
|
|
|
font-weight: 700; |
|
|
|
|
|
margin-top: 35rpx; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.upload-cover { |
|
|
|
|
|
position: relative; |
|
|
|
|
|
|
|
|
|
|
|
&-text { |
|
|
|
|
|
position: absolute; |
|
|
|
|
|
bottom: 0; |
|
|
|
|
|
width: 100%; |
|
|
|
|
|
background-color: rgba($color: #000000, $alpha: 0.6); |
|
|
|
|
|
color: #FFFFFF; |
|
|
|
|
|
padding: 21rpx 0; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
</style> |
|
|
</style> |