Bläddra i källkod

Merge branch 'dev2.8.5' of ssh://192.168.3.207:10022/qmx/jy into dev2.8.5

wcj 5 år sedan
förälder
incheckning
bfd8881004
28 ändrade filer med 675 tillägg och 398 borttagningar
  1. 10 1
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/common.js
  2. 9 1
      src/jfw/modules/app/src/web/templates/vipsubscribe/choose_area_upgrade.html
  3. 9 2
      src/jfw/modules/app/src/web/templates/vipsubscribe/choose_industry_upgrade.html
  4. 12 8
      src/jfw/modules/app/src/web/templates/vipsubscribe/renew_notice.html
  5. 115 109
      src/jfw/modules/app/src/web/templates/vipsubscribe/renew_pay.html
  6. 90 103
      src/jfw/modules/app/src/web/templates/vipsubscribe/vip_upgrade.html
  7. 28 28
      src/jfw/modules/subscribepay/src/service/afterPay.go
  8. 28 1
      src/web/staticres/vipsubscribe/js/common.js
  9. 5 5
      src/web/staticres/vipsubscribe/js/keyWord.js
  10. 149 63
      src/web/templates/weixin/email/bind_email.html
  11. 12 2
      src/web/templates/weixin/email/bind_success.html
  12. 2 1
      src/web/templates/weixin/email/unbind_email.html
  13. 5 2
      src/web/templates/weixin/historypush.html
  14. 14 0
      src/web/templates/weixin/my.html
  15. 1 1
      src/web/templates/weixin/vipsubscribe/edit_subscribe.html
  16. 1 1
      src/web/templates/weixin/vipsubscribe/edit_subscribe_city.html
  17. 2 2
      src/web/templates/weixin/vipsubscribe/edit_subscribe_industry.html
  18. 1 1
      src/web/templates/weixin/vipsubscribe/edit_subscribe_province.html
  19. 1 1
      src/web/templates/weixin/vipsubscribe/edit_subscribe_success.html
  20. 6 6
      src/web/templates/weixin/vipsubscribe/keyWord.html
  21. 3 7
      src/web/templates/weixin/vipsubscribe/renew_notice.html
  22. 29 20
      src/web/templates/weixin/vipsubscribe/renew_pay.html
  23. 8 2
      src/web/templates/weixin/vipsubscribe/vip_index.html
  24. 1 1
      src/web/templates/weixin/vipsubscribe/vip_order_detail.html
  25. 1 0
      src/web/templates/weixin/vipsubscribe/vip_purchase.html
  26. 27 23
      src/web/templates/weixin/vipsubscribe/vip_upgrade.html
  27. 8 7
      src/web/templates/weixin/vipsubscribe/vip_viewPage.html
  28. 98 0
      src/web/templates/weixin/wxinfocontent_rec.html

+ 10 - 1
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/common.js

@@ -47,9 +47,18 @@ function getAreaClassArr(area){
         provinceArr.push(i)
       }
     }
-    return [provinceArr,cityArr]
+    return [SortArr(provinceArr),SortArr(cityArr)]
 }
 
+//对数组进行排序(拼音)
+function SortArr(arr){
+	arr = arr.sort(function compareFunction(item1, item2) {
+	    return item1.localeCompare(item2);
+	});
+	return arr
+}
+
+
 /* vip订阅价格
 	area:地区 {}
 	industry:行业 []

+ 9 - 1
src/jfw/modules/app/src/web/templates/vipsubscribe/choose_area_upgrade.html

@@ -13,7 +13,8 @@
     <link rel="stylesheet" type="text/css" href="/jyapp/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}" />
     <link rel="stylesheet" href="/jyapp/vipsubscribe/css/public.css?v={{Msg "seo" "version"}}">
     <link rel="stylesheet" href="/jyapp/vipsubscribe/css/choose_area.css?v={{Msg "seo" "version"}}4">
-	{{include "/common/weixin.html"}}
+	<link rel="stylesheet" type="text/css" href="/jyapp/css/layout.css?v={{Msg "seo" "version"}}"/>
+	<link rel="stylesheet" type="text/css" href="/jyapp/css/font.css?v={{Msg "seo" "version"}}"/>
 </head>
 <style type="text/css">
 	body,html {
@@ -21,6 +22,11 @@
 	}
 </style>
 <body>
+	<div class="app-layout-header">
+        <span class="app-back jyapp-icon jyapp-icon-zuojiantou"></span>
+        区域选择
+    </div>
+    <div class="app-layout-content-b">
     <div id="choose_area" >
         <div class="result">
             <!-- 首次购买 显示"已选择" -----  升级订阅显示"已新增" -->
@@ -387,10 +393,12 @@
             <a href="javascript:;">Z</a>
         </div>
     </div>
+    </div>
     <script src="/jyapp/vipsubscribe/js/jquery-2.1.4.js?v={{Msg "seo" "version"}}"></script>
     <!--<script src="/vipsubscribe/js/fastclick.js?v={{Msg "seo" "version"}}"></script>-->
     <script src="/jyapp/vipsubscribe/js/mapJSON.js?v={{Msg "seo" "version"}}"></script>
     <script src="/jyapp/vipsubscribe/js/common.js?v={{Msg "seo" "version"}}"></script>
+    <script src="/jyapp/js/common.js?v={{Msg "seo" "version"}}"></script>
     <script>
     	//已购买
     	var buystr = "";

+ 9 - 2
src/jfw/modules/app/src/web/templates/vipsubscribe/choose_industry_upgrade.html

@@ -11,8 +11,8 @@
         <link rel="stylesheet" type="text/css" href="/jyapp/vipsubscribe/css/base.css?v={{Msg "seo" "version"}}" />
         <link rel="stylesheet" type="text/css" href="/jyapp/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}" />
         <link rel="stylesheet" href="/jyapp/vipsubscribe/css/choose_industry.css?v={{Msg "seo" "version"}}3">
-        {{include "/common/weixin.html"}}
-        
+		<link rel="stylesheet" type="text/css" href="/jyapp/css/layout.css?v={{Msg "seo" "version"}}"/>
+	    <link rel="stylesheet" type="text/css" href="/jyapp/css/font.css?v={{Msg "seo" "version"}}"/>
     </head>
     <style type="text/css">
     	body,html {
@@ -20,6 +20,11 @@
 		}
     </style>
     <body>
+    	<div class="app-layout-header">
+	        <span class="app-back jyapp-icon jyapp-icon-zuojiantou"></span>
+	        行业选择
+	    </div>
+	    <div class="app-layout-content-b">
         <main class="choose_industry main">
             <div class="result">
                 <span class="label">已新增:</span>
@@ -247,10 +252,12 @@
                 </div>
             </div>
         </main>
+        </div>
         <script src="/jyapp/vipsubscribe/js/jquery-2.1.4.js?v={{Msg "seo" "version"}}"></script>
         <!--<script src="/vipsubscribe/js/fastclick.js?v={{Msg "seo" "version"}}"></script>-->
         <script src="/jyapp/vipsubscribe/js/weui.min.js?v={{Msg "seo" "version"}}"></script>
         <script src="/jyapp/vipsubscribe/js/common.js?v={{Msg "seo" "version"}}"></script>
+        <script src="/jyapp/js/common.js?v={{Msg "seo" "version"}}"></script>
         <script>
            //
            // 点击导航跳转

+ 12 - 8
src/jfw/modules/app/src/web/templates/vipsubscribe/renew_notice.html

@@ -9,7 +9,8 @@
 		<link rel="stylesheet" href="/jyapp/vipsubscribe/css/weui.min.css?v={{Msg "seo" "version"}}">
 		<link rel="stylesheet" href="/jyapp/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}">
 		<link rel="stylesheet" href="/jyapp/vipsubscribe/css/vip_service_expire.css?v={{Msg "seo" "version"}}1">
-		{{include "/common/weixin.html"}}
+		<link rel="stylesheet" type="text/css" href="/jyapp/css/layout.css?v={{Msg "seo" "version"}}"/>
+    	<link rel="stylesheet" type="text/css" href="/jyapp/css/font.css?v={{Msg "seo" "version"}}"/>
 	</head>
 	<style type="text/css">
 		body,html {
@@ -17,6 +18,11 @@
 		}
 	</style>
 	<body>
+		<div class="app-layout-header">
+	        <span class="app-back jyapp-icon jyapp-icon-zuojiantou"></span>
+	        VIP订阅
+	    </div>
+	    <div class="app-layout-content-b">
 		<div class="vip_service_expire layout_top-bottom">
 			<div class="service_expire_tip layou_top">
                 <div class="tip_title_box">
@@ -50,11 +56,13 @@
                 <button style="display: none;" class="renew_service" onclick="window.location.href='/jyapp/vipsubscribe/renewPayPage'">续费</button>
                 <button style="display: none;" class="free_service" onclick="window.location.href='/jyapp/swordfish/historypush'">使用免费订阅</button>
             </div>
+		</div>
 		</div>
 		<script src="/jyapp/vipsubscribe/js/jquery-2.1.4.js"></script>
     	<!--<script src="/vipsubscribe/js/fastclick.js?v={{Msg "seo" "version"}}"></script>-->
     	<script src="/jyapp/vipsubscribe/js/weui.min.js?v={{Msg "seo" "version"}}"></script>
     	<script src="/jyapp/vipsubscribe/js/common.js?v={{Msg "seo" "version"}}"></script>
+		<script src="/jyapp/js/common.js?v={{Msg "seo" "version"}}"></script>
 		<script type="text/javascript">
 			//
 			var orderId = {{.T.orderId}};
@@ -189,13 +197,9 @@
 					    	$(".date-span").text(dateHtml);
 					    }
 					    if(exprie === "will"){
-					    	let a = (endstime/1000) - (86400 * 3)
-					    	let b = nowTime/1000
-					    	if(b > a){
-					    		$(".renew_service").show();
-						    	$("#exprie").text("VIP订阅服务即将到期,请及时续费")
-						    	$(".recommend_title").text("以下区域、行业的订阅推送即将停止,为了不影响您的使用,请立即续费!")
-					    	}
+				    		$(".renew_service").show();
+					    	$("#exprie").text("VIP订阅服务即将到期,请及时续费")
+					    	$(".recommend_title").text("以下区域、行业的订阅推送即将停止,为了不影响您的使用,请立即续费!")
 					    }else{
 					    	$(".renew_service").show();
 					    	$(".free_service").show();

+ 115 - 109
src/jfw/modules/app/src/web/templates/vipsubscribe/renew_pay.html

@@ -14,7 +14,8 @@
     <link rel="stylesheet" type="text/css" href="/jyapp/vipsubscribe/css/base.css?v={{Msg "seo" "version"}}" />
     <link rel="stylesheet" type="text/css" href="/jyapp/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}" />
     <link rel="stylesheet" href="/jyapp/vipsubscribe/css/vip_update.css?v={{Msg "seo" "version"}}5">
-	{{include "/common/weixin.html"}}
+	<link rel="stylesheet" type="text/css" href="/jyapp/css/layout.css?v={{Msg "seo" "version"}}"/>
+    <link rel="stylesheet" type="text/css" href="/jyapp/css/font.css?v={{Msg "seo" "version"}}"/>
 </head>
 <style type="text/css">
 	body,html {
@@ -25,12 +26,17 @@
 	}
 	.vip_update .fixed-bottom-box, .vip_renew .fixed-bottom-box {
 	    width: 100%;
-	    position: fixed;
+	    position: static;
 	    bottom: 0;
 	    left: 0;
 	}
 </style>
 <body class="no-touch">
+	<div class="app-layout-header">
+        <span class="app-back jyapp-icon jyapp-icon-zuojiantou"></span>
+        VIP订阅续费
+    </div>
+    <div class="app-layout-content-b">
     <div class="vip_renew">
         <div class="choose_condition">
              <!-- 正常点击vip首页续费进入显示下列提示 -->
@@ -185,7 +191,7 @@
                                 <p><img src="/jyapp/vipsubscribe/image/weixin.png">微信支付</p>
                             </div>
                             <div class="weui-cell__hd">
-                                <input type="radio" class="weui-check" name="way" value="微信支付" id="wx" checked />
+                                <input type="radio" class="weui-check paytypes" name="way" value="微信支付" id="wx" checked />
                                 <i class="weui-icon-checked"></i>
                             </div>
                         </label>
@@ -194,7 +200,7 @@
                                 <p><img src="/jyapp/vipsubscribe/image/zhifubao.png">支付宝支付</p>
                             </div>
                             <div class="weui-cell__hd">
-                                <input type="radio" class="weui-check" name="way" value="支付宝支付" id="zfb" />
+                                <input type="radio" class="weui-check paytypes" name="way" value="支付宝支付" id="zfb" />
                                 <i class="weui-icon-checked"></i>
                             </div>
                         </label>
@@ -203,73 +209,12 @@
             </div>
         </div>
     </div>
+    </div>
     <script src="/vipsubscribe/js/jquery-2.1.4.js"></script>
     <script src="/vipsubscribe/js/common.js?v={{Msg "seo" "version"}}4"></script>
     <!--<script src="/vipsubscribe/js/fastclick.js?v={{Msg "seo" "version"}}"></script>-->
     <script src="https://res.wx.qq.com/open/libs/weuijs/1.1.4/weui.min.js?v={{Msg "seo" "version"}}"></script>
-    <script type="text/javascript">
-    	//
-    	try{
-			var signature = {{.T.signature}};
-			var isConfigSuccess = true;
-			var id = {{.T._id}}
-			if(signature && signature.length == 4){
-			  	wx.config({
-			  	    debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
-			  	    appId: signature[0], // 必填,公众号的唯一标识
-			  	    timestamp:signature[1], // 必填,生成签名的时间戳
-			  	    nonceStr: signature[2], // 必填,生成签名的随机串
-			  	    signature: signature[3],// 必填,签名,见附录1
-			  	    jsApiList: ['chooseWXPay','hideAllNonBaseMenuItem'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
-			  	});
-			  	wx.ready(function(){
-			  		if(!isConfigSuccess){
-			  			return;
-			  		}
-			  		wx.hideAllNonBaseMenuItem();
-			    });
-			  	wx.error(function(res){
-			  	    //config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
-			  		//alert(res);
-			  		isConfigSuccess = false;
-			  	});
-			}
-			//调用微信支付接口
-  			function onBridgeReady(res,ordercode){
-  			   	WeixinJSBridge.invoke('getBrandWCPayRequest',{
-		    		"appId": res["appId"],
-		          	"timeStamp": res["timestamp"],
-		          	"nonceStr": res["nonceStr"],
-		          	"package": res["prepayId"],
-		          	"signType": res["signType"],
-		         	"paySign": res["sign"]
-  				},
-  				function(r){
-				    if(r.err_msg == "get_brand_wcpay_request:ok"){
-						setTimeout(function(){
-							window.location.replace("/jyapp/front/vipsubscribe/toPaySuccessPage?orderCode="+ordercode);
-						},500)
-					}	
-//					}else if(r.err_msg == "get_brand_wcpay_request:cancel"){               
-////	                	alert("开发环境【支付跳转完成】")
-//		                try{
-////		  					window.location.replace("/front/vipsubscribe/toPaySuccessPage?orderCode="+ordercode);
-////		                    window.location.reload();
-//		                }catch(e){
-//		                  alert(e)
-//		                }
-//	  				}else{
-//	                	weui.toast("系统异常,请稍微再试",{
-//	                  		duration: 2000,
-//	                  		className: 'custom-toast',
-//	                	});
-//	  				}
-  				});
-  			}   
-		}catch(e){
-		  console.log(e)
-		}
-    </script>
+    <script src="/jyapp/js/common.js?v={{Msg "seo" "version"}}"></script>
     <script>
     	$(function () {    
 			var isPageHide = false;   
@@ -292,6 +237,16 @@
 
         // 选择订阅周期
         $('.select_cycle > a').click(function () {
+        	if((nowUpgrade)>=36){
+            	var overtimeWarning = `最长订阅周期不可超过3年<br />当前订阅周期:${nowUpgrade}个月`
+		        weui.toast(overtimeWarning, {
+		            duration: 3000,
+		            className: 'custom-toast',
+		            callback: function() {
+		            }
+		        })
+		        return
+            }
             $('#time_cycle').show(200);
         })
         // 选择支付方式
@@ -366,6 +321,16 @@
                 currentNum = currentNum <= data.numboxMin ? data.numboxMin : currentNum - data
                     .numboxStep;
             }
+            if((currentNum+nowUpgrade)>36){
+            	var overtimeWarning = `最长订阅周期不可超过3年<br />当前订阅周期:${nowUpgrade}个月`
+		        weui.toast(overtimeWarning, {
+		            duration: 3000,
+		            className: 'custom-toast',
+		            callback: function() {
+		            }
+		        })
+		        return
+            }
             if (currentNum >= 10) {
             	$('.profit_tips').text("已选择"+currentNum+"个月,建议“按年订阅”更划算哦~");
                 $('.profit_tips').show();
@@ -406,8 +371,17 @@
 
        /* -------- 控制年份number_box的事件  点击1年 2年 3年触发的事件------- */
         $('#number_box_year').on('click', 'span', function (e) {
-            console.log(e.target.dataset.id)
             let id = e.target.dataset.id;
+            if((id*12+nowUpgrade)>36){
+            	var overtimeWarning = `最长订阅周期不可超过3年<br />当前订阅周期:${nowUpgrade}个月`
+		        weui.toast(overtimeWarning, {
+		            duration: 3000,
+		            className: 'custom-toast',
+		            callback: function() {
+		            }
+		        })
+		        return
+            }
             $('.profit_tips').hide()
             $('#number_box_month').removeClass('active');
             $(this).addClass('active').siblings().removeClass('active')
@@ -439,6 +413,19 @@
         })
         /* -------- 选择按年订阅  radio触发的事件------- */
         $('#yearly').on('change', function (e) {
+        	if((12+nowUpgrade)>36){
+            	var overtimeWarning = `最长订阅周期不可超过3年<br />当前订阅周期:${nowUpgrade}个月`
+		        weui.toast(overtimeWarning, {
+		            duration: 3000,
+		            className: 'custom-toast',
+		            callback: function() {
+		            }
+		        })
+		        $('#yearly').prop("checked", false);
+		        $('#monthly').prop("checked", true);
+		        $('#number_box_month').addClass('active')
+		        return
+            }
             $('.profit_tips').hide()
             // console.log($(this).is(':checked'))
             let isChecked = $(this).is(':checked')
@@ -530,9 +517,12 @@
 	    	}else if(payType === "alipy"){
 	    		payHtml = "支付宝支付";
 	    	}
-	    	$('input:radio[name="way"]').val(payHtml);
-	    	$('input:radio[name="way"]').prop("checked", true);
-	    	$("#payType").text(payHtml);
+	    	$(".paytypes").each(function(){
+	    		if($(this).attr("value") === payHtml){
+	    			$(this).prop("checked", true);
+	    		}
+	    	});
+	    	$(".weixin_pay").text(payHtml);
 	    }
         
         //
@@ -616,14 +606,10 @@
 			    	$(".item_validity .label_for").text(dateHtml);
 			    }
 			    if(starts !== "" && ends !== ""){
-			    	let end = new Date(ends*1000).toLocaleDateString();
-			    	let endtime = end.split("/");
-			    	let endYear = Number(endtime[0]);
-			    	let endMonth = Number(endtime[1]);
-			    	let start = new Date(starts*1000).toLocaleDateString();
-			    	let starttime = start.split("/");
-			    	let startYear = Number(starttime[0]);
-			    	let startMonth = Number(starttime[1]);
+			    	let endYear = new Date(ends*1000).getFullYear();
+			    	let endMonth = new Date(ends*1000).getMonth()+1;
+			    	let startYear = new Date(starts*1000).getFullYear();
+			    	let startMonth = new Date(starts*1000).getMonth()+1;
 			    	let year = "";
 			    	let month = "";
 			    	if(endYear > startYear){
@@ -671,17 +657,13 @@
 		    }
         }, false);
         //
-        var nowDate = new Date(startTime).toLocaleDateString();
-		nowDate = nowDate.split("/");
-		var nowMonth = Number(nowDate[1]);
-		var nowYear = Number(nowDate[0]);
-		var nowDay = Number(nowDate[2]);
+		var nowMonth = new Date(startTime).getMonth()+1;
+		var nowYear = new Date(startTime).getFullYear();
+		var nowDay = new Date(startTime).getDate();
 		//
-		var endDate = new Date(endTime).toLocaleDateString();
-		endDate = endDate.split("/");
-		var endMonth = Number(endDate[1]);
-		var endYear = Number(endDate[0]);
-		var endDay = Number(endDate[2]);
+		var endMonth = new Date(endTime).getMonth()+1;
+		var endYear = new Date(endTime).getFullYear();
+		var endDay = new Date(endTime).getDate();
 		var nowUpgrade = 0;
 		if(endYear === nowYear){
 			if(endMonth === nowMonth){
@@ -760,7 +742,6 @@
 	    }
 	    //
 	    $(".save_renew").on("click", function(){
-	    	console.log(nowUpgrade)
 //	    	let times = $('.choose_item.select_cycle .info').attr('placeholder');
 	    	let times = $('.choose_item.select_cycle .info').val();
 	        if (times.match("月") !== null){
@@ -768,35 +749,43 @@
 	        }else if (times.match("年") !== null){
 	        	times = 12 * Number(times.replace("年",""));
 	        }
-	    	// 当续费时间 + 当前已经买的时间超过36个月,给出提醒
-	    	if(times > 36-nowUpgrade){
-	    		var overtimeWarning = `最长订阅周期不可超过3年<br />当前订阅周期:${nowUpgrade}个月`
-		        weui.toast(overtimeWarning, {
-		            duration: 3000,
-		            className: 'custom-toast',
-		            callback: function() {
-		   
-		            }
-		        })
-		        return
-	    	}
+	    	//
+	    	let payTypes = sessionStorage.payTypes;
+            let payType = "";
+            if(payTypes === "wx"){
+            	payType = "wx_app";
+            }else if(payTypes === "alipy"){
+            	payType = "alipy_app";
+            }
 	        $(".save_renew").attr("disabled","disabled");
 	    	var param = {
 	    		"area": JSON.stringify(area),
 	    		"industry": buyerclass.toString(),
 	    		"time": $('.choose_item.select_cycle .info').val(),
-	    		"payWay":"wx_js",
+	    		"payWay":payType,
 	    		"pay_source": "Renew",
 	    		"endtime": ends,
 	    	}
 	    	console.log(param)
-	    	$DoPost("/subscribepay/renewUpgrade/renewUpgradeCreateOrder",param,function(r){
-                if(r.success){
+	    	$DoPost("/subscribepay/renewUpgrade/renewUpgradeCreateOrder", param, function (r) {
+                if (r.success) {
+                    //唤起app支付
+                    try {
+                        if (pay_way == "wx_app") {
+                            JyObj.wxPay(r.data.res);
+                        } else {
+                            JyObj.aliPay(r.data.res)
+                        }
+                        //校验是否支付完成
+                        checkpay(r.data.code);
+                    } catch (e) {
+                        alert(e)
+                    }
                     clearSessionStorage();
-                    onBridgeReady(JSON.parse(r.data.res),r.data.code);
+                } else {
+                    $(".save_renew").removeAttr("disabled")
                 }
-                $(".save_renew").removeAttr("disabled");
-            })
+            });
 	    });
 	    
 	    //
@@ -807,7 +796,24 @@
 	    	sessionStorage.removeItem("renew_finally_price");
 	    	sessionStorage.removeItem("buyChecks");
 	    }
-	    
+	    //
+	    //校验是否支付
+	    var interval;
+	
+	    function checkpay(orderid) {
+	        if (interval) {
+	            clearInterval(interval);
+	        }
+	        interval = setInterval(function () {
+	            $.post("/jypay/isPaySuccess", {code: orderid}, function (r) {
+	                if (r.success) {
+	                    clearInterval(interval);
+	                    clearSessionStorage();
+	                    window.location.replace("/jyapp/vipsubscribe/toPaySuccessPage?orderCode=" + orderid);
+	                }
+	            });
+	        }, 2000)
+	    }
 	    //
 	    function checkObj(obj) {
 		    //检验数组

+ 90 - 103
src/jfw/modules/app/src/web/templates/vipsubscribe/vip_upgrade.html

@@ -15,7 +15,8 @@
     <link rel="stylesheet" type="text/css" href="/jyapp/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}" />
     <link rel="stylesheet" href="/jyapp/vipsubscribe/css/public.css?v={{Msg "seo" "version"}}">
     <link rel="stylesheet" href="/jyapp/vipsubscribe/css/vip_update.css?v={{Msg "seo" "version"}}4">
-	{{include "/common/weixin.html"}}
+	<link rel="stylesheet" type="text/css" href="/jyapp/css/layout.css?v={{Msg "seo" "version"}}"/>
+    <link rel="stylesheet" type="text/css" href="/jyapp/css/font.css?v={{Msg "seo" "version"}}"/>
 </head>
 <style type="text/css">
 	body,html {
@@ -26,18 +27,23 @@
 	}
 	.vip_update .fixed-bottom-box, .vip_renew .fixed-bottom-box {
 	    width: 100%;
-	    position: fixed;
+	    position: static;
 	    bottom: 0;
 	    left: 0;
 	}
 </style>
 <body class="no-touch">
+	<div class="app-layout-header">
+        <span class="app-back jyapp-icon jyapp-icon-zuojiantou"></span>
+        VIP订阅升级
+    </div>
+    <div class="app-layout-content-b">
     <div class="vip_update">
         <div class="choose_condition">
             <p class="update_tip">提示:订阅升级可在已购买的服务基础上,增加区域、行业、以及延长订阅周期!</p>
             <ul class="chooseList">
                 <li class="choose_item">
-                    <a href="/jyapp/front/vipsubscribe/toChooseAreaUpgrade">
+                    <a href="/jyapp/vipsubscribe/toChooseAreaUpgrade">
                         <span class="label">区域</span>
                         <input type="text" id="area" value="" onfocus="this.blur();" placeholder="选择全国、省份、地市" class="info">
                         <i class="iconfont icon-arrow"></i>
@@ -45,7 +51,7 @@
                     <p class="add_tips area-list" style="display: none;">已新增 1 个省级区域、4 个地市</p>
                 </li>
                 <li class="choose_item">
-                    <a href="/jyapp/front/vipsubscribe/toChooseIndustryUpgrade">
+                    <a href="/jyapp/vipsubscribe/toChooseIndustryUpgrade">
                         <span class="label">行业</span>
                         <input type="text" id="buyerclass" onfocus="this.blur();" value="" placeholder="选择采购单位行业" class="info">
                         <i class="iconfont icon-arrow"></i>
@@ -282,7 +288,7 @@
                                 <p><img src="/jyapp/vipsubscribe/image/weixin.png">微信支付</p>
                             </div>
                             <div class="weui-cell__hd">
-                                <input type="radio" class="weui-check" name="way" value="微信支付" id="wx" checked />
+                                <input type="radio" class="weui-check paytypes" name="way" value="微信支付" id="wx" checked />
                                 <i class="weui-icon-checked"></i>
                             </div>
                         </label>
@@ -291,7 +297,7 @@
                                 <p><img src="/jyapp/vipsubscribe/image/zhifubao.png">支付宝支付</p>
                             </div>
                             <div class="weui-cell__hd">
-                                <input type="radio" class="weui-check" name="way" value="支付宝支付" id="zfb" />
+                                <input type="radio" class="weui-check paytypes" name="way" value="支付宝支付" id="zfb" />
                                 <i class="weui-icon-checked"></i>
                             </div>
                         </label>
@@ -300,75 +306,12 @@
             </div>
         </div>
     </div>
+    </div>
     <script src="/jyapp/vipsubscribe/js/jquery-2.1.4.js"></script>
     <!--<script src="/vipsubscribe/js/fastclick.js?v={{Msg "seo" "version"}}"></script>-->
     <script src="/jyapp/vipsubscribe/js/weui.min.js?v={{Msg "seo" "version"}}"></script>
     <script src="/jyapp/vipsubscribe/js/common.js?v={{Msg "seo" "version"}}3"></script>
-    <script type="text/javascript">
-    	//
-    	try{
-			var signature = {{.T.signature}};
-			var isConfigSuccess = true;
-			var id = {{.T._id}}
-			if(signature && signature.length == 4){
-			  	wx.config({
-			  	    debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
-			  	    appId: signature[0], // 必填,公众号的唯一标识
-			  	    timestamp:signature[1], // 必填,生成签名的时间戳
-			  	    nonceStr: signature[2], // 必填,生成签名的随机串
-			  	    signature: signature[3],// 必填,签名,见附录1
-			  	    jsApiList: ['chooseWXPay','hideAllNonBaseMenuItem'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
-			  	});
-			  	wx.ready(function(){
-			  		if(!isConfigSuccess){
-			  			return;
-			  		}
-			  		wx.hideAllNonBaseMenuItem();
-			    });
-			  	wx.error(function(res){
-			  	    //config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
-			  		//alert(res);
-			  		isConfigSuccess = false;
-			  	});
-			}
-			//调用微信支付接口
-  			function onBridgeReady(res,ordercode){
-  			   	WeixinJSBridge.invoke('getBrandWCPayRequest',{
-		    		"appId": res["appId"],
-		          	"timeStamp": res["timestamp"],
-		          	"nonceStr": res["nonceStr"],
-		          	"package": res["prepayId"],
-		          	"signType": res["signType"],
-		         	"paySign": res["sign"]
-  				},
-  				function(r){
-				    if(r.err_msg == "get_brand_wcpay_request:ok"){
-				    	//
-                    	clearSessionStorage();
-						setTimeout(function(){
-							window.location.replace("/jyapp/front/vipsubscribe/toPaySuccessPage?orderCode="+ordercode);
-						},500)
-					}
-//					}else if(r.err_msg == "get_brand_wcpay_request:cancel"){               
-////	                	alert("开发环境【支付跳转完成】")
-//		                try{
-////		  					window.location.replace("/front/vipsubscribe/toPaySuccessPage?orderCode="+ordercode);
-////		                	window.location.reload();
-//		                }catch(e){
-//		                  alert(e)
-//		                }
-//	  				}else{
-//	                	weui.toast("系统异常,请稍微再试",{
-//	                  		duration: 2000,
-//	                  		className: 'custom-toast',
-//	                	});
-//	  				}
-  				});
-  			}   
-		}catch(e){
-		  console.log(e)
-		}
-    </script>
+    <script src="/jyapp/js/common.js?v={{Msg "seo" "version"}}"></script>
     <script>
         $(function () {    
 			var isPageHide = false;   
@@ -444,13 +387,11 @@
          // 选择生效日期
         $('.choose_effect_date > a').click(function () {
             $('#effective_date').show(200);
-            var nowDates = new Date().toLocaleDateString();
-			nowDates = nowDates.split("/");
-			var nowMonths = Number(nowDates[1]);
-			var nowYears = Number(nowDates[0]);
-			var as = nowMonths +1
+			var nowMonths = new Date().getMonth()+1;
+			var nowYears = new Date().getFullYear();
+			var as = nowMonths +1;
 			if(as > 12){
-				as = nowMonths-12;
+				as = as-12;
 				nowYears = nowYears +1;
 			}
 			var bs = nowYears+"/"+as+"/1";
@@ -528,7 +469,6 @@
                 // $('#time_cycle .tips.monthly_tips').hide();
 
                 $('#number_box_month').removeClass('active');
-                $('#number_box_year span:eq(0)').addClass('active');
             }else{
                 $('.computed_price').hide()
                 $('#number_box_month').removeClass('active');
@@ -669,6 +609,19 @@
         })
         /* -------- 选择按年订阅  radio触发的事件------- */
         $('#yearly').on('change', function (e) {
+        	if((12+nowRenew)>36){
+            	var overtimeWarning = `最长订阅周期不可超过3年<br />当前订阅周期:${nowRenew}个月`
+		        weui.toast(overtimeWarning, {
+		            duration: 3000,
+		            className: 'custom-toast',
+		            callback: function() {
+		            }
+		        })
+		        $('#yearly').prop("checked", false);
+		        $('#monthly').prop("checked", true);
+		        $('#number_box_month').addClass('active')
+		        return
+           	}
             $('.profit_tips').hide()
             // console.log($(this).is(':checked'))
             let isChecked = $(this).is(':checked')
@@ -827,9 +780,12 @@
 	    	}else if(payType === "alipy"){
 	    		payHtml = "支付宝支付";
 	    	}
-	    	$('input:radio[name="way"]').val(payHtml);
-	    	$('input:radio[name="way"]').prop("checked", true);
-	    	$("#payType").text(payHtml);
+	    	$(".paytypes").each(function(){
+	    		if($(this).attr("value") === payHtml){
+	    			$(this).prop("checked", true);
+	    		}
+	    	});
+	    	$(".weixin_pay").text(payHtml);
 	    }
 
 		if(sessionStorage.upgrade_cyclecount!==undefined&&sessionStorage.upgrade_cycleunit!==undefined){
@@ -940,17 +896,13 @@
         	$(".save_upgrade").attr('disabled','disabled');
 	    	var nowUpgrade = "";
 			//
-			var nowDate = new Date(startTime).toLocaleDateString();
-			nowDate = nowDate.split("/");
-			var nowMonth = Number(nowDate[1]);
-			var nowYear = Number(nowDate[0]);
-			var nowDay = Number(nowDate[2]);
+			var nowMonth = new Date(startTime).getMonth()+1;
+			var nowYear = new Date(startTime).getFullYear();
+			var nowDay = new Date(startTime).getDate();
 			//
-			var endDate = new Date(endTime).toLocaleDateString();
-			endDate = endDate.split("/");
-			var endMonth = Number(endDate[1]);
-			var endYear = Number(endDate[0]);
-			var endDay = Number(endDate[2]);
+			var endMonth = new Date(endTime).getMonth()+1;
+			var endYear = new Date(endTime).getFullYear();
+			var endDay = new Date(endTime).getDate();
 			var oldPrice = "";
 			var price = "";
 			var effect = "";
@@ -1223,13 +1175,11 @@
         	let effective = $("#effect_date_name").text();
         	var effect = "now";
         	if(effective !== "立即生效,需支付当月费用差价"){
-        		let nowDate = new Date().toLocaleDateString();
-				nowDate = nowDate.split("/");
-				let nowMonth = Number(nowDate[1]);
-				let nowYear = Number(nowDate[0]);
+				let nowMonth = new Date().getMonth()+1;
+				let nowYear = new Date().getFullYear();
 				let a = nowMonth +1
         		if(a > 12){
-        			a = nowMonth-12;
+        			a = a-12;
         			nowYear = nowYear +1;
         		}
         		let b = nowYear+"/"+a+"/1";
@@ -1254,25 +1204,46 @@
             if(renew_time !== "不延长"){
             	times = $('.choose_item.lengthen .info').text();
             }
+            //
+            let payTypes = sessionStorage.payType;
+            let payType = "";
+            if(payTypes === "wx"){
+            	payType = "wx_app";
+            }else if(payTypes === "alipy"){
+            	payType = "alipy_app";
+            }
             //
 	    	var param = {
 	    		"area": JSON.stringify(areas),
 	    		"industry": industrys.join(","),
 	    		"areas": JSON.stringify(areaarr),
 	    		"industryarr": industryarr.join(","),
-	    		"payWay": "wx_js",
+	    		"payWay": payType,
 	    		"effect": effect,
 	    		"pay_source" : "Upgrade",
 	    		"time": times,
 	    		"nowUp": Number(nowRenew),
 	    	}
 	    	console.log(param)
-	    	$DoPost("/subscribepay/renewUpgrade/renewUpgradeCreateOrder",param,function(r){
-                if(r.success){
-                    onBridgeReady(JSON.parse(r.data.res),r.data.code);
+	    	$DoPost("/subscribepay/renewUpgrade/renewUpgradeCreateOrder", param, function (r) {
+                if (r.success) {
+                    //唤起app支付
+                    try {
+                        if (pay_way == "wx_app") {
+                            JyObj.wxPay(r.data.res);
+                        } else {
+                            JyObj.aliPay(r.data.res)
+                        }
+                        //校验是否支付完成
+                        checkpay(r.data.code);
+                    } catch (e) {
+                        alert(e)
+                    }
+                    clearSessionStorage();
+                } else {
+                    $(".save_upgrade").removeAttr("disabled")
                 }
-                $(".save_upgrade").removeAttr("disabled");
-            })
+            });
 	    });
 	    
 	    //
@@ -1286,8 +1257,24 @@
 	    	sessionStorage.removeItem("effectiveDate");
 	    	sessionStorage.removeItem("buyCheck");
 	    }
-	    
 	    //
+	    //校验是否支付
+	    var interval;
+	
+	    function checkpay(orderid) {
+	        if (interval) {
+	            clearInterval(interval);
+	        }
+	        interval = setInterval(function () {
+	            $.post("/jypay/isPaySuccess", {code: orderid}, function (r) {
+	                if (r.success) {
+	                    clearInterval(interval);
+	                    clearSessionStorage();
+	                    window.location.replace("/jyapp/vipsubscribe/toPaySuccessPage?orderCode=" + orderid);
+	                }
+	            });
+	        }, 2000)
+	    }
 	    //
 	    function checkObj(obj) {
 		    //检验数组

+ 28 - 28
src/jfw/modules/subscribepay/src/service/afterPay.go

@@ -172,9 +172,9 @@ func (a *AfterPay) SetUserInfo() error {
 			saveData["o_vipjy.i_matchway"] = i_matchway
 		} else if a.GetString("pageType") == "keyWords" {
 			classify_index := a.GetString("classify_index")
-			classify_name := a.GetString("classify_name")
+			classify_name := strings.Trim(a.GetString("classify_name"), " ")
 			kws_index := a.GetString("kws_index")
-			kws_name := a.GetString("kws_name")
+			kws_name := strings.Trim(a.GetString("kws_name"), " ")
 			actionType := a.GetString("actionType")
 			kwscount := a.GetString("kwscount")
 			addtion_kws := a.GetSlice("addition_kws")
@@ -282,33 +282,33 @@ func (a *AfterPay) GetUserInfo() error {
 			data := qutil.ObjToMap((*userData)["o_vipjy"])
 			i_vip_status := qutil.IntAll((*userData)["i_vip_status"])
 			//区域
-			_area := qutil.ObjToMap((*data)["o_area"].(interface{}))
-			var area = ""
-			for k, v := range *_area {
-				if len(v.([]interface{})) == 0 {
-					area += k + "、"
-				} else {
-					for _, _v := range v.([]interface{}) {
-						area += _v.(string) + "、"
-					}
-				}
-			}
-			if area == "" {
-				(*data)["o_area"] = "全国"
-			} else {
-				(*data)["o_area"] = strings.TrimRight(area, "、")
-			}
+			//			_area := qutil.ObjToMap((*data)["o_area"].(interface{}))
+			//			var area = ""
+			//			for k, v := range *_area {
+			//				if len(v.([]interface{})) == 0 {
+			//					area += k + "、"
+			//				} else {
+			//					for _, _v := range v.([]interface{}) {
+			//						area += _v.(string) + "、"
+			//					}
+			//				}
+			//			}
+			//			if area == "" {
+			//				(*data)["o_area"] = "全国"
+			//			} else {
+			//				(*data)["o_area"] = strings.TrimRight(area, "、")
+			//			}
 			//采购行业
-			_buyClass := (*data)["a_buyerclass"].([]interface{})
-			var buyClass = ""
-			for _, v := range _buyClass {
-				buyClass += v.(string) + "、"
-			}
-			if buyClass == "" {
-				(*data)["a_buyerclass"] = "全行业"
-			} else {
-				(*data)["a_buyerclass"] = strings.TrimRight(buyClass, "、")
-			}
+			//			_buyClass := (*data)["a_buyerclass"].([]interface{})
+			//			var buyClass = ""
+			//			for _, v := range _buyClass {
+			//				buyClass += v.(string) + "、"
+			//			}
+			//			if buyClass == "" {
+			//				(*data)["a_buyerclass"] = "全行业"
+			//			} else {
+			//				(*data)["a_buyerclass"] = strings.TrimRight(buyClass, "、")
+			//			}
 			//有效日期
 			var _starttime = (*userData)["l_vip_starttime"]
 			(*userData)["l_vip_starttime"] = strings.Replace(qutil.FormatDateWithObj(&_starttime, qutil.Date_Short_Layout), "-", ".", -1)

+ 28 - 1
src/web/staticres/vipsubscribe/js/common.js

@@ -31,6 +31,24 @@ function getParam(name) {
   return context == null || context == "" || context == "undefined" ? "" : context;
 }
 
+//省份 城市 分类
+function getAreaClassArr_index(area){
+	let cityArr=[];//城市
+    let provinceArr=[];//省份
+    for(var i in area) {
+      let citys=area[i]
+      if(citys.length>0){
+        cityArr = cityArr.concat(citys);
+        provinceArr.push(i+"("+cityArr.join("、")+")")
+      }else{
+    	if(i=="全国"){
+			continue
+		}
+        provinceArr.push(i)
+      }
+    }
+    return SortArr(provinceArr)
+}
 
 //省份 城市 分类
 function getAreaClassArr(area){
@@ -47,9 +65,18 @@ function getAreaClassArr(area){
         provinceArr.push(i)
       }
     }
-    return [provinceArr,cityArr]
+    return [SortArr(provinceArr),SortArr(cityArr)]
+}
+
+//对数组进行排序(拼音)
+function SortArr(arr){
+	arr = arr.sort(function compareFunction(item1, item2) {
+	    return item1.localeCompare(item2);
+	});
+	return arr
 }
 
+
 /* vip订阅价格
 	area:地区 {}
 	industry:行业 []

+ 5 - 5
src/web/staticres/vipsubscribe/js/keyWord.js

@@ -30,7 +30,7 @@ var reloadFunc = function(){
     // 添加keyWords检查输入框内是否有文字,如果有才能点击添加按钮
     $('.content .addkeyWord input.enterOne').on('input', function () {
         var buttonDOM = $(this).siblings()[1].children[1]
-        if ($(this).val().length >= 1) {
+        if ($.trim($(this).val()).length >= 1) {
             buttonDOM.style.opacity = 1
             buttonDOM.removeAttribute("disabled")
         } else {
@@ -42,7 +42,7 @@ var reloadFunc = function(){
     // 添加 确认按钮的点击事件
     $('.content .addkeyWord .btn button:nth-child(2)').on('click', function () {
 		setTimeout(function(){
-	        var keyWord = $('.addkeyWord input.enterOne').val();
+	        var keyWord = $.trim($('.addkeyWord input.enterOne').val());
 			if(keyWord==""){
 				return
 			}
@@ -71,7 +71,7 @@ var reloadFunc = function(){
 			if($(".showKeyWord li").length>0){
 	        	_index =  Number($(".showKeyWord li:first").find(".editKeyWord").attr("dataIndex")) + Number(1);
 			}
-	        classify_name = $('.classify-r .classify-detail').text();
+	        classify_name = $.trim($('.classify-r .classify-detail').text());
 	        //保存关键词
 	        kws_count = parseInt(kws_count) + 1;
 	        if(kws_count>300){
@@ -162,7 +162,7 @@ var reloadFunc = function(){
     })
     // 编辑
     $(".showKeyWord").on('click', '.editKeyWord', function (e) {
-        kws_name = $(this).parent().find('.key').text();
+        kws_name = $.trim($(this).parent().find('.key').text());
         //当前关键词数组的位置 是数组的总长度-当前所在的位置-1 数组正序索引
         kws_index = $('.showKeyWord li').length - $(this).parent().parent("li").index() -1;
         if($(this).prev('div').find(".addition").text()!=""){
@@ -282,7 +282,7 @@ var reloadFunc = function(){
     })
     // 关键词分类 - 确定按钮点击事件
     $('.classify-edit-pop .dialog__btn_confirm').on('click', function() {
-        classify_name = $('input.classify-keyword').val();
+        classify_name = $.trim($('input.classify-keyword').val());
         // 去空格
         classify_name = classify_name.trim();
         if (classify_name.length === 0) {

+ 149 - 63
src/web/templates/weixin/email/bind_email.html

@@ -3,7 +3,7 @@
 	<head>
 		<meta charset="utf-8">
 		<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
		{{if .T.text_email}}
-		<title>修改邮箱</title>
+		<title>更换邮箱</title>
 		{{else}}
 		<title>我的邮箱</title>
 		{{end}}
		<meta name="Keywords" content="绑定邮箱"/>
		<link rel="stylesheet" href="{{Msg "seo" "cdn"}}/wxmyemail/css/reset.css?v={{Msg "seo" "version"}}">
		<link rel="stylesheet" href="{{Msg "seo" "cdn"}}/wxmyemail/css/common.css?v={{Msg "seo" "version"}}">
		<link rel="stylesheet" href="{{Msg "seo" "cdn"}}/wxmyemail/css/mine.css?v={{Msg "seo" "version"}}"/>        
@@ -12,7 +12,8 @@
 		{{include "/common/weixin.html"}}
 		<script src="{{Msg "seo" "cdn"}}/wxswordfish/share.js?v={{Msg "seo" "version"}}"></script>
 	</head>
-	<body>
+	<body style="visibility:hidden">
+		<!--<body>-->
 		<style>
 			.code_true{
 				position: absolute;
@@ -27,34 +28,105 @@
 			.email_input,.code_input{
 				line-height: 20px !important;
 			}
+			body .loading_ {
+			    height: 100%;
+			    width: 100%;
+			    position: fixed;
+			    background: #382f3d;
+			    z-index: 999999999990;
+				opacity: .7;
+				    margin-top: 20px;
+			}
+			body .loading_ > p {
+			    position: absolute;
+			    left: 0;
+			    right: 0;
+			    top: 0;
+			    bottom: 0;
+			    margin: auto;
+			    height: 60px;
+			    width: 60px;
+			    text-align: center;
+			    line-height: 60px;
+			    font-size: 0.36rem;
+			    color: rgba(44, 183, 202, 0.8);
+			}
+			body .loading_ p span {
+			    position: absolute;
+			    display: block;
+			    height: 40px;
+			    width: 40px;
+			    margin: 10px;
+			    border-radius: 50%;
+			    -webkit-box-shadow: 0 2px 3px rgba(44, 183, 202, 0.8);
+			    animation: loading_ ease 1s infinite;
+			    left: 0;
+			    top: 0;
+			}
+			@keyframes loading_ {
+			  0% {
+			    transform: rotate(0deg); }
+			  100% {
+			    transform: rotate(360deg); } 
+			}
 		</style>
+		<!-- 加载数据-->
+		<div class="loading_">
+		    <p><span></span></p>
+		</div>
 		<div class="bind_email">
			<div class="input mgT26">
				<input type="email" placeholder="输入邮箱" name="" id="" value="" class="email_input" />
				<input type="text" placeholder="输入验证码" name="" id="" value="" class="code_input" />
				<button class="sendcode" >获取验证码</button>
 				<button class="code_true"><i class="icon iconfont email_check_ok" style="display: inline;"></i></button>
-				<!--<i class="icon iconfont email_check_ok" style="display: inline;color:#2cb7ca"></i>-->
			</div>
			<button type="button" disabled="disabled" class="common_btn btn" id="bindBtn">绑定</button>
			<div class="toast" style="display: none;">
				<div class="toast_content"></div>
			</div>
		</div>
		<script src="{{Msg "seo" "cdn"}}/wxmyemail/js//zepto.js?v={{Msg "seo" "version"}}"></script>
		<script src="{{Msg "seo" "cdn"}}/wxmyemail/js/public.js?v={{Msg "seo" "version"}}1"></script>
		<script>
			$(function(){
+				<!--<i class="icon iconfont email_check_ok" style="display: inline;color:#2cb7ca"></i>-->
			</div>
			<button type="button" disabled="disabled" class="common_btn btn" id="bindBtn">绑定</button>
			<div class="toast" style="display: none;">
				<div class="toast_content"></div>
			</div>
		</div>
		<script src="{{Msg "seo" "cdn"}}/wxmyemail/js//zepto.js?v={{Msg "seo" "version"}}"></script>
		<script src="{{Msg "seo" "cdn"}}/wxmyemail/js/public.js?v={{Msg "seo" "version"}}1"></script>
		<script>
+			$(function () {    
+				var isPageHide = false;   
+				window.addEventListener('pageshow', function () {      
+				    if (isPageHide) {
+		                location.reload();
+				    }    
+				});    
+				window.addEventListener('pagehide', function () {
+				    isPageHide = true;
+				});  
+			});
+			var param = getParam('name');
+			var orderCode=getParam("orderCode");
+			function initpage(){
+				$(".loading_").hide();
+				if(sessionStorage.getItem("1-1")=="1"){
+					sessionStorage.removeItem("1-1")
+					if((param=="change")||(param=="unbind")){
+						window.location.replace("/front/wxMyOrder/myEmail");
+					}else{
+						location.reload();
+					}
+				}else{
+					$("body").css({"visibility":""});
+				}
+			}
			$(function(){
+//				var initflag = true;
+//				$(window).bind("pageshow", function(event){
+//					initflag = false;
+//					if (initflag){
+//						initpage();
+//					}
+//				});
+//				if (initflag){
+//					initflag = false;
+//					initpage();
+//				}
+				$("body").css({"visibility":""});
+				$(".loading_").hide();
 				initShare({{.T.signature}},{{.T.openid}},2,"jy_wxmyorder",{{.T.nickname}},{{.T.avatar}});
				var emailVal,code;
 				var userId={{.T.userId}}
				var reg = /^[a-zA-Z0-9]+([._-]*[a-zA-Z0-9]*)*@[a-zA-Z0-9]+.[a-zA-Z0-9{2,5}$]/;
 				//判断是否是更改邮箱;
-				var param = getParam('name');
-				var orderCode=getParam("orderCode");
 				if (param=="change"){
-					$(".email_input").attr("placeholder",{{.T.text_email}})
+					$(".email_input").attr("placeholder","输入新邮箱");
 					$("#bindBtn").html("确定");
 				}else if(param == "unbind"){
 					sessionStorage.setItem("unbind_"+userId,"ok");
 					promptbox("解绑成功");
 				}
 				
-//				$(".email_input").bind('input propertychange',()=>{
-//					if((sessionStorage.getItem("send_myemail_"+userId)!=null)&&(sessionStorage.getItem("send_myemail_"+userId)!="")){
-//						if((sessionStorage.getItem("send_myemail_"+userId))!= $('.email_input').val()){
-//							$('.sendcode').prop("disabled","disabled");
-//						}else{
-//							sessionStorage.removeItem("send_myemail_"+userId);
-//							$('.sendcode').removeAttr("disabled");
-//						}
-//					}
-//				})
-				
 				//
				$('.sendcode').on('click',function(){
 					var that =this;
					emailVal = $('.email_input').val();
					let isEmail = reg.test(emailVal);//正则验证邮箱号
					if($.trim(emailVal) === ''){
 						promptbox('邮箱号不能为空');
					}else if(isEmail === false){
						promptbox('邮箱格式不正确');
					}else{
@@ -82,57 +154,69 @@
 						});
 
					}
				})
 				
-										//验证码校验
-						$('.code_input').bind('input propertychange',()=>{
-							var verity=$(".code_input").val();
-							var email=$(".email_input").val().replace(/\s*/g,"");
-							if(verity.length==6){
-								$.post("/subscribepay/orderListDetails/checkMailCodeVerify",{
-									"email":email,
-									"emailVerity":verity,
-								},function(data){
-									if(data.success){
-										$(".sendcode").css("display","none");
-										$(".code_true").show();
-										$(".code_input").prop("readonly","true");
-										$("#bindBtn").removeAttr("disabled");
-									}else{
-										$(".code_true").hide();
-										$("#bindBtn").attr("disabled","disabled");
-										promptbox("邮箱验证码错误");
-									}
-								});
-							}
-						}).on("blur",()=>{
-							var code_input_len=$(".code_input").val().length
-							if((code_input_len!=6)&&(code_input_len!=0)){
+				//验证码校验
+				$('.code_input').bind('input propertychange',()=>{
+					var verity=$(".code_input").val();
+					var email=$(".email_input").val().replace(/\s*/g,"");
+					if(verity.length==6){
+						$.post("/subscribepay/orderListDetails/checkMailCodeVerify",{
+							"email":email,
+							"emailVerity":verity,
+						},function(data){
+							if(data.success){
+								$(".sendcode").css("display","none");
+								$(".code_true").show();
+								$(".code_input").prop("readonly","true");
+								$(".email_input").prop("readonly",true);
+								$("#bindBtn").removeAttr("disabled");
+							}else{
 								$(".code_true").hide();
 								$("#bindBtn").attr("disabled","disabled");
 								promptbox("邮箱验证码错误");
 							}
 						});
-						
-						//绑定
-						$("#bindBtn").on("click",function(){
-							$.post("/subscribepay/orderListDetails/emailOperation",{
-								"operation":"binding",
-								"email":$(".email_input").val()
-								},function(data){
-								if(data.success){
-									if ($("#bindBtn").text()=="确定"){	//更改绑定
-										sessionStorage.removeItem("send_myemail_"+{{.T.userId}});
-										window.location.replace("/front/wxMyOrder/setSuccess?name=changeEmail"); 
-									}else{
-										sessionStorage.removeItem("send_myemail_"+{{.T.userId}});
-										if((param="invoice")&&(orderCode!=null)){
-											window.location.replace("/front/wxMyOrder/setSuccess?name=invoice&orderCode="+orderCode); 
-										}else{
-											window.location.replace("/front/wxMyOrder/setSuccess?name=bindEmail"); 
-										}
-									}
+					}
+				}).on("blur",()=>{
+					var code_input_len=$(".code_input").val().length
+					if((code_input_len!=6)&&(code_input_len!=0)){
+						$(".code_true").hide();
+						$("#bindBtn").attr("disabled","disabled");
+						promptbox("邮箱验证码错误");
+					}
+				});
+				
+				//绑定
+				$("#bindBtn").on("click",function(){
+					$.post("/subscribepay/orderListDetails/emailOperation",{
+						"operation":"binding",
+						"email":$(".email_input").val()
+						},function(data){
+						if(data.success){
+							if ($("#bindBtn").text()=="确定"){	//更改绑定
+								sessionStorage.removeItem("send_myemail_"+{{.T.userId}});
+								sessionStorage.setItem("1-1","1")
+								window.location.replace("/front/wxMyOrder/setSuccess?name=changeEmail"); 
+								$("body").css({"visibility":"hidden"});
+								$(".loading_").show();
+								//window.location.href="/front/wxMyOrder/setSuccess?name=changeEmail";
+							}else{
+								sessionStorage.removeItem("send_myemail_"+{{.T.userId}});
+								if((param="invoice")&&(orderCode!=null)){
+									$(".loading_").show();
+									$("body").css({"visibility":"hidden"});
+									window.location.replace("/front/wxMyOrder/setSuccess?name=invoice&orderCode="+orderCode); 
+									//Window.location.href="/front/wxMyOrder/setSuccess?name=invoice&orderCode="+orderCode;
+								}else{
+									$("body").css({"visibility":"hidden"});
+									$(".loading_").show();
+									sessionStorage.setItem("1-1","1")
+									window.location.replace("/front/wxMyOrder/setSuccess?name=bindEmail");  
+									//window.location.href="/front/wxMyOrder/setSuccess?name=bindEmail";
 								}
-							})
-						})
			})
+							}
+						}
+					})
+				})
			})
 			
 			//提示框
 			function promptbox(str){
@@ -141,7 +225,9 @@
 				setTimeout(() =>{
 					$('.toast').hide(400);
 				},1500)
-			}
		</script>
+			}
+			
+
		</script>
 		
 	{{include "/common/baiducc.html"}}
	</body>
 </html>

+ 12 - 2
src/web/templates/weixin/email/bind_success.html

@@ -25,8 +25,16 @@
 				//分享
 				initShare({{.T.signature}},{{.T.openid}},2,"jy_wxmyorder",{{.T.nickname}},{{.T.avatar}});
 				
+				
 				let param = getParam('name');//获取url传来的参数 判断显示成功的字幕
 				var orderCode=getParam("orderCode"); //开发票的订单
+				if(param!="invoice"){
+					//增加一条历史记录
+					history.pushState({},"","");
+					window.addEventListener('popstate', function(event){
+						window.location.replace('/front/wxMyOrder/myEmail');
+					});
+				}
 				var time = 3;
 				function countDown(){
 					if(time == 0){
@@ -34,7 +42,8 @@
 						if((param=="invoice")&&(orderCode!=null)){
 							window.location.replace('/weixin/pay/toOrderDetailPage?orderCode='+orderCode);
 						}else{
-							window.location.replace('/front/wxMyOrder/myEmail');
+							window.history.go(-1);
+							//window.location.replace('/front/wxMyOrder/myEmail');
 						}
 					}else{
 						$('.time').html('(' + time + ')');
@@ -68,7 +77,8 @@
 					if((param=="invoice")&&(orderCode!=null)){
 							window.location.replace('/weixin/pay/toOrderDetailPage?orderCode='+orderCode);
 						}else{
-							window.location.replace('/front/wxMyOrder/myEmail');
+							window.history.go(-1);
+							//window.location.replace('/front/wxMyOrder/myEmail');
 						}
 				})
 			})

+ 2 - 1
src/web/templates/weixin/email/unbind_email.html

@@ -17,7 +17,8 @@
 					});
 					$('#sure_choose').on('click',() =>{
 						//sessionStorage.removeItem("send_myemail_"+{{.T.userId}});
-						window.location.replace("/front/wxMyOrder/myEmail?name=change");
+						//window.location.replace("/front/wxMyOrder/myEmail?name=change");
+						window.location.href="/front/wxMyOrder/myEmail?name=change";
 					});
 				})
 				

+ 5 - 2
src/web/templates/weixin/historypush.html

@@ -122,8 +122,10 @@
 				showPage();
 			}else{
 				userId = sessionStorage.userId;
-				if(sessionStorage.getItem(userId+"_searchTime")!=null||sessionStorage.getItem(userId+"_selectCity")){
+				if(sessionStorage.getItem(userId+"_searchTime")!=null&&sessionStorage.getItem(userId+"_searchTime")!=""){
 					firstTime = sessionStorage.getItem(userId+"_searchTime");
+				}
+				if(sessionStorage.getItem(userId+"_selectCity")!=null&&sessionStorage.getItem(userId+"_selectCity")!=""){
 					selectCity = sessionStorage.getItem(userId+"_selectCity");
 				}
 				$.ajax({
@@ -237,7 +239,7 @@
 		//页面渲染处理
 		function showPage(){
 			//时间渲染
-			if(firstTime!=""&&firstTime!=null){
+			if(firstTime!=null&&firstTime!=""&&firstTime.length>=10){
 				var _formatDate = formatDate(firstTime/1000,"2");
 				date = formatDate(firstTime/1000,"1");
 				$('#showDatePicker .time_result').html(_formatDate).addClass('current');
@@ -772,6 +774,7 @@
 		    -webkit-box-orient: vertical;
 		}
 		.overClass{
+			/**/
 			overflow: hidden;
 			height:100vh;
 		}

+ 14 - 0
src/web/templates/weixin/my.html

@@ -79,6 +79,18 @@
 		</style>
 		
 		<script>
+			$(function () {    
+				var isPageHide = false;   
+				window.addEventListener('pageshow', function () {      
+				    if (isPageHide) {
+		                location.reload();
+				    }    
+				});    
+				window.addEventListener('pagehide', function () {
+				    isPageHide = true;
+				});  
+			});
+		
 			initShare({{.T.signature}},{{.T.openid}},2,"jy_wxmyorder",{{.T.nickname}},{{.T.avatar}});
 			$(function(){
 				var nowTimestamp= (new Date()).valueOf();
@@ -133,6 +145,8 @@
 			        }
 			    }
 			}
+			
+
 		</script>
 
 	</head>

+ 1 - 1
src/web/templates/weixin/vipsubscribe/edit_subscribe.html

@@ -113,7 +113,7 @@
                 $(".edit_item.industry span").text(this.reqData.buyset.buyerclasscount + "个行业");
             }
             if (this.reqData.industry.length > 0) {
-                $(".edit_item.industry .item_bottom").text(this.reqData.industry.join("、"));
+                $(".edit_item.industry .item_bottom").text(SortArr(this.reqData.industry).join("、"));
             }
 
         },

+ 1 - 1
src/web/templates/weixin/vipsubscribe/edit_subscribe_city.html

@@ -475,7 +475,7 @@
             if (selected >= count) {
                 obj.parent().find(".city:not(.active)").attr("disabled", "disabled");
                 if (showtip) {
-                    this.showTip(`<p>当前省份只可选择${count}个城市<br/><span style="white-space: nowrap;">您只购买了${count}个城市,如需更多请升级<span></p>`)
+                    this.showTip(`<span style="white-space: nowrap;">您只购买了${count}个城市,如需更多请升级<span></p>`)
                 }
             } else {
                 obj.parent().find(".city:not(.active)").removeAttr("disabled", "disabled");

+ 2 - 2
src/web/templates/weixin/vipsubscribe/edit_subscribe_industry.html

@@ -310,7 +310,7 @@
                         return
                       }
                       if(EditIndustry.reqData.buyset.buyerclasscount!=-1){ //购买不是全部行业 不能点击
-                        EditIndustry.showTip(`<p>只可选择${EditIndustry.reqData.buyset.buyerclasscount}个行业<br/><span style="white-space: nowrap;">您只购买了${EditIndustry.reqData.buyset.buyerclasscount}个行业,如需更多请升级<span></p>`);
+                        EditIndustry.showTip(`<span style="white-space: nowrap;">您只购买了${EditIndustry.reqData.buyset.buyerclasscount}个行业,如需更多请升级<span></p>`);
                         return
                       }
                       $('.select-area-box .list button').removeClass('active');
@@ -376,7 +376,7 @@
                   // 显示隐藏优惠tips
                   if (selectedArr.length >= EditIndustry.reqData.buyset.buyerclasscount&& EditIndustry.reqData.buyset.buyerclasscount!=-1) {
                     if(!isInit){
-                      EditIndustry.showTip(`<p>只可选择${EditIndustry.reqData.buyset.buyerclasscount}个行业<br/><span style="white-space: nowrap;">您只购买了${EditIndustry.reqData.buyset.buyerclasscount}个行业,如需更多请升级<span></p>`);
+                      EditIndustry.showTip(`<span style="white-space: nowrap;">您只购买了${EditIndustry.reqData.buyset.buyerclasscount}个行业,如需更多请升级<span></p>`);
                     }
                     $('.industry_item:not(.active)').attr('disabled','disabled');
                   } else {

+ 1 - 1
src/web/templates/weixin/vipsubscribe/edit_subscribe_province.html

@@ -478,7 +478,7 @@
             //是否还能继续选择
             if (EditProvince.selectedArr.length >= EditProvince.reqData.buyset.areacount) {
                 if (showTip) {
-                    this.showTip(`<p>当前省份只可选择${EditProvince.reqData.buyset.areacount}个省份<br/><span style="white-space: nowrap;">您只购买了${EditProvince.reqData.buyset.areacount}个省份,如需更多请升级<span></p>`);
+                    this.showTip(`<span style="white-space: nowrap;">您只购买了${EditProvince.reqData.buyset.areacount}个省份,如需更多请升级<span></p>`);
                 }
                 $(".province .checkbox:not(:checked)").attr('disabled', 'disabled');
             } else {

+ 1 - 1
src/web/templates/weixin/vipsubscribe/edit_subscribe_success.html

@@ -16,7 +16,7 @@
         <div class="edit_success">
             <div><i class="icon iconfont success">&#xe612;</i></div>
             <p>修改成功</p>
-            <button class="public_btn" id="back">返回(<em class="time">5</em>)</button>
+            <button class="public_btn" id="back">返回(<em class="time">3</em>)</button>
         </div>
         <script src="/vipsubscribe/js/jquery-2.1.4.js?v={{Msg "seo" "version"}}"></script>
         <script>

+ 6 - 6
src/web/templates/weixin/vipsubscribe/keyWord.html

@@ -575,12 +575,12 @@
                     return
                 }
                 kws_index = -1
-                kws_name = $('.addkeyWord input.enterOne').val();
+                kws_name = $.trim($('.addkeyWord input.enterOne').val());
             }else{
                if($(th).parent(".modify").find("textarea").val()==""){
                  return
                }
-                kws_name = $(th).parent(".modify").find("textarea").val();
+                kws_name = $.trim($(th).parent(".modify").find("textarea").val());
             }
 			history.replaceState("","","/front/vipsubscribe/toSetKeyWordPage?page=243")
             setSesstion();
@@ -593,12 +593,12 @@
                     return
                 }
                 kws_index = -1
-                kws_name = $('.addkeyWord input.enterOne').val();
+                kws_name = $.trim($('.addkeyWord input.enterOne').val());
             }else{
                if($(th).parent(".modify").find("textarea").val()==""){
                  return
                }
-                kws_name = $(th).parent(".modify").find("textarea").val();
+                kws_name = $.trim($(th).parent(".modify").find("textarea").val());
             }
 			history.replaceState("","","/front/vipsubscribe/toSetKeyWordPage?page=243")
             setSesstion();
@@ -638,7 +638,7 @@
         function saveK(th){
 			setTimeout(function(){
 	            var $this = $(th);
-	            kws_name = $(th).siblings('textarea').val();
+	            kws_name =  $.trim($(th).siblings('textarea').val());
 				if(kws_name==""){
 	                weui.toast('您设置的关键词不能为空,请调整后再添加。', {
 	                    duration: 2000,
@@ -855,7 +855,7 @@
             $('.classify-list').on('click', '.classify-item', function() {
                 // 添加一条空历史记录
                 history.pushState({id:1}, "","");
-                classify_name = $(this).find('.classify-item-l').text();
+                classify_name = $.trim($(this).find('.classify-item-l').text());
                 classify_index = $(this).index();
 				kws_index = 0;
                 //展示此关键词信息

+ 3 - 7
src/web/templates/weixin/vipsubscribe/renew_notice.html

@@ -192,13 +192,9 @@
 					    	$(".date-span").text(dateHtml);
 					    }
 					    if(exprie === "will"){
-					    	let a = (endstime/1000) - (86400 * 3)
-					    	let b = nowTime/1000
-					    	if(b > a){
-					    		$(".renew_service").show();
-						    	$("#exprie").text("VIP订阅服务即将到期,请及时续费")
-						    	$(".recommend_title").text("以下区域、行业的订阅推送即将停止,为了不影响您的使用,请立即续费!")
-					    	}
+				    		$(".renew_service").show();
+					    	$("#exprie").text("VIP订阅服务即将到期,请及时续费")
+					    	$(".recommend_title").text("以下区域、行业的订阅推送即将停止,为了不影响您的使用,请立即续费!")
 					    }else{
 					    	$(".renew_service").show();
 					    	$(".free_service").show();

+ 29 - 20
src/web/templates/weixin/vipsubscribe/renew_pay.html

@@ -476,6 +476,19 @@
         })
         /* -------- 选择按年订阅  radio触发的事件------- */
         $('#yearly').on('change', function (e) {
+        	if((12+nowUpgrade)>36){
+            	var overtimeWarning = `最长订阅周期不可超过3年<br />当前订阅周期:${nowUpgrade}个月`
+		        weui.toast(overtimeWarning, {
+		            duration: 3000,
+		            className: 'custom-toast',
+		            callback: function() {
+		            }
+		        })
+		        $('#yearly').prop("checked", false);
+		        $('#monthly').prop("checked", true);
+		        $('#number_box_month').addClass('active')
+		        return
+            }
             $('.profit_tips').hide()
             // console.log($(this).is(':checked'))
             let isChecked = $(this).is(':checked')
@@ -541,8 +554,12 @@
         	}else{
         		$("#buy").attr("checked", true);
         		sessionStorage.buyChecks = true;
-        		if(sessionStorage.renew_cycleunit!==undefined&&sessionStorage.renew_cycleunit!==""){
-        			$(".save_renew").removeAttr("disabled");
+        		if(sessionStorage.renew_cycleunit!==undefined&&sessionStorage.renew_cycleunit!==""&&sessionStorage.renew_cyclecount!==""&&sessionStorage.renew_cyclecount!==undefined){
+        			let cycleunit = Number(sessionStorage.renew_cycleunit);
+        			let cyclecount = Number(sessionStorage.renew_cyclecount);
+ 	 	      		if(cycleunit>0&&cyclecount>0){
+ 	 	      			$(".save_renew").removeAttr("disabled");
+ 	 	      		}
         		}
         	}
         });
@@ -639,14 +656,10 @@
 			    	$(".item_validity .label_for").text(dateHtml);
 			    }
 			    if(starts !== "" && ends !== ""){
-			    	let end = new Date(ends*1000).toLocaleDateString();
-			    	let endtime = end.split("/");
-			    	let endYear = Number(endtime[0]);
-			    	let endMonth = Number(endtime[1]);
-			    	let start = new Date(starts*1000).toLocaleDateString();
-			    	let starttime = start.split("/");
-			    	let startYear = Number(starttime[0]);
-			    	let startMonth = Number(starttime[1]);
+			    	let endYear = new Date(ends*1000).getFullYear();
+			    	let endMonth = new Date(ends*1000).getMonth()+1;
+			    	let startYear = new Date(starts*1000).getFullYear();
+			    	let startMonth = new Date(starts*1000).getMonth()+1;
 			    	let year = "";
 			    	let month = "";
 			    	if(endYear > startYear){
@@ -694,17 +707,13 @@
 		    }
         }, false);
         //
-        var nowDate = new Date(startTime).toLocaleDateString();
-		nowDate = nowDate.split("/");
-		var nowMonth = Number(nowDate[1]);
-		var nowYear = Number(nowDate[0]);
-		var nowDay = Number(nowDate[2]);
+		var nowMonth = new Date(startTime).getMonth()+1;
+		var nowYear = new Date(startTime).getFullYear();
+		var nowDay = new Date(startTime).getDate();
 		//
-		var endDate = new Date(endTime).toLocaleDateString();
-		endDate = endDate.split("/");
-		var endMonth = Number(endDate[1]);
-		var endYear = Number(endDate[0]);
-		var endDay = Number(endDate[2]);
+		var endMonth = new Date(endTime).getMonth()+1;
+		var endYear = new Date(endTime).getFullYear();
+		var endDay = new Date(endTime).getDate();
 		var nowUpgrade = 0;
 		if(endYear === nowYear){
 			if(endMonth === nowMonth){

+ 8 - 2
src/web/templates/weixin/vipsubscribe/vip_index.html

@@ -11,6 +11,7 @@
     <meta name="apple-mobile-web-app-capable" content="yes">
     <meta name="apple-mobile-web-app-status-bar-style" content="black">
     <script src="{{Msg "seo" "cdn"}}/vipsubscribe/js/rem.js?v={{Msg "seo" "version"}}"></script>
+    <script src="{{Msg "seo" "cdn"}}/vipsubscribe/js/common.js?v={{Msg "seo" "version"}}"></script>
     <link rel="stylesheet" type="text/css" href="{{Msg "seo" "cdn"}}/vipsubscribe/css/weui.min.css?v={{Msg "seo" "version"}}" />
     <link rel="stylesheet" type="text/css" href="{{Msg "seo" "cdn"}}/vipsubscribe/css/base.css?v={{Msg "seo" "version"}}" />
     <link rel="stylesheet" type="text/css" href="{{Msg "seo" "cdn"}}/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}" />
@@ -288,8 +289,13 @@
 							}else{
 				                $('.switch').removeClass('checked')
 				            }
-	                        $("._area").text(_vipData["o_area"]);
-	                        $("._buyerClass").text(_vipData["a_buyerclass"]);
+							//地区
+							var area = _vipData["o_area"];
+							var _area = getAreaClassArr_index(area)
+	                        $("._area").text(_area.join("、"));
+							//行业
+							var buyerclass =  SortArr(_vipData["a_buyerclass"]);
+	                        $("._buyerClass").text(buyerclass.join("、"));
 	                        $("._cycleCount").text(_vipData["cycle"]);
 	                        $("._activeDate").text(_userData["l_vip_starttime"]+" - "+_userData["l_vip_endtime"]);
 	                        if(_vipData["a_infotype"]==""){

+ 1 - 1
src/web/templates/weixin/vipsubscribe/vip_order_detail.html

@@ -411,7 +411,7 @@ try{
       	if (r.data.order.order_status==0){
 	    	//倒计时 未购买
 			var create_time=r.data.order.create_time;
-			//create_time="2019-11-09 11:17:55";
+			create_time=create_time.replace(/-/g,'/')
 			var clock_end = +new Date(create_time) + 172800000;
 			setTimeFunc(clock_end); 
 			setInterval(function(){

+ 1 - 0
src/web/templates/weixin/vipsubscribe/vip_purchase.html

@@ -386,6 +386,7 @@
                             if (r.timeSelect!=undefined&&r.company!=undefined){
                            		purchase.timeSelect=[r.timeSelect,r.company];
                             }
+                            $(".weui-icon-checked").click();
                             sessionStorage.setItem("vipSubSelectArea", JSON.stringify(purchase.areaSelect));
                             sessionStorage.setItem("vipSubSelectIndustry", JSON.stringify(purchase.industrySelect));
                             sessionStorage.setItem("vipSubSelectTime", JSON.stringify(purchase.timeSelect));

+ 27 - 23
src/web/templates/weixin/vipsubscribe/vip_upgrade.html

@@ -448,13 +448,11 @@
          // 选择生效日期
         $('.choose_effect_date > a').click(function () {
             $('#effective_date').show(200);
-            var nowDates = new Date().toLocaleDateString();
-			nowDates = nowDates.split("/");
-			var nowMonths = Number(nowDates[1]);
-			var nowYears = Number(nowDates[0]);
-			var as = nowMonths +1
+			var nowMonths = new Date().getMonth()+1;
+			var nowYears = new Date().getFullYear();
+			var as = nowMonths +1;
 			if(as > 12){
-				as = nowMonths-12;
+				as = as-12;
 				nowYears = nowYears +1;
 			}
 			var bs = nowYears+"/"+as+"/1";
@@ -541,7 +539,6 @@
                 // $('#time_cycle .tips.monthly_tips').hide();
 
                 $('#number_box_month').removeClass('active');
-                $('#number_box_year span:eq(0)').addClass('active');
             }else{
                 $('.computed_price').hide()
                 $('#number_box_month').removeClass('active');
@@ -682,6 +679,19 @@
         })
         /* -------- 选择按年订阅  radio触发的事件------- */
         $('#yearly').on('change', function (e) {
+        	if((12+nowRenew)>36){
+            	var overtimeWarning = `最长订阅周期不可超过3年<br />当前订阅周期:${nowRenew}个月`
+		        weui.toast(overtimeWarning, {
+		            duration: 3000,
+		            className: 'custom-toast',
+		            callback: function() {
+		            }
+		        })
+		        $('#yearly').prop("checked", false);
+		        $('#monthly').prop("checked", true);
+		        $('#number_box_month').addClass('active')
+		        return
+           	}
             $('.profit_tips').hide()
             // console.log($(this).is(':checked'))
             let isChecked = $(this).is(':checked')
@@ -963,17 +973,13 @@
         	$(".save_upgrade").attr('disabled','disabled');
 	    	var nowUpgrade = "";
 			//
-			var nowDate = new Date(startTime).toLocaleDateString();
-			nowDate = nowDate.split("/");
-			var nowMonth = Number(nowDate[1]);
-			var nowYear = Number(nowDate[0]);
-			var nowDay = Number(nowDate[2]);
+			var nowMonth = new Date(startTime).getMonth()+1;
+			var nowYear = new Date(startTime).getFullYear();
+			var nowDay = new Date(startTime).getDate();
 			//
-			var endDate = new Date(endTime).toLocaleDateString();
-			endDate = endDate.split("/");
-			var endMonth = Number(endDate[1]);
-			var endYear = Number(endDate[0]);
-			var endDay = Number(endDate[2]);
+			var endMonth = new Date(endTime).getMonth()+1;
+			var endYear = new Date(endTime).getFullYear();
+			var endDay = new Date(endTime).getDate();
 			var oldPrice = "";
 			var price = "";
 			var effect = "";
@@ -1246,13 +1252,11 @@
         	let effective = $("#effect_date_name").text();
         	var effect = "now";
         	if(effective !== "立即生效,需支付当月费用差价"){
-        		let nowDate = new Date().toLocaleDateString();
-				nowDate = nowDate.split("/");
-				let nowMonth = Number(nowDate[1]);
-				let nowYear = Number(nowDate[0]);
-				let a = nowMonth +1
+				let nowMonth = new Date().getMonth()+1;
+				let nowYear = new Date().getFullYear();
+				let a = nowMonth +1;
         		if(a > 12){
-        			a = nowMonth-12;
+        			a = a-12;
         			nowYear = nowYear +1;
         		}
         		let b = nowYear+"/"+a+"/1";

+ 8 - 7
src/web/templates/weixin/vipsubscribe/vip_viewPage.html

@@ -74,6 +74,7 @@
 				type: 'post',
 				url: '/subscribepay/afterPay/getPushView',
 				data: reqParam,
+				async: false,
 				dataType: 'json',
 				success: function(data){
 					if(data["list"] == null || data["list"].length == 0){
@@ -187,14 +188,14 @@
 						var keysTemp = keys[n];
 						var isReplace = true;
 						var titleTemp = title;
-						for(var m=0;m<keysTemp.length;m++){
-							var _titleTemp = keyWordHighlight(titleTemp,keysTemp[m],'<font class="keyword">$1</font>');
-							if(titleTemp == _titleTemp){
-								isReplace = false;
-								break;
-							}
-							titleTemp = _titleTemp;
+						//for(var m=0;m<keysTemp.length;m++){
+						var _titleTemp = keyWordHighlight(titleTemp,keysTemp,'<font class="keyword">$1</font>');
+						if(titleTemp == _titleTemp){
+							isReplace = false;
+							//break;
 						}
+						titleTemp = _titleTemp;
+						//}
 						if(isReplace){
 							title = titleTemp;
 						}

+ 98 - 0
src/web/templates/weixin/wxinfocontent_rec.html

@@ -406,6 +406,45 @@ pre {
 	left: 90%;
 	top: 20px;
 }
+
+.buyerclass{
+    background: #CFAD89;
+    padding: 1px 3px;
+    color: #fff;
+    border-radius: 3px;
+    margin-right: 3px;
+    float: left;
+}
+.timebefore_vip{
+	color: #888888;
+    font-size: 14px;
+	
+}
+.timebefore_vip i{
+	color: #7a7a7a;
+	font-size: 16px;
+	top: 3px;
+}
+.toolbar{
+	font-size: 13px;
+	margin:10px 10px 25px;
+}
+.toolbar i{
+	margin-right: 2px;
+}
+.toolbar .follow{
+	float: right;
+	color: #ffba00;
+	position: relative;
+	top: 2px;
+}
+.toolbar .follow_vip{
+	float: right;
+	color: #ffba00;
+}
+.toolbar .follow i,.toolbar .follow_vip i{
+	top: 2px;
+}
 </style>
 </head>
 <body>
@@ -427,6 +466,64 @@ pre {
 <div class="info">
 	<div class="title myfollow" id="title">{{.T.obj.title}}</div>
 	<div class="toolbar">
+	{{if .T.isVip}}
+	<!--VIP-->
+		<div class="type_label clearfix">
+			<script>var area="{{.T.obj.area}}"; if(area!="A" && area.replace(/\s+/g,"")!=""){document.write('<span class="area">'+area+'</span>');}</script>
+			<script>
+				var type = "";
+				if ({{.T.obj.subtype}} !=""){
+					type = {{.T.obj.subtype}};
+				}else if({{.T.obj.toptype}} !=""){
+					type = {{.T.obj.toptype}};
+				}else{
+					type = {{.T.obj.type}};
+					if(type == "bid"){
+						type = "中标";
+					}else if(type == "tender"){
+						type = "招标";
+					}else{
+						type = "";
+					}
+				}
+				if(type != ""){
+					document.write("<span class='type'>"+type+"</span>");
+				}
+	
+				var industry = {{.T.obj.industry}};
+				var subscopeclass = {{.T.obj.s_subscopeclass}};
+				//vip用户显示与普通用户不同
+				var buyerclass={{.T.obj.buyerclass}};
+				if(industry){
+	                document.write("<span class='industry'>"+industry+"</span>");
+				}else if(subscopeclass){
+					var suclass = subscopeclass.split(",")[0];
+					document.write("<span class='industry'>"+ suclass.split("_")[0]+"</span>");
+				}
+				if(buyerclass){
+					document.write("<span class='buyerclass'>"+ buyerclass+"</span>");
+				}
+				//项目匹配
+				projectMatch=getParam("projectMatch");
+				if (projectMatch){
+					document.write("<span class='projectMatch'>"+projectMatch+"</span>")
+				}
+				
+			</script>
+		</div>
+		<div class="time_label">
+			<script>
+				var l_publishtime = {{.T.obj.l_publishtime}};
+					if(l_publishtime != ""){
+						var tdf = timeDiff(new Date(Number(l_publishtime+"000")))
+						if(tdf != null){
+							document.write("<div class='timebefore_vip'><i class='glyphicon bofangjilu'></i>"+tdf+"</div>");
+						}
+					}
+			</script>
+		{{if .T.obj.hasSession}}{{if or .T.obj.projectname .T.obj.projectcode}}<div class="follow" style="top:-21px !important">{{if .T.obj.followFlag}}<i class="glyphicon yiguanzhu"></i>已关注{{else}}<i class="glyphicon weiguanzhu"></i>关注项目{{end}}</div>{{end}}{{else}}<!--<a href="/swordfish/share/-1" style="text-decoration: none;color:#24C0D7;"><span class="follow"><i class="glyphicon weiguanzhu"></i></span>关注项目</a>-->{{end}}
+		</div>
+	{{else}}<!--非VIP-->
 		<script>var area="{{.T.obj.area}}"; if(area!="A" && area.replace(/\s+/g,"")!=""){document.write('<span class="area">'+area+'</span>');}</script>
 		<script>
 			var type = "";
@@ -465,6 +562,7 @@ pre {
 			}
 		</script>
 		{{if .T.obj.hasSession}}{{if or .T.obj.projectname .T.obj.projectcode}}<span class="follow">{{if .T.obj.followFlag}}<i class="glyphicon yiguanzhu"></i>已关注{{else}}<i class="glyphicon weiguanzhu"></i>关注项目{{end}}</span>{{end}}{{else}}<!--<a href="/swordfish/share/-1" style="text-decoration: none;color:#24C0D7;"><span class="follow"><i class="glyphicon weiguanzhu"></i></span>关注项目</a>-->{{end}}
+	{{end}}
 	</div>
 	
 	<div class="newuser hidden">