From 4b0577ff467ea0ce268148f8d1c1bdea3ba66318 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期三, 30 七月 2025 11:16:37 +0800
Subject: [PATCH] 厨神,大健康视频分享二维码

---
 pages/kitchen/KitchenVideo.vue |   85 +++++++++++++++++++++++++++++++++++-------
 pages/health/healthVideo.vue   |    4 +
 2 files changed, 73 insertions(+), 16 deletions(-)

diff --git a/pages/health/healthVideo.vue b/pages/health/healthVideo.vue
index 610d5c8..69c9e3e 100644
--- a/pages/health/healthVideo.vue
+++ b/pages/health/healthVideo.vue
@@ -337,6 +337,7 @@
 		},
 		loading: false,  // 鏄惁姝e湪鍔犺浇
 		videoQuery: {
+			source:'system',
 			pageNumber: 1,
 			pageSize: 10,
 			videoFrom: 'recommend'
@@ -387,7 +388,8 @@
 	    const videoId = params.videoId;   
 	    queryParam.videoId = videoId
 		queryParam.shareType = shareType
-	    console.log('瑙f瀽鍙傛暟:', { shareType, videoId });
+		queryParam.source = source
+	    console.log('瑙f瀽鍙傛暟:', { shareType, videoId,source });
 	  }
 	  const token = storage.getAccessToken();
 	  if (! token) {
diff --git a/pages/kitchen/KitchenVideo.vue b/pages/kitchen/KitchenVideo.vue
index fd8de35..79305e9 100644
--- a/pages/kitchen/KitchenVideo.vue
+++ b/pages/kitchen/KitchenVideo.vue
@@ -283,6 +283,7 @@
 import {
   changeCollect
 } from "@/api/collect.js";
+import { saveShare, saveShareClickRecord } from "@/api/share.js";
 export default {
   computed: {
     hasPlayTime() {
@@ -367,6 +368,7 @@
       },
       loading: false, // 鏄惁姝e湪鍔犺浇
       videoQuery: {
+		source: 'system',
         pageNumber: 1,
         pageSize: 6,
         videoFrom: 'recommend',
@@ -398,21 +400,56 @@
   onHide() {
     this.startHidenTime = Date.now()
   },
-  onLoad() {
-	  this.marginBottom = uni.getSystemInfoSync().safeAreaInsets.bottom
-	  // 鑾峰彇鐘舵�佹爮楂樺害
-	  const systemInfo = uni.getSystemInfoSync();
-	  console.log('systemInfo------------------------>',systemInfo.windowHeight)
-	  const menuButtonInfo =  uni.getMenuButtonBoundingClientRect()
-	  console.log('menuButtonInfo--------------------------->',menuButtonInfo)
-	  const {top,height} = menuButtonInfo
-	  this.buttonHeight = systemInfo.statusBarHeight+height;
-	  this.menueButton = top;
-	  console.log('systemInfo.safeAreaInsets.bottom>',systemInfo.safeAreaInsets.bottom)
-	  this.leftHeight = systemInfo.windowHeight - top -50 - systemInfo.safeAreaInsets.bottom -22;
-	  console.log('-------------leftHeight------------------------>',this.leftHeight)
-	this.getKitchenTypeList();
-	this.loadVideos();
+  onLoad(option) {
+		this.marginBottom = uni.getSystemInfoSync().safeAreaInsets.bottom;
+		// 鑾峰彇鐘舵�佹爮楂樺害
+	    const systemInfo = uni.getSystemInfoSync();
+	    console.log('systemInfo------------------------>',systemInfo.windowHeight)
+	    const menuButtonInfo =  uni.getMenuButtonBoundingClientRect()
+	    console.log('menuButtonInfo--------------------------->',menuButtonInfo)
+	    const {top,height} = menuButtonInfo
+	    this.buttonHeight = systemInfo.statusBarHeight+height;
+	    this.menueButton = top;
+	    console.log('systemInfo.safeAreaInsets.bottom>',systemInfo.safeAreaInsets.bottom)
+	    this.leftHeight = systemInfo.windowHeight - top -50 - systemInfo.safeAreaInsets.bottom -22;
+	    console.log('-------------leftHeight------------------------>',this.leftHeight)
+		let queryParam = this.videoQuery;
+		if(option.q){
+			const decodedUrl = decodeURIComponent(decodeURIComponent(option.q));
+			console.log('鍘熷URL:', decodedUrl);
+			
+			// 瑙f瀽URL涓殑鏌ヨ鍙傛暟
+			const params = this.parseUrlParams(decodedUrl);
+			const shareType = params.shareType; 
+			const videoId = params.videoId;  
+			const source = params.source;
+			queryParam.videoId = videoId
+			queryParam.shareType = shareType
+			queryParam.source = source
+			console.log('瑙f瀽鍙傛暟:', { shareType, videoId,source });
+		}
+		const token = storage.getAccessToken();
+		if(!token){
+			this.wxSilentLogin(() => {
+				// 鍒ゆ柇鏄笉鏄偣鍑诲垎浜摼鎺ヨ繘鏉ョ殑
+				if (option.userId && option.videoId) {
+					queryParam.videoId = option.videoId
+					// 淇濆瓨鍒嗕韩鐐瑰嚮璁板綍
+					saveShareClickRecord({refId: option.videoId, shareUserId: option.userId})
+				}
+					this.getKitchenTypeList();
+					this.loadVideos(queryParam);
+			})
+		}else{
+			if (option.userId && option.videoId) {
+				queryParam.videoId = option.videoId
+				// 淇濆瓨鍒嗕韩鐐瑰嚮璁板綍
+				saveShareClickRecord({refId: option.videoId, shareUserId: option.userId})
+		}
+		this.getKitchenTypeList();
+		this.loadVideos();
+	}
+	
   }, 
    onShareAppMessage(e) {
 	const userInfo = storage.getUserInfo();
@@ -435,6 +472,24 @@
   	}
   },
   methods: {
+	  // 瑙f瀽URL鍙傛暟
+	  parseUrlParams(url) {
+	    const params = {};
+	    // 澶勭悊鍙兘瀛樺湪鐨刪ash锛堝鏋滄湁鐨勮瘽锛�
+	    const cleanUrl = url.split('#')[0];
+	    const queryStr = cleanUrl.split('?')[1] || '';
+	    
+	    queryStr.split('&').forEach(pair => {
+	      const [key, value] = pair.split('=');
+	      if (key) {
+	        // 濡傛灉鍊煎瓨鍦紝鍒欒В鐮侊紝鍚﹀垯璁句负绌哄瓧绗︿覆
+	        params[key] = value ? decodeURIComponent(value) : '';
+	      }
+	    });
+	    
+	    return params;
+	  },
+	  
 	// 鏌ヨ褰撳墠瑙嗛鐨勫叧鑱旇棰戯紙鎸備簡鍚屼竴鍟嗗搧鐨勶級
 	async getGoodsSimilarly() {
 			  if (this.similarlyLoading || this.similarlyNomore) return Promise.resolve();;

--
Gitblit v1.8.0