From 7db888ef570230c5bc8b9e382514eeb5143a18dc Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 27 五月 2025 10:50:49 +0800
Subject: [PATCH] 视频播放记录保存
---
pages/tabbar/video/video.vue | 43 ++++++++++++++++++++++++++-----------------
1 files changed, 26 insertions(+), 17 deletions(-)
diff --git a/pages/tabbar/video/video.vue b/pages/tabbar/video/video.vue
index 24539f4..edab4fc 100644
--- a/pages/tabbar/video/video.vue
+++ b/pages/tabbar/video/video.vue
@@ -16,7 +16,7 @@
:poster="videoInfo.cover || ''"
></video>
<view class="progress-box">
- <progress style="width: 100%;" :percent="videoUploadProgress" show-info stroke-width="6" :active="true" active-color="#ff573e" />
+ <progress style="width: 100%;" :percent="videoUploadProgress" active-mode="forwards" show-info stroke-width="6" :active="true" active-color="#ff573e" />
</view>
<view class="video-actions">
<u-button type="error" size="mini" @click="reUpload">閲嶆柊涓婁紶</u-button>
@@ -171,13 +171,20 @@
</template>
<script>
+import UIcon from '@/uview-components/uview-ui/components/u-icon/u-icon.vue';
+import UButton from '@/uview-components/uview-ui/components/u-button/u-button.vue';
+import UForm from '@/uview-components/uview-ui/components/u-form/u-form.vue';
+import UFormItem from '@/uview-components/uview-ui/components/u-form-item/u-form-item.vue';
+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 { publish } from "@/api/video.js";
import { getRecommendTag3 } from "@/api/video-tag.js";
import { getFileKey } from "@/utils/file.js";
export default {
- components: {MyTag},
+ components: {MyTag,UIcon,UButton,UForm,UFormItem,UInput,USearch,UPopup},
data() {
return {
cosClient: null,
@@ -200,6 +207,7 @@
id: '',
title: '',
videoFileKey: '',
+ videoDuration: 0,
videoFit: 'cover',
goodsId: '',
tags: [],
@@ -253,7 +261,7 @@
},
methods: {
// 鑾峰彇鎺ㄨ崘鏍囩
- getRecommendTags(type) {
+ async getRecommendTags(type) {
const params = {
tagName: this.tagInput.trim(),
searchType: type
@@ -267,7 +275,6 @@
console.log("鎵ц浜�");
// 璋冪敤鍚庣鑾峰彇sts涓存椂璁块棶鍑瘉
getSTSToken().then(res => {
- console.log(res, "sts缁撴瀯");
const COS = require('@/lib/cos-wx-sdk-v5.js'); // 寮�鍙戞椂浣跨敤
// const COS = require('./lib/cos-wx-sdk-v5.min.js'); // 涓婄嚎鏃朵娇鐢ㄥ帇缂╁寘
@@ -301,20 +308,21 @@
if(fileName.indexOf('%') > -1) {
fileName = decodeURIComponent(fileName);
}
- const fileKey = getFileKey(fileName);
- this.videoInfo = {
- url: res.tempFilePath,
- fileKey: fileKey,
- fileType: fileKey.split('/')[0],
- fileSize: res.size,
- originalFileName: fileName,
- cover: ''
- };
- this.formData.videoFileKey = fileKey;
- // 鍒ゆ柇瑙嗛鐨勫~鍏呮ā寮�
- this.formData.videoFit = this.calculateVideoFit(res.width, res.height)
+ const fileKey = getFileKey(fileName);
+ this.videoInfo = {
+ url: res.tempFilePath,
+ fileKey: fileKey,
+ fileType: fileKey.split('/')[0],
+ fileSize: res.size,
+ originalFileName: fileName,
+ cover: ''
+ };
+ this.formData.videoFileKey = fileKey;
+ this.formData.videoDuration = res.duration;
+ // 鍒ゆ柇瑙嗛鐨勫~鍏呮ā寮�
+ this.formData.videoFit = this.calculateVideoFit(res.width, res.height)
- this.cosClient.uploadFile({
+ this.cosClient.uploadFile({
Bucket: this.bucket,
Region: this.region,
Key: fileKey,
@@ -489,6 +497,7 @@
title: '',
videoFileKey: '',
videoFit: 'cover',
+ videoDuration: 0,
goodsId: '',
tags: [],
fileInfo: {}
--
Gitblit v1.8.0