1let blog_list=[],que_pages,list_len,old_list=[],blog_new_pro=[],blog_science=[],blog_share=[],blog_search=[],blog_slider=document.getElementById("blog-slider");function normalizeBlogData(e){return Array.isArray(e)?e:e&&Array.isArray(e.articles)?e.articles:e&&Array.isArray(e.data)?e.data:[]}$.ajax({url:"/assets/data/blog.json",type:"GET",dataType:"json",cache:!0,success:function(e){if(blog_list=normalizeBlogData(e),!blog_list.length){console.error("Blog data format is invalid or empty:",e),blog_slider?$("#blog-slider").html('<div class="alert alert-warning">æç« æ°æ®æ ¼å¼å¼å¸¸ï¼è¯·è系管çåæ£æ¥æ°æ®æºã</div>'):$("#pages_box").length&&$("#pages_box").before('<div class="alert alert-warning">æç« æ°æ®æ ¼å¼å¼å¸¸ï¼è¯·è系管çåæ£æ¥æ°æ®æºã</div>');return}blog_slider?add_home_blog():init_blog_type()},error:function(e,a,t){console.error("Failed to load blog data:",t),console.error("Status:",a),console.error("Response:",e.responseText),blog_slider?$("#blog-slider").html('<div class="alert alert-warning">ææ¶æ æ³å è½½æç« æ°æ®ï¼è¯·ç¨ååè¯ã</div>'):$("#pages_box").length&&$("#pages_box").before('<div class="alert alert-warning">ææ¶æ æ³å è½½æç« æ°æ®ï¼è¯·ç¨ååè¯ã</div>')}});function init_blog_type(){for(let e=0;e<blog_list.length;e++){let a=blog_list[e],t=a.article_type,l=3,r="";r=`<li> 2 <div class="atf-post atf-style1"> 3 <a target="_blank" href=${a.article_navUrl} class="atf-post-thumb atf-zoom"> 4 <img loading="lazy" src=${a.article_img_src} alt=${a.article_name} title=${a.article_title} class="atf-zoom-in"> 5 </a> 6 <div class="atf-post-info"> 7 <h2 class="atf-post-title"> 8 <a target="_blank" href=${a.article_navUrl}>${a.article_title}</a> 9 </h2> 10 </div> 11 </div> 12 </li>`,t==1?(blog_new_pro.push(a),$("#blog_new_pro>ul").children().length<l&&$("#blog_new_pro>ul").append(r)):t==2?(blog_science.push(a),$("#blog_science>ul").children().length<l&&$("#blog_science>ul").append(r)):t==3&&(blog_share.push(a),$("#blog_share>ul").children().length<l&&$("#blog_share>ul").append(r))}document.getElementById("blog_new_pro")?document.getElementById("blog_science")?document.getElementById("blog_share")?init(1,blog_list):init(1,blog_share):init(1,blog_science):init(1,blog_new_pro)}function init(e,a){a&&(que_pages=e,list_len=a.length),add_pages(e),add_pages_box_sibs(e,a||old_list),old_list=a||old_list}!blog_slider&&$("#pages_li").on("click","li",function(){let e=0;switch($(this).attr("f_type")){case"left":que_pages>1?e=que_pages-1:e=que_pages;break;case"right":que_pages<parseInt(list_len/5)+1?e=que_pages+1:e=que_pages;break;default:e=parseInt($(this).attr("f_type"))}$("html,body").animate({scrollTop:$("#pages_to_top").offset().top},100),e!=que_pages&&(init(e),que_pages=e)});function add_pages_box_sibs(e,a){let t=5;$("#pages_box").siblings().remove(),$.each(a.slice((e-1)*t,(e-1)*t+t),(l,r)=>{let s=`<div class='${l==0?"col-lg-12 col-md-12 col-12 pagination_item":"col-lg-6 col-md-6 col-12 pagination_item"}'> 13 <div class="atf-post-slide atf-blog-up"> 14 <ul class="atf-post-bar"> 15 <li class="atf-author"> 16<!-- <i class="fa fa-user"></i>--> 17 <a target="_blank" href="javascript:;">${r.article_name}</a> 18 </li> 19 <li class="atf-post-date"> 20 <i class="far fa-clock"></i> 21 ${r.article_time} 22 </li> 23 24 </ul> 25 <div class="atf-post-img"> 26 <img loading="lazy" src=${r.article_img_src} alt="Blog"> 27 </div> 28 <h5 class="atf-post-title mt-3"> 29 <a target="_blank" href="${r.article_navUrl}" >${r.article_title}</a> 30 </h5> 31 32 <div class="atf-blog-btn"> 33 <a target="_blank" class="text-uppercase" href=${r.article_navUrl}> 34 äºè§£è¯¦æ 35 </a> 36 </div> 37 </div> 38 </div>`;$("#pages_box").before(s)})}var old_que_num;function add_pages(e){if($("#pages_li").children().remove(),list_len>5){let a=Math.ceil(list_len/5),t=a,l=e,r=l+4;old_que_num>e&&a>5?(e-4>0?t=e:t=5,e-4>0?l=e-4:l=1):a>5?(r<t&&(t=r),r>t&&(l=a-4)):(l=1,t=a),$("#pages_li").append(`<li class="page-item" f_type="left"> 39 <a href="javascript:;" id="" class="page-link" aria-label="Previous">
40 <span aria-hidden="true">«</span> 41 </a> 42 </li>`);for(let s=l;s<=t;s++)$("#pages_li").append(`<li class="page-item${e==s?" active":""}" f_type="${s}"><a class="page-link" href="javascript:;">${s}</a></li>`);$("#pages_li").append(`<li class="page-item" f_type="right"> 43 <a href="javascript:;" class="page-link" aria-label="Next"> 44 <span aria-hidden="true">»</span> 45 </a> 46 </li>`)}old_que_num=e}function getHomeCategoryLabel(e){const a=Number(e);return a===1?"æ°ååå¸":a===2?"å¾è°±å¨æ":a===3?"ä½åå享":"å¾è°±å¨æ"}function getHomeCategoryColor(e){const a=Number(e);return a===1?"#3A97FF":a===2?"#10B981":a===3?"#F59E0B":"#10B981"}function escapeHtml(e){return String(e!=null?e:"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function buildHomeCardExcerpt(e){const a=e.article_txt||e.article_title||e.article_name||"",t=String(a).replace(/\s+/g," ").trim();return t.length<=68?t:`${t.slice(0,68)}...`}function add_home_blog(){$("#blog-slider").children().remove(),$.each(blog_list,(a,t)=>{if(a>=4)return!1;const l=escapeHtml(t.article_navUrl||"#"),r=escapeHtml(t.article_title||t.article_name||"å¾è°±å¤©ææç« "),s=escapeHtml(t.article_time||"æªç¥æ¥æ"),i=escapeHtml(t.article_img_src||"/assets/image/content/default-product.webp"),o=escapeHtml(getHomeCategoryLabel(t.article_type)),c=escapeHtml(getHomeCategoryColor(t.article_type)),n=escapeHtml(buildHomeCardExcerpt(t));$("#blog-slider").append(`<article class="atf-post-slide home-blog-card"> 47 <a class="atf-post-img home-blog-card__image-wrap" target="_blank" href="${l}"> 48 <img loading="lazy" src="${i}" alt="${r}"> 49 <span class="home-blog-card__badge" style="--home-blog-badge-color:${c};">${o}</span> 50 </a> 51 <div class="home-blog-card__body"> 52 <div class="home-blog-card__meta"> 53 <span class="home-blog-card__meta-date"> 54 <i class="far fa-clock"></i> 55 ${s} 56 </span> 57 </div> 58 <h5 class="atf-post-title home-blog-card__title"> 59 <a target="_blank" href="${l}">${r}</a> 60 </h5> 61 <p class="atf-post-description home-blog-card__desc"> 62 ${n} 63 </p> 64 <div class="atf-blog-btn home-blog-card__btn"> 65 <a target="_blank" class="text-uppercase" href="${l}"> 66 é è¯»å ¨æ 67 </a> 68 </div> 69 </div> 70 </article>`)}),initBlogSlider()}function initBlogSlider(){const e=$("#blog-slider"),a=5e3,t=800,l=3;e.hasClass("owl-loaded")&&(e.trigger("destroy.owl.carousel"),e.removeClass("owl-loaded owl-hidden"),e.find(".owl-stage-outer").children().unwrap()),e.owlCarousel({margin:18,autoplay:!0,autoplayTimeout:a,autoplaySpeed:t,nav:!1,smartSpeed:t,dots:!0,dotsEach:1,autoplayHoverPause:!0,slideBy:1,loop:!0,responsiveClass:!0,responsive:{0:{items:1},767:{items:1},1e3:{items:l}}})}$("#blog_list_search").on("change",input_search),$("#blog_list_search_btn").on("click",input_search);function input_search(){clearTimeout(null),setTimeout(()=>{let a=$("#blog_list_search").val();if(a==""){init(1,blog_list);return}let t=searchInObject(blog_list,l=>l&&typeof l=="object"&&l.article_title&&l.article_title.toLowerCase().includes(a.toLowerCase()));init(1,t)},100)}
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.