Jelajahi Sumber

Merge branch 'release' into dev4.6

lianbingjie 3 tahun lalu
induk
melakukan
db09534b56
41 mengubah file dengan 600 tambahan dan 117 penghapusan
  1. 1 0
      src/config.json
  2. 1 1
      src/jfw/filter/phonefilter.go
  3. 63 1
      src/jfw/modules/app/src/web/staticres/jyapp/dataExport/css/pay_order.css
  4. TEMPAT SAMPAH
      src/jfw/modules/app/src/web/staticres/jyapp/dataExport/images/arrow-rightx3@3x.png
  5. TEMPAT SAMPAH
      src/jfw/modules/app/src/web/staticres/jyapp/dataExport/images/buy-now.png
  6. TEMPAT SAMPAH
      src/jfw/modules/app/src/web/staticres/jyapp/images/sprite/jiejuefangan.png
  7. TEMPAT SAMPAH
      src/jfw/modules/app/src/web/staticres/jyapp/images/sprite/qudaohezuo.png
  8. TEMPAT SAMPAH
      src/jfw/modules/app/src/web/staticres/jyapp/images/sprite/shujuliuliangbao.png
  9. 28 0
      src/jfw/modules/app/src/web/staticres/jyapp/me/css/mine.css
  10. 13 2
      src/jfw/modules/app/src/web/templates/common/baiducc.html
  11. 12 2
      src/jfw/modules/app/src/web/templates/dataExport/dataExport_payOrder.html
  12. 1 0
      src/jfw/modules/app/src/web/templates/dataPack/recharge.html
  13. 1 1
      src/jfw/modules/app/src/web/templates/me/mine.html
  14. 45 34
      src/jfw/modules/app/src/web/templates/weixin/search/mainSearch.html
  15. 4 4
      src/jfw/modules/bigmember/src/filter/sessionfilter.go
  16. 17 0
      src/jfw/modules/bigmember/src/service/analysis/analysis.go
  17. 14 9
      src/jfw/modules/bigmember/src/service/analysis/decision.go
  18. 8 5
      src/jfw/modules/bigmember/src/service/analysis/forecastwinner.go
  19. 73 0
      src/jfw/modules/bigmember/src/util/jylog.go
  20. 26 0
      src/web/staticres/common-module/data-pack/css/recharge.css
  21. 2 0
      src/web/staticres/common-module/data-pack/js/recharge.js
  22. 11 1
      src/web/staticres/common-module/public/fotter.js
  23. 17 0
      src/web/staticres/css/pc.css
  24. 2 3
      src/web/staticres/css/wx/home.css
  25. 1 1
      src/web/staticres/dataExport/css/payment_order.css
  26. TEMPAT SAMPAH
      src/web/staticres/images/search/shujuliuliangbao.png
  27. 2 1
      src/web/staticres/js/login.js
  28. 28 0
      src/web/staticres/me/css/mine.css
  29. 1 0
      src/web/staticres/vipsubscribe/js/historypush.js
  30. 63 1
      src/web/staticres/wx_dataExport/css/pay_order.css
  31. TEMPAT SAMPAH
      src/web/staticres/wx_dataExport/images/arrow-rightx3@3x.png
  32. TEMPAT SAMPAH
      src/web/staticres/wx_dataExport/images/buy-now.png
  33. 13 2
      src/web/templates/common/baiducc.html
  34. 34 3
      src/web/templates/common/pchead.html
  35. 61 3
      src/web/templates/pc/createOrderPage.html
  36. 23 3
      src/web/templates/pc/dataPack/createOrderForDataPackage.html
  37. 12 2
      src/web/templates/weixin/dataExport/dataExport_payOrder.html
  38. 1 0
      src/web/templates/weixin/dataPack/recharge.html
  39. 16 12
      src/web/templates/weixin/historypush.html
  40. 2 2
      src/web/templates/weixin/my.html
  41. 4 24
      src/web/templates/weixin/search/mainSearch.html

+ 1 - 0
src/config.json

@@ -51,6 +51,7 @@
 		"digitalExpo":"/active/digital/index",
 		"docsMobile":"/page_docs_mobile/home",
 		"pointsMobile":"/page_points_mobile/home",
+		"bidedoc":"/weixin/frontPage/bidedoc/sess/index",
 		"memberreport_experience":"/bigmember/report/openpushmsg?t=wx_experience&start=%s&end=%s&pushcount=%s"
     },
     "jy_activeset": {

+ 1 - 1
src/jfw/filter/phonefilter.go

@@ -53,7 +53,7 @@ func (l *phoneFilter) Do() bool {
 	}
 	href := "/swordfish/frontPage/userMerge/sess/bind" //pc
 	for _, v := range bindurl {
-		if v.MatchString(l.R.URL.Path) && !strings.Contains(l.R.URL.Path, "squeeze") {
+		if v.MatchString(l.R.URL.Path) && !strings.Contains(l.R.URL.Path, "bidedoc") && !strings.Contains(l.R.URL.Path, "squeeze") {
 			return true
 		}
 	}

+ 63 - 1
src/jfw/modules/app/src/web/staticres/jyapp/dataExport/css/pay_order.css

@@ -666,15 +666,20 @@ body .loading_ p span {
     align-items: center;
 }
 .select-card-item {
+    position: relative;
     flex-shrink: 0;
     background: #f5f6f7;
     border-radius: 0.16rem;
     padding: 0.22rem;
     min-width: 2.12rem;
-    min-height: 0.8rem;
+    min-height: 1.2rem;
     font-size: 0.24rem;
     font-weight: 500;
     text-align: CENTER;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    flex-direction: column;
     color: #171826;
     line-height: 0.36rem;
     border: 2px solid transparent;
@@ -692,6 +697,24 @@ body .loading_ p span {
 .buy-data-pack-tip a {
     color: #2abed1;
 }
+.buy-data-pack-tip.pay-way-tip {
+    display: flex;
+    align-items: center;
+    padding: .12rem .42rem;
+    color: #fff;
+    background: linear-gradient(95deg,#ffa674, #f01212 100%);
+    border-radius: .32rem;
+    white-space: nowrap;
+}
+.buy-data-pack-tip.pay-way-tip a {
+    display: flex;
+    align-items: center;
+    width: 1.68rem;
+    height: .42rem;
+    padding: .06rem .24rem ;
+    background-color: #fff;
+    border-radius: .32rem;
+}
 .form-item {
     background: transparent !important;
     margin: 0 auto;
@@ -944,3 +967,42 @@ body .loading_ p span {
     margin-top: 0.16rem;
     padding-left: 0.32rem;
 }
+
+.preferential-tag {
+    position: absolute;
+    left: -4px;
+    top: -7px;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    padding: 2px 6px;
+    height: 18px;
+    color: #fff;
+    background: linear-gradient(102deg,#ffa674, #f01212 100%);
+    border-top-left-radius: 4px;
+    border-bottom-left-radius: 4px;
+}
+.preferential-tag::after {
+    content: '';
+    position: absolute;
+    top: 0;
+    right: -5px;
+    width: 0;
+    height: 0;
+    border-top: 9px solid #f01212;
+    border-right: 5px solid transparent;
+    border-bottom: 9px solid #f01212;
+}
+.color-red {
+    color: #f01212;
+}
+.arrow-rightx3 {
+    margin: 0 .12rem;
+    display: inline-block;
+    width: .4rem;
+    height: .2rem;
+    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAYCAYAAABXysXfAAAACXBIWXMAACE4AAAhOAFFljFgAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAGaSURBVHgB3ZghT8NQFIVPGwSGgByoqeklGCQ4xMQsiqGYhPAD2B8gYMFQA1gEAgcSBxpVBcglM3PlnCwvIc3avfY+QfclN+navpN873avewOWlSzLVhEA5qwhAMzZqHJ/nPvcYkAfdjrMGcFOlzm3vjfHBQHDAF3qMeM+QJcGzHj36VJccL7FGlZt8xw6rDvmbMJGlyWhdtlNcck1iQwCCG2xrgMItVkvZUJlMqJRQotkhBNqwYYT6sBGGzOhbv6Cj4xohJCvjNDqNpw3IxXR6qZVrgcbmmAtCofuRBUZR58BO7AzYs4B7CTMOdHBCuqxr/dQFEWvsHGm9xBzbmDjkjnrdTrzX4nqduaZs/kGOxfMeYCdU+Zc1ZF55MAP2Bkx5wl2jpiT6KCKzJSVcOAPbExYx8z5hI0xa+/vxPp+ZzQwhMgXwoikyIkIn844kTFsOJFv2EgxE0nzFxZ1pjEiokxGj1QIET1SIUT0SBWKiKLHzIlMYcOJTGDDifhPrH5aa9ts3WVy/Dbr3LrL5PhdVlJrC9L0PzSWil+FmNqcj77V5AAAAABJRU5ErkJggg==);
+    background-size: contain;
+    background-position: center;
+    background-repeat: no-repeat;
+}

TEMPAT SAMPAH
src/jfw/modules/app/src/web/staticres/jyapp/dataExport/images/arrow-rightx3@3x.png


TEMPAT SAMPAH
src/jfw/modules/app/src/web/staticres/jyapp/dataExport/images/buy-now.png


TEMPAT SAMPAH
src/jfw/modules/app/src/web/staticres/jyapp/images/sprite/jiejuefangan.png


TEMPAT SAMPAH
src/jfw/modules/app/src/web/staticres/jyapp/images/sprite/qudaohezuo.png


TEMPAT SAMPAH
src/jfw/modules/app/src/web/staticres/jyapp/images/sprite/shujuliuliangbao.png


+ 28 - 0
src/jfw/modules/app/src/web/staticres/jyapp/me/css/mine.css

@@ -389,4 +389,32 @@
   50%{-webkit-transform:rotate(180deg);}
   75%{-webkit-transform:rotate(270deg);}
   100%{-webkit-transform:rotate(360deg);}
+}
+.my-dataPackage .menu_list_right {
+  flex: 1;
+  justify-content: space-between;
+}
+
+.preferential-tag {
+  position: relative;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  padding: 2px 6px;
+  height: 18px;
+  color: #fff;
+  background: linear-gradient(102deg,#ffa674, #f01212 100%);
+  border-top-left-radius: 4px;
+  border-bottom-left-radius: 4px;
+}
+.preferential-tag::after {
+  content: '';
+  position: absolute;
+  top: 0;
+  right: -5px;
+  width: 0;
+  height: 0;
+  border-top: 9px solid #f01212;
+  border-right: 5px solid transparent;
+  border-bottom: 9px solid #f01212;
 }

+ 13 - 2
src/jfw/modules/app/src/web/templates/common/baiducc.html

@@ -102,6 +102,17 @@ function grafana_statistics(advName){
     $("head").append("<style>\n.jy-app-header.app-layout-header span.app-back.jyapp-icon.jyapp-icon-zuojiantou::after,.j-header.jy-app-header span.icon-fanhui::after {\n    content: \"\";\n    display: inline-block;\n    width: 4em;\n    height: 100%;\n    position: absolute;\n    top: 0;\n    left: 0;\n}\n\n</style>");
 </script>
 <script>
-  // 将版本号存至本地缓存,供vue单页面程序获取
-  localStorage.setItem('jyVersion-to-vue', {{Msg "seo" "version"}})
+    try {
+        // 荟聚
+        $.getScript('//cbe.huiju.cool/cbe/collect?tid=281617177&at=0&h=web', function () {
+            clab_tracker.ready(function () {
+                this.push({"pageType":"web"});
+                this.track("open_page", {});
+            })
+        })
+    } catch (error) {
+        console.log(error)
+    }
+    // 将版本号存至本地缓存,供vue单页面程序获取
+    localStorage.setItem('jyVersion-to-vue', {{Msg "seo" "version"}})
 </script>

+ 12 - 2
src/jfw/modules/app/src/web/templates/dataExport/dataExport_payOrder.html

@@ -85,11 +85,21 @@
             <div class="select-type-group">
                 <div class="select-type-title">请选择支付方式</div>
                 <div class="select-card-group">
-                    <div id="select-data-pack-item" class="select-card-item" @click="togglePayType('数据流量包')" v-show="payMap['数据流量包'].show" :class="{active: payType == '数据流量包'}">数据流量包</div>
+                    <div id="select-data-pack-item" class="select-card-item" @click="togglePayType('数据流量包')" v-show="payMap['数据流量包'].show" :class="{active: payType == '数据流量包'}">
+                        <span class="preferential-tag">推荐</span>
+                        <div>数据流量包</div>
+                        <div class="color-red">低至4.5折</div>
+                    </div>
                     <div id="select-day-pack-item" class="select-card-item" @click="togglePayType('单日限量包')" v-show="payMap['单日限量包'].show" :class="{active: payType == '单日限量包'}">单日限量数据包</div>
                     <div class="select-card-item" @click="togglePayType('个人支付')" v-show="payMap['个人支付'].show" :class="{active: payType == '个人支付'}">个人支付</div>
                 </div>
-                <div class="buy-data-pack-tip">数据流量包已上线,特惠充值随心导,2年有效。<a id="buy-data-pack-for-link" href="/jyapp/dataPack/createOrder">立即购买  ></a></div>
+                <div class="buy-data-pack-tip pay-way-tip">
+                    数据流量包特惠充值,即充即导,2年有效
+                    <span class="arrow-rightx3"></span>
+                    <a id="buy-data-pack-for-link" href="/jyapp/dataPack/createOrder">
+                        <img src="/jyapp/dataExport/images/buy-now.png" alt="">
+                    </a>
+                </div>
             </div>
             <div class="select-type-group" v-show="payType == '个人支付'" style="margin-top: 0.16rem">
                 <div class="select-type-title">请选择数据规格</div>

+ 1 - 0
src/jfw/modules/app/src/web/templates/dataPack/recharge.html

@@ -31,6 +31,7 @@
                   v-for="(item, index) in specList"
                   @click="clickSpec(item)"
                   :key="index">
+                  <span class="preferential-tag">限时4.5折</span>
                   <div class="spec-i-label">${ item.label }</div>                    
                   <div class="spec-i-sub">
                     <div class="spec-i-text del">${ item.before }元/条</div>

+ 1 - 1
src/jfw/modules/app/src/web/templates/me/mine.html

@@ -212,7 +212,7 @@
                             <span class="label">我的数据流量包</span>
                         </div>
                         <div class="menu_list_right">
-                            <div class="partner_value"></div>
+                            <div class="preferential-tag">New</div>
                             <span class="j-icon base-icon icon-arrow-right"></span>
                         </div>
                     </div>

+ 45 - 34
src/jfw/modules/app/src/web/templates/weixin/search/mainSearch.html

@@ -63,13 +63,29 @@
     .tab_item .jy_sprite_home_icon {
         background-image: url({{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/images/sprite/home_area.png?v={{Msg "seo" "version"}});
     }
+    .tab_item .jy_sprite_home_icon_new {
+        background-image: url({{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/images/sprite/jiejuefangan.png?v={{Msg "seo" "version"}});
+        background-size: 0.88rem 0.88rem;
+        display: inline-block;
+        height: .88rem;
+        width: .88rem;
+        background-position: 0 0 !important;
+    }
     .jy_sprite_home_icon_add {
-        background: url({{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/images/sprite/home_area_add-2.png?v={{Msg "seo" "version"}}) no-repeat;
-        background-size: 1.76rem 0.88rem;
+        background: url({{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/images/sprite/qudaohezuo.png?v={{Msg "seo" "version"}}) no-repeat;
+        background-size: 0.88rem 0.88rem;
         display: inline-block;
         height: .88rem;
         width: .88rem;
     }
+    .jy_sprite_home_icon_add1 {
+        background: url({{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/images/sprite/shujuliuliangbao.png?v={{Msg "seo" "version"}}) no-repeat;
+        background-size: 0.88rem 0.88rem;
+        display: inline-block;
+        height: .88rem;
+        width: .88rem;
+        background-position: 0 0 !important;
+    }
 
     .p13 .resnumb .two-group,
     .p13 .two-group {
@@ -186,9 +202,9 @@
                       <div class="jy_sprite_home_icon icon_2"></div>
                       <span>剑鱼文库</span>
                     </a>
-                    <a class="tab_item" data-only-name="剑鱼伙伴" id="mainSearch-tab2">
+                    <a class="tab_item" data-only-name="渠道合作" id="mainSearch-tab2">
                         <div class="jy_sprite_home_icon_add icon_9"></div>
-                        <span>剑鱼伙伴</span>
+                        <span>渠道合作</span>
                     </a>
                 </div>
                 <div class="tab_container">
@@ -200,17 +216,17 @@
                         <div class="jy_sprite_home_icon icon_6"></div>
                         <span>结构化数据</span>
                     </a>
-                    <a class="tab_item" data-only-name="商机管理" id="mainSearch-tab7">
-                        <div class="jy_sprite_home_icon icon_7"></div>
-                        <span>商机管理</span>
+                    <a class="tab_item" data-only-name="行业解决方案" id="mainSearch-tab7">
+                        <div class="jy_sprite_home_icon_new icon_7"></div>
+                        <span>行业解决方案</span>
                     </a>
                     <a class="tab_item" data-only-name="中标必听课" id="mainSearch-tab8">
                         <div class="jy_sprite_home_icon icon_8"></div>
                         <span>中标必听课</span>
                     </a>
-                    <a class="tab_item" data-only-name="签到" id="">
-                      <div class="jy_sprite_home_icon_add icon_10"></div>
-                      <span>签到</span>
+                    <a class="tab_item" data-only-name="数据流量包" id="">
+                      <div class="jy_sprite_home_icon_add1 icon_10"></div>
+                      <span>数据流量包</span>
                   </a>
                 </div>
             </div>
@@ -975,7 +991,7 @@
                     window.location.href='/jyapp/free/login?back=index';
                 }else{
                     _hmt.push(['_trackEvent', '广告', 'click', "结构化数据app首页导航5"]);
-                    window.location.href='/jyapp/structed/index';
+                    window.location.href='/jyapp/structed/index?source=app_kongkim';
                 }
             },300);
         }
@@ -991,7 +1007,7 @@
                         anchor: '投标决策分析'
                     }))
                     if ($this.attr('data-access')) {
-                        window.location.href = '/jyapp/big/page/analysis_search';
+                        window.location.href = '/jyapp/big/page/analysis_search?source=app_kongkim';
                     } else {
                         // location.href = '/jyapp/big/page/landingPage';
                         window.location.href = '/jyapp/big/page/analysis_search?source=app_analysis_kongkim' // 免费用户可以跳至投标决策分析页面
@@ -1014,9 +1030,9 @@
                         anchor: '中标企业预测'
                     }))
                     if ($this.attr('data-access')) {
-                        window.location.href = '/jyapp/big/page/ai_search';
+                        window.location.href = '/jyapp/big/page/ai_search?source=app_kongkim';
                     } else {
-                        location.href = '/jyapp/big/page/landingPage';
+                        location.href = '/jyapp/big/page/landingPage?source=app_kongkim';
                     }
                     break
                 }
@@ -1024,14 +1040,14 @@
                     sessionStorage.setItem('landinfo', JSON.stringify({
                         anchor: '企业情报监控'
                     }))
-                    location.href = '/jyapp/big/page/ent_follow';
+                    location.href = '/jyapp/big/page/ent_follow?source=app_kongkim';
                     break
                 }
                 case '数据导出': {
                     if(userId==""){
                         window.location.href='/jyapp/free/login?back=index';
                     }else{
-                        window.location.href='/jyapp/front/dataExport/toSieve';
+                        window.location.href='/jyapp/front/dataExport/toSieve?source=app_kongkim';
                     }
                     break
                 }
@@ -1039,15 +1055,20 @@
                     checkGoStruct()
                     break
                 }
-                case '商机管理': {
-                    checkGoEntNiche()
+                case '行业解决方案': {
+                    //checkGoEntNiche()
+                    if(userId==""){
+                        window.location.href='/jyapp/free/login?back=index';
+                    }else{
+                        window.location.href='/jyapp/frontPage/solution/sess/index?source=app_kongkim';
+                    }
                     break
                 }
                 case '中标必听课': {
                     if(userId==""){
                         window.location.href='/jyapp/free/login?back=index';
                     }else{
-                        window.location.href='/jyxsapp/';
+                        window.location.href='/jyxsapp/?source=app_kongkim';
                     }
                     break
                 }
@@ -1055,33 +1076,23 @@
                     if(userId==""){
                         window.location.href='/jyapp/free/login?back=index';
                     }else{
-                        window.location.href='/page_docs_mobile/home';
+                        window.location.href='/page_docs_mobile/home?source=app_kongkim';
                     }
                     break
                 }
-                case '剑鱼伙伴': {
+                case '渠道合作': {
                     if(userId==""){
                         window.location.href='/jyapp/free/login?back=index';
                     }else{
-                        $.ajax({
-                            url: '/distribution/partner/isPartner?t=' + new Date().getTime(),
-                            type: 'POST',
-                            success: function (r) {
-                                if (r.isPartner) {
-                                    window.location.href = "/page_partner/home"
-                                } else {
-                                    window.location.href = "/page_partner/partner/partner.html" // 协议页面
-                                }
-                            }
-                        })
+                        window.location.href='/jyapp/frontPage/partner/sess/index?source=app_kongkim';
                     }
                     break
                 }
-                case '签到': {
+                case '数据流量包': {
                     if(userId==""){
                         window.location.href='/jyapp/free/login?back=index';
                     }else{
-                        window.location.href='/page_points_mobile/home';
+                        window.location.href='/jyapp/dataPack/createOrder?source=app_kongkim';
                         // try {
                         //   JyObj.skipAppointTab('me')
                         // } catch (error) {}

+ 4 - 4
src/jfw/modules/bigmember/src/filter/sessionfilter.go

@@ -28,15 +28,15 @@ func (l *sessionfilter) Do(w http.ResponseWriter, req *http.Request) bool {
 	if len(match) == 0 {
 		return true
 	}
-	//投标决策分析前置接口开放
-	if req.URL.Path == "/bigmember/decision/freeDecInfo" || req.URL.Path == "/bigmember/analysis/projectName" || req.URL.Path == "/bigmember/analysis/projectInfo" {
-		return true
-	}
 	userId, ok := session.Get("userId").(string)
 	if !ok || userId == "" {
 		R.ServeJson(w, req, &Result{Error_code_1004, Error_msg_1004, nil})
 		return false
 	}
+	//投标决策分析前置接口开放
+	if req.URL.Path == "/bigmember/decision/freeDecInfo" || req.URL.Path == "/bigmember/analysis/projectName" || req.URL.Path == "/bigmember/analysis/projectInfo" {
+		return true
+	}
 	bigMeg := jy.GetBigVipUserBaseMsg(userId, db.Mysql, db.Mgo)
 	if !bigMeg.CheckBigVipBackPower(match[1]) {
 		R.ServeJson(w, req, &Result{Error_code_1004, Error_msg_1004, nil})

+ 17 - 0
src/jfw/modules/bigmember/src/service/analysis/analysis.go

@@ -10,6 +10,7 @@ import (
 	"regexp"
 	"strconv"
 	"strings"
+	"sync"
 	"time"
 	"util"
 
@@ -62,6 +63,14 @@ var P_Starttime = "1514736000" //2018.01.01
 
 var RegWinner = regexp.MustCompile(".+[司院厂所心处普]$")
 
+type UserInfoLock struct {
+	sync.Mutex
+	decLock  map[string]*sync.Mutex
+	forWLock map[string]*sync.Mutex
+}
+
+var UIL *UserInfoLock
+
 //
 func init() {
 	now := time.Now()
@@ -70,6 +79,14 @@ func init() {
 	if Config.RegWinner != "" {
 		RegWinner = regexp.MustCompile(Config.RegWinner)
 	}
+	UIL = NewUserInfoLock()
+}
+
+func NewUserInfoLock() *UserInfoLock {
+	return &UserInfoLock{
+		decLock:  make(map[string]*sync.Mutex),
+		forWLock: make(map[string]*sync.Mutex),
+	}
 }
 
 //根据项目名称获取项目信息

+ 14 - 9
src/jfw/modules/bigmember/src/service/analysis/decision.go

@@ -35,7 +35,8 @@ type DecParam struct {
 }
 
 var regExperts = regexp.MustCompile("^[\\p{Han}]{2,4}$")
-var decisionLock = map[string]*sync.Mutex{}
+
+// var decisionLock = map[string]*sync.Mutex{}
 
 //试用用户分析
 func (this *Analysis) TrialInfo() {
@@ -100,11 +101,13 @@ func (this *Analysis) FreeDecInfo() {
 			userId, _ := this.GetSession("userId").(string)
 			var s_phone, _ = this.GetSession("s_phone").(string)
 			main_userId, phone, _ := util.MainUserId(userId, s_phone, 0)
-			if decisionLock[main_userId] == nil {
-				decisionLock[main_userId] = &sync.Mutex{}
+			UIL.Lock()
+			if UIL.decLock[main_userId] == nil {
+				UIL.decLock[main_userId] = &sync.Mutex{}
 			}
-			decisionLock[main_userId].Lock()
-			defer decisionLock[main_userId].Unlock()
+			UIL.Unlock()
+			UIL.decLock[main_userId].Lock()
+			defer UIL.decLock[main_userId].Unlock()
 			if getRes.ServiceId == 0 {
 				getRes.ServiceId = 6
 			}
@@ -160,11 +163,13 @@ func (this *Analysis) DecInfo() {
 				regMap.Error_code = Error_code_1004
 				regMap.Error_msg = Error_msg_1004
 			} else {
-				if decisionLock[main_userId] == nil {
-					decisionLock[main_userId] = &sync.Mutex{}
+				UIL.Lock()
+				if UIL.decLock[main_userId] == nil {
+					UIL.decLock[main_userId] = &sync.Mutex{}
 				}
-				decisionLock[main_userId].Lock()
-				defer decisionLock[main_userId].Unlock()
+				UIL.Unlock()
+				UIL.decLock[main_userId].Lock()
+				defer UIL.decLock[main_userId].Unlock()
 				if getRes.ServiceId == 0 {
 					getRes.ServiceId = 6
 				}

+ 8 - 5
src/jfw/modules/bigmember/src/service/analysis/forecastwinner.go

@@ -23,7 +23,8 @@ import (
 )
 
 var OverRegLock = sync.Mutex{}
-var forecastWLock = map[string]*sync.Mutex{}
+
+// var forecastWLock = map[string]*sync.Mutex{}
 var redis_forecast_status = "forecast_status_" //预测状态
 var redis_forecast_res = "forecast_res_"       //预测结果数据
 var redis_forecast_date = "forecast_date_"     //预测时间
@@ -123,11 +124,13 @@ func (this *Analysis) FWData() {
 						s_phone, _ = this.GetSession("s_m_phone").(string)
 					}
 					main_userId, phone, member_status := util.MainUserId(userId, s_phone, 0)
-					if forecastWLock[main_userId] == nil {
-						forecastWLock[main_userId] = &sync.Mutex{}
+					UIL.Lock()
+					if UIL.forWLock[main_userId] == nil {
+						UIL.forWLock[main_userId] = &sync.Mutex{}
 					}
-					forecastWLock[main_userId].Lock()
-					defer forecastWLock[main_userId].Unlock()
+					UIL.Unlock()
+					UIL.forWLock[main_userId].Lock()
+					defer UIL.forWLock[main_userId].Unlock()
 					// log.Println(getRes.ServiceId, "----------", phone)
 					//判断是否有中标预测权限
 					var currentCount = 0

+ 73 - 0
src/jfw/modules/bigmember/src/util/jylog.go

@@ -0,0 +1,73 @@
+package util
+
+/**
+日志文件自动切换,默认保留15天内日志
+**/
+
+import (
+	"log"
+	"os"
+	"path/filepath"
+	"regexp"
+	"time"
+
+	"github.com/go-xweb/xweb"
+	"github.com/robfig/cron"
+)
+
+//日志格式
+var fileReg = regexp.MustCompile("^(\\d{4}_[0-9_]{14})\\.log$")
+
+//当前日志文件句柄
+var LogFile *os.File
+
+//时间格式
+var FMT = "2006_01_02_15_04_05"
+
+//日志目录
+var LogPath = "./jylog"
+
+func init() {
+	os.Mkdir(LogPath, os.ModePerm)
+	//默认保留15天内的日志,-1为永久保留
+	initLog(15)
+}
+
+func initLog(saveDay int) {
+	go logfile()
+	task := cron.New()
+	task.Start()
+	task.AddFunc("0 0 0 * * ?", func() {
+		go logfile()
+		time.Sleep(50 * time.Second)
+		if saveDay > 0 {
+			filepath.Walk(LogPath, func(path string, info os.FileInfo, err error) error {
+				str := fileReg.FindStringSubmatch(info.Name())
+				if len(str) == 2 {
+					t, er := time.ParseInLocation(FMT, str[1], time.Local)
+					if er == nil {
+						if (time.Now().Unix()-t.Unix())/86400 > int64(saveDay) {
+							log.Println("delete log file:", path, os.Remove(path))
+						}
+					}
+				}
+				return nil
+			})
+		}
+	})
+}
+
+//创建并切换输出文件
+func logfile() {
+	now := time.Now().Format(FMT)
+	file, _ := os.Create(LogPath + "/" + now + ".log")
+	log.SetOutput(file)
+	xweb.RootApp().Logger.SetOutput(file)
+	go func(file *os.File) {
+		time.Sleep(5 * time.Second)
+		if LogFile != nil {
+			LogFile.Close()
+		}
+		LogFile = file
+	}(file)
+}

+ 26 - 0
src/web/staticres/common-module/data-pack/css/recharge.css

@@ -201,4 +201,30 @@
   letter-spacing: 0px;
   text-align: left;
   margin-top: 2px;
+}
+
+.preferential-tag {
+  position: absolute;
+  left: -6px;
+  top: -6px;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  padding: 2px 6px;
+  height: 18px;
+  color: #fff;
+  background: linear-gradient(102deg,#ffa674, #f01212 100%);
+  border-top-left-radius: 4px;
+  border-bottom-left-radius: 4px;
+}
+.preferential-tag::after {
+  content: '';
+  position: absolute;
+  top: 0;
+  right: -5px;
+  width: 0;
+  height: 0;
+  border-top: 9px solid #f01212;
+  border-right: 5px solid transparent;
+  border-bottom: 9px solid #f01212;
 }

+ 2 - 0
src/web/staticres/common-module/data-pack/js/recharge.js

@@ -96,6 +96,7 @@ var vm = new Vue({
       this.calcPrice()
     } else {
       this.getGoodsList()
+      this.getUserInfo()
     }
 
     this.checkConfirmButtonDisabled()
@@ -303,6 +304,7 @@ var vm = new Vue({
         packId: packId,
         lotteryId: this.$refs.couponRef.coupon.lotteryId,
         userLotteryId: this.$refs.couponRef.coupon.userLotteryId,
+        order_phone: this.userInfo.phone
       }
       $.ajax({
         url: '/subscribepay/dataExportPack/createOrder',

+ 11 - 1
src/web/staticres/common-module/public/fotter.js

@@ -1 +1,11 @@
-console.log('footer.js')
+try {
+    // 荟聚
+    $.getScript('//cbe.huiju.cool/cbe/collect?tid=281617177&at=0&h=web', function () {
+        clab_tracker.ready(function () {
+            this.push({"pageType":"web"});
+            this.track("open_page", {});
+        })
+    })
+} catch (error) {
+    console.log(error)
+}

+ 17 - 0
src/web/staticres/css/pc.css

@@ -164,6 +164,23 @@ form{
 	color: #1d1d1d;
 	border-bottom: 1px solid #e0e0e0;
 }
+.userInfo .infoList .new_msg{
+	/* position: absolute; */
+	/* right: 10px; */
+	/* top: 50%; */
+	/* transform: translateY(-50%); */
+	width: 46px;
+	height: 18px;
+	opacity: 1;
+	background: #ff3a20;
+	border-radius: 9px;
+	font-size: 12px;
+	color: #fff;
+	display: flex;
+	justify-content: center;
+	align-items: center;
+	margin-left: 4px;
+}
 .userInfo .infoList .exitDiv{
 	height: 45px;
 	border-top: none;

+ 2 - 3
src/web/staticres/css/wx/home.css

@@ -138,9 +138,8 @@ width: 100%;
 .home .home_tab .tab_container .tab_item .bg_img_4 {
   width: 0.88rem;
   height: 0.88rem;
-  background: url(/images/search/home_tab2.png) no-repeat;
-  background-size: 7.6rem .88rem;
-  background-position: -0.96rem 0;
+  background: url(/images/search/shujuliuliangbao.png) no-repeat;
+  background-size: contain;
 }
 
 .home .home_tab .tab_container .tab_item .bg_img_5 {

+ 1 - 1
src/web/staticres/dataExport/css/payment_order.css

@@ -936,7 +936,7 @@ button {
 
 .datapackage-buy-tip-group a {
     color: #2cb7ca;
-    margin-left: 32px;
+    margin-left: 20px;
 }
 .datapackage-buy-tip-group {
     margin-top: 16px;

TEMPAT SAMPAH
src/web/staticres/images/search/shujuliuliangbao.png


+ 2 - 1
src/web/staticres/js/login.js

@@ -660,8 +660,9 @@ var haslogin = function(num,kyorpn,url){
 						+"<div class='usernameDiv'>"
 							+data.s_nickname
             +"</div>"
-			+"<div class=\"myorderDiv\"  onclick=\"window.location.href='/front/dataPack/index'\">"
+			+"<div class=\"myorderDiv\" style=\"display:flex;align-items: center;\" onclick=\"window.location.href='/front/dataPack/index'\">"
 			+"<span>我的数据</span>"
+            +"<span class=\"new_msg\" >NEW</span>"
 			+"</div>"
             +"<div class=\"myorderDiv\" style=\"border-bottom:0;\" onclick=\"window.location.href='/swordfish/docs//user/docs'\">"
               +"<span>我的文库</span>"

+ 28 - 0
src/web/staticres/me/css/mine.css

@@ -291,4 +291,32 @@
   50%{-webkit-transform:rotate(180deg);}
   75%{-webkit-transform:rotate(270deg);}
   100%{-webkit-transform:rotate(360deg);}
+}
+.data-pack .m-l-i-right {
+  flex: 1;
+  justify-content: space-between;
+}
+
+.preferential-tag {
+  position: relative;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  padding: 2px 6px;
+  height: 18px;
+  color: #fff;
+  background: linear-gradient(102deg,#ffa674, #f01212 100%);
+  border-top-left-radius: 4px;
+  border-bottom-left-radius: 4px;
+}
+.preferential-tag::after {
+  content: '';
+  position: absolute;
+  top: 0;
+  right: -5px;
+  width: 0;
+  height: 0;
+  border-top: 9px solid #f01212;
+  border-right: 5px solid transparent;
+  border-bottom: 9px solid #f01212;
 }

+ 1 - 0
src/web/staticres/vipsubscribe/js/historypush.js

@@ -498,6 +498,7 @@ var vm = new Vue({
       } else if(data.name === 'cateItem'){
         this.selectCateList = []
         this.moreFiltersTextCache.cateItem = ''
+        this.moreFiltersText.cateItem = ''
         this.setTimer.catetimer = new Date().getTime()
         this.moreFiltersShow.cateItem = false
       } else if(data.name === 'keywordItem'){

+ 63 - 1
src/web/staticres/wx_dataExport/css/pay_order.css

@@ -670,19 +670,25 @@ body .loading_ p span {
     align-items: center;
 }
 .select-card-item {
+    position: relative;
     flex-shrink: 0;
     background: #f5f6f7;
     border-radius: 0.16rem;
     padding: 0.22rem;
     min-width: 2.12rem;
-    min-height: 0.8rem;
+    min-height: 1.2rem;
     font-size: 0.24rem;
     font-weight: 500;
     text-align: CENTER;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    flex-direction: column;
     color: #171826;
     line-height: 0.36rem;
     border: 2px solid transparent;
 }
+
 .select-card-item + .select-card-item {
     margin-left: 0.24rem;
 }
@@ -696,6 +702,24 @@ body .loading_ p span {
 .buy-data-pack-tip a {
     color: #2abed1;
 }
+.buy-data-pack-tip.pay-way-tip {
+    display: flex;
+    align-items: center;
+    padding: .12rem .42rem;
+    color: #fff;
+    background: linear-gradient(95deg,#ffa674, #f01212 100%);
+    border-radius: .32rem;
+    white-space: nowrap;
+}
+.buy-data-pack-tip.pay-way-tip a {
+    display: flex;
+    align-items: center;
+    width: 1.68rem;
+    height: .42rem;
+    padding: .06rem .24rem ;
+    background-color: #fff;
+    border-radius: .32rem;
+}
 .form-item {
     background: transparent !important;
     margin: 0 auto;
@@ -944,3 +968,41 @@ body .loading_ p span {
     margin-top: 0.16rem;
     padding-left: 0.32rem;
 }
+.preferential-tag {
+    position: absolute;
+    left: -4px;
+    top: -7px;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    padding: 2px 6px;
+    height: 18px;
+    color: #fff;
+    background: linear-gradient(102deg,#ffa674, #f01212 100%);
+    border-top-left-radius: 4px;
+    border-bottom-left-radius: 4px;
+}
+.preferential-tag::after {
+    content: '';
+    position: absolute;
+    top: 0;
+    right: -5px;
+    width: 0;
+    height: 0;
+    border-top: 9px solid #f01212;
+    border-right: 5px solid transparent;
+    border-bottom: 9px solid #f01212;
+}
+.color-red {
+    color: #f01212;
+}
+.arrow-rightx3 {
+    margin: 0 .12rem;
+    display: inline-block;
+    width: .4rem;
+    height: .2rem;
+    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAYCAYAAABXysXfAAAACXBIWXMAACE4AAAhOAFFljFgAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAGaSURBVHgB3ZghT8NQFIVPGwSGgByoqeklGCQ4xMQsiqGYhPAD2B8gYMFQA1gEAgcSBxpVBcglM3PlnCwvIc3avfY+QfclN+navpN873avewOWlSzLVhEA5qwhAMzZqHJ/nPvcYkAfdjrMGcFOlzm3vjfHBQHDAF3qMeM+QJcGzHj36VJccL7FGlZt8xw6rDvmbMJGlyWhdtlNcck1iQwCCG2xrgMItVkvZUJlMqJRQotkhBNqwYYT6sBGGzOhbv6Cj4xohJCvjNDqNpw3IxXR6qZVrgcbmmAtCofuRBUZR58BO7AzYs4B7CTMOdHBCuqxr/dQFEWvsHGm9xBzbmDjkjnrdTrzX4nqduaZs/kGOxfMeYCdU+Zc1ZF55MAP2Bkx5wl2jpiT6KCKzJSVcOAPbExYx8z5hI0xa+/vxPp+ZzQwhMgXwoikyIkIn844kTFsOJFv2EgxE0nzFxZ1pjEiokxGj1QIET1SIUT0SBWKiKLHzIlMYcOJTGDDifhPrH5aa9ts3WVy/Dbr3LrL5PhdVlJrC9L0PzSWil+FmNqcj77V5AAAAABJRU5ErkJggg==);
+    background-size: contain;
+    background-position: center;
+    background-repeat: no-repeat;
+}

TEMPAT SAMPAH
src/web/staticres/wx_dataExport/images/arrow-rightx3@3x.png


TEMPAT SAMPAH
src/web/staticres/wx_dataExport/images/buy-now.png


+ 13 - 2
src/web/templates/common/baiducc.html

@@ -121,6 +121,17 @@
   }
 </script>
 <script>
-  // 将版本号存至本地缓存,供vue单页面程序获取
-  localStorage.setItem('jyVersion-to-vue', {{Msg "seo" "version"}})
+    try {
+        // 荟聚
+        $.getScript('//cbe.huiju.cool/cbe/collect?tid=281617177&at=0&h=web', function () {
+            clab_tracker.ready(function () {
+                this.push({"pageType":"web"});
+                this.track("open_page", {});
+            })
+        })
+    } catch (error) {
+        console.log(error)
+    }
+    // 将版本号存至本地缓存,供vue单页面程序获取
+    localStorage.setItem('jyVersion-to-vue', {{Msg "seo" "version"}})
 </script>

+ 34 - 3
src/web/templates/common/pchead.html

@@ -182,6 +182,18 @@
     #public-nav .iner .jynav li  .jy-rember{
         width: 104px;
     }
+    #public-nav .iner .jynav li  .jy-rember .tag{
+        width: 46px;
+        height: 18px;
+        opacity: 1;
+        background: #ff3a20;
+        border-radius: 9px;
+        font-size: 12px;
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        color: #fff !important;
+    }
     #public-nav .iner .jynav li .jynav-list span{
         display: block;
         height: 34px;
@@ -434,6 +446,21 @@
         margin-left: -14px;
         word-break: keep-all;
     }
+    .nav-text {
+        position: relative;
+    }
+    .nav-text .dot-red {
+        position: absolute;
+        top: 20px;
+        right: -4px;
+    }
+    .dot-red {
+        display: inline-block;
+        width: 5px;
+        height: 5px;
+        background-color: #ff3a20;
+        border-radius: 50%;
+    }
 </style>
 
 <section class="public-nav" id="public-nav">
@@ -466,10 +493,14 @@
                     </div>
 				</li>
                 <li  name="数据">
-					<a href="/front/dataExport/toSieve">数据</a>
-                    <div class="jynav-list jy-rember">
+					<a class="nav-text" href="/front/dataExport/toSieve">
+                        数据
+                        <span class="dot-red"></span>
+                    </a>
+                    <div class="jynav-list jy-rember" style="width:173px;">
                         <span name="数据导出"><a href="/front/dataExport/toSieve">自助导出</a></span>
                         <span name="数据服务"><a href="/front/structed/pc_index.html">定制服务</a></span>
+                        <span name="数据流量包"><a style="display: flex;justify-content: space-between; align-items: center" href="/front/dataPack/createOrder">数据流量包 <div class="tag">特惠</div></a></span>
                     </div>
 				</li>
                 <li  name="解决方案">
@@ -863,7 +894,7 @@ function infoListCss(){
 		'z-index':'999',
 		'cursor': 'pointer',
 		'height':'auto',
-		'width':'130px',
+		'min-width':'130px',
 		'box-shadow':' 0 0 20px rgba(0,0,0, .2)'
 	})
 	$('.userInfo .one').css({

+ 61 - 3
src/web/templates/pc/createOrderPage.html

@@ -28,6 +28,58 @@
             margin-top: -282px;
             text-align: left;
         }
+        .qy{
+            position: relative;
+        }
+        .qy::before {
+            content: '推荐';
+            display: flex;
+            justify-content: center;
+            align-items: center;
+            width: 40px;
+            height: 20px;
+            opacity: 1;
+            background: linear-gradient(90deg,#ff3a20, #ff6320 100%);
+            border-radius: 2px 10px 2px 2px;
+            font-size: 12px;
+            color: #fff;
+            position: absolute;
+            top: -12px;
+            left: -1px;
+        }
+        .qy_tips{
+            line-height: 12px;
+            font-size: 12px;
+            color: #FF3A20;
+        }
+        .datapackage-buy-tip-group{
+            opacity: 1;
+            background: rgba(255,58,32,0.10);
+            border-radius: 4px;
+            color: #FF3A20;
+        }
+        #buy-data-pack-for-link{
+            width: 150px;
+            height: 26px;
+            opacity: 1;
+            background: #ffffff;
+            border: 1px solid rgba(255,58,32,0.60);
+            border-radius: 20px;
+            display: flex;
+            justify-content: center;
+            align-items: center;
+            text-decoration: none;
+            color: #FF3A20 !important;
+        }
+        .arrowPC {
+            display: inline-block;
+            width: 23px;
+            height: 10px;
+            background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAKCAYAAABfYsXlAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAADqSURBVHgBnZO9DgFBFIXPHUtEIlEo/BSm4gEksn6KLb2GhlahRy9R6zTUHmETIlFIPIIoaHQ6xV5DIsGa2eUUk8n9+U5ykwMosZRxGMSldBIBYkemPmvi8WZgc13a2s1Uosh2YcR1g8kVXa7Krh/+sEaTG9LRLhM58JIzLhey+hmMuSb7fvhdHhyjATiHmJhwJV/Uz2DwNBC+VhiDSHSuTtBGgIHA/7oE9MnylQRcWu1dmKCe16PNYWuYGdJ6P7B+BB9hcYeWh1MQ+P55hS8UeKddIXJBlyEtz6ZztBR4+lZRATCGKIy+hegGylhLKqjaJMQAAAAASUVORK5CYII=');
+            background-size: cover;
+            background-repeat: no-repeat;
+            background-position: center;
+        }
     </style>
 </head>
 <body>
@@ -61,7 +113,12 @@
             <div class="title">支付方式</div>
             <div class="inner clearfix switch-dataType" id="payTypeSelect">
                 <div class="qy no-select" id="select-data-pack-item" data-pay-type="数据流量包" style="display: none;">
-                    <p>数据流量包扣除</p>
+                    <p>
+                        <span style="line-height: 24px;">数据流量包扣除</span>
+                        <br>
+                        <span class="qy_tips">低至4.5折导出</span>
+                    </p>
+                    
                     <div id="llb-tip-block" style="width: 164px;height: 28px;opacity: 1;background: rgba(0,0,0,0.75);text-align: center;padding: 4px;
                         border-radius: 4px;box-shadow: 0px 0px 28px 0px rgba(0,0,0,0.08);
                         position: relative;top: -90px;right: -34px;display: none">
@@ -76,8 +133,9 @@
                 <div class="gr no-select" data-pay-type="个人支付"><p>个人支付</p></div>
             </div>
             <div class="datapackage-buy-tip-group">
-                <span>数据流量包已上线,特惠充值随心导,2年有效</span>
-                <a id="buy-data-pack-for-link" href="/front/dataPack/createOrder">立即购买数据流量包  ></a>
+                <span>数据流量包特惠充值,即充即导,2年有效</span>
+                <span class="arrowPC" style="margin-left: 16px;"></span>
+                <a id="buy-data-pack-for-link" href="/front/dataPack/createOrder">立即购买数据流量包</a>
             </div>
         </div>
         <div id="select-ent-datapack" class="guige" data-show-type="数据流量包">

+ 23 - 3
src/web/templates/pc/dataPack/createOrderForDataPackage.html

@@ -40,6 +40,26 @@
         #pay .info .right .btn_createOrder button.toPay[disabled] {
             background-color: #ddd;
         }
+
+        .hot_discount{
+            position: relative;
+        }
+        .hot_discount::before{
+            content: '限时4.5折';
+            width: 69px;
+            height: 20px;
+            opacity: 1;
+            background: linear-gradient(90deg,#ff3a20, #ff6320 100%);
+            border-radius: 2px 10px 2px 2px;
+            position: absolute;
+            top: -16px;
+            left: -1px;
+            font-size: 12px;
+            color: #fff;
+            display: flex;
+            justify-content: center;
+            align-items: center;
+        }
     </style>
 </head>
 <body>
@@ -66,12 +86,12 @@
         <div id="guige" class="guige row-group">
             <div class="title">数据规格<i id="exp" class="iconfont icon-bangzhu"></i></div>
             <div class="inner clearfix switch-dataType">
-                <div class="bz no-select" data-level="1">
+                <div class="bz no-select hot_discount" data-level="1">
                     <p>标准字段包</p>
                     <p>
                         <del>**元/条</del>&nbsp;<span>**元/条</span></p>
                 </div>
-                <div class="gj no-select active" data-level="2">
+                <div class="gj no-select active hot_discount" data-level="2">
                     <p><i class="iconfont icon-huangguan"></i>高级字段包</p>
                     <p>
                         <del>{{.T.unitPrice_senior}}元/条</del>&nbsp;<span>{{.T.unitPrice_senior_final}}元/条</span></p>
@@ -137,7 +157,7 @@
             _this.result.phone = o_phone
             _this.result.status = _this.check_phone(o_phone)
             var o_parent = $(this).parents()
-            _this.OrderPhoneCheck = setTimeout( () => {
+            _this.OrderPhoneCheck = setTimeout( function(){
                 if (_this.result.status) {
                     o_parent.removeClass('error')
                     typeof _this.data.success === 'function' && _this.data.success()

+ 12 - 2
src/web/templates/weixin/dataExport/dataExport_payOrder.html

@@ -68,11 +68,21 @@
             <div class="select-type-group">
                 <div class="select-type-title">请选择支付方式</div>
                 <div class="select-card-group">
-                    <div id="select-data-pack-item" class="select-card-item" @click="togglePayType('数据流量包')" v-show="payMap['数据流量包'].show" :class="{active: payType == '数据流量包'}">数据流量包</div>
+                    <div id="select-data-pack-item" class="select-card-item" @click="togglePayType('数据流量包')" v-show="payMap['数据流量包'].show" :class="{active: payType == '数据流量包'}">
+                        <span class="preferential-tag">推荐</span>
+                        <div>数据流量包</div>
+                        <div class="color-red">低至4.5折</div>
+                    </div>
                     <div id="select-day-pack-item" class="select-card-item" @click="togglePayType('单日限量包')" v-show="payMap['单日限量包'].show" :class="{active: payType == '单日限量包'}">单日限量数据包</div>
                     <div class="select-card-item" @click="togglePayType('个人支付')" v-show="payMap['个人支付'].show" :class="{active: payType == '个人支付'}">个人支付</div>
                 </div>
-                <div class="buy-data-pack-tip">数据流量包已上线,特惠充值随心导,2年有效。<a id="buy-data-pack-for-link" href="/swordfish/dataPack/createOrder">立即购买  ></a></div>
+                <div class="buy-data-pack-tip pay-way-tip">
+                    数据流量包特惠充值,即充即导,2年有效
+                    <span class="arrow-rightx3"></span>
+                    <a id="buy-data-pack-for-link" href="/swordfish/dataPack/createOrder">
+                        <img src="/wx_dataExport/images/buy-now.png" alt="">
+                    </a>
+                </div>
             </div>
             <div class="select-type-group" v-show="payType == '个人支付'"  style="margin-top: 0.16rem">
                 <div class="select-type-title">请选择数据规格</div>

+ 1 - 0
src/web/templates/weixin/dataPack/recharge.html

@@ -42,6 +42,7 @@
                   v-for="(item, index) in specList"
                   @click="clickSpec(item)"
                   :key="index">
+                  <span class="preferential-tag">限时4.5折</span>
                   <div class="spec-i-label">${ item.label }</div>                    
                   <div class="spec-i-sub">
                     <div class="spec-i-text del">${ item.before }元/条</div>

+ 16 - 12
src/web/templates/weixin/historypush.html

@@ -540,6 +540,19 @@
             overflow: unset;
             height: 100%;
         }
+        /* 修复微信ios滚动不到最底部的问题,可在微信开发者工具ios下复现 */
+        .fix-ios-scroll {
+            height: unset;
+        }
+        .fix-ios-scroll > .j-main {
+            display: flex;
+            flex-direction: column;
+        }
+        .fix-ios-scroll > .j-main .unitTab {
+            height: unset;
+            flex: 1;
+            overflow: auto;
+        }
     </style>
 </head>
 <body class="p13">
@@ -671,10 +684,7 @@
             get-container="body">
             <div class="j-container">
                 <div class="popup-header header-title">采购单位类型</div>
-                <div class="j-main">
-                    <cate-component @cancel="cancel" v-if="screenShow" @confirm="confirm" :key="setTimer.catetimer" :selectcatelist="selectCateList"></cate-component>
-                    <root-component v-else @cancel="cancel" @confirm="confirm"></root-component>
-                </div>
+                <cate-component class="j-main fix-ios-scroll" @cancel="cancel" @confirm="confirm" :key="setTimer.catetimer" :selectcatelist="selectCateList"></cate-component>
             </div>
         </van-popup>
         <van-popup
@@ -689,10 +699,7 @@
             get-container="body">
             <div class="j-container">
                 <div class="popup-header header-title">关键词</div>
-                <div class="j-main">
-                    <keyword-component :key="setTimer.keytimer" @cancel="cancel" v-if="screenShow" @confirm="confirm"  :selectkeywordlist="selectKeyWordList"></keyword-component>
-                    <root-component v-if="!screenShow" @cancel="cancel" @confirm="confirm"></root-component>
-                </div>
+                <keyword-component class="j-main fix-ios-scroll" :key="setTimer.keytimer" @cancel="cancel"@confirm="confirm"  :selectkeywordlist="selectKeyWordList"></keyword-component>
             </div>
         </van-popup>
         <van-popup
@@ -707,10 +714,7 @@
             get-container="body">
             <div class="j-container">
                 <div class="popup-header header-title">公告类型</div>
-                <div class="j-main">
-                    <notice-component :key="setTimer.noticetimer" @cancel="cancel" v-if="screenShow" @confirm="confirm" :selectnoticelist="selectNoticeList"></notice-component>
-                    <root-component v-if="!screenShow" @cancel="cancel" @confirm="confirm"></root-component>
-                </div>
+                <notice-component class="j-main fix-ios-scroll" :key="setTimer.noticetimer" @cancel="cancel" @confirm="confirm" :selectnoticelist="selectNoticeList"></notice-component>
             </div>
         </van-popup>
     </div>

+ 2 - 2
src/web/templates/weixin/my.html

@@ -182,13 +182,13 @@
                             <span class="j-icon base-icon icon-arrow-right"></span>
                         </div>
                     </div>
-                    <div class="menu-list-item clickable" id="" data-href="/swordfish/dataPack/myIndex">
+                    <div class="menu-list-item clickable data-pack" id="" data-href="/swordfish/dataPack/myIndex">
                         <div class="m-l-i-left">
                             <span class="j-icon base-icon icon-data-pack"></span>
                             <span class="m-l-i-label">我的数据流量包</span>
                         </div>
                         <div class="m-l-i-right">
-                            <i class="dot-red"></i>
+                            <div class="preferential-tag">New</div>
                             <span class="j-icon base-icon icon-arrow-right"></span>
                         </div>
                     </div>

+ 4 - 24
src/web/templates/weixin/search/mainSearch.html

@@ -75,19 +75,6 @@
 	SuperSearch.ZBADDRESS = {{Msg "seo" "ZBADDRESS"}};
 	SuperSearch.industry = {{.T.industry}};
 	SuperSearch.sortArray = {{.T.sortArray}};
-	// 判断1111活动
-  // $.get('/jyactive/doubleEleven/isActiving', function (r) {
-  //     if (r && r.data) {
-  //         if (r.data.isActiving && r.data.isWritten === 1) {
-  //             var readToDay = localStorage.getItem('doubleEleven_isActiving') === new Date().toDateString()
-  //             localStorage.setItem('doubleEleven_isActiving', new Date().toDateString())
-  //             if (!readToDay) {
-  //                 history.pushState({state: 'full'}, null)
-  //                 location.href = '/big/wx/page/write_infor_wx'
-  //             }
-  //         }
-  //     }
-  // })
     // 动画隐藏tab栏
     function hideTab() {
         $('.newdialog .tab-box .sub-search-title').slideUp('fast');
@@ -565,7 +552,7 @@
                 </a>
                 <a class="tab_item">
 					<div id="mainSearch-tab4" class="bg_img bg_img_4"></div>
-                    <span>剑鱼文库</span>
+                    <span>数据流量包</span>
                 </a>
                 <!-- 微信端展示APP下载 -->
                 <a class="tab_item">
@@ -1060,22 +1047,15 @@
 	    $(".tab_container  a:eq(1)").on('click', function () {
 			window.location.href='/front/wx_dataExport/toSieve';
 	    });
-	    //剑鱼标讯
 	    $(".tab_container a:eq(2)").on('click', function () {
 	 	    window.location.href='/jyxsapp/';
 	    });
-  //剑鱼标讯
-  // 由结构化数据  改成 剑鱼文库
-	$(".tab_container a:eq(3)").on('click', function () {
-		// _hmt.push(['_trackEvent', '广告', 'click', "结构化数据wx首页导航4"]);
-    // window.location.href='/front/structed/index';
-    window.location.href = '/page_docs_mobile/home'
-	});
+        $(".tab_container a:eq(3)").on('click', function () {
+            window.location.href = '/swordfish/dataPack/createOrder'
+        });
 	    //APP下载跳转到关于剑鱼标讯
 	    $(".tab_container a:eq(4)").on('click', function () {
 			  window.location.href='/front/downloadapppage/normal?source=weixinAutoRpl';
-			  //window.location.href='/swordfish/about?flag=1&come=1';
-        //window.location.href='/jyxsapp/';
 	    });
 	//});
 	function checkIsOpen(){