From 8c00bd0245ca4756ca04483a4980ad202714e43e Mon Sep 17 00:00:00 2001
From: zhaojs <349234519@qq.com>
Date: 星期四, 20 七月 2023 09:40:44 +0800
Subject: [PATCH] Merge branch 'release/v1.1.4发布'

---
 public/html/freebuy.html |  390 ++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 326 insertions(+), 64 deletions(-)

diff --git a/public/html/freebuy.html b/public/html/freebuy.html
index c7e5d93..2d49258 100644
--- a/public/html/freebuy.html
+++ b/public/html/freebuy.html
@@ -16,7 +16,7 @@
     <meta content="telephone=no,email=no" name="format-detection">
     <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover">
     <script type="text/javascript" src="https://public.ffquan.cn/lib/jquery-1.12.4.min.js"></script>
-    <script type="text/javascript" src="https://public.ffquan.cn/lib/vue/vue@2.6.11.min.js"></script>
+    <script type="text/javascript" src="https://cdn.staticfile.org/vue/2.6.11/vue.min.js"></script>
     <script type="text/javascript" src="https://public.ffquan.cn/lib/vue-lazyload.js"></script>
     <script type="text/javascript" src="https://public.ffquan.cn/lib/swiper/js/swiper.min.js"></script>
     <script type="text/javascript" src="https://public.ffquan.cn/lib/taobaoCode/taobaoCode.js?v=1.2.1"></script>
@@ -40,10 +40,7 @@
             margin: auto; max-width: 800px; font-size: .28rem; overflow: hidden; position: relative; z-index: 1;
             overflow: hidden;
         }
-        #appMain:before {
-            content: "";display: block;position: absolute;top: 0;left: -20%;height: 3.88rem;width: 140%;background: linear-gradient(90deg,#fbe7e2,#fbe7e2) no-repeat;background-size: 100%;
-            border-radius: 0 0 50% 50%;z-index: -1;
-        }
+    
        
         .h3bt {
             width: 1.66rem;
@@ -55,12 +52,14 @@
         .act_header{
             z-index: 200; width: 100%; background: no-repeat top; background-size: 100% auto;
             display: flex; align-items: center; justify-content: space-between;
-            position: fixed;background: linear-gradient(90deg, #fbe7e2 0%, #fbe7e2 100%) 0% 0% / 100%;
+            background: linear-gradient(#FF451F, #fbe7e2);
              color: #fff;
             max-width: 800px;
         }
         .act_header .centent{
             text-align: center;
+           
+            padding-top: 0.6rem;
         }
         .act_header .centent img{
             width:100%;
@@ -158,7 +157,7 @@
 
 
         .list-section{
-            display: -webkit-flex;display: flex;-webkit-flex-wrap: wrap;flex-wrap: wrap;-webkit-justify-content: space-between;justify-content: space-between;padding: 0 1.87%;
+            display: -webkit-flex;display: flex;-webkit-flex-wrap: wrap;flex-wrap: wrap;-webkit-justify-content: space-between;justify-content: space-between;padding: 0 1.87%;margin-top: 0.05rem;
         }
         .list-section .listTmp{
             width: 49%;background: #fff;border-radius: .08rem;margin-bottom: .14rem;box-sizing: border-box;
@@ -218,7 +217,7 @@
         }
 
         .loading{
-            line-height: 1rem; text-align: center; font-size: .3rem; color: #999;
+            line-height: 2rem; text-align: center; font-size: .3rem; color: #999;
         }
         .sys{
             width: 100%;
@@ -230,33 +229,119 @@
             center center no-repeat;
             background-size: 2.4rem auto;
         }
+
+    .sort {
+        background-color: #ea2424;
+        border-radius: .2rem .2rem 0 0;
+        }
+
+.sort-list {
+    display: flex;
+    border-bottom: .02rem solid #eb3a15;
+    color: #ff8f78;
+    justify-content: space-between
+}
+
+.sort-list>li {
+    width: 25%;
+    font-size: .26rem;
+    font-weight: 500;
+    color: #ff8f78;
+    display: inline-flex;
+    align-items: center;
+    justify-content: center;
+    padding: .24rem 0
+}
+
+.sort-list>li.sort-active {
+    color: #fff
+}
+
+.sort-list>li span {
+    position: relative;
+    height: .16rem;
+    margin-left: .06rem
+}
+
+.sort-list>li span i {
+    position: absolute;
+    width: 0;
+    height: 0;
+    border-color: #b92709 transparent transparent;
+    border-style: solid;
+    border-width: .06rem .06rem 0
+}
+
+.sort-list>li span i:first-child {
+    transform: rotate(180deg)
+}
+
+.sort-list>li span i:nth-child(2) {
+    bottom: 0
+}
+
+.sort-list>li span i.arrow-active {
+    border-color: #f2f2f2 transparent transparent
+}
+.appback
+{
+    height: 0.5rem;
+    position: absolute;
+    top: 0.5rem;
+    left: 0.4rem;
+}
+.appback-img
+{
+    height: 100%;
+}
+.box
+        {
+            position:absolute;
+            width: 100%;
+            height: 100%;
+            background: url(https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/h5loading.gif) no-repeat fixed top;
+            background-size: 70px 70px;
+        }
+        .list{
+            position: relative;
+            top: 0;
+            width: 100%;
+        }
     </style>
 </head>
 
-<body >
+<body style="background: #fbe7e2;">
+    <div class="box">
+        <div class="list">
     <div id="appMain" >
+        <div class="appback">
+            <image v-on:click="topBack()" class="appback-img" src="https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/h5return_backIcon.png"></image>
+        </div>
     <header class="act_header">
         <div></div>
         <div class="centent"><img src="https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/xinrengoubanner.png" alt=""></div>
-        <div class="share">
-            <!-- <a href="">鍒嗕韩</a> -->
-        </div>
     </header>
-   
-    <div :style="{ height: (twoNav && twoNav.length > 0) ? '2.3rem' : '2.3rem'}"></div>
+    <div class="sort">
+        <ul class="sort-list">
+          <li v-for="item in fristOrderSort" v-bind:class="{'sort-active': item.number == sortNumber}"
+              v-on:click="handleSort(item)">
+            {{ item.name }}
+          </li>
+        </ul>
+      </div>
+    <div v-if="loading" v-else class="loading">鍔犺浇涓�...</div>
     
-    <div v-if="!loading" style="min-height: 100vh;" class=" swiper-container swiper-container-initialized swiper-container-horizontal swiper-container-free-mode swiper-container-ios">
+    <div v-else style="min-height: 100vh; background: #fbe7e2;" class=" swiper-container swiper-container-initialized swiper-container-horizontal swiper-container-free-mode swiper-container-ios">
             <div class="swiper-wrapper" style="transform: translate3d(0px, 0px, 0px);">
                 <div class="swiper-slide list-section">
                             <div class="listTmp " v-for="(data,key) in lists" :key="key" v-on:click="targetItem(data)">
                                     <div class="productImg">
-                                        <img :src="data.mainPic + '_310x310.jpg'" class="fadeIn " height="200" width="200">
+                                        <img :src="data.mainPic + (plat=='tb'?'_310x310.jpg':'')" class="fadeIn " height="200" width="200">
                                     </div>
                                     <div class="productInfo">
-                                        <div class="title">
-                                            <div class="shoplabel ">
-                                                <img src="">
-                                            </div>
+                                        
+                                         <div class="title">
+                                           
                                             <span>{{data.dtitle}}</span>
                                         </div>
                                         
@@ -285,8 +370,9 @@
             <div class="swiper-pagination"></div>
             <span class="swiper-notification" aria-live="assertive" aria-atomic="true"></span>
     </div>
-    <div v-else class="loading">鍔犺浇涓�...</div>
-
+   
+</div>
+    </div>
 </div>
 </body>
 
@@ -294,14 +380,17 @@
 <script src="https://polyfill.io/v2/polyfill.min.js?features=IntersectionObserver"></script>
 <script>
     (function(){
-        var size = (document.body.clientWidth || document.documentElement.clientWidth);
+        var size1=document.body.clientWidth;
+        var size2=document.documentElement.clientWidth;
+        var size=size1<=0?size2:size1;
+        size=size<=0?400:size;
         document.documentElement.style.fontSize = (size > 750 ? 750 : size) / 7.5 + 'px';
     })();
 
     Vue.use(VueLazyload, {
         preLoad: 1.3,//
         error: 'https://sr.ffquan.cn/cms_pic/20200622/bro7s7f6vrkd3jat4ujg0.png',
-        loading: 'https://sr.ffquan.cn/cms_pic/20200612/brhjkf76vrkcrfpi79eg0.png',
+      //  loading: 'https://sr.ffquan.cn/cms_pic/20200612/brhjkf76vrkcrfpi79eg0.png',
         attempt: 1
     })
     new Vue({
@@ -312,19 +401,139 @@
                 goodsList:[],
                 robbingNum:0,
             },
+            sortNumber:'tb',
+            sortId:0,
+            fristOrderSort: [
+                    {
+                    name: "娣樺疂",
+                    bool: true,
+                    max: "",
+                    min: "",
+                    number: 'tb'
+                    },
+                    {
+                    name: "鎶栭煶",
+                    bool: true,
+                    max: "",
+                    min: "",
+                    number: 'dy'
+                    },
+                    {
+                    name: "浜笢",
+                    bool: true,
+                    max: "",
+                    min: "",
+                    number: 'jd'
+                    }
+              ],
             goodsItem: [],
             lists:[],
             nav:[],
             active:0,
             twoNav:false,
             activeTwo:undefined,
-            loading:false,
-            isUniReady:false
+            loading:true,
+            isUniReady:false,
+            plat:'tb',
+            //posturl:"http://dfg.shop.com"
+            //posturl:"http://appapitest.ushopvip.com"
+            //posturl:"http://dfgapp.ushopvip.com"
         },
         methods: {
-           
+            topBack:function()
+            {
+                uni.postMessage({
+                      data: {
+                         action: 'back'
+                      }
+                     });
+            },
+            touch:function()
+            {
+                const box = document.querySelector('.box')
+                const list = document.querySelector('.list');
+                // 鎸変笅灞忓箷鐨勪綅缃�
+                let touchStartPosition = 0
+            
+                // touchstart浜嬩欢
+                box.addEventListener('touchstart', function (e) {
+                    let touch = e.touches[0]
+                    touchStartPosition = touch.pageY
+                })
+                // touchmove浜嬩欢
+                box.addEventListener('touchmove', function (e) {
+                   
+                    let touch = e.touches[0]
+                    // 鍒楄〃鐨則op鍊肩瓑浜庡垪琛ㄧ浉瀵逛簬box鐨勫亸绉婚噺+婊戝姩鐨勮窛绂�
+                    let pySize= list.offsetTop + touch.pageY - touchStartPosition;
+                    if(pySize>=110)
+                    {
+                      return;
+                    }
+                    if(pySize<0)
+                    {
+                        return;
+                    }
+                    var scroll = document.getElementsByClassName('contscore')
+                        var srollPos = $('.contscore').scrollTop(); //婊氬姩鏉¤窛椤堕儴璺濈(椤甸潰瓒呭嚭绐楀彛鐨勯珮搴�)
+                    if(srollPos>0)
+                    {
+                        return;
+                    }
+                    list.style.top =pySize + 'px';
+                    // 瀹炵幇骞虫粦鐨勬粦鍔�
+                    touchStartPosition = touch.pageY
+                })
+                // touchend浜嬩欢
+                box.addEventListener('touchend', function (e) {
+                    let top = list.offsetTop
+                    if (top > 70) {
+                        // 鍦ㄦ澶勮皟鐢ㄥ埛鏂板悗鐨勫洖璋�
+                        console.log('鍒锋柊');
+                        location.reload();
+                    }
+                    if(top<0)
+                    {
+                        list.style.top=0;
+                    }
+                    if (top > 0) {
+                        // 閫氳繃瀹氭椂鍣ㄥ钩婊戠殑灏唋ist鐨則op = 0
+                        let timer = setInterval(() => {
+                            top=top-5;
+                        list.style.top = top + 'px'
+                        if (top <= 0) {
+                            list.style.top=0;
+                            clearInterval(timer)
+                        }
+                        },1)
+                    }
+                })
+            },
+            Infoformat: function(info){
+                info = info.replace(/\%/g,"%25")
+            info = info.replace(/\#/g,"%23")
+            info = info.replace(/\&/g,"%26")
+            info = info.replace(/\?/g,"%3F")
+            return info;
+            },
             targetItem:function(item){
-                if(this.isUniReady)
+                switch(this.plat)
+                {
+                    case "tb":
+                        uni.navigateTo({
+                            url: '/pages/goods/goodsDetail?id=' + item.goodsId+'&frompage=freebuy'
+                        });
+                        break;
+                    case "dy":
+                    case "jd":
+                        var itemsStr=this.Infoformat(JSON.stringify(item));
+                        uni.navigateTo({
+                            url: '/pages/goods/goodsDetail?sourcefrom=freebuy&info=' + itemsStr+'&frompage=freebuy'
+                        });
+                        break;
+                }
+              
+                /* if(this.isUniReady)
                 {
                     uni.postMessage({
                       data: {
@@ -332,9 +541,17 @@
                          data:item
                       }
                      });
+                } */
+            },
+            handleSort: function(item) {
+                if(this.sortNumber != item.number) {
+                    this.loading=true;
+                    this.lists=[];
+                    this.getgoodsSwitch(item.number);
+                    this.sortNumber = item.number;
+                    this.plat=item.number;
                 }
             },
-            
             getUrlPar:function(name)
             {
                 var reg=new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
@@ -342,7 +559,77 @@
                 if(r !=null)return unescape(r[2]);
                  return null;
             },
-            getGoodsList:function(){
+             //鑾峰彇浜笢鍟嗗搧
+             getJdGoodsList:function(){
+                var _this=this;
+                $.ajax({
+                            headers:{
+                                "token":_this.getUrlPar("token")
+                            },
+                            url:'/api/taoke/get_first_free_jd_goods', 
+                            type:"post",
+                                dataType:"json",
+                            data:{
+                            }
+                            }).done(function(res){
+                            _this.lists=[].concat([],res.data.list);
+                            _this.loading = false;
+                     })
+            },
+            //鑾峰彇鎶栭煶鍟嗗搧
+            getDyGoodsList:function(){
+                var _this=this;
+                $.ajax({
+                            headers:{
+                                "token":_this.getUrlPar("token")
+                            },
+                            url:'/api/taoke/get_first_free_dy_goods', 
+                            type:"post",
+                                dataType:"json",
+                            data:{
+                            }
+                            }).done(function(res){
+                            _this.lists=[].concat([],res.data.list);
+                            _this.loading = false;
+                     })
+            },
+            //鑾峰彇娣樺疂鍟嗗搧
+            getTbGoodsList:function()
+            {
+                var _this=this;
+                $.ajax({
+                            headers:{
+                                "token":_this.getUrlPar("token")
+                            },
+                            url:'/api/taoke/get_first_free_goods', 
+                            type:"post",
+                                dataType:"json",
+                            data:{
+                                page: 1,
+                                pageSize:40,
+                            }
+                            }).done(function(res){
+                            _this.lists=[].concat([],res.data.list);
+                            _this.loading = false;
+                     })
+            },
+            getgoodsSwitch:function(plat)
+                {
+                    switch(plat)
+                        {
+                            case "tb":
+                                this.getTbGoodsList();
+                                break;
+                            case "dy":
+                                this.getDyGoodsList();
+                                break;
+                            case"jd":
+                                this.getJdGoodsList();
+                                break;
+                        }
+                },
+            //鏄惁棣栧崟
+            getIsSd:function(){
                 var _this = this;
                 this.loading=true;
                 //鍒ゆ柇鏄惁棣栧崟
@@ -350,47 +637,22 @@
                     headers:{
                         "token":_this.getUrlPar("token")
                     },
-                    //url:'http://dfg.shop.com/index.php/api/user/check_isfirst_free', 
-                   //url:'http://dfgapp.ushopvip.com/api/user/check_isfirst_free',
-                   url:'http://appapitest.ushopvip.com/api/user/check_isfirst_free', 
+                   url:'/api/user/check_isfirst_free',
                    type:"post",
                     dataType:"json",
                     data:{
+
                     }
                 }).done(function(res){
                     if(res.msg.info==1)
                     {
-                        $.ajax({
-                            headers:{
-                                "token":_this.getUrlPar("token")
-                            },
-                                //url:'http://dfg.shop.com/index.php/api/taoke/get_first_free_goods', 
-                            //url:'http://dfgapp.ushopvip.com/api/taoke/get_first_free_goods',
-                            url:'http://appapitest.ushopvip.com/api/taoke/get_first_free_goods', 
-                            type:"post",
-                                dataType:"json",
-                            data:{
-                                nineCid:1,
-                                page: 1,
-                                pageSize:20,
-                            }
-                            }).done(function(res){
-                                    var newlist=[];
-                                    res.data.list.map(function(r,k){
-                                        var buprice=r.actualPrice-r.topFanli;
-                                        if(buprice<=3)
-                                        {
-                                            newlist.push(r);
-                                        }
-                            })
-                            _this.lists=[].concat(_this.lists,newlist);
-                            _this.loading = false;
-                     })
+                        _this.getgoodsSwitch(_this.plat);
                     }
                     else{
                         alert("鎮ㄥ凡涓嬭繃棣栧崟锛屼笉鍙啀娆¤喘涔帮紝璇锋祻瑙堝叾浠栧晢鍝佸惂~");
+                      
                         setTimeout(function(){
-                            if(this.isUniReady)
+                            if(_this.isUniReady)
                             {
                                 uni.postMessage({
                                 data: {
@@ -398,16 +660,16 @@
                                 }
                                 });
                            }
-                        }, 3000 )
+                        }, 1000 )
                     }
                 })
-
-                
             },
         },
+      
         mounted: function () {
-            this.getGoodsList();
+            this.getIsSd();
             var that=this;
+            this.touch();
             document.addEventListener('UniAppJSBridgeReady', function() {
             that.isUniReady=true;
             });

--
Gitblit v1.9.3