From 60e5c5ea203b64d30857a0fa24b9bb7f03ab904a Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期三, 18 六月 2025 23:09:29 +0800
Subject: [PATCH] 补签
---
pages/tabbar/index/home.vue | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 101 insertions(+), 7 deletions(-)
diff --git a/pages/tabbar/index/home.vue b/pages/tabbar/index/home.vue
index 57c31bb..ade53fe 100644
--- a/pages/tabbar/index/home.vue
+++ b/pages/tabbar/index/home.vue
@@ -134,6 +134,12 @@
<text class="iconfont"></text>
<text style="font-size: 10px;font-weight: lighter;">{{item.commentNum}}</text>
</view>
+ <view class="action-item">
+ <button open-type="share" class="custom-share-btn" :data-obj="item">
+ <text class="iconfont"></text>
+ </button>
+
+ </view>
</view>
</swiper-item>
@@ -226,6 +232,10 @@
<script>
import { getRecommendVideos, savePlayRecord, subscribe, getVideoComments, addVideoComment, thubmsUpComment, cancelThubmsUpComment } from "@/api/video.js";
import { changeCollect } from "@/api/collect.js";
+import { saveShare, saveShareClickRecord } from "@/api/share.js";
+import { silentLogin } from "@/api/connect.js";
+import { getUserInfo } from "@/api/members";
+import storage from "@/utils/storage.js";
export default {
computed: {
hasPlayTime() {
@@ -301,7 +311,14 @@
}
},
onShow() {
- this.loadVideos()
+ // const token = storage.getAccessToken();
+ // if (! token) {
+ // this.wxSilentLogin(() => {
+ // this.loadVideos();
+ // })
+ // } else {
+ // this.loadVideos();
+ // }
// 濡傛灉瑙嗛鎸変笅鏆傚仠鍚庡垏鎹㈤〉闈㈠啀鍥炲埌椤甸潰鏃讹紝鍙畻鏆傚仠鏃堕棿锛堝洜涓烘殏鍋滄椂闂村拰绂诲紑椤甸潰鏃堕棿鏄噸澶嶇殑锛屽彧绠椾竴涓級
if(this.startHidenTime !== 0 && this.currentVideoIsPlaying) {
const duration = Date.now() - this.startHidenTime
@@ -311,14 +328,71 @@
onHide() {
this.startHidenTime = Date.now()
},
- onLoad() {
- this.loadVideos();
+ onLoad(option) {
+ const token = storage.getAccessToken();
+ if (! token) {
+ this.wxSilentLogin(() => {
+ this.loadVideos();
+ // 鍒ゆ柇鏄笉鏄偣鍑诲垎浜摼鎺ヨ繘鏉ョ殑
+ if (option.userId && option.videoId) {
+ // 淇濆瓨鍒嗕韩鐐瑰嚮璁板綍
+ saveShareClickRecord({refId: option.videoId, shareUserId: option.userId})
+ }
+ })
+ } else {
+ this.loadVideos();
+ }
},
onReady() {
// 鍒濆鍖栬棰戜笂涓嬫枃
this.initVideoContexts();
},
+ onShareAppMessage(e) {
+ const userInfo = storage.getUserInfo();
+ if(!userInfo) {
+ console.log("鏈櫥褰曚笉鑳藉垎浜�");
+ return
+ }
+ const videoInfo = e.target.dataset.obj;
+ // 淇濆瓨鍒嗕韩璁板綍
+ const data = {
+ shareType: 'video',
+ refId: videoInfo.id,
+ shareUser: userInfo.id
+ }
+ saveShare(data)
+ return {
+ title: videoInfo.title,
+ path: `/pages/tabbar/index/home?videoId=${videoInfo.id}&userId=${userInfo.id}`,
+ imageUrl: videoInfo.coverUrl
+ }
+ },
methods: {
+ // 闈欓粯鐧诲綍
+ wxSilentLogin(callback) {
+ //鑾峰彇code
+ uni.login({
+ success: (codeRes) => {
+ if(codeRes.errMsg === "login:ok") {
+ // 闈欓粯鐧诲綍
+ silentLogin({code: codeRes.code}).then(res => {
+ storage.setAccessToken(res.data.data.accessToken);
+ storage.setRefreshToken(res.data.data.refreshToken);
+ //鑾峰彇鐢ㄦ埛淇℃伅
+ getUserInfo().then((user) => {
+ storage.setUserInfo(user.data.result);
+ storage.setHasLogin(true);
+ callback()
+ });
+ })
+ } else {
+ uni.showToast({
+ title: "绯荤粺寮傚父锛岃鑱旂郴绠$悊鍛橈紒"
+ })
+ }
+ },
+ });
+ },
// 鐐瑰嚮鍟嗗搧璺宠浆
jumpToPay(videoId) {
uni.navigateTo({
@@ -643,6 +717,9 @@
if (this.videoContexts[this.currentIndex]) {
this.videoContexts[this.currentIndex].play();
}
+ // 璁剧疆褰撳墠鎾斁瑙嗛鐨勬�绘椂闀�
+ this.duration = this.videoList[this.currentIndex].videoDuration;
+ this.formartDuration = this.sliderFormatTime(this.duration);
},
// 鏀惰棌/鍙栨秷鏀惰棌
@@ -683,6 +760,11 @@
console.log(id, index, "瑙﹀彂鎾斁");
if(index === this.currentIndex) {
this.currentVideoIsPlaying = true;
+ if(! this.duration) {
+ // 璁剧疆褰撳墠鎾斁瑙嗛鐨勬�绘椂闀�
+ this.duration = this.videoList[this.currentIndex].videoDuration;
+ this.formartDuration = this.sliderFormatTime(this.duration);
+ }
} else {
this.currentVideoIsPlaying = false;
return
@@ -696,6 +778,7 @@
const duration = Date.now() - this.startPauseTime
this.totalPauseTime += duration
}
+
},
// 瑙嗛鏆傚仠浜嬩欢
@@ -772,9 +855,9 @@
},
// 鑾峰彇瑙嗛鎬绘椂闀�
onLoadedMetadata(e) {
- this.duration = e.detail.duration;
- this.formartDuration = this.sliderFormatTime(this.duration);
- console.log("瑙嗛鎬绘椂闀�", this.duration);
+ // this.duration = e.detail.duration;
+ // this.formartDuration = this.sliderFormatTime(this.duration);
+ // console.log("瑙嗛鎬绘椂闀�", this.duration);
},
// 淇濆瓨鎾斁璁板綍
async savePlayRecord() {
@@ -833,7 +916,7 @@
.video-info {
width: 70%;
position: absolute;
- bottom: 70px;
+ bottom: 20px;
left: 20px;
color: #f8f8f8;
z-index: 10;
@@ -1218,4 +1301,15 @@
width: 100%;
height: 100%;
}
+ .custom-share-btn {
+ font-size: unset;
+ background: none;
+ padding: 0;
+ margin: 0;
+ line-height: normal;
+ border: none;
+ }
+ .custom-share-btn::after {
+ border: none;
+ }
</style>
\ No newline at end of file
--
Gitblit v1.8.0