绿满眶商城微信小程序-uniapp
peng
2025-10-13 3a2524692711cf35fc142881b2837368ae2c3d25
pages/product/goods.vue
@@ -229,7 +229,7 @@
        </div> -->
        <!-- 正常结算页面 -->
        <view class="detail-btn" v-if="!isGroup && !takeDownFromSale">
          <view class="to-store-car to-store-btn" v-if="goodsDetail.goodsType != 'VIRTUAL_GOODS'" @click="shutMask(4)">
          <view class="to-store-car to-store-btn" v-if="goodsDetail.goodsType != 'VIRTUAL_GOODS'&& goodsDetail.customizeFlag!=='CUSTOMIZE'" @click="shutMask(4)">
            加入购物车</view>
          <view class="to-buy to-store-btn" @click="shutMask(4, 'buy')">立即购买</view>
          <view class="to-store-car to-store-btn" v-if="startTimer">暂未开始</view>
@@ -272,7 +272,7 @@
        <!-- 商品规格  商品详情,以及默认参与活动的id-->
        <popupGoods :addr="delivery" ref="popupGoods" @changed="changedGoods" @closeBuy="closePopupBuy"
          @queryCart="cartCount()" :goodsDetail="goodsDetail" :goodsSpec="goodsSpec" :isGroup="isGroup" :id="productId"
          @queryCart="cartCount()" :goodsDetail="goodsDetail" :consumizetemplateInfo="consumizetemplateInfo" :goodsSpec="goodsSpec" :isGroup="isGroup" :id="productId"
          v-if="goodsDetail.id" :pointDetail="pointDetail" :wholesaleList="wholesaleList" @handleClickSku="selectSku"
          :buyMask="buyMask" />
@@ -289,7 +289,7 @@
/************接口API***************/
import { getGoods, getGoodsList, getMpScene, getGoodsDistribution } from "@/api/goods.js";
import { getGoods, getGoodsList, getMpScene, getGoodsDistribution,getTemplate } from "@/api/goods.js";
import * as API_trade from "@/api/trade.js";
import * as API_Members from "@/api/members.js";
import * as API_store from "@/api/store.js";
@@ -317,6 +317,7 @@
import setup from "./product/popup/popup";
import { getSessionId, userAction,userShare } from "@/api/userAction.js";
import { getSTSToken } from '@/api/common.js'
import {addPrizeNum} from '@/api/prize.js'
export default {
  components: {
    popups,
@@ -373,6 +374,7 @@
          ___type: "other",
        },
      ],
     consumizetemplateInfo:{},
      popupsSwitch: false, //导航栏列表栏开关
      enableShare: false,
      selectedGoods: "", //选择的商品规格昵称
@@ -535,7 +537,13 @@
                this.shareParam.shareOption = JSON.stringify(this.routerVal)
                userShare(this.shareParam).then(res => {
                  this.shareId = res.data.data;
                  let param = {
                     addType:"SHARE_GOODS_VIDEO",
                     extend:"",
                  }
                  let extend = {shareId:this.shareId}
                  param.extend = JSON.stringify(extend)
                  addPrizeNum(param);
                  
                  // 当获取到shareId后,再resolve分享配置
                  resolve({
@@ -561,12 +569,19 @@
       });
    },
  async onLoad (options) {
   if(option.shareId){
      this.actionParam.shareId = option.shareId;
   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(option)
   this.actionParam.pageParams = JSON.stringify(options)
     if(options.q){
        const queryParam = {
           id:'',
@@ -594,6 +609,18 @@
    // #ifdef MP-WEIXIN
    // #endif
   this.goodsDetail = {};
   //如果有参数ids说明事分销短连接,需要获取参数
   if (this.routerVal.scene) {
     getMpScene(this.routerVal.scene).then((res) => {
       if (res.data.success) {
         let data = res.data.result.split(","); // skuId,goodsId,distributionId
         this.init(data[0], data[1], data[2]);
       }
     });
   } else {
     this.init(this.routerVal.id, this.routerVal.goodsId, this.routerVal.distributionId);
   }
  },
  
  onUnload() {
@@ -612,24 +639,25 @@
  async onShow () {
     getSessionId().then(res=>{
        this.pageSessionNo = res.data.data
      this.actionParam.sessionId = this.pageSessionNo
      this.actionParam.sessionId = res.data.data
        if(this.pageSessionNo){
        let   param = Object.assign({}, this.actionParam);
           param.sessionId = this.pageSessionNo
           userAction(param)
        }
     })   
    this.goodsDetail = {};
    //如果有参数ids说明事分销短连接,需要获取参数
    if (this.routerVal.scene) {
      getMpScene(this.routerVal.scene).then((res) => {
        if (res.data.success) {
          let data = res.data.result.split(","); // skuId,goodsId,distributionId
          this.init(data[0], data[1], data[2]);
        }
      });
    } else {
      this.init(this.routerVal.id, this.routerVal.goodsId, this.routerVal.distributionId);
    }
    // this.goodsDetail = {};
    // //如果有参数ids说明事分销短连接,需要获取参数
    // if (this.routerVal.scene) {
    //   getMpScene(this.routerVal.scene).then((res) => {
    //     if (res.data.success) {
    //       let data = res.data.result.split(","); // skuId,goodsId,distributionId
    //       this.init(data[0], data[1], data[2]);
    //     }
    //   });
    // } else {
    //   this.init(this.routerVal.id, this.routerVal.goodsId, this.routerVal.distributionId);
    // }
  },
  methods: {
@@ -742,6 +770,16 @@
      this.PromotionList = response.data.result.promotionMap;
      this.goodsParams = response.data.result.goodsParamsDTOList || [];
   console.log('优惠卷活动--------------------》',response.data.result.promotionMap)
   if(this.goodsDetail.goodsType == 'PHYSICAL_GOODS'&& this.goodsDetail.customizeFlag ==='CUSTOMIZE'){
           //获取模板信息
           this.consumizetemplateInfo = null;
           console.log('是模板获取需要获取信息-------------》',this.goodsDetail.id)
           const template = await getTemplate(this.goodsDetail.id)
           this.consumizetemplateInfo = template.data.data
           console.log('获取到的模板信息----------------->',template.data.data)
   }
      // 判断是否拼团活动或者积分商品 如果有则显示拼团活动信息
      this.PromotionList &&
        Object.keys(this.PromotionList).forEach((item) => {
@@ -757,7 +795,6 @@
        });
      // 轮播图
      this.imgList = this.goodsDetail.goodsGalleryList.filter(i => i.indexOf("\"url\":") === -1 && i.indexOf("\"status\":") === -1);
      // 获取店铺基本信息
      this.getStoreBaseInfoFun(this.goodsDetail.storeId);
@@ -774,6 +811,7 @@
      if (this.$options.filters.isLogin("auth")) {
        this.getGoodsCollectionFun(this.goodsDetail.id);
      }
      // 获取IM 需要的话使用
      // this.getIMDetailMethods();
    },