From 34db7035c9c7880e00b9328d022be65a29c62cb2 Mon Sep 17 00:00:00 2001
From: zhaojs <349234519@qq.com>
Date: 星期一, 31 七月 2023 10:40:56 +0800
Subject: [PATCH] Merge branch 'feature/v1.1.5接口' into develop

---
 public/html/compareprice.html |  407 +++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 333 insertions(+), 74 deletions(-)

diff --git a/public/html/compareprice.html b/public/html/compareprice.html
index 0c4c5e1..81fb256 100644
--- a/public/html/compareprice.html
+++ b/public/html/compareprice.html
@@ -28,7 +28,6 @@
         {
             width: 95%;
             margin: 0 auto;
-            min-height: 23rem;
             margin-top: 5.3rem;
             position:relative;
         }
@@ -104,7 +103,7 @@
             width: 100%;
             text-align: center;
             margin: 0 auto;
-            line-height: 6.2rem;
+            line-height: 1.2rem;
             color: #a69b9b;
             font-size: 14px;
         }
@@ -120,15 +119,15 @@
         }
         .detail___3ZQFW {
         background-color: #fff;
-        height: 2.2rem;
+        height: 2.6rem;
         border-radius: .16rem;
         padding: .1rem;
         position: relative;
         box-sizing: border-box;
     }
     .picture___r4a1j {
-        height: 2rem;
-        width: 2rem;
+        height: 2.4rem;
+        width: 2.4rem;
         border-radius: .1rem;
         position: absolute;
         left: .1rem;
@@ -138,8 +137,8 @@
         -webkit-justify-content: space-between;
         -ms-flex-pack: justify;
         justify-content: space-between;
-        padding-left: 2.2rem;
-        height: 2rem;
+        padding-left: 2.5rem;
+        
         width: 100%;
         overflow: hidden;
         -webkit-align-items: flex-start;
@@ -162,7 +161,7 @@
         justify-content: flex-start;
         padding: 0;
         margin: 0;
-        height: .4rem;
+        height: .85rem;
         font-size: .28rem;
         font-family: PingFangSC-Regular, PingFang SC;
         font-weight: 400;
@@ -171,6 +170,7 @@
         display: flex;
         flex-direction: row;
         flex-wrap: nowrap;
+        width: 100%;
     }
 
     .shoplabel___1_Nv0 img {
@@ -184,7 +184,7 @@
 
     .shoplabel___1_Nv0 {
         height: .26rem;
-        float: left;
+        display:inline-block;
         position: relative;
         top: .05rem;
     }
@@ -204,7 +204,7 @@
     }
 
     .coupon___2SVZi {
-        margin-top: 6px;
+        margin-top: 3px;
         height: .28rem;
         background: linear-gradient(
                 90deg, #ff8873, #ff4f4f);
@@ -269,19 +269,18 @@
         line-height: .32rem;
     }
     .detail___3ZQFW .choiceInfo___3ZuEa .price___dfbCD {
-        margin-bottom: .16rem;
+      
         -webkit-justify-content: flex-start;
         -ms-flex-pack: start;
         justify-content: flex-start;
         -webkit-align-items: baseline;
         -ms-flex-align: baseline;
         align-items: baseline;
-        height: .24rem;
         font-size: .24rem;
         font-family: PingFangSC-Medium, PingFang SC;
         font-weight: 500;
         color: #fe3738;
-        line-height: .24rem;
+        line-height: .54rem;
     }
 
     .detail___3ZQFW .choiceInfo___3ZuEa .operation___3KazI {
@@ -296,55 +295,145 @@
     * {
         box-sizing: border-box;
     }
+    .loading{
+        display: flex;
+        position: fixed;
+        width: 100vw;
+        height: 100vh;
+        background: rgb(0 0 0 / 67%);
+        top: 0;
+        left: 0;
+        z-index: 10;
+        justify-content: center;
+        align-items: center;
+        font-size: .35rem;
+        color: #fff;
+        }
+        .showshop
+        {
+            font-size: .26rem;
+            color: #787070;
+        }
+        .goodtitle
+        {
+            overflow: hidden;
+            text-overflow: ellipsis;
+            display: -webkit-box;
+            -webkit-line-clamp: 2;
+            -webkit-box-orient: vertical;
+        }
+        .price_font
+        {
+            font-size: .26rem;
+            color: #787070;
+        }
+        .plat-div
+        {
+            font-size: 0.28rem;
+            padding: 0.2rem;
+            background: #fff;
+            margin-bottom: 0.2rem;
+            display: flex;
+            border-radius: .16rem;
+            align-items: center;
+        }
+        .plat-ite
+        {
+            width: 20%;
+            text-align: center;
+            margin-right: 0.1rem;
+            border-radius: 0.1rem;
+            color: #fff;
+            display: flex;
+            justify-content: center;
+            align-items: center;
+            background: #F79633;
+            padding: 0.1rem;
+        }
+        .plat-unite
+        {
+            background: #fff;
+            border:1px solid #F79633;
+            color:#F79633;
 
+            width: 20%;
+            text-align: center;
+            margin-right: 0.1rem;
+            border-radius: 0.1rem;
+            display: flex;
+            justify-content: center;
+            align-items: center;
+            padding: 0.1rem;
+        }
     </style>
 </head>
 
 <body style="background: #f5f5f9;">
     <div id="comprice">
+        <div v-if="loading" class="loading">鍔犺浇涓�...</div>
         <image class="top-content" src="https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/compareprice_topimg.png"></image>
         <div class="main-content">
-          
             <div class="mid-content">
                 <div class="mid-content-con">
                     <div class="content-tip" v-on:click="clear()">
                         娓呯┖
                     </div>
                     <div class="content-txtarea">
-                        <textarea class="txtarea" v-model="txtareatxt" :placeholder='txtplaceholder'></textarea>
+                        <textarea enterkeyhint="search" onkeydown="onTextareaKeyDown()" class="txtarea" v-model="txtareatxt" :placeholder='txtplaceholder'></textarea>
                         <span class="copytxt" v-on:click="fromcopy()">绮樿创</span>
                     </div>
                     <div class="mid-button-content">
-                        <div class="mid-button-content-img">
+                        <div class="mid-button-content-img" v-on:click="search()">
                             <image style="width: 100%;" src="https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/compareprice_search.png"></image>
                         </div>
                     </div>
                 </div>
                 <div class="cont-title">
-                    鏌ヨ鎺掕
+                    {{showTxt}}
                 </div>
                     <div v-if="goodsItem.length==0" class="mid-content-none">
                         鏆傛棤鏁版嵁~
                     </div>
                     <div v-else class="ulist">
+                        <div class="plat-div" v-if="issearch">
+                            <span>骞冲彴锛�</span>
+                            <div v-on:click="changeplat(item)" :class="item.choose?'plat-ite':'plat-unite'" v-for="item in plat">
+                                <span class="plat-span" v-if="item.choose">
+                                    鈭歿{item.platname}}
+                                </span>
+                                <span class="plat-span" v-else>
+                                    {{item.platname}}
+                                </span>
+                            </div>
+                           
+                        </div>
                         <a v-for="g in goodsItem" :key="g.id" v-on:click="handleCdetailFavorite(g)">
                             <div class="detail___3ZQFW">
-                                <img :src="g.pic"
+                                <img :src="g.mainPic"
                                     class="fadeIn picture___r4a1j">
                                 <div class="choiceInfo___3ZuEa">
                                     <div class="other___2Mv8Q">
                                         <h2>
-                                            <div class="shoplabel___1_Nv0"><img
-                                                    src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAaCAYAAADIUm6MAAAE60lEQVRYw9WYbVBUVRjHz+gH/OCHdCY/WE1OGTNWU40ibIqSE6IGZpoGgrGUyAjrYkrI2yqIKGjN+FLONOk4aI6azZqZmu+ama9oElmOGApqvrK6KjBp8uvDc5a7d3eBJZsp78xv9p7/eZ7/8+y95yxnUEopRZ4tFIfdicPuxjGFoCnQODqKXdOhHDcOu5M8W6hqaTonw0VOBo8ILvJsoYqsdCfTJ/NIkZXuVNjT3NgnEZg0H9qLm/Qv01r9NLdi8kRMzMyFBw/+OWfPGF6VJ6GpEepqwbkebGnmWtVnAKCsxKzv3in6mi/w60+jmPgeJvJyeKjrbLXhVVVlnvthv+hfroWfK+HuXdGrq2Xs4fp10S9elHHpXHz7VCRbwZpsJiUlMA6HGNbVtR5jTYHkZMFqhdRUKJsPDY3Q3AxTbHDgQMcexpIlkGz1IhlF4gRaGN8OM/LEqLaONvMSA3DqlOQWzobsXJhXBnUXRCtfJWMPRytE37ZdxpMz/HwV4xIJmiy9jM7XBp8TPwFWrITGRsktKjHmDh6CK1fhw1xzzrqvRF+8tFVfxVsJ+BOv8dGnZkvxc7UEzvMhv0i+pPflKG7dv736Xihix2HiSAVU/WrmF03171K8qSnwvIdl5eK1co3EX7gEly7LfV4RrHNCzbngKSiG2He8GIci5m1MuG/z0Nem78QrNgE+WQax8VBxUuayC2Hnvo75FX+Eb5+KIaMxYcuBzHxhqsYz3uFVsHSRofuSlG72HJ4A1TWSN20mbN8r95+VQ4pdOHRMtKUrDO3Icb2h5+PbpyJyFEExaBTUeK3Xz1d7zb/pg5deUAqXrxp59nzYtkdv1I+NWM9DmbXA0HbtF62gzFxn0CgUEXFgaYUIjSUO8krFpEH/OtTfhOh4HTvSB52zeoPRcHOzfKbnwtbdcj9zgeG/Tb+F/DIjf4duPHeeX1+Kfm/QLjFJcL1eP6WFcPiE3G/Z03ZeUibccEHxIjiq13jqDNi8S+5dt+CPq0JjU+ta9lw/b8VLw2mTV8dA1WkxOHgcXh4Bce/DnQbRPl3Zdn7YSPk8Vinx1izYtKtjm3P6HD9fRZ+h0CdGM9TM4Hij6TPnYMBYWuJthXD/L73e18LzAfI9vBIHt/Sv1ZBE2KgPUcVLICoBosbDTn0MKFyktQTYfVC0zNk+njEoer9OQJKy4Io+7FSfB8tY/5hpc+HefYnZexgiAsQ8Fw3rt0pMRZVoX++Q8QclRtw3+i1kFhvaZr2JbUV+voqnh2DixTgo3yBHVIDvj0Lf0fjFeUiYJusS4MZNmFoCvfTcC7HwrS5+pwFGpIq+aqNoC8sNH89byJgt42ejoVK/7Xez/eoqeg6GnlEGx/Vh6N59mL8cnnzNPN8zCsnxou8Y2HfM68/6Yolbu0XGN90wxg5PRAmj7fJgmpvly15zQdOfEuu+A9fq4bY+8l68Ar2H+dVX9IikhccjIXUW/PgTRE6QcSC841u0QWCbA7/VQO8RMm8ZDwdOQP94THV6RMKUEqi/1famrDwNUdaA9RXdBrjpNgAzA/HXvHhME2iu+0D/uNbiuw+EXsPgmeH+PBXdVg9uRVeLk64WhAiN5T8i6PpORUh4KF3CXYT0xyDch/7tEGxcsP5tzHcJdxESrv+3EhIeSucwJ53C3HTqx/+TMDedw5yepv8GV1+TBUuIRhcAAAAASUVORK5CYII=">
-                                            </div>
-                                            <span>{{g.title}}</span></h2>
-                                        <div class="coupon___2SVZi" style="float: left; margin-right:10px"><span>鍒�</span>{{g.quanJine}}鍏�</div>
-                                        <div class="coupon___2SVZi" style="background: #A429F3;"><span style="color: #A429F3;">杩�</span>{{g.fanli}}鍏�</div>
+                                            <!-- <div class="shoplabel___1_Nv0"><img
+                                                    :src="g.labelImg">
+                                            </div> -->
+                                            <div class="goodtitle">
+                                                <img class="shoplabel___1_Nv0" :src="g.labelImg">
+                                                {{g.title}}</div></h2>
+                                        <div v-if="g.couponPrice" class="coupon___2SVZi" style="float: left; margin-right:10px"><span>鍒�</span>{{g.couponPrice}}鍏�</div>
+                                        <div v-if="isshowfan" class="coupon___2SVZi" style="background: #A429F3;"><span style="color: #A429F3;">杩�</span>{{g.fanli}}鍏�</div>
+                                       
                                     </div>
-                                    <div class="price___dfbCD">楼<span>{{g.jiage}}</span><u style="text-decoration:line-through">鑱氬垝绠椾环 楼{{g.yuanjia}}</u></div>
-                                    <div class="operation___3KazI">
-                                        <button>椹笂鎶�</button>
-                                    </div>
+                                    <div class="price___dfbCD">
+                                        <span class="price_font" style="font-size: .26rem; font-weight: 500;">鍒版墜浠�</span><span style="padding: 0;">楼</span>
+                                        <span v-if="isshowfan" style="padding: 0 .08rem 0 0;">{{(g.actualPrice-g.fanli).toFixed(2)}}</span>
+                                        <span v-else style="padding: 0 .08rem 0 0;">{{g.actualPrice}}</span>
+                                        <u v-if="g.sourceType=='tb'||g.sourceType=='tm'" style="text-decoration:line-through">楼{{g.originalPrice}}</u></div>
+                                   <!--  <div class="operation___3KazI">
+                                        <button>绔嬪嵆璐拱</button>
+                                    </div> -->
+                                    <div class="showshop">鏈堥攢{{g.monthSales}}</div>
+                                    <div class="showshop">{{g.shopName}}</div>
                                 </div>
                             </div>
                         </a>
@@ -357,7 +446,8 @@
 </body>
 
 </html>
-<script type="text/javascript" src="https://cdn.staticfile.org/vue/2.6.11/vue.min.js"></script>
+<script type="text/javascript" src="./js/vue.js"></script>
+<script type="text/javascript" src="./js/md5.js"></script>
 <script>
 
 (function () {
@@ -369,7 +459,21 @@
     })();
     function scanCode(str)
     {
-        app.coptest(str);
+        app.copytxt(str);
+    }
+    function likeDataGet(data)
+    {
+        app.likeDataGet(data);
+    }
+
+    function onTextareaKeyDown()
+    {
+        if (event.keyCode == 13)
+        {
+            app.search();
+            document.activeElement.blur();
+        }
+       
     }
     Vue.use(VueLazyload, {
         preLoad: 1.3,//
@@ -381,20 +485,170 @@
         el: '#comprice',
         data:{
           //posturl:'http://dfg.shop.com',
-          posturl:'https://appapitest.ushopvip.com',
+         // posturl:'http://appapitest.ushopvip.com',
           //posturl:'http://dfgapp.ushopvip.com',
           goodsItem:[],
+          loading:false,
+          isshowfan:false,
+          plat:[
+            {
+                'platname':'娣樺疂',
+                'plat':'tb',
+                'choose':true
+            },
+            {
+                'platname':'浜笢',
+                'plat':'jd',
+                'choose':true
+            },
+            {
+                'platname':'鎶栭煶',
+                'plat':'dy',
+                'choose':true
+            },
+            {
+                'platname':'鎷煎澶�',
+                'plat':'pdd',
+                'choose':true
+            },
+          ],
           txtareatxt:'',
-          txtplaceholder:'1銆佹敮鎸佹窐瀹濄�佸ぉ鐚�佷含涓溿�佹姈闊炽�佹嫾澶氬绛夊瀹剁數鍟� \r\n 2銆佽绮樿创鎮ㄩ渶瑕佽浆鎹㈢殑鍒嗕韩鏂囨/閾炬帴鍜屽彛浠�/鍟嗗搧閾炬帴;涓嶆敮鎸佸埜閾炬帴'
+          issearch:false,
+          showTxt:'鐚滀綘鍠滄',
+          txtplaceholder:'1銆佹敮鎸佹窐瀹濄�佸ぉ鐚�佷含涓溿�佹姈闊炽�佹嫾澶氬绛夊钩鍙癨r\n2銆佽绮樿创鎮ㄩ渶瑕佽浆鎹㈢殑鍒嗕韩鏂囨/閾炬帴鍜屽彛浠�/鍟嗗搧閾炬帴;涓嶆敮鎸佸埜閾炬帴'
         },
         methods:{
+            changeplat:function(item)
+            {
+                var index=this.plat.findIndex(i=>i.plat==item.plat);
+                item.choose=!item.choose;
+                this.plat[index]=item;
+                this.search();
+            },
+            //鏌ヨ
+            search:function()
+            {
+                if(this.txtareatxt=='')
+                {
+                    return;
+                }
+                this.showTxt="鏌ヨ缁撴灉";
+                this.goodsItem=[];
+                var that = this;
+                this.loading = true
+                var postData={
+                        content:that.txtareatxt
+                    };
+                //鏌ョ湅涓嶇湅鐨勫钩鍙�
+                var cancelPlat=this.plat.filter(i=>!i.choose);
+                if(cancelPlat&&cancelPlat.length>0)
+                {
+                    for(var i=0;i<cancelPlat.length;i++)
+                    {
+                        switch(cancelPlat[i].plat)
+                        {
+                            case "tb":
+                                postData.exclude_tb=1;
+                                break;
+                            case "jd":
+                                postData.exclude_jd=1;
+                                break;
+                            case "pdd":
+                                postData.exclude_pdd=1;
+                                break;
+                            case "dy":
+                                postData.exclude_dy=1;
+                                break;
+                        }
+                    }
+                }
+                var header=this.getPostHeader(postData);
+                $.ajax({
+                    headers:header,
+                    url:'/api/taoke/compare_good',
+                    type:"post",
+                    dataType:"json",
+                    data:postData
+                }).done(function(res){
+                    that.loading = false;
+                    that.issearch=true;
+                    if(res.code == 0){
+                        that.goodsItem=res.data.list;
+                    }                       
+                })
+
+            },
+            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;
+            },
+            handleCdetailFavorite:function(item)
+            {
+                if(this.isshowfan)
+                {
+                    switch(item.sourceType)
+                    {
+                        case "tb":
+                        case "tm":
+                            uni.navigateTo({
+                                url: '/pages/goods/goodsDetail?id=' + item.goodsId+'&frompage=compareprice'
+                            });
+                            break;
+                        default:
+                            var itemsStr=this.Infoformat(JSON.stringify(item));
+                            uni.navigateTo({
+                                url: '/pages/goods/goodsDetail?sourcefrom=compareprice&info=' + itemsStr+'&frompage=compareprice'
+                            });
+                            break;
+                    }
+                }
+                else{
+                    var itemsStr=this.Infoformat(JSON.stringify(item));
+                    uni.navigateTo({
+                        url: '/pages/goodDetail/index?id=' + item.goodsId+'&info'+itemsStr
+                    });
+                }
+            },
+            likeDataGet:function(postData)
+            {
+                var _this=this;
+                var data={
+                        deviceType:postData.postData,
+                        deviceValue:postData.deviceValue,
+                        pageId:1,
+                        pageSize:10,
+                        type:1
+                    };
+                var header=this.getPostHeader(data);
+                $.ajax({
+                    headers:header,
+                    url:'/api/taoke/get_goods_things',
+                    type:"post",
+                    dataType:"json",
+                    async: false,
+                    data:data
+                }).done(function(res){
+                    _this.goodsItem=res.data.list;
+                    console.log(res);                   
+                })
+            },
+            getLikeGoods:function()
+            {
+                uni.postMessage({
+                    data: {
+                        action: 'getlike'
+                    }
+                })
+            },
             clear:function()
             {
                 this.txtareatxt='';
             },
             copytxt(str)
             {
-                alert(str.data);
                 if(str&&str.data&&str.data.length>0)
                 {
                     this.txtareatxt=str.data;
@@ -408,25 +662,6 @@
                     }
                 })
             },
-            getCmsUrl:function(){
-                var _this = this;
-                _this.loading=true;
-                $.ajax({
-                    headers:{
-                        "token":this.getUrlPar("token")
-                    },
-                  
-                    url:_this.posturl+'/api/activity/cmsGet',
-                    type:"post",
-                    dataType:"json",
-                    async: false,
-                    data:{
-                       
-                    }
-                }).done(function(res){
-                                               
-                })
-            },
             getUrlPar:function(name)
             {
                 var reg=new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
@@ -434,31 +669,55 @@
                 if(r !=null)return unescape(r[2]);
                  return null;
             },
-            
-            getGoodsList: function () {
-                var that = this;
-                this.loading = true
-                $.ajax({
-                    headers:{
-                        "token":this.getUrlPar("token")
-                    },
-                    url:this.posturl+'/api/Activity/zsz_goods_list',
-                    type:"post",
-                    dataType:"json",
-                    data:{
-                        cid:0,
-                        app_key: 'zsccir',
+            getPostHeader(data)
+            {
+                var token=this.getUrlPar("token");
+                if(token)
+                {
+                    return {
+                        "token":token
                     }
-                }).done(function(res){
-                    if(res.code == 0){
-                    that.goodsItem = res.data.data.data.list;
-                   
-                    }                       
-                })
-            },
+                }
+                else{
+                    token=this.getUrlPar("dfgtoken");
+                    if(token)
+                    {
+                        let keysList=Object.keys(data);
+                        let enstr="";
+                        if(keysList&&keysList.length>0)
+                        {
+                            let curData=data;
+                            keysList.forEach(function(value,index){
+                                enstr+=value+ (JSON.stringify(data[value]).replace(/^\"|\"$/g,''));
+                            })
+                        }
+                        enstr="dfg"+enstr+"apph5"+token;
+                        enstr=hex_md5(enstr);
+                        enstr+='.'+token
+                        return {
+                            "dfgsessionkey":enstr
+                         }
+                    }
+                }
+            }
         },
         mounted:function(){
-            this.getGoodsList();
+            var token=this.getUrlPar("token");
+            if(token)
+            {
+                this.isshowfan=true;
+                var that=this;
+                    document.addEventListener('UniAppJSBridgeReady', function() {
+                    that.getLikeGoods();
+                });
+            }
+            else{
+                var postData={
+                    postData:'OAID',
+                    deviceValue:''
+                 };
+                 this.likeDataGet(postData);
+            }
         }
     })
 </script>
\ No newline at end of file

--
Gitblit v1.9.3