wangshan hace 6 años
padre
commit
73000ebbaf

+ 2 - 2
src/config.json

@@ -9,7 +9,7 @@
     "strTimeNumber": 30,
     "elasticsearch": "http://192.168.3.18:9800",
     "elasticPoolSize": 30,
-    "redisaddrs": "other=192.168.3.18:2379,push=192.168.3.18:2379,sso=192.168.3.18:2379,session=192.168.3.18:2379,recovery=192.168.3.18:2379",
+    "redisaddrs": "other=192.168.3.18:1379,push=192.168.3.18:1379,sso=192.168.3.18:1379,session=192.168.3.18:1379,recovery=192.168.3.18:1379",
     "webport": "8089",
     "webrpcport": "8084",
     "weixinrpc": "127.0.0.1:8083",
@@ -22,7 +22,7 @@
     "webdomain": "http://webwcj.qmx.top",
     "redirect": {
         "searchinfo": "/jylab/mainSearch",
-        "rssset": "/wxkeyset/keyset/index",
+        "rssset": "/swordfish/historypush",
         "viewdemo": "/front/viewdemo",
         "wxpushlist": "/wxpush/bidinfo/%s",
         "share": "/swordfish/guide/share",

+ 57 - 0
src/jfw/front/filterdata.go

@@ -0,0 +1,57 @@
+package front
+
+import (
+	"encoding/json"
+	"log"
+	"qfw/util/redis"
+)
+
+type FilterData struct {
+	Array  []string
+	OpenId string
+}
+
+//获取数据
+func (fd *FilterData) Start(openid string) {
+	if openid == "" {
+		return
+	}
+	fd.OpenId = openid
+	data := redis.Get("push", "push_"+openid)
+	if data == nil {
+		return
+	}
+	b, err := json.Marshal(data)
+	if err != nil {
+		log.Println("从redis中取出的数据转成byte数组出错!")
+		return
+	}
+	var array []string
+	if json.Unmarshal(b, &array) != nil {
+		log.Println("byte数组转成string数组出错!")
+		return
+	}
+	fd.Array = array
+}
+
+//判断数据是否存在
+func (fd *FilterData) IsExists(_id string) bool {
+	if _id == "" {
+		return false
+	}
+	for _, v := range fd.Array {
+		if _id == v {
+			return true
+		}
+	}
+	fd.Array = append(fd.Array, _id)
+	return false
+}
+
+//添加数据
+func (fd *FilterData) End() {
+	if fd.OpenId == "" || len(fd.Array) == 0 {
+		return
+	}
+	redis.Put("push", "push_"+fd.OpenId, fd.Array, -1)
+}

+ 1 - 0
src/jfw/front/front.go

@@ -152,6 +152,7 @@ type Front struct {
 	//修改强制分享主动分享状态和时间
 	updateShareStatus        xweb.Mapper `xweb:"/share/updateShareStatus"`
 	UpdateShareStatus_repair xweb.Mapper `xweb:"/share/UpdateShareStatus_repair"`
+	hasPushHistory           xweb.Mapper `xweb:"/front/hasPushHistory"`
 }
 
 var sewx util.SimpleEncrypt //微信的加密方法

+ 141 - 17
src/jfw/front/swordfish.go

@@ -1723,7 +1723,7 @@ func (m *Front) WxpushView() error {
 	if myopenid == "" {
 		return m.Redirect("/swordfish/share/-1")
 	}
-	a_key, list := getWxPushViewData(myopenid, 1)
+	a_key, list := getWxPushViewData(myopenid, "", 1)
 	jyutil.BidListConvert("", list)
 	m.T["firstPage"] = list
 	m.T["hasNextPage"] = list != nil && len(*list) == wx_pageSize
@@ -1742,7 +1742,7 @@ func (m *Front) WxpushViewPaging() {
 	var list *[]map[string]interface{}
 	pageNum, _ := m.GetInteger("pageNum")
 	if myopenid := m.Session().Get("s_m_openid"); myopenid != nil && pageNum <= wx_maxPageNum {
-		_, list = getWxPushViewData(myopenid.(string), pageNum)
+		_, list = getWxPushViewData(myopenid.(string), "", pageNum)
 	}
 	jyutil.BidListConvert("", list)
 	m.ServeJson(map[string]interface{}{
@@ -1750,7 +1750,7 @@ func (m *Front) WxpushViewPaging() {
 		"hasNextPage": list != nil && len(*list) == wx_pageSize && pageNum < wx_maxPageNum,
 	})
 }
-func getWxPushViewData(myopenid string, pageNum int) (keys []interface{}, list *[]map[string]interface{}) {
+func getWxPushViewData(myopenid, allquery string, pageNum int) (keys []interface{}, list *[]map[string]interface{}) {
 	if myopenid == "" {
 		return
 	}
@@ -1780,7 +1780,7 @@ func getWxPushViewData(myopenid string, pageNum int) (keys []interface{}, list *
 	if err == nil {
 		json.Unmarshal(_bs, &allkeys)
 	}
-	list = elastic.GetResForJY(INDEX, TYPE, allkeys, "", findf, `{"publishtime":"desc"}`, bidSearch_field, (pageNum-1)*wx_pageSize, wx_pageSize)
+	list = elastic.GetResForJY(INDEX, TYPE, allkeys, allquery, findf, `{"publishtime":"desc"}`, bidSearch_field, (pageNum-1)*wx_pageSize, wx_pageSize)
 	if list != nil {
 		for _, v := range *list {
 			v["_id"] = util.EncodeArticleId2ByCheck(util.ObjToString(v["_id"]))
@@ -2640,6 +2640,61 @@ func classify(stp, area, industry string) (string, string, string) {
 	}
 	return tpadd, areaadd, induadd
 }
+func (f *Front) HasPushHistory() {
+	myopenid, _ := f.GetSession("s_m_openid").(string)
+	if myopenid == "" {
+		return
+	}
+	user, ok := mongodb.FindOneByField("user", map[string]interface{}{
+		"s_m_openid": myopenid,
+		"i_appid":    2,
+	}, `{"o_jy":1}`)
+	var o_jy map[string]interface{}
+	if ok && user != nil {
+		o_jy, _ = (*user)["o_jy"].(map[string]interface{})
+	}
+	nowUnix := time.Now().Unix()
+	haskey := false
+	if o_jy != nil {
+		a_key, _ := o_jy["a_key"].([]interface{})
+		for _, vi := range a_key {
+			v, _ := vi.(map[string]interface{})
+			keys_a := v["key"].([]interface{})
+			if strings.TrimSpace(strings.Join(util.ObjArrToStringArr(keys_a), "")) != "" {
+				haskey = true
+				break
+			}
+		}
+	} else {
+		haskey = true
+	}
+	thistime, list := getHistorypush(nowUnix, 0, myopenid, nil, 0)
+	if haskey && (list == nil || len(*list) == 0) {
+		list = &[]map[string]interface{}{}
+		flag, data := makeHistoryDatas(util.BsonIdToSId((*user)["_id"]), myopenid, o_jy)
+		if flag && data != nil {
+			tmp := changeMapKeyForCass(data)
+			if ats, ok := tmp["o_pushinfo"].(map[string]interface{}); ok {
+				thistime = util.Int64All(tmp["l_date"])
+				tmp["count"] = len(ats)
+				*list = append(*list, tmp)
+			}
+		}
+	}
+	//
+	var success bool
+	if list != nil && len(*list) > 0 {
+		success = true
+	}
+	//
+	f.ServeJson(map[string]interface{}{
+		"haskey":      haskey,
+		"data":        list,
+		"thistime":    thistime,
+		"success":     success,
+		"isInTSguide": isInTSguide(myopenid),
+	})
+}
 
 //历史推送
 func (f *Front) Historypush() error {
@@ -2649,19 +2704,6 @@ func (f *Front) Historypush() error {
 	}
 	mynickname, _ := f.Session().Get("s_nickname").(string)
 	myavatar, _ := f.Session().Get("s_avatar").(string)
-	var thistime int64
-	var list *[]map[string]interface{}
-	var success bool
-	if myopenid != "" {
-		lasttime := time.Now().Local().Unix()
-		thistime, list = getHistorypush(lasttime, 0, myopenid, nil, 0)
-		if list != nil && len(*list) > 0 {
-			success = true
-		}
-	}
-	f.T["data"] = list
-	f.T["thistime"] = thistime
-	f.T["success"] = success
 	f.T["nickname"] = mynickname
 	f.T["avatar"] = myavatar
 	f.T["signature"] = wx.SignJSSDK(f.Site() + f.Url())
@@ -2900,3 +2942,85 @@ func wxPushViewDatas(index, itype string, keys []elastic.KeyConfig, allquery, fi
 		return nil
 	}
 }
+
+//保存最近7天的数据到历史记录
+func makeHistoryDatas(id, openid string, o_jy map[string]interface{}) (bool, map[string]interface{}) {
+	allquery := `{"range":{"publishtime":{"gt":%s}}}`
+	allquery = fmt.Sprintf(allquery, fmt.Sprint(time.Now().AddDate(0, 0, -7).Unix()))
+	//allquery := ``
+	_, list := getWxPushViewData(openid, allquery, 1)
+	if list == nil || len(*list) == 0 {
+		return true, nil
+	}
+	filterData := &FilterData{}
+	filterData.Start(openid)
+	defer filterData.End()
+	var allkeysTemp []elastic.KeyConfig
+	_bs, err := json.Marshal(o_jy["a_key"])
+	if err == nil {
+		json.Unmarshal(_bs, &allkeysTemp)
+	}
+	keysTemp := []string{} //原始关键词
+	for _, vs := range allkeysTemp {
+		keysTemp = append(keysTemp, strings.Join(vs.Keys, "+"))
+	}
+	o_pushinfo := map[string]map[string]interface{}{}
+	publishTitle := map[string]bool{}
+	str := fmt.Sprintf("<div>根据您设置的关键词(%s),给您推送以下信息:</div>", strings.Join(keysTemp, ";"))
+	i := 0
+	for _, v := range *list {
+		title := strings.Replace(v["title"].(string), "\n", "", -1)
+		area := util.ObjToString(v["area"])
+		if publishTitle[area+title] {
+			log.Println("重复标题", title)
+			continue
+		} else {
+			publishTitle[area+title] = true
+		}
+		infoid := util.ObjToString(v["_id"])
+		//邮件附件
+		if filterData.IsExists(util.BsonIdToSId(v["_id"])) {
+			//continue
+		}
+		i++
+		industry := ""
+		if v["s_subscopeclass"] != nil {
+			k2sub := strings.Split(util.ObjToString(v["s_subscopeclass"]), ",")
+			if len(k2sub) > 0 {
+				industry = k2sub[0]
+				if industry != "" {
+					ss := strings.Split(industry, "_")
+					if len(ss) > 1 {
+						industry = ss[0]
+					}
+				}
+			}
+		}
+		str += "<div class='tslist'><span class='xh'>" + fmt.Sprintf("%d", i) + ".</span><a class='bt' target='_blank' eid='" + infoid + "' href='" + util.ObjToString(v["href"]) + "'>" + title + "</a></div>"
+		o_pushinfo[strconv.Itoa(i)] = map[string]interface{}{
+			"publishtime":   v["publishtime"],
+			"stype":         util.ObjToString(v["type"]),
+			"topstype":      util.ObjToString(v["toptype"]),
+			"substype":      util.ObjToString(v["subtype"]),
+			"subscopeclass": industry,
+			"buyer":         v["buyer"],
+			"projectname":   v["projectname"],
+			"budget":        v["budget"],
+			"bidopentime":   v["bidopentime"],
+			"winner":        v["winner"],
+			"bidamount":     v["bidamount"],
+		}
+	}
+	md, _ := json.Marshal(o_pushinfo)
+	wxpush := map[string]interface{}{
+		"id":       time.Now().Format(util.Date_Short_Layout),
+		"openid":   openid,
+		"date":     time.Now().Unix(),
+		"words":    keysTemp,
+		"uid":      id,
+		"content":  str,
+		"pushinfo": string(md),
+	}
+	flag := cassandra.SaveCacheByTimeOut("jy_push", wxpush, 10)
+	return flag, wxpush
+}

BIN
src/jfw/modules/push/src/src


+ 1 - 1
src/jfw/modules/weixin/src/config.json

@@ -6,7 +6,7 @@
         "192.168.3.207"
     ],
     "cassandrasize": 5,
-    "redisServers": "sso=192.168.3.18:2379,other=192.168.3.18:2379,jyop_other=192.168.3.18:2379",
+    "redisServers": "sso=192.168.3.18:1379,other=192.168.3.18:1379,jyop_other=192.168.3.18:1379",
     "weixinport": "8080",
     "weixinrpcport": "8083",
     "webrpcport": "127.0.0.1:8084",

+ 1 - 1
src/seo.json

@@ -12,7 +12,7 @@
             "title": "_剑鱼招标订阅,全行业招标信息智能推送领导者!"
         }
     },
-	"version":"1409",
+	"version":"1411",
 	"area":{
 		"QG":{
 				"NAME":"全国",

BIN
src/web/staticres/images/gotosetpage.png


BIN
src/web/staticres/images/search/laba.png


+ 1 - 1
src/web/staticres/wxswordfish/share.js

@@ -16,7 +16,7 @@ function initShare(signature,openid,isentry,activecode,nickname,avatar,id){
 		    timestamp:signature[1], // 必填,生成签名的时间戳
 		    nonceStr: signature[2], // 必填,生成签名的随机串
 		    signature: signature[3],// 必填,签名,见附录1
-		    jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage','onMenuShareQQ','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
+		    jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage','onMenuShareQQ','onMenuShareQZone','closeWindow'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
 		});
 		var randShareTitle = getShareText();
 		var title = randShareTitle;

+ 12 - 1
src/web/staticres/wxtsguide/main.js

@@ -791,12 +791,23 @@ var JYAlert = function(T,comStartFlag){
 }
 //
 $(function(){
+	if(sessionStorage){
+		sessionStorage.keysetindexToHistory="2";
+	}
+	if(localStorage && localStorage.tsGuide_status == "1"){
+		isBodyShow = false;
+		window.history.go(-1);
+		$("body").addClass("hide");
+		localStorage.tsGuide_status = "0";
+		window.history.go(-1);
+	}
 	$(window).bind("pageshow", function(event){
 		if(event.originalEvent.persisted && localStorage && localStorage.tsGuide_status == "1"){
 			$("body").addClass("hide");
 			isBodyShow = false;
 			localStorage.tsGuide_status = "0";
-			WeixinJSBridge.call('closeWindow',{},function(e){});
+			//WeixinJSBridge.call('closeWindow',{},function(e){});
+			window.history.go(-1);
 		}
     });
 	if(!isBodyShow){

+ 102 - 20
src/web/templates/weixin/historypush.html

@@ -1,7 +1,7 @@
 <html>
 <head>
 <meta name="viewport" content="width=device-width,initial-scale=1.0">
-<title>历史推送记录</title>
+<title>招标订阅</title>
 {{include "/common/inc.html"}}
 <link href="/css/dropload.css?v={{Msg "seo" "version"}}" rel="stylesheet">
 <link href="/css/wxlist.css?v={{Msg "seo" "version"}}" rel="stylesheet">
@@ -12,21 +12,98 @@
 <script src="/js/fastclick.js?v={{Msg "seo" "version"}}"></script>
 <script>
 var zbadd = {{Msg "seo" "ZBADDRESS"}};
-var firstPage = {{.T.data}};
+var firstPage = null;
 var scrollTop = 0;
 var listCache = "";
 var tableCache = "";
-var lasttime = {{.T.thistime}};
-var success = {{.T.success}};
+var lasttime = 0;
+var success = false;
 var noMore = "false";
 var count = 0;
 var wxflag = "";
 initShare({{.T.signature}},{{.T.openid}},2,"jy_extend",{{.T.nickname}},{{.T.avatar}});
 $(function(){
+	var isinitpage = false;
+	$(window).bind("pageshow", function(event){
+		if(event.originalEvent.persisted){
+			initpage();
+			isinitpage = true;
+		}
+    });
+	if(!isinitpage){
+		initpage();
+		isinitpage = true;
+	}
+});
+function initpage(){
+	$.ajax({
+		type: 'post',
+		url: '/front/hasPushHistory?t='+new Date().getTime(),
+		data: {},
+		async: false,
+		dataType: 'json',
+		success: function(data){
+			success = data.success;
+			lasttime = data.thistime;
+			firstPage = data.data;
+			if(!success && !data.haskey){
+				if(sessionStorage&&(sessionStorage.keysetindexToHistory=="1"||sessionStorage.keysetindexToHistory=="2"||sessionStorage.keysetindexToHistory=="3")){
+					sessionStorage.removeItem("keysetindexToHistory");
+					if(sessionStorage.keysetindexToHistory=="1"){
+						wx.ready(function () {
+							wx.closeWindow();
+						});
+					}else{
+						setTimeout(function(){
+							wx.closeWindow();
+						},2000);
+					}
+				}else{
+					history.pushState({},"","");
+					if(data.isInTSguide){
+						if(localStorage){
+							localStorage.removeItem("tsGuide_status");
+						}
+						window.location.href='/front/tenderSubscribe/guide';
+					}else{
+						window.location.href='/wxkeyset/keyset/index';
+					}
+				}
+			}
+		},
+		error: function(xhr, type){
+			hasNoData();
+		}
+	});
 	new FastClick(document.body);
+	$("#gotosetpage").click(function(){
+		if(sessionStorage&&success){
+			sessionStorage.historypushScrollTop = scrollTop;
+			sessionStorage.historypushListCache = listCache;
+			sessionStorage.historypushTableCache = tableCache;
+			sessionStorage.historypushLasttimeCache = lasttime;
+			sessionStorage.historypushNoMoreCache = noMore;
+			sessionStorage.historypushCount = count;
+		}
+		window.location.href='/wxkeyset/keyset/index';
+	});
+	$("#openmailpush").click(function(){
+		if(sessionStorage&&success){
+			sessionStorage.historypushScrollTop = scrollTop;
+			sessionStorage.historypushListCache = listCache;
+			sessionStorage.historypushTableCache = tableCache;
+			sessionStorage.historypushLasttimeCache = lasttime;
+			sessionStorage.historypushNoMoreCache = noMore;
+			sessionStorage.historypushCount = count;
+		}
+		window.location.href='/wxkeyset/keyset/seniorset';
+	});
 	if(!success){
 		hasNoData();
 		return;
+	}else{
+		$(".showType").css("display","flex");
+		$(".showType_bg").show();
 	}
 	if(firstPage.i_size == 1){
 		var content = $(firstPage[0].s_content).find("a.bt");
@@ -50,6 +127,8 @@ $(function(){
 		noMore = sessionStorage.historypushNoMoreCache;
 		count = sessionStorage.historypushCount;
 		tableCache = sessionStorage.historypushTableCache;
+		$("#list>*").remove();
+		$("#mytable>*").remove();
 		appendList($(listCache),$(tableCache));
 		if(noMore == "true"){
 			wxflag = $('.listcontent').dropload({
@@ -61,7 +140,7 @@ $(function(){
 					noMoreData(me);
 		        }
 		    });
-			noMoreData(me);
+			noMoreData(wxflag);
 		}
 		$(window).scrollTop(sessionStorage.historypushScrollTop);
 		sessionStorage.removeItem("historypushListCache");
@@ -141,9 +220,8 @@ $(function(){
 				}
 			}
 		})
-	})
-	//
-});
+	});
+}
 function noMoreData(me){
 	if(me == null){
 		return;
@@ -380,7 +458,9 @@ function appendList(content,tablehtml){
 	});
 	$("#list").append(content);
 	//
-	$("#mytable").append(tablehtml)
+	$("#mytable").append(tablehtml);
+	$(".findnull").hide();
+	$(".listcontent").show();
 }
 function tablejump(eid,h,sds){
 	if(localStorage){
@@ -418,9 +498,9 @@ a{
 	padding:0px 10px;
 }
 .showType{
+	display: none;
 	margin-top: 8px;
     padding-right: 15px;
-	display: flex;
 	justify-content: space-around;
 	align-content: center;
 	float:right;
@@ -512,7 +592,6 @@ a{
 }
 .prompt{
 	padding:10px 10px 20px;
-	position:absolute;
 }
 .blue{
 	color:#0987ff;
@@ -532,15 +611,17 @@ a{
 #jytables tbody>tr>td:nth-child(8){
 	width:72px;
 }
-.dropcss{
-	margin-top:40px;
-    position: absolute;
-	width:95%;
-}
 .resnumb .two{
 	max-height: 45px;
     overflow: hidden;
 }
+#gotosetpage{
+	width: 54px;
+	position: fixed;
+	bottom: 30px;
+	right: 15px;
+	z-index: 999999;
+}
 </style>
 </head>
 <body>
@@ -549,7 +630,7 @@ a{
 	<div class="shuxian">|</div>
 	<div class="showtable">表格</div>
 </div>
-<div style="height:37px;border-bottom:1px solid #ddd;border-top: 1px solid #ddd;"></div>
+<div class="showType_bg" style="display:none;height:37px;border-bottom:1px solid #ddd;border-top: 1px solid #ddd;"></div>
 <div class="listcontent">
 	<div id="list"></div>
 	<div class="tablecontent hidden">
@@ -572,14 +653,15 @@ a{
 				</tbody>
 			</table>
 		</section>
-		<div class="prompt">提示:为了获得更佳的体验,推荐<span class="blue" onclick="window.location.href='/wxkeyset/keyset/seniorset'">打开邮件推送</span>,用电脑查看邮件中的表格。</div>
+		<div class="prompt">提示:为了获得更佳的体验,推荐<span class="blue" id="openmailpush">打开邮件推送</span>,用电脑查看邮件中的表格。</div>
 	</div>
 </div>
 
-<span class="text-center findnull" style="position: relative;margin: auto;top: 30%;">
+<span class="text-center findnull" style="position: absolute;left:0px;right:0px;top: 50%;margin-top: -130px;padding: 0px 30px;">
 	<img style="width: 150px;margin-bottom: 30px;" src="/images/wxkeyset/nopush.png">
-	<br><span style="font-size:16px;">暂时无历史推送记录</span>
+	<br><span style="font-size:14px;">近期没有你想要的信息,再等等吧!<br>你也可以进入设置页面、调整一下关键词再回来看看。</span>
 </span>
+<img src="/images/gotosetpage.png" id="gotosetpage">
 {{include "/common/baiducc.html"}}
 </body>
 </html>

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

@@ -37,7 +37,8 @@
 </head>
 <body>
 <!--主题内容-->
-<section id="searchIndex" class="hidden">
+<section id="searchIndex" class="hidden" style="transform: none;">
+	<div onclick="window.location.href='/supportJy'" style="font-size:15px;background-color: #FFB900;line-height: 40px;z-index: 99;color: #fff;border-radius: 3px;bottom: 80px;right: 10px;left:10px;position: fixed;"><img src="/images/search/laba.png" style="width: 23px;margin:0px 10px;">好几天没有推送消息了,真相是......</div>
 	<!--头部-->
 	<div class="search-header">
 		<!--搜索-->
@@ -307,16 +308,17 @@
                 </div>
 				<div class="TableTip" id="TableTip" style="display:none;"><img class="tableclose" src="/images/table_close.png"><div class="TableText">推荐使用电脑浏览器访问剑鱼网站<br>jianyu360.com查看数据表格,体验更佳。</div></div>
 			</div>
-			<div class="resbm hidden">
+			<!--<div class="resbm hidden">
 				<div class="rests">如果您对以上结果满意可</div>
 				<div class="resdy" id="zjdy">直接订阅<img src="/images/wx/jydyyou.png"></div>
 				<div class="dy_close"><img src="/images/search/dy_close.png"/></div>
 				<div style="clear:both"></div>
-			</div>
+			</div>-->
+			<div onclick="window.location.href='/supportJy'" style="font-size:15px;background-color: #FFB900;line-height: 50px;z-index: 2000;color: #fff;bottom: 0px;right: 0px;left:0px;position: fixed;"><img src="/images/search/laba.png" style="width: 23px;margin:0px 10px;">好几天没有推送消息了,真相是......</div>
 		</div>
 	</div>
 	<div id="working" class="hidden" style="text-align: center;position: absolute;top: 50%;left: 50%;margin-left: -81px;margin-top: -50px;"><img style="width:163px;" src="/images/wx/working.gif"><div style="font-size:16px;">剑鱼正在努力工作中···</div></div>
-	<div class="nullcontent text-center hidden">
+	<div class="nullcontent text-center hidden" style="padding-bottom: 50px;">
 		<div>
 			<img style="width:163px;margin:60px 0px 50px 0px;" src="/images/wx/jysorry_1.png">
 		</div>
@@ -331,6 +333,7 @@
 		<div style="width:100%;" class="text-center" id="feedback">
 			<img style="width: 200px;margin-top: 15px;" src="/images/wx/jyyjfk.png">
 		</div>
+		<div onclick="window.location.href='/supportJy'" style="font-size:15px;background-color: #FFB900;line-height: 50px;z-index: 2000;color: #fff;bottom: 0px;right: 0px;left:0px;position: fixed;"><img src="/images/search/laba.png" style="width: 23px;margin:0px 10px;">好几天没有推送消息了,真相是......</div>
 	</div>
 	<div class="easypopup" id="nijianTip">
 		<div class="easypopup-alert">

+ 3 - 2
src/web/templates/weixin/wxinfocontent.html

@@ -75,6 +75,7 @@ body{
 	margin:0;
 	color: #333;
 	display: none;
+	padding-bottom: 50px;
 }
 table {
     border-collapse: inherit !important;
@@ -343,9 +344,8 @@ pre {
 .adv-cont{
 	/*height: 65pt;
     width: 90%;*/
-    background-color: #fff;
     margin: auto;
-	margin: 20px 15px;
+	padding: 20px 15px;
 }
 .adv-left{
 	border-collapse:collapse;
@@ -429,6 +429,7 @@ pre {
 </style>
 </head>
 <body>
+<div onclick="window.location.href='/supportJy'" style="font-size:15px;background-color: #FFB900;line-height: 50px;z-index: 2000;color: #fff;bottom: 0px;right: 0px;left:0px;position: fixed;"><img src="/images/search/laba.png" style="width: 23px;margin:0px 10px;">好几天没有推送消息了,真相是......</div>
 {{if .T.shareopenid}}
 <img class="shareimg hidden" src="/front/wxshare/{{.T.shareopenid}}__jy_extend"/>
 {{end}}

+ 4 - 3
src/web/templates/weixin/wxinfocontent_rec.html

@@ -19,6 +19,7 @@ body{
 	margin:0;
 	color: #333;
 	display: none;
+	padding-bottom: 50px;
 }
 table {
     border-collapse: inherit !important;
@@ -287,9 +288,8 @@ pre {
 .adv-cont{
 	/*height: 65pt;
     width: 90%;*/
-    background-color: #fff;
     margin: auto;
-	margin: 20px 15px;
+	padding: 20px 15px;
 }
 .adv-left{
 	border-collapse:collapse;
@@ -373,6 +373,7 @@ pre {
 </style>
 </head>
 <body>
+<div onclick="window.location.href='/supportJy'" style="font-size:15px;background-color: #FFB900;line-height: 50px;z-index: 2000;color: #fff;bottom: 0px;right: 0px;left:0px;position: fixed;"><img src="/images/search/laba.png" style="width: 23px;margin:0px 10px;">好几天没有推送消息了,真相是......</div>
 {{if .T.shareopenid}}
 <img class="shareimg hidden" src="/front/wxshare/{{.T.shareopenid}}__jy_extend"/>
 {{end}}
@@ -585,7 +586,7 @@ pre {
 <img class="upshare" src="/images/wx/upshare.png"/>
 <img class="upclose" src="/images/wx/upclose.png"/>
 </div>
-<div id="ryhd" class="recovery-head recoveryerror" style="display:none;">
+<div id="ryhd" class="recovery-head recoveryerror" style="display:none;bottom:60px;">
 	<img class="rhclose" onClick="rhclose('1')" src="/images/t-close.png"/>
 	<div class="rh-content">
 		<div class="rhtext">剑鱼分析并<span class="fphl">高亮</span>了项目名称,是否正确?</div>

+ 7 - 0
src/web/templates/weixin/wxkeyset/index.html

@@ -24,6 +24,13 @@ var surpriseflag = {{.T.s_surprise}}
 var myArray=new Array()
 var suphtml = "";//'<span id="sp1"></span><span id="sp2"></span><div id="surprise"><img src="/images/wxkeyset/spg.gif"/>点此有惊喜!</div>';
 $(function(){
+	if(sessionStorage){
+		if(sessionStorage.keysetindexToHistory=="2"){
+			sessionStorage.keysetindexToHistory="3"
+		}else{
+			sessionStorage.keysetindexToHistory="1"
+		}
+	}
 	$("body").css("background-color","FFF");
     if(localStorage.hasTopMsg!="false"){
         $(".keyWordTip").show();

+ 0 - 5
src/web/templates/weixin/wxkeyset/seniorset.html

@@ -460,11 +460,6 @@ function docheck(n,th){
 			推送结果预览
 			<img src="/wxswordfish/images/right.png" class="img-right">
 		</div>
-		<div class="onenavbar" id="historypush">
-			<img src="/images/wxkeyset/historypush.png" class="img-left">
-			历史推送记录
-			<img src="/wxswordfish/images/right.png" class="img-right">
-		</div>
 		<div class="onenavbar" id="usinghelp">
 			<img src="/images/wxkeyset/usinghelp.png" class="img-left">
 			使用帮助

+ 0 - 22
src/web/templates/weixin/wxtsguide.html

@@ -7,28 +7,6 @@
 var tsadd = {{Msg "seo" "ZBADDRESS"}}
 var signature = {{.T.signature}};
 var isBodyShow = true;
-if(localStorage && localStorage.tsGuide_status == "1"){
-	isBodyShow = false;
-	localStorage.tsGuide_status = "0";
-	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: ['closeWindow'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
-		});
-		wx.ready(function(){
-	        wx.closeWindow();
-	    });
-		wx.error(function(res){
-			window.location.href = "/wxkeyset/keyset/index";
-		});
-	}else{
-		window.location.href = "/wxkeyset/keyset/index";
-	}
-}
 </script>
 <link href="/css/common.css?v={{Msg "seo" "version"}}" rel="stylesheet">
 <link href="/css/jy.css?v={{Msg "seo" "version"}}" rel="stylesheet">