zhao_js
2023-11-15 b44e169dd8a6e0f15d3788970176922e96aec6e1
uniapp/pages/goods/goodsDetail.vue
@@ -28,8 +28,8 @@
        <view class="pagetopBar-container colCen">
          <view class="topbarbox"></view>
        </view>
        <view class="currentbox rowCenCen" v-if="optionsInfo.imageList || pageInfo.showImgs">
          <view>{{currentIndex+1}}/{{pageType=='jd'?optionsInfo.imgs.length:pageInfo.showImgs.length}}</view>
        <view class="currentbox rowCenCen" v-if="pageInfo.imgs&&pageInfo.imgs.length>0">
          <view>{{currentIndex+1}}/{{pageInfo.imgs.length}}</view>
        </view>
      </view>
    </view>
@@ -75,25 +75,26 @@
        </view>
      </view>
      <view class="vip-info-container rowCenBet" v-if="!showtar || platform!='iOS'">
        <view class="left-info" v-if="user.level != 3">
          现在升级成为{{pageInfo.topLevelName}},立即赚{{pageInfo.topFanli}}元
        </view>
        <view class="left-info" v-else>
          您已经是最高等级,快去邀请好友赚佣金吧!
        </view>
         <view class="left-info" v-if="user.level != 3">
           现在升级成为{{pageInfo.topLevelName}},立即赚{{pageInfo.topFanli}}元
         </view>
         <view class="left-info" v-else>
           您已经是最高等级,快去邀请好友赚佣金吧!
         </view>
        <view class="rt-btn rowCenCen" @tap="golevelRules()" v-if="user.level != 3">
          <image class="vipimg" src="../../static/images/goods/vip.png" mode="aspectFill"></image>
          <view class="level-txt">
            立即升级
          </view>
        </view>
        <view class="rt-btn rowCenCen" @tap="golevelRules()" v-else>
          <image class="vipimg" src="../../static/images/goods/vip.png" mode="aspectFill"></image>
          <view class="level-txt">
            立即查看
          </view>
        </view>
         <view class="rt-btn rowCenCen" @tap="golevelRules()" v-if="user.level != 3">
           <image class="vipimg" src="../../static/images/goods/vip.png" mode="aspectFill"></image>
           <view class="level-txt">
            立即升级
           </view>
         </view>
         <view class="rt-btn rowCenCen" @tap="golevelRules()" v-else>
           <image class="vipimg" src="../../static/images/goods/vip.png" mode="aspectFill"></image>
           <view class="level-txt">
            立即查看
           </view>
       </view>
      </view>
      <view class="quanWrap" v-if="optionsInfo.couponPrice>0 || pageInfo.couponPrice>0">
        <image src="../../static/images/goods/qbg.png" mode='aspectFit' class="quanBg"></image>
@@ -186,10 +187,7 @@
          <image class="detailpic" :src="items" mode="widthFix"></image>
        </block>
      </view>
    </view>
    <view class="bottombox">
    </view>
    <view class="footerWrap rowSta">
@@ -214,8 +212,10 @@
            </view>
          </view>
        </view>
        <view class="right-container rowCen borderBox">
       <!-- <view class="right-container rowCen borderBox" v-if="!showtar || platform!='iOS'">
          <view class="leftsharebox btnbox colCenCen" @tap="goPath()">
            <view class="priceText">
              ¥{{optionsInfo.fanli}}
@@ -235,7 +235,29 @@
              购买返
            </view>
          </view>
        </view>
        </view> -->
      <view class="right-container rowCen borderBox">
        <view class="leftsharebox btnbox colCenCen" style="background: #ffb030;" @tap="goPath()">
          <view class="priceText">
            ¥{{optionsInfo.fanli}}
          </view>
          <view class="texttips">
            分享赚
          </view>
        </view>
        <view class="rightbackbox btnbox colCenCen" style="background: #fe0350;" @tap="getCouponUrl()">
           <view v-if="frompage=='freebuy'" class="priceText">
              ¥{{optionsInfo.actualPrice}}
           </view>
          <view v-else class="priceText">
            ¥{{optionsInfo.fanli}}
          </view>
          <view class="texttips">
            购买返
          </view>
        </view>
      </view>
      </view>
    </view>
    <!-- taobao -->
@@ -256,6 +278,12 @@
    <u-popup v-model="inviterShow" mode="center" border-radius="32" v-if="inviterShow" :mask-close-able='true'>
      <inviter-model ref='invitermodel' @rewrite='rewriteCode' @setInvite='setCodebtn'></inviter-model>
    </u-popup>
   <uni-popup ref="popup_pddtip" type="center">
      <view class="pdd_pop_contant">
         <view class="pdd_pop_title">比价订单</view>
         <view class="pdd_pop_text">本次自购涉及比价行为,自购收益为0,建议先收藏该商品,2小时后通过大返官app购买,可正常获取对应收益。</view>
      </view>
   </uni-popup>
  </view>
</template>
@@ -301,6 +329,8 @@
        inviteCodeShow: false,
        inviterShow: false,
      frompage:'',
      isshowpdd:false,
      beforePddAuth:false,
      };
    },
    onPageScroll(e) {
@@ -313,15 +343,19 @@
     
     if(!getApp().globalData.hasinit)
     {
        console.log("初始化")
        getApp().getAppInfo();
     }
     //console.log("2222222222222222-"+getApp().globalData.hasbcinit);
     if(!getApp().globalData.hasbcinit)
     {
        getApp().bcInit();
     }
    },
    onReady(){
       if(this.isshowpdd)
       {
         this.$refs.popup_pddtip.open();
       }
   },
    onLoad(options) {
      this.appinfo = utils.getCacheSync('appInfo')
      // #ifdef APP-PLUS
@@ -337,13 +371,28 @@
        this.pageType = this.optionsInfo.sourceType ? this.optionsInfo.sourceType : 'tb';
        this.faction = this.optionsInfo.faction ? this.optionsInfo.faction : 't';
      } else {
        this.optionsInfo = JSON.parse(options.info);
        this.pageInfo = JSON.parse(options.info);
      console.log(options);
      if(options.sourcefrom)
      {
         console.log(decodeURIComponent(options.info));
         this.optionsInfo = JSON.parse(decodeURIComponent(options.info));
         this.pageInfo = JSON.parse(decodeURIComponent(options.info));
         console.log(this.optionsInfo)
      }
      else
      {
         this.optionsInfo = JSON.parse(options.info);
         this.pageInfo = JSON.parse(options.info);
      }
        this.pageType = this.optionsInfo.sourceType;
        if (!this.optionsInfo.faction) {
          if (this.pageType == 'tb' || this.pageType == 'tm' || this.pageType == 'tmshop') this.faction = 't';
          if (this.pageType == 'jd') this.faction = 'j';
          if (this.pageType == 'pdd') this.faction = 'p';
          if (this.pageType == 'pdd')
        {
           this.faction = 'p';
        }
          if (this.pageType == 'wph') this.faction = 'w';
         if (this.pageType == 'dy') this.faction = 'd';
        } else {
@@ -358,6 +407,12 @@
        } else {
          this.memberId = ''
        }
      console.log(this.user);
      if(this.user.pdd_authority_ios==1||this.user.pdd_authority_android==1)
      {
         this.beforePddAuth=true;
      }
      console.log(this.beforePddAuth);
      } catch (e) {
        this.memberId = ''
      }
@@ -371,26 +426,39 @@
        this.pageInfo.showImgs.push(a)
        this.getrecommend()
      } else if (this.pageType == 'pdd') {
        /* if(this.optionsInfo.predictPromotionRate==0)
        {//比价订单
           this.remindModel=true;
        } */
      } else if (this.pageType == 'jd') {
      } else if (this.pageType == 'wph') {
      }
     else if(this.pageType=='dy')
     {
        //this.optionsInfo.imgs=[]
     }
    },
    methods: {
      closeMdl() {
        this.empowerModel = false
        this.pddempowerModel = false
      },
     closeremind()
     {
        this.remindModel=false;
     },
      getPageInfo(e) {
        var that = this;
      console.log(this.faction)
        if (this.faction == 'j') {
          this.$u.api.getJdsDetail({
            goodsId: this.optionsInfo.goodsId,
            goods: JSON.stringify(this.optionsInfo)
          }).then(e => {
            console.log(e);
           console.log(e)
            var res = e.data.detailPics;
            this.JdDetails = that.JdDetails.concat(res)
            that.$forceUpdate()
@@ -400,29 +468,19 @@
          this.$u.api.getGoodsDetail({
            goodsId: this.optionsInfo.goodsId
          }).then(e => {
            console.log(e)
            if (e.code != 0) return that.$alert(e.msg)
            var res = e.data.info;
            this.pageInfo = res
            this.pageInfo.showImgs = []
            console.log(this.pageInfo)
            this.pageInfo.imgs.map(items => {
              var a = {}
              a.url = items
              this.pageInfo.showImgs.push(a)
            })
            this.optionsInfo = res
            console.log(this.pageInfo);
          }).catch(function(err) {})
        } else if (this.faction == 'p') {
          var that = this;
          this.$u.api.getPddDetail({
            goods_sign: this.optionsInfo.goods_sign
          }).then(e => {
            var res = e.data;
            that.pageInfo = res;
         that.optionsInfo.imgs = that.pageInfo.imgs;
          })
         this.getPddGoodsDetail(this.optionsInfo.goods_sign);
        } else if (this.faction == 'w') {
          var that = this;
          this.$u.api.getWphGoodsDetail({
@@ -436,12 +494,10 @@
              a.url = items
              this.pageInfo.showImgs.push(a)
            })
            console.log(this.pageInfo);
          })
        }else if(this.faction == 'd'){
         var that = this;
         console.log(this.optionsInfo.goodsId);
         var that = this;
         this.$u.api.getDyGoodsDetail({
           goodsId: this.optionsInfo.goodsId
         }).then(e => {
@@ -453,17 +509,28 @@
         })
        }
      },
     getPddGoodsDetail(goods_sign)
     {
        var that = this;
        this.$u.api.getPddDetail({
          goods_sign: goods_sign
        }).then(e => {
          var res = e.data;
          that.pageInfo = res;
         console.log(res);
           that.optionsInfo.imgs = that.pageInfo.imgs;
         if(res.predictPromotionRate==0)
         {//比价订单
            this.remindModel=true;
         }
        })
     },
      goDetails(info) {
        info.searchSource = 1
        uni.navigateTo({
          url: './goodsDetail?info=' + encodeURIComponent(JSON.stringify(info))
        })
      },
      getrecommend() {
        var that = this;
        this.$u.api.getSimilerGoods({
@@ -522,9 +589,9 @@
            this.inviteCodeShow = true
          } else {
            console.log(this.pageType)
         console.log(this.user.tb_account)
            if (this.pageType == 'tb' || this.pageType == 'tmshop' || this.pageType == 'tm') {
              if (this.user.tb_account) {
                this.getTbsrc()
              } else {
                this.empowerModel = true
@@ -562,12 +629,16 @@
      },
      
      updataUser() {
        console.log('更新')
        var that = this;
        this.$u.api.getUserInfo({}).then(e => {
        console.log(e)
          utils.setCache('userInfo', e.data.userinfo)
          that.user = e.data.userinfo;
          console.log(that.user)
        if(that.pageType == 'pdd'&&!that.beforePddAuth&&(e.data.userinfo.pdd_authority_ios == 1||e.data.userinfo.pdd_authority_android == 1))
        {//重新查询商品详情
         console.log('重新查询pdd商品');
           that.getPddGoodsDetail(that.optionsInfo.goods_sign);0
        }
        }).catch(function(err) {})
      },
@@ -577,14 +648,15 @@
          goodsId: this.optionsInfo.goodsId,
          type: 0
        }).then(e => {
         console.log(e)
          if (e.code != 0) return that.$alert(e.msg)
        if(that.frompage=='freebuy')
        {//0元购的记录商品id
        console.log(e.data.info.itemId);
          console.log(e.data.info.itemId);
           this.$u.api.updateFirstFreeBrowse({
              goodsid:that.optionsInfo.goodsId,
              new_goodsId:e.data.info.itemId
              new_goodsId:e.data.info.itemId,
            plateform:'tb'
           }).then(e=>{
              
           });
@@ -597,12 +669,14 @@
              pname: 'com.taobao.taobao',
              action: 'taobao://'
            })) {
            const plug = uni.requireNativePlugin('xiguazhu-baichuan')
          console.log(tburl);
            plug.detailPage({
              url: tburl,
              "openType": 0
            }, result => {
              //  console.log(result);
              console.log(result);
            });
          } else {
            uni.navigateTo({
@@ -646,7 +720,20 @@
      },
      getJDsrc() {
        var that = this;
        var that = this;
        console.log(this.frompage);
        console.log(that.optionsInfo.goodsId);
        if(this.frompage=='freebuy')
        {//0元购的记录商品id
           this.$u.api.updateFirstFreeBrowse({
              goodsid:that.optionsInfo.goodsId,
              new_goodsId:that.optionsInfo.goodsId,
               plateform:'jd'
           }).then(e=>{
           });
        }
        this.$u.api.getPrivilegeLink({
          goodsId: this.optionsInfo.goodsId,
          type: 1
@@ -706,6 +793,16 @@
       }).then(e => {
         var res = e.data.info;
        console.log(res)
        if(that.frompage=='freebuy')
        {//0元购的记录商品id
           this.$u.api.updateFirstFreeBrowse({
              goodsid:that.optionsInfo.goodsId,
              new_goodsId:that.optionsInfo.goodsId,
            plateform:'dy'
           }).then(e=>{
           });
        }
         // #ifdef APP-PLUS
         plus.runtime.openURL(res.dy_deeplink, e => {
           uni.navigateTo({
@@ -819,6 +916,24 @@
  }
</style>
<style lang="scss" scoped>
   .pdd_pop_contant{
      background-color: rgb(255, 255, 255);
          padding: 40rpx;
          width: 80%;
         margin:0 auto;
          border-radius: 20rpx;
      .pdd_pop_title
      {
         text-align: center;
         margin-bottom: 30rpx;
         font-size: 18px;
      }
      .pdd_pop_text
      {
         margin-bottom: 30rpx;
         color: #868080;
      }
   }
  .container {
    .flexbox {
      position: fixed;
@@ -990,7 +1105,7 @@
        border-radius: 5rpx;
        padding: 0 20rpx;
        margin-bottom: 20rpx;
        .left-info {
          font-size: 24rpx;
          font-weight: 500;