Quellcode durchsuchen

tianjia shanchujiluhedingyue

[wangkaiyue] vor 8 Jahren
Ursprung
Commit
641e76ed0a

+ 50 - 47
src/jfw/front/search.go

@@ -15,7 +15,6 @@ type Search struct {
 	/********************剑鱼搜索dev2.0**************************/
 	mainSearch  xweb.Mapper `xweb:"/jylab/mainSearch"`				//剑鱼搜索主页面
 	superSearch xweb.Mapper `xweb:"/jylab/superSearch"`				//超级搜索
-	getSearchData xweb.Mapper `xweb:"/jylab/getSearchData"`                       //获取数据action
 }
 
 func init() {
@@ -78,10 +77,7 @@ func (m *Search) SuperSearch() error{
 	m.T["pageSize"] = wx_pageSize
 	m.T["keywords"] = keywords
 	m.T["searchvalue"] = searchvalue
-	m.T["toptype"] = toptype
-	m.T["subtype"] = subtype
-	m.T["scope"] = scope
-	m.T["publishtime"] = publishtime
+
 	//搜索列表增加分享
 	m.T["signature"] = wx.SignJSSDK(m.Site() + m.Url())
 	myopenid, _ := m.Session().Get("s_m_openid").(string)
@@ -92,49 +88,56 @@ func (m *Search) SuperSearch() error{
 	m.T["avatar"] = myavatar
 	return  m.Render("/weixin/search/superSearch.html", &m.T)
 }
-func (m *Search) GetSearchData() error{
+
+/*
+func (m *Front) Wxsearch() error {
 	defer util.Catch()
-	keywords := m.GetString("searchname")
-	searchvalue := m.GetString("searchvalue")
-	toptype := m.GetString("toptype")
-	subtype := m.GetString("subtype")
-	money :=m.GetString("money")
-	industry := m.GetString("industry")
-	scope := m.GetString("scope")
-	publishtime := m.GetString("publishtime")
-	fmt.Println("keywords:",keywords,"searchvalue:",searchvalue,"toptype:",toptype,"subtype",subtype,"scope",scope,"publishtime",publishtime)
-	fmt.Println("money---->>",money,"   industry----->>",industry)
-	selectType := m.GetString("selectType")
-	var list *[]map[string]interface{}
-	if userid := m.GetSession("userId"); userid != nil {
-		if len(keywords) > 0 {
-			if selectType == "" { //默认设置为全文搜索
-				selectType = "all"
-			}
-			list = getWxsearchlistData(keywords, searchvalue, scope, publishtime, subtype,industry, 1, selectType)
-			fmt.Println("list",list)
-			r := redis.GetStr("other", "s_"+userid.(string))
-			arrs := strings.Split(r, ",")
-			if r == "" {
-				arrs = make([]string, 0)
-			}
-			var historyFlag = 0
-			for _, v := range arrs {
-				if v == strings.Trim(keywords, " ") {
-					historyFlag = 1
-					break
-				}
-			}
-			if historyFlag != 1 {
-				arrs = append(arrs, keywords)
-				if len(arrs) > 5 {
-					arrs = arrs[1:6]
-				}
-				redis.Del("other", "s_"+userid.(string))
-				redis.Put("other", "s_"+userid.(string), strings.Join(arrs, ","), -1)
+	shname := m.GetSession("shname")
+	toptype := m.GetSession("toptype")
+	subtype := m.GetSession("subtype")
+	scope := m.GetSession("scope")
+	publishtime := m.GetSession("publishtime")
+	industry := m.GetSession("industry")
+	if shname != "" && shname != nil {
+		m.T["shname"] = shname
+	}
+	m.T["toptype"] = toptype
+	m.T["subtype"] = subtype
+	m.T["scope"] = scope
+	m.T["publishtime"] = publishtime
+	m.T["industry"] = industry
+	m.T["signature"] = wx.SignJSSDK(m.Site() + m.Url())
+	mynickname, _ := m.Session().Get("s_nickname").(string)
+	myavatar, _ := m.Session().Get("s_avatar").(string)
+	m.T["nickname"] = mynickname
+	m.T["avatar"] = myavatar
+	myopenid, _ := m.Session().Get("s_m_openid").(string)
+	m.T["openid"] = se.EncodeString(myopenid)
+	if userId := m.GetSession("userId"); userId != nil {
+		one, _ := mongodb.FindOneByField("user", bson.M{"_id": bson.ObjectIdHex(userId.(string))}, `{"o_jy":1}`)
+		history := redis.GetStr("other", "s_"+userId.(string))
+		arrs := strings.Split(history, ",")
+		if history == "" {
+			arrs = make([]string, 0)
+		}
+		l := len(arrs) - 1
+		for i := 0; i < len(arrs)/2; i++ {
+			tmp := arrs[l-i]
+			arrs[l-i] = arrs[i]
+			arrs[i] = tmp
+		}
+		m.T["history"] = arrs
+		if one != nil && len(*one) > 0 {
+			o_jy, _ := (*one)["o_jy"].(map[string]interface{})
+			a_key, _ := o_jy["a_key"].([]interface{})
+			var keys []interface{}
+			for _, v := range a_key {
+				keyMap, _ := v.(map[string]interface{})
+				key, _ := keyMap["key"].([]interface{})
+				keys = append(keys, key)
 			}
+			m.T["msgset"] = keys
 		}
 	}
-	m.ServeJson(list)
-	return nil
-}
+	return m.Render("/weixin/wxsearch.html", &m.T)
+}*/

+ 32 - 0
src/jfw/front/swordfish.go

@@ -846,9 +846,41 @@ func (m *Front) WxsearchlistPaging() {
 		industry := m.GetString("industry")
 		list = getWxsearchlistData(keywords, searchvalue, scope, publishtime, subtype, industry, pageNum, selectType)
 	}
+	//历史记录和订阅查询
+	if userId := m.GetSession("userId"); userId != nil {
+		one, _ := mongodb.FindOneByField("user", bson.M{"_id": bson.ObjectIdHex(userId.(string))}, `{"o_jy":1}`)
+		history := redis.GetStr("other", "s_"+userId.(string))
+		arrs := strings.Split(history, ",")
+		if history == "" {
+			arrs = make([]string, 0)
+		}
+		l := len(arrs) - 1
+		for i := 0; i < len(arrs)/2; i++ {
+			tmp := arrs[l-i]
+			arrs[l-i] = arrs[i]
+			arrs[i] = tmp
+		}
+		m.T["history"] = arrs
+		if one != nil && len(*one) > 0 {
+			o_jy, _ := (*one)["o_jy"].(map[string]interface{})
+			a_key, _ := o_jy["a_key"].([]interface{})
+			var keys []interface{}
+			for _, v := range a_key {
+				keyMap, _ := v.(map[string]interface{})
+				key, _ := keyMap["key"].([]interface{})
+				keys = append(keys, key)
+			}
+			m.T["msgset"] = keys
+		}
+	}
+
+
+
 	m.ServeJson(map[string]interface{}{
 		"list":        list,
 		"hasNextPage": list != nil && len(*list) == wx_pageSize && pageNum < wx_maxPageNum,
+		"history":   m.T["history"],
+		"msgset": m.T["msgset"],
 	})
 }
 

Datei-Diff unterdrückt, da er zu groß ist
+ 1350 - 77
src/web/staticres/css/search/superSearch.css


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


+ 59 - 4
src/web/staticres/wxswordfish/superSearch.css

@@ -1099,7 +1099,7 @@
 	text-align:center;
 }
 .jyabout .searchname{
-	background-color: #FFFFFF;
+	background-color: #FFFFFF ;
     border: 1px solid #E6E6E6;
     height: 45px;
     padding: 2px 35px 2px 20px;
@@ -1411,6 +1411,8 @@
 	min-height: 10rem;
 	font-size: 14px;
 	color: #1d1d1d;
+	position: absolute;
+	z-index: 999;
 }
 .industry-dialog .hyHead {
 	width: 34%;
@@ -1471,13 +1473,14 @@ body{
 	font-size:16px !important;
 }
 .searchname{
-	background-color: #f5f4fa;
-	border:1px solid #E6E6E6;
+	background-color: #EEEEEE !important;
 	width:85% !important;
 	font-size:16px;
 	position:relative;
 	box-shadow:none;
 	cursor: pointer;
+	border: none !important;
+	border-radius: 5px !important;
 	webkit-transform: translateZ(0);
 	-moz-transform: translateZ(0);
 	-ms-transform: translateZ(0);
@@ -1584,10 +1587,15 @@ body{
 	width: 59%;
 }
 .com-title span{
-	margin: 0 10px;
+	float: left;
+	height: 100%;
+	display: block;
+	padding: 0 5px;
+	margin-left: 5px;
 }
 .com-title .on{
 	color: #2cb7ca;
+	border-bottom: 2px solid #2cb7ca;
 }
 .selLable .line-vertical{
 	width: 1px;
@@ -1653,4 +1661,51 @@ body{
 }
 .content .keyword{
 	color: #2cb7ca;
+}
+.resbm{
+	display: table;
+	position: fixed;
+	bottom: 0px;
+	z-index: 2000;
+	left: 0px;
+	right: 0px;
+	bottom: 0px;
+	height: 50px;
+	width: 100%;
+	background-color: #37c6da;
+	border: 1px solid #37c6da;
+	display: flex;
+	justify-content: space-around;
+	align-content: center;
+}
+.rests {
+	height: 50px;
+	line-height: 50px;
+	padding-left: 15px;
+	color: #fff;
+	font-size: 14px;
+	float: left;
+	overflow: hidden;
+	width: 60%;
+	text-align: center;
+}
+.resdy {
+	float: left;
+	height: 35px;
+	margin: 7px 10px;
+	width: 107px;
+	border: 1px solid #fff;
+	line-height: 35px;
+	border-radius: 20px;
+	color: #fff;
+	padding-left: 20px;
+	cursor: hand;
+}
+.resdy img {
+	width: 12px;
+	margin: 2px;
+}
+.dy_close img{
+	width: 12px;
+	margin: 4px;
 }

+ 83 - 31
src/web/templates/weixin/search/superSearch.html

@@ -5,7 +5,7 @@
 	<meta name="viewport" content="width=device-width, initial-scale=1">
 	<meta name="renderer" content="webkit">
 	<link href="/mobiscroll/mobiscroll.min.css" rel="stylesheet">
-	<link href="/wxswordfish/superSearch.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+	<link href="/css/search/superSearch.css?v={{Msg "seo" "version"}}" rel="stylesheet">
 	<link href="/css/dropload.css?v={{Msg "seo" "version"}}" rel="stylesheet">
 	<link href="/css/wxlist.css?v={{Msg "seo" "version"}}" rel="stylesheet">
 	{{include "/common/inc.html"}}
@@ -19,11 +19,11 @@
 	<script>
 
         var s_words = {{.T.searchvalue}};
-        var isloadover = false;
         var firstPage = {{.T.list}};
         var pageSize = {{.T.pageSize}};
         window.top.noMoreCache = "false";
-        var scrollDownObj=null;
+        var scrollDownObj=null;   //翻页对象
+		var dyDiv=true;     //显示订阅剑鱼信息
         initShare({{.T.signature}},{{.T.openid}},2,"jy_extend",{{.T.nickname}},{{.T.avatar}});
         //提交参数
         var reqParam = {
@@ -32,12 +32,11 @@
             "subtype": "",
             "scope": "",
             "publishtime": "",
-            "selectType": $("#searchform [name='selectType']").val(),
+            "selectType": "",
             "money":"",
             "industry":"",
-            "pageNum": ""
+            "pageNum": 1
         };
-        var pageNum = 1;
         var loadCacheData = true;
         $(function(){
             //筛选菜单展示or隐藏
@@ -53,7 +52,7 @@
             });
 
             /**********************分页请求start****************************/
-                //铺数据 1.首次跳转传过来的数据  2.页面搜索数据 3.下拉查询数据
+			//铺数据 1.首次跳转传过来的数据  2.页面搜索数据 3.下拉查询数据
             //下拉更新
             setTimeout(function(){
 
@@ -61,12 +60,11 @@
                     scrollArea : window.top.isIOS?window.top:window,
                     loadDownFn : function(me){
                         scrollDownObj=me;
-                        if(loadCacheData){
+                        if(loadCacheData&&firstPage){
                             if(firstPage.length>0){
-                                appendListHtml(getHtml(firstPage,1),1);
+                                appendListHtml(getHtml(firstPage,1));
                                 firstPage = null;
                                 loadCacheData=false;
-                                isloadover = true;
                                 setTimeout(function(){
                                     me.resetload();
                                 },1000);
@@ -76,15 +74,14 @@
                             return;
                         }
                         beforeSubmit();
-                        pageNum++;
-                        reqParam["pageNum"] = pageNum;
+                       // pageNum++;
+                        reqParam["pageNum"] ++;        //翻页请求
                         $.ajax({
                             type: 'post',
                             url: '/swordfish/searchlist/paging',
                             data: reqParam,
                             dataType: 'json',
                             success: function(data){
-                                isloadover = true;
                                 //没有数据
                                 if(data["list"] == null || data["list"].length == 0){
                                     noMoreData(me);
@@ -92,7 +89,7 @@
                                 }
                                 var html = getHtml(data["list"],reqParam["pageNum"]);
                                 // 每次数据插入,必须重置
-                                appendListHtml(html,pageNum);
+                                appendListHtml(html);
                                 //没有下一页了
                                 if(!data.hasNextPage){
                                     // 锁定
@@ -137,6 +134,38 @@
                 $(".jydq-dialog .btn:eq(0)").trigger("click");  //清除地区
 				$(".jytype-dialog .btn:eq(0)").trigger("click"); //清除类别
 			})
+			//关闭搜索后订阅================================================================
+			$(".dy_close").on("click",function(){
+                $(".resbm").addClass("hidden");
+                dyDiv=false;
+			})
+			if(dyDiv&&$("#list").text()!=""){   //首次进来是否显示订阅
+                $(".resbm").removeClass("hidden");
+			}
+			//订阅
+            $("#zjdy").click(function(){
+                var rFlag = false;
+                $.ajax({
+                    type: "post",
+                    url: "/member/swordfish/ajaxReq",
+                    data: {keys:$("[name='searchname']").val(),reqType: "subscribe"},
+                    dataType: "json",
+                    async: false,
+                    success: function(r){
+                        if(r.flag=="y"){
+                            rFlag = true;
+                        }else if(r.flag=="o"){
+                            EasyAlert.show("您已经超过订阅<br>关键字上限");
+                        }
+                    },error: function(){
+                        rFlag = true;
+                    }
+                });
+                if(rFlag){
+                    window.open("/wxkeyset/keyset/index");
+				}
+            });
+			//订阅结束==========================================================================
 
         });
         function canSearch(){  //判断是否显示搜索按钮
@@ -219,8 +248,11 @@
         }
 
         function show() {   //筛选页面和内容展示替换显示
-            $(".selLable").removeClass("hidden");
-            $(".wxsearch").addClass("hidden");
+            if(!$(".wxsearch").hasClass("hidden")){
+                $(".selLable").removeClass("hidden");
+                $(".wxsearch").addClass("hidden");
+            }
+
 
             if ($("#list").text() == "") {
                 $("#wrapper").addClass("hidden");
@@ -237,25 +269,35 @@
                 }
             }
         }
+
         function toquery(){    //提交表单,获取数据
-			console.log(reqParam);
 			if(reqParam.searchname=="") return
-            $.post("/jylab/getSearchData",reqParam,function(result){
+			reqParam.pageNum=1
+            $.post("/swordfish/searchlist/paging",reqParam,function(data){
+                var history=data.history;
+				var msgset=data.msgset;
 
-				if(result.length>0){
+
+				//铺查询信息
+                if(data["list"] == null || data["list"].length == 0){
+                    noMoreData(scrollDownObj);
+                    $("#list").text("")
+                    hasNoData();
+					show();
+                    return
+				}else{
                     hasData();
-                    pageNum=1;
-                    replayListHtml(getHtml(result,1));
-                    scrollDownObj.noData(false);
+                    replayListHtml(getHtml(data["list"],1));
+					show();
+				}
+                if(!data.hasNextPage){
+                    scrollDownObj.lock();
+                    scrollDownObj.noData(true);
+                }else{
                     scrollDownObj.unlock();
-                    scrollDownObj.resetload();
-                    if(!$(".wxsearch").hasClass("hidden")){
-                        show();
-                    }
-				}else{
-                    hasNoData();
+                    scrollDownObj.noData(false);
 				}
-
+                scrollDownObj.resetload();
             });
         }
 
@@ -384,6 +426,9 @@
         function hasData(){ //搜索信息不为空
             $(".nullcontent").addClass("hidden");
             $("#wrapper").removeClass("hidden");
+            if(dyDiv){
+                $(".resbm").removeClass("hidden");
+			}
         }
         function appendListHtml(html){  //下拉时展示信息
 
@@ -481,8 +526,8 @@
 			<input type="hidden" name="scope" value="{{.T.scope}}">
 			<input type="hidden" name="publishtime" value="{{.T.publishtime}}">
 			<input type="hidden" name="industry" value="">
-			<input type="hidden" name="money" value="">-->
-			<input type="hidden" name="selectType" value="all">
+			<input type="hidden" name="money" value="">
+			<input type="hidden" name="selectType" value="all">-->
 			<span class="query hidden"><img src="/images/wx/jywxjs.png"></span>
 			<span class="clearInpt hidden"><img src="/images/wx/jyqingchu.png"></span>
 			<span class="screen text-center" >筛选</span>
@@ -791,8 +836,15 @@
 					</tr>
 				</table>
 			</div>
+			<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>
+
 	<div class="nullcontent text-center  hidden">
 		<div >
 			<img style="width:150px;margin:0px 0 50px 0;" src="/images/wx/jysorry_1.png">

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.