绿满眶商城微信小程序-uniapp
zxl
14 小时以前 d1cada30a4b98000ef9c8970f0e2b53ed76e352c
商品行为分析
4个文件已修改
112 ■■■■ 已修改文件
pages/tabbar/index/home.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/video/video-goods-detail-swiper.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/video/video-goods-detail.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/video/video-similar.vue 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/tabbar/index/home.vue
@@ -528,9 +528,11 @@
        // 返回一个Promise
        return new Promise((resolve) => {
                    this.shareId = '';
                    this.shareParam.shareOption = JSON.stringify({
                        id:this.activityId
                    })
                    let shareObj ={
                        videoId:videoInfo.id,
                        userId:userInfo.id
                    }
                    this.shareParam.shareOption = JSON.stringify(shareObj)
                    userShare(this.shareParam).then(res => {
                      this.shareId = res.data.data;
                      let param = {
pages/video/video-goods-detail-swiper.vue
@@ -568,12 +568,13 @@
        // }
    },
    onShareAppMessage(e){
        console.log(e)
        const goodsInfo = e.target.dataset.obj;
        console.log(goodsInfo)
        return new Promise((resolve) => {
                    this.shareId = '';
                    let shareObj ={
                        id:e.id,
                        goodsId:e.goodsId
                        id:goodsInfo.id,
                        goodsId:goodsInfo.goodsId
                    }
                    this.shareParam.shareOption = JSON.stringify(shareObj)
                    userShare(this.shareParam).then(res => {
@@ -581,7 +582,7 @@
                      // 当获取到shareId后,再resolve分享配置
                      resolve({
                        title: this.goodsDetail.goodsName,
                        path: '/pages/product/goods' +'?id='+ e.id + '&goodsId=' + e.goodsId +'&shareId=' + this.shareId,
                        path: '/pages/product/goods' +'?id='+ goodsInfo.id + '&goodsId=' + goodsInfo.goodsId +'&shareId=' + this.shareId,
                        imageUrl: this.goodsDetail.goodsGalleryList[0],
                        success(e) {
                          console.log("分享成功", e);
@@ -595,7 +596,7 @@
                      console.error('获取分享ID失败', err);
                      resolve({
                        title: this.goodsDetail.goodsName,
                        path: '/pages/product/goods' +'?id='+ e.id+ '&goodsId=' + e.goodsId,
                        path: '/pages/product/goods' +'?id='+ goodsInfo.id+ '&goodsId=' + goodsInfo.goodsId,
                        imageUrl: this.goodsDetail.goodsGalleryList[0],
                      });
                    });
pages/video/video-goods-detail.vue
@@ -60,14 +60,14 @@
            }
        },
    onUnload() {
      let    param = this.actionParam;
      let param = Object.assign({}, this.actionParam);
      if (this.sendOnShow)return
      param.pageStatus = "LEAVE"
      userAction(param)
    },
    onHide() {
      this.startHidenTime = Date.now()
      let    param = this.actionParam;
      let param = Object.assign({}, this.actionParam);
      this.sendOnShow = true;
      param.pageStatus = "LEAVE"
      userAction(param)
@@ -76,7 +76,7 @@
            getSessionId().then(res=>{
                this.pageSessionNo = res.data.data
                if(this.pageSessionNo){
                let    param = this.actionParam;
                let param = Object.assign({}, this.actionParam);
                    param.sessionId = this.pageSessionNo
                    userAction(param)
                }
pages/video/video-similar.vue
@@ -108,7 +108,7 @@
<script>
import { getGoodsSimilarlyVideos, savePlayRecord, changeCollect, changeThumbsUp } from "@/api/video.js"
import { getSessionId, userAction ,userShare } from "@/api/userAction.js";
export default {
    data() {
        return {
@@ -146,10 +146,41 @@
            // 右滑返回首页相关
            touchStartX: 0,
            touchEndX: 0,
            minSwipeDistance: 100 // 最小滑动距离
            minSwipeDistance: 100 ,// 最小滑动距离
            pageSessionNo:"",
            actionParam:{
                sessionId:'',
                actionType:"PAGE",
                joinType:"SELF",
                pageCode:"RECOMMEND_VIDEO_RIGHT_VIDEO",
                pageParams:"{}",
                pageStatus:"JOIN",
                pageType:"DETAIL"
            },
            shareParam:{
                pageCode:"RECOMMEND_VIDEO_RIGHT_VIDEO",
                shareOption:"{}",
                pageType:"DETAIL"
            },
            shareId:'',
        }
    },
    onLoad(options) {
        if(options.shareId){
            this.actionParam.shareId = options.shareId;
            this.actionParam.joinType = 'SHARE'
            console.log('触发onLoad')
            uni.setStorage({
                key: 'shareId',
                data: options.shareId,
                success: function () {
                    console.log('缓存shareId成功');
                }
            });
        }
        this.actionParam.pageParams = JSON.stringify(options)
        // 获取传递的商品信息
        if (options.goodsId) {
            this.loadSimilarVideos(options.goodsId, options.currentVideoId);
@@ -161,6 +192,15 @@
            const videoContext = uni.createVideoContext(`video${this.currentIndex}`, this);
            videoContext.play();
        }
        getSessionId().then(res=>{
                    this.pageSessionNo = res.data.data
                    this.actionParam.sessionId = res.data.data
                    if(this.pageSessionNo){
                    let    param = Object.assign({}, this.actionParam);
                        param.sessionId = this.pageSessionNo
                        userAction(param)
                    }
        })
    },
    onHide() {
        // 页面隐藏时暂停视频
@@ -168,6 +208,49 @@
            const videoContext = uni.createVideoContext(`video${this.currentIndex}`, this);
            videoContext.pause();
        }
        this.startHidenTime = Date.now()
        let param = Object.assign({}, this.actionParam);
        this.sendOnShow = true;
        param.pageStatus = "LEAVE"
        userAction(param)
    },
    onShareAppMessage(e){
        const userInfo = storage.getUserInfo();
        if (!userInfo) {
            console.log("未登录不能分享");
            return
        }
        const videoInfo = e.target.dataset.obj;
        return new Promise((resolve) => {
                    this.shareId = '';
                    let shareObj ={
                        videoId:videoInfo.id,
                        userId:userInfo.id
                    }
                    this.shareParam.shareOption = JSON.stringify(shareObj)
                    userShare(this.shareParam).then(res => {
                      this.shareId = res.data.data;
                      resolve({
                        title: videoInfo.title,
                        path: `/pages/tabbar/index/home?videoId=${videoInfo.id}&userId=${userInfo.id}&shareId=${this.shareId}`,
                        imageUrl: videoInfo.coverUrl,
                        success(e) {
                          console.log("分享成功", e);
                        },
                        fail(e) {
                          console.log('分享失败', e);
                        }
                      });
                    }).catch(err => {
                      // 处理错误情况,例如使用默认参数
                      console.error('获取分享ID失败', err);
                      resolve({
                            title: videoInfo.title,
                            path: `/pages/tabbar/index/home?videoId=${videoInfo.id}&userId=${userInfo.id}`,
                            imageUrl: videoInfo.coverUrl
                      });
                    });
        });
    },
    methods: {
        // 加载相似视频