| | |
| | | </view> |
| | | <view class="video-actions"> |
| | | <u-button type="error" size="mini" @click="reUpload">重新上传</u-button> |
| | | <u-button type="primary" size="mini" @click="chooseCover" v-if="videoInfo.url">选择封面</u-button> |
| | | <u-button type="primary" size="mini" @click="chooseCover" v-if="videoInfo.url">{{formData.cover ? '更换封面' : '请选择封面'}}</u-button> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | :key="index" |
| | | :text="tag.tagName" |
| | | :index="index" |
| | | type="error" |
| | | type="success" |
| | | @close="removeTag(index)" |
| | | /> |
| | | </view> |
| | |
| | | :key="index" |
| | | :text="tag.tagName" |
| | | :index="index" |
| | | type="primary" |
| | | type="success" |
| | | :closeable="false" |
| | | @click="selectTopic(index)" |
| | | /> |
| | |
| | | import UInput from '@/uview-components/uview-ui/components/u-input/u-input.vue'; |
| | | import USearch from '@/uview-components/uview-ui/components/u-search/u-search.vue'; |
| | | import UPopup from '@/uview-components/uview-ui/components/u-popup/u-popup.vue'; |
| | | import MyTag from "@/components/my-tag.vue" |
| | | import { getSTSToken } from "@/api/common.js"; |
| | | import MyTag from '@/components/my-tag.vue' |
| | | |
| | | import { getSTSToken, getFilePreviewUrl } from "@/api/common.js"; |
| | | import { publish } from "@/api/video.js"; |
| | | import { getRecommendTag3 } from "@/api/video-tag.js"; |
| | | import { getFileKey } from "@/utils/file.js"; |
| | |
| | | }, |
| | | computed: { |
| | | canPublish() { |
| | | return this.formData.videoFileKey && this.formData.title; |
| | | return this.formData.videoFileKey && this.formData.title && this.formData.cover; |
| | | }, |
| | | filteredGoods() { |
| | | if (!this.goodsSearch) return this.goodsList; |
| | |
| | | }, |
| | | // 初始化腾讯云cos客户端 |
| | | initCOS() { |
| | | console.log("执行了"); |
| | | // 调用后端获取sts临时访问凭证 |
| | | getSTSToken().then(res => { |
| | | const COS = require('@/lib/cos-wx-sdk-v5.js'); // 开发时使用 |
| | |
| | | sizeType: ['compressed'], |
| | | sourceType: ['album'], |
| | | success: (res) => { |
| | | let fileName = res.tempFilePaths[0].substring(res.tempFilePaths[0].lastIndexOf('/') + 1); |
| | | // 处理安卓可能的URI编码 |
| | | if(fileName.indexOf('%') > -1) { |
| | | fileName = decodeURIComponent(fileName); |
| | | } |
| | | const fileKey = getFileKey(fileName); |
| | | this.videoInfo.cover = res.tempFilePaths[0]; |
| | | this.cosClient.uploadFile({ |
| | | Bucket: this.bucket, |
| | | Region: this.region, |
| | | Key: fileKey, |
| | | FilePath: res.tempFilePaths[0], |
| | | SliceSize: 1024 * 1024 * 5 /* 触发分块上传的阈值,5M */ |
| | | }, (err, data) => { |
| | | if (err) { |
| | | console.log('上传失败', err); |
| | | } else { |
| | | // 获取封面的访问地址 |
| | | getFilePreviewUrl(fileKey).then(res => { |
| | | this.videoInfo.cover = res.data.data |
| | | this.formData.cover = fileKey |
| | | }) |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }, |