PageSourceSearch

https://touptek-astro.com.cn/assets/js/blog_list.min.js

js touptek-astro.com.cn collected 2026-10-02 06:49:12 UTC 9,319 bytes, 70 lines download raw bytes

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,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}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.