PageSourceSearch

http://chinalife.com.cn/uiFramework/commonResource/js/search.js

js chinalife.com.cn collected 2026-10-02 08:08:58 UTC 15,907 bytes, 414 lines download raw bytes

1//搜索提示
2function search(appname,inputObj,searchObj){
3    $.ajax({
4    type:"GET",
5    url:"https://i.chinalife.com.cn/searchapi/suggest/"+appname,
6    dataType:"json",
7    data:{
8      query:inputObj.val(),
9      scene:"all",
10      appid:"199606"
11    },
12    success:function(data){
13      if(data.status == 'OK') {
14        console.log(data,'搜索提示suggest');
15      var lists = data.result_data;
16      var listLen = lists.length;
17            var listStr = '';
18      console.log(listLen,'长度')  
19            console.log(listStr)
20            for(var i=0;i<listLen;i++){
21          listStr += "<li>"+ lists[i].suggest +"</li>"
22        }  
23            searchObj.css("display","block");
24            searchObj.find('li').remove();
25      searchObj.append(listStr);
26            listStr = ''; 
27           
28            
29        searchObj.find('li').each(function(){
30             var that =  $(this);
31             that.click(function(){ 
32               console.log(that.text(),'智能内容')
33               inputObj.val(that.text())
34               searchObj.css("display","none");
35             })
36            })
37        if(listLen==0){
38              searchObj.css("display","none");
39        }
40      }
41     },
42     error: function(err) {
43    console.log(err)
44     }
45  })
46}
47//历史搜索history 20220324,添加清除历史搜索
48function historySearch(appname,inputObj,searchObj){
49      var lists = JSON.parse(localStorage.getItem('search_text')) || [];
50    var listLen = lists.length;
51if($('#hisClear')){
52 searchObj.find('#hisClear').remove();
53}
54      var listStr = '';
55      for(var i=0;i<10;i++){
56if(i<listLen){
57      listStr += "<li>"+ lists[i] +"</li>"
58}
59      }  
60listStr += '<li id="hisClear"><img src="/eportal/uiFramework/commonResource/image/2022032506054499429.png" width="18" />  清除历史搜索</li>'
61      searchObj.css("display","block");
62      searchObj.find('li').remove();
63    searchObj.append(listStr);
64      listStr = ''; 
65   
66      searchObj.find('li:not(:last)').each(function(){
67      var that =  $(this);
68      that.click(function(){                               
69         console.log(that.text(),'智能内容')
70         inputObj.val(that.text())
71         searchObj.css("display","none");
72      })
73$('#hisClear').click(function(){
74      searchObj.find('li:not(:last)').remove();
75 localStorage.removeItem('search_text')
76})
77    })
78    if(listLen==0){
79      searchObj.css("display","none");
80    }
81}
82//搜索列表
83function searchList(appname,pages,scene,type,content,range){
84  var tips = '';
85  if(!content){
86    $('#search_list_tips').css('display','block');
87    $('#search_pages').css('display','none');
88    $('#search_list').css('display','none');
89    //tips = '请输入搜索关键字';20220427去掉
90    tips = '';
91    $('#tips').text(tips);
92    $('.list_result_info').find('#result_info_total').remove();//删除搜索结果
93    return false
94  }
95  var nowTime = moment(new Date()).format("X");
96  var obj = [{
97  "cmd":"add",
98  "fields":{
99    "timestamp":nowTime,
100    "action_type":"search",
101    "query":content,
102    "server_type":"main"
103  }
104  }]
105  console.log(JSON.stringify(obj))
106  var tableContentStr = JSON.stringify(obj)
107  $('#tableContent').val(tableContentStr);
108  //搜索全部分类
109  //revert:1,
110  //range:range?range:'',
111  console.log(range,'范围');
112  var dataObj = {}
113  if(range){
114    dataObj = {
115      query:content,
116      scene:scene,
117      appid:"199606",
118      index:type,
119      revert:1,
120      range:range?range:'',
121      sort:'create_date',
122      pos:pages*10,
123      cnt:10,
124      processData: false
125    }
126  }else{
127    dataObj = {
128      query:content,
129      scene:scene,
130      appid:"199606",
131      index:type,
132      pos:pages*10,
133      cnt:10,
134      processData: false
135    }
136  }
137  var startSearch = moment(new Date()).format("x");
138
139  $.ajax({
140    type:"GET",
141    url:"https://i.chinalife.com.cn/searchapi/search/"+appname,
142    dataType:"json",
143    data:dataObj,
144    success:function(data){
145      if(data.status == 'OK') {
146        console.log(data,'场景搜索search');
147        //搜索结果展示
148        //耗时
149        var searchTime = ((moment(new Date()).format("x") - startSearch)/1000).toFixed(3);
150        var searchTxt = '<p class="result_info_total" id="result_info_total">搜索结果共<span>'+ data.result_count.value +'</span>个,耗时<span>'+searchTime+'</span>秒</p>';
151        console.log(searchTxt,'搜索结果');
152        var lists = data.result_data;
153        var listLen = lists.length;
154        var listStr = '';
155
156       //存历史搜索
157        var sHistory = JSON.parse(localStorage.getItem('search_text')) || [];
158        if(localStorage.getItem('search_text')){
159if(sHistory.indexOf(content) == -1){
160            sHistory.unshift(content);
161}
162        }else{
163          sHistory[0]=content;
164        }
165if(sHistory.length>10){sHistory.length=10;}
166        localStorage.setItem('search_text',JSON.stringify(sHistory));
167        $('#search_list_tips').css('display','none');
168        $('#search_list').css('display','block');
169        $('#search_pages').css('display','block');
170        for(var i=0;i<listLen;i++){
171            var creatTime = moment.unix(lists[i]["create_date"]).format("YYYY-MM-DD");
172            var gwsource = '';
173            var source = ''
174            var linkTxt = '';//跳转地址
175            //来源
176            if(lists[i].source != '官网'){
177                gwsource = '<em>'+ lists[i].source +'</em>';//官网
178                source = '相关内容由中国人寿集团成员单位提供';//集团外
179            }else {
180                
181            }
182            //是否跳转链接(栏目是保险没有跳转,其他都有)
183            //20220426去掉url前后空格
184            var urltext = lists[i]["detail_url"].replace(/^\s+|\s+$/g,"");
185
186            
187            if(lists[i]["page_name"] == '信用卡'){
188              var zzUrl = 'https://www.chinalife.com.cn/chinalife/cpzx17/cpgdy/?name=广发银行股份有限公司&next=';
189              linkTxt = '<a href="'+ zzUrl +''+ urltext +'" target="_blank">';
190            }else if( urltext  &&  urltext .indexOf('http') == '-1'){
191              linkTxt = '<a href="https://www.chinalife.com.cn/chinalife/'+  urltext  +'" target="_blank">';
192            }else if(lists[i].source == '寿险'){
193                var zzUrl2 = 'https://www.chinalife.com.cn/chinalife/cpzx17/cpgdy/?name=中国人寿寿险&next=';
194                linkTxt = '<a href="'+zzUrl2+''+urltext+'" target="_blank">';
195            }else if(lists[i].source == '财险'){
196              var zzUrl3 = 'https://www.chinalife.com.cn/chinalife/cpzx17/cpgdy/?name=中国人寿财险&next=';
197                linkTxt = '<a href="'+zzUrl3+''+urltext+'" target="_blank">';
198            }else{
199              if(lists[i].source != '官网'){
200                var zzUrl4 = 'https://www.chinalife.com.cn/chinalife/cpzx17/cpgdy/?name=中国人寿成员单位&next=';
201                linkTxt = '<a href="'+zzUrl4+''+urltext+'" target="_blank">';
202              }else{
203                linkTxt = '<a href="'+urltext+'" target="_blank">';
204              }
205            }
206
207            if(lists[i]["type"] == '服务'){
208              linkTxt = '<a href="'+ lists[i]["title_url"] +'" target="_blank">';
209            }
210
211            //是否有图片
212            var imgTxt='';
213            if(lists[i]["title_image_url"] && lists[i]["title_image_url"] !=' '){
214                if(lists[i].source != '官网' || lists[i]["page_name"] == '媒体报道' || lists[i]["type"] == '产品' ){
215                  //不显示图片
216                  imgTxt='';
217                }else{
218                  //显示图片
219                  var imgUrl2 = lists[i]["title_image_url"].replace('fileDir/', '');
220                  if(lists[i]["page_name"] == "集团领导"){//20220427 集团领导改变样式999
221                    imgTxt = '<img src="https://www.chinalife.com.cn/'+ imgUrl2 +'" style="width:90px;">';
222                  }else{
223                    imgTxt = '<img src="https://www.chinalife.com.cn/'+ imgUrl2 +'">';
224                  }                  
225                }
226            }else{
227              //不显示图片
228              imgTxt=''
229            }
230
231            //是否有描述
232            var summeryTxt = '';
233            if(lists[i]["info_summery"]){
234              if(lists[i]["page_name"] == "珍贵瞬间"){
235                 summeryTxt = '<div class="list_content_product">'+ imgTxt +'</div>';
236              }else{
237                 summeryTxt = '<div class="list_content_product">'+ imgTxt +'<p>'+ lists[i]["info_summery"] +'</p></div>';
238              }
239            }else if(imgTxt){
240              summeryTxt = '<div class="list_content_product">'+ imgTxt +'</div>';            
241            }else{
242              summeryTxt = '';
243              //summeryTxt = '<div class="list_content_product"><h4>'+ gwsource + lists[i].title +'</h4></div>';//20220427修改问题
244            }
245
246            //是否有创建时间;20220426由原来只有产品和服务不展示时间,改为只有公司新闻展示时间
247            var pageName = '';
248           //if(lists[i]["type"] == '产品' || lists[i]["type"] == '服务'){
249            if(lists[i]["page_name"] == "公司新闻" || lists[i]["page_name"] == "媒体报道" || lists[i]["page_name"] == "国寿视觉" || lists[i]["page_name"] == "珍贵瞬间" || lists[i]["page_name"] == "宣传视频"){
250               pageName = '<p class="info_list_info"><span class="list_info_label">'+ lists[i]["page_name"] +'</span><span>'+ creatTime +'</span></p><p style="clear:both;color:#999;">
250'+ source +'</p>';
251            }else{
252              pageName = '<p class="info_list_info"><span class="list_info_label">'+ lists[i]["page_name"] +'</span></p><p style="clear:both;color:#999;">'+ source +'</p>';             
253            }
254
255
256            if(lists[i]["page_name"] == '保险'){
257              var qrUrl = lists[i]["qr_code_url"].replace('/eportal/fileDir/', '');
258              listStr += '<li><div class="info_list_content"><h4>'+lists[i].title +'</h4>'+ summeryTxt +'<div class="product_details">了解详情<p><img src="https://www.chinalife.com.cn/chinalife/'+ qrUrl +'" /><br/>扫一扫进入详情页<span class="qr_icon"></span></p></div></div>'+ pageName +'</li>'
259            }else{
260               
261               if(lists[i]["page_name"] == "集团领导"){//20220427 集团领导改变样式,不显示标题,描述中带有姓名,无需显示标题姓名;            
262                  listStr += '<li>'+ linkTxt +'<div class="info_list_content">'+ summeryTxt +'</div>'+ pageName +'</a></li>'    
263               }else if(lists[i]["page_name"] == "新闻媒体服务"){//20220427新闻媒体服务去掉可点击链接                 
264                  listStr += '<li><div class="info_list_content"><h4>'+ gwsource + lists[i].title +'</h4>'+ summeryTxt +'</div>'+ pageName +'</li>'
265               }else{
266                  listStr += '<li>'+ linkTxt +'<div class="info_list_content"><h4>'+ gwsource + lists[i].title +'</h4>'+ summeryTxt +'</div>'+ pageName +'</a></li>'
267                  //listStr += '<li>'+ linkTxt +'<div class="info_list_content">'+ summeryTxt +'</div>'+ pageName +'</a></li>'
268               }
269
270             
271            }
272
273            //199606-product、199606-service
274        } 
275
276        $('#search_list').find('li').remove();
277        $('#search_list').append(listStr);
278        $('.list_result_info').find('#result_info_total').remove();//删除搜索结果
279
280        $('#search_list_tips').after(searchTxt);//添加搜索结果
281        listStr = '';
282        var total = Math.ceil(data.result_count.value / 10);
283        var page = parseInt(pages) + 1;
284        $('#search_pages_cur').val(page);
285        $('#search_pages_total').text(total);
286      }else{
287        $('#search_pages').css('display','none');
288        $('#search_list').find('li').remove();
289        $('#search_list').css('display','none');
290        $('#search_list_tips').css('display','block');
291        tips = '很抱歉,暂时未找到与“'+ content +'”相关的内容';
292        $('#tips').text(tips);
293        $('.list_result_info').find('#result_info_total').remove();//删除搜索结果
294      }
295    }
296  })
297}
298function getZero(num){
299  return num < 10 ? '0'+num : num;
300}
301//热门搜索hot_query
302function hotSearch(appname,content,scene){
303  $.ajax({
304    type:"GET",
305    url:"https://i.chinalife.com.cn/searchapi/hot_query/"+appname,
306    dataType:"json",
307    data:{
308      appname:appname,
309      query:content,
310      scene:scene,
311      appid:"199606",
312      number:6
313    },
314    success:function(data){
315      console.log(data.result_data,'热门搜索hot_query');
316      //热门数据展示(没有对应的跳转地址)
317      var lists = data.result_data;
318      var listLen = lists.length;
319      var listStr = '';
320      $('#hot_search').siblings('p').css('display','none');
321      for(var i=0;i<listLen;i++){
322          var num = i+1;
323          listStr += '<li><span>'+getZero(num)+'</span>'+ lists[i] +'</li>'
324      }  
325      $('#hot_search').find('li').remove();
326      $('#hot_search').append(listStr);
327      $('#hot_search li:lt(3)').addClass('cur');
328      listStr = '';
329      $('#hot_search li').each(function(){
330         var that =  $(this);
331         that.click(function(){     
332            var ind = $('#hot_search li').index(that);  
333            var types = '199606-all';
334            var scenes = 'all';
335            $('.list_result_type li').eq(0).addClass('cur').siblings('li').removeClass('cur');
336            $('#filter_show').text('时间不限');                      
337            console.log(lists[ind],'热门搜索')
338            $("#ss_search_input").val(lists[ind])
339            searchList('life',0,scenes,types,lists[ind]);
340            $('#search_type').val(types);
341            $('#scene').val(scenes);
342         })
343       })
344      if(listLen == 0){
345        $('#hot_search').siblings('p').css('display','block');
346      }
347    }
348  })
349}
350
351//相关搜索similar_query
352function similarSearch(appname,content,scene){
353  $.ajax({
354    type:"GET",
355    url:"https://i.chinalife.com.cn/searchapi/similar_query/"+appname,
356    dataType:"json",
357    data:{
358      appname:appname,
359      query:content,
360      scene:scene,
361      appid:"199606",
362      number:6
363    },
364    success:function(data){
365      console.log(data.result_data,'相关搜索similar_query');
366      //热门数据展示(没有对应的跳转地址)
367      var lists = data.result_data;
368      var listLen = lists.length;
369      var listStr = '';
370      $('#same_search').siblings('p').css('display','none');
371    for(var i=0;i<listLen;i++){
372        listStr += "<li><span></span>"+ lists[i] +"</li>"
373    }  
374    $('#same_search').find('li').remove();
375    $('#same_search').append(listStr);
376    listStr = ''; 
377    //点击相关搜索进行搜索
378    $('#same_search li').each(function(){
379         var that =  $(this);
380         that.click(function(){  
381            var ind = $('#same_search li').index(that);  
382            var types = '199606-all';
383            var scenes = 'all';
384            $('.list_result_type li').eq(0).addClass('cur').siblings('li').removeClass('cur');
385            $('#filter_show').text('时间不限');                               
386            console.log(lists[ind],'相关搜索')
387            $("#ss_search_input").val(lists[ind])
388            searchList('life',0,scenes,types,lists[ind]);
389            $('#search_type').val(types);
390            $('#scene').val(scenes);
391         })
392       })
393      if(listLen == 0){
394        $('#same_search').siblings('p').css('display','block');
395      }
396    }
397  })
398}
399
400//上报数据
401function searchAction(appname){
402  var formData = new FormData($("#search_action")[0]);
403  $.ajax({
404    type:"POST",
405    url:"https://i.chinalife.com.cn/actionapi/action/"+appname,
406    dataType:"json",
407    contentType:false,
408    processData:false,
409    data:formData,
410    success:function(data){
411      console.log(data.result_data,'上报数据');
412    }
413  })
414}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.