{"id":37385,"date":"2025-12-26T16:30:44","date_gmt":"2025-12-26T08:30:44","guid":{"rendered":"https:\/\/www.goglobalsafe.com\/?page_id=37385"},"modified":"2026-01-29T18:15:36","modified_gmt":"2026-01-29T10:15:36","slug":"blog","status":"publish","type":"page","link":"https:\/\/www.goglobalsafe.com\/zh\/blog\/","title":{"rendered":"blog"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"37385\" class=\"elementor elementor-37385\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-c83eeb4 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"c83eeb4\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t\t<div class=\"elementor-background-overlay\"><\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-33a70a0\" data-id=\"33a70a0\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d1ba476 elementor-widget elementor-widget-shortcode\" data-id=\"d1ba476\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n    <script>\n        \/\/ \u5c06\u83b7\u53d6\u5230\u7684 slug \u6ce8\u5165\u7ed9\u5168\u5c40\u53d8\u91cf\uff0cVue \u4f1a\u8bfb\u53d6\u5b83\n        window.currentBlogSlug = \"\";\n\n        \/\/ \u4fdd\u7559 ID \u4ee5\u517c\u5bb9\u65e7\u94fe\u63a5\n        window.usc_fixed_id = \"\";\n    <\/script>\n\n    \n<head>\n    <link href=\"\/wp-content\/static\/element\/index.min.css\" rel=\"stylesheet\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<\/head>\n<script src=\"\/wp-content\/static\/js\/vue.global.js\"><\/script>\n<script src=\"\/wp-content\/static\/js\/axios.min.js\"><\/script>\n<script src=\"\/wp-content\/static\/element\/index.full.min.js\"><\/script>\n\n<style>\n    @font-face {\n        font-family: 'Inter Bold';\n        src: url('\/wp-content\/static\/font\/Inter\/Inter-Bold.woff2') format('woff2');\n        font-display: swap;\n    }\n    @font-face {\n        font-family: 'Inter Regular';\n        src: url('\/wp-content\/static\/font\/Inter\/Inter-Regular.woff2') format('woff2');\n        font-display: swap;\n    }\n    section {\n        padding: 0 !important;\n    }\n    .elementor-heading-title {\n        display: none !important;\n    }\n    .elementor-widget-theme-post-featured-image img {\n        display: none !important;\n    }\n\n    \/* --- 3. \u8c03\u6574\u4f60\u81ea\u5df1\u5bb9\u5668\u7684\u95f4\u8ddd --- *\/\n    \/* \u4f60\u539f\u6765\u7684\u4ee3\u7801\u91cc margin-top \u662f 1.5rem\uff0c\u6539\u4e3a 0 *\/\n    .usc-guide-page {\n        margin-top: 0 !important; \/* \u539f\u6765\u662f 1.5rem *\/\n\n        \/* \u4fdd\u6301\u539f\u6709\u6837\u5f0f *\/\n        font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\n        color: #333;\n        background-color: #fff;\n        line-height: 1.6;\n    }\n    \/* \u4e3a\u4e86\u9632\u6b62\u6c61\u67d3 WordPress \u5176\u4ed6\u6837\u5f0f\uff0c\u5efa\u8bae\u52a0\u4e00\u4e2a\u7236\u7ea7\u7c7b .usc-guide-page *\/\n    .usc-guide-page {\n        font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\n        color: #333;\n        background-color: #fff;\n        line-height: 1.6;\n        margin-top: 1.5rem;\n    }\n\n    .page-container {\n        display: flex;\n        \/*max-width: 1200px;*\/\n        \/*margin: 0 auto;*\/\n        \/*padding: 40px 20px;*\/\n        gap: 1rem;\n    }\n\n    \/* \u5de6\u4fa7\u5bfc\u822a - Sticky *\/\n    .sidebar {\n        width: 260px;\n        flex-shrink: 0;\n        position: -webkit-sticky; \/* Safari *\/\n        position: sticky;\n        top: 100px; \/* \u6839\u636e\u4f60\u7684 WordPress \u9876\u90e8\u5bfc\u822a\u680f\u9ad8\u5ea6\u8c03\u6574 *\/\n        height: fit-content;\n        border-left: 2px solid #f3f4f6;\n        padding-left: 20px;\n    }\n\n    .toc-header {\n        font-family: 'Inter Bold', sans-serif;\n        font-weight: bold;\n        font-size: 0.72rem;\n        color: #333333;\n        margin-bottom: 15px;\n        text-transform: uppercase;\n        letter-spacing: 0.5px;\n        display: flex;\n        flex-direction: row;\n        align-items: center;\n    }\n\n    \/* --- \u57fa\u7840\u91cd\u7f6e (\u89e3\u51b3\u9760\u53f3\u95ee\u9898) --- *\/\n    \/* --- \u57fa\u7840\u91cd\u7f6e --- *\/\n    .toc-list, .toc-sub-list, .toc-deep-list {\n        list-style: none !important;\n        padding: 0 !important;\n        margin: 0 !important;\n    }\n\n    \/* --- \u901a\u7528\u884c\u5e03\u5c40 (\u5173\u952e\u4fee\u6539) --- *\/\n    \/* \u9002\u7528\u4e8e Root \u548c Sub \u7684\u6807\u9898\u884c *\/\n    .toc-link-row {\n        display: flex;\n        align-items: center;\n        justify-content: space-between; \/* \u5173\u952e\uff1a\u6587\u5b57\u5728\u5de6\uff0c\u7bad\u5934\u5728\u53f3 *\/\n        padding: 8px 0; \/* \u589e\u52a0\u4e00\u70b9\u4e0a\u4e0b\u95f4\u8ddd\uff0c\u66f4\u6613\u70b9\u51fb *\/\n        cursor: pointer;\n        border-bottom: 1px solid transparent; \/* \u9884\u7559\u8fb9\u6846\u4f4d\u7f6e *\/\n    }\n    .toc-link-row:hover {\n        background-color: #f9fafb; \/* \u9f20\u6807\u60ac\u505c\u52a0\u4e2a\u6de1\u80cc\u666f *\/\n    }\n\n    \/* --- \u7bad\u5934\u6837\u5f0f (\u9760\u53f3) --- *\/\n    .toc-arrow {\n        font-size: 10px;\n        color: #9ca3af;\n        transition: transform 0.2s;\n        margin-left: 10px; \/* \u7bad\u5934\u8ddd\u79bb\u6587\u5b57\u7684\u95f4\u8ddd *\/\n        flex-shrink: 0;    \/* \u9632\u6b62\u7bad\u5934\u88ab\u6324\u538b *\/\n        width: 20px;\n        text-align: center;\n    }\n    .toc-arrow.expanded {\n        transform: rotate(90deg); \/* \u5c55\u5f00\u65cb\u8f6c *\/\n        color: #1e40af;\n    }\n\n    \/* --- \u6587\u5b57\u6837\u5f0f --- *\/\n    .toc-text {\n        font-family: 'Inter Regular', sans-serif;\n        font-weight: 400;\n        font-size: 0.76rem;\n        color: #555555;\n        line-height: 1.4;\n        flex: 1; \/* \u5173\u952e\uff1a\u6587\u5b57\u5360\u636e\u5269\u4f59\u7a7a\u95f4 *\/\n        display: block;\n        padding-right: 5px;\n    }\n    \/* \u6fc0\u6d3b\u9ad8\u4eae *\/\n    .toc-text.active {\n        color: #1e40af;\n        font-weight: 600;\n    }\n\n    \/* --- \u5c42\u7ea7\u7f29\u8fdb\u63a7\u5236 --- *\/\n\n    \/* Level 1 (Root) \u6837\u5f0f *\/\n    .toc-item-root {\n        border-bottom: 1px solid #f3f4f6; \/* \u4e00\u7ea7\u83dc\u5355\u4e4b\u95f4\u52a0\u4e2a\u5206\u5272\u7ebf *\/\n    }\n    .root-text {\n        font-weight: 400;\n        font-size: 0.76rem;\n        color: #555555;\n    }\n\n    \/* Level 2 (Sub) \u5bb9\u5668\u7f29\u8fdb *\/\n    .toc-sub-list {\n        background-color: #fff;\n        padding-left: 15px !important; \/* \u6574\u4f53\u7f29\u8fdb *\/\n        display: block;\n    }\n    .sub-text {\n        font-size: 13px;\n        color: #4b5563;\n    }\n\n    \/* Level 3 (Deep) \u5bb9\u5668\u7f29\u8fdb *\/\n    .toc-deep-list {\n        padding-left: 15px !important;\n    }\n    .deep-text {\n        font-size: 12px;\n        color: #6b7280;\n        padding: 4px 0;\n        display: block;\n    }\n    .deep-text:hover { color: #1e40af; }\n\n    \/* \u53f3\u4fa7\u5185\u5bb9\u533a *\/\n    .main-content {\n        flex: 1;\n        min-width: 0;\n        overflow: hidden; \/* \u9632\u6b62\u5185\u5bb9\u6ea2\u51fa *\/\n        box-shadow: 0rem 0.11rem 0.53rem 0rem rgba(0,0,0,0.05);\n        border-radius: 0.42rem 0.42rem 0.42rem 0.42rem;\n        padding: 0.53rem 2.11rem;\n    }\n\n    \/* \u9762\u5305\u5c51 *\/\n    .breadcrumbs {\n        font-family: 'Inter Regular', sans-serif;\n        font-size: 0.72rem;\n        color: #6b7280;\n        margin-bottom: 1.53rem;\n        display: flex;\n        align-items: center;\n    }\n    .back-link { cursor: pointer; display: flex; align-items: center; gap: 5px; }\n    .divider { margin: 0 10px; color: #d1d5db; }\n    .current { color: #111; font-weight: 500; }\n\n    \/* Tags *\/\n    .tags {\n        display: flex;\n        gap: 10px;\n        margin-bottom: 25px;\n        flex-wrap: wrap;\n    }\n    .tag {\n        background: #eff6ff;\n        color: #2563eb;\n        padding: 5px 14px;\n        border-radius: 20px;\n        font-size: 12px;\n        font-weight: 600;\n        letter-spacing: 0.3px;\n    }\n\n    .article-title {\n        font-family: 'Inter Bold', sans-serif;\n        font-size: 2.05rem !important;\n        margin-bottom: 25px;\n        font-weight: Bold !important;\n        color: #111111;\n    }\n\n    .author-meta {\n        display: flex;\n        justify-content: space-between;\n        align-items: center;\n        margin-bottom: 35px;\n        border-bottom: 1px solid #f3f4f6;\n        padding-bottom: 25px;\n    }\n    .author-info {\n        display: flex;\n        align-items: center;\n        gap: 12px;\n    }\n    .avatar {\n        width: 44px;\n        height: 44px;\n        background: #dbeafe;\n        color: #1e40af;\n        border-radius: 50%;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        font-weight: bold;\n        font-size: 16px;\n    }\n    .meta-text strong {\n        font-family: 'Inter Bold', sans-serif;\n        display: block; font-size: 14px; color: #1f2937; }\n    .meta-text p {\n        font-family: 'Inter Regular', sans-serif;\n        margin: 0; font-size: 12px; color: #6b7280; margin-top: 2px; }\n    .share-btn {\n        font-family: 'Inter Bold', sans-serif;\n        font-size: 13px;\n        color: #6b7280;\n        cursor: pointer;\n        font-weight: 500;\n        display: flex;\n        align-items: center;\n        gap: 8px;\n    }\n\n    \/* \u5012\u8ba1\u65f6\u5361\u7247 *\/\n    .deadline-card {\n        background: #1E3D9D;\n        color: white;\n        border-radius: 15px;\n        padding: 35px 40px;\n        display: flex;\n        justify-content: space-between;\n        align-items: center;\n        margin-bottom: 40px;\n        box-shadow: 0 10px 25px rgba(30, 58, 138, 0.15);\n    }\n    .deadline-info .badge {\n        font-family: 'Inter Bold', sans-serif;\n        display: flex;\n        width: fit-content;\n        padding: 5px 15px;\n        flex-direction: row;\n        align-items: center;\n        justify-content: center;\n        border-radius: 20px;\n        border: 1px solid #F5CD1D;\n        background: none;\n        font-size: 0.7rem;\n        color: #F5CD1D;\n        font-weight: Bold;\n        margin-bottom: 10px;\n        letter-spacing: 0.5px;\n    }\n    .deadline-info h2 { margin: 5px 0 10px 0; font-size: 26px; font-weight: 700; }\n    .deadline-info p {\n        font-family: 'Inter Regular', sans-serif;\n        margin: 0; font-size: 0.74rem; opacity: 0.9; max-width: 300px; }\n\n    .timer-display { display: flex; gap: 20px; }\n    .time-box {\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        background: rgba(0,0,0,0.2);\n        padding: 10px 15px;\n        border-radius: 8px;\n        min-width: 70px;\n    }\n    .time-box span {\n        font-family: 'Inter Bold', sans-serif;\n        font-size: 1.52rem; font-weight: Bold; line-height: 1; }\n    .time-box small {\n        font-family: 'Inter Regular', sans-serif;\n        font-size: 0.63rem; opacity: 0.8;font-weight: 400; margin-top: 6px; letter-spacing: 1px; }\n\n    \/* \u5feb\u901f\u6458\u8981 *\/\n    .quick-summary {\n        background: #f8fafc;\n        border: 1px solid #e2e8f0;\n        border-radius: 12px;\n        padding: 25px;\n        margin-bottom: 50px;\n    }\n    .quick-summary h3 { margin-top: 0; color: #0f172a; font-size: 17px; margin-bottom: 15px; font-weight: 700; }\n    .quick-summary ul { list-style: none; padding: 0; margin: 0; }\n    .quick-summary li { font-size: 15px; margin-bottom: 12px; line-height: 1.6; color: #334155; display: flex; gap: 10px; }\n    .quick-summary .warning { color: #dc2626; font-weight: 600; margin-top: 15px; background: #fef2f2; padding: 10px; border-radius: 6px; display: block; }\n\n    \/* 2. \u589e\u5f3a\u7248\u7684\u5185\u5bb9\u6362\u884c\u63a7\u5236 *\/\n    .content {\n        width: 100%;\n        \/* \u5141\u8bb8\u957f\u5355\u8bcd\u3001\u957f\u94fe\u63a5\u5728\u4efb\u4f55\u5730\u65b9\u65ad\u5f00 *\/\n        word-break: break-word !important;\n        overflow-wrap: anywhere !important;\n        \/* \u5f3a\u5236\u6062\u590d\u6b63\u5e38\u7684\u7a7a\u767d\u7b26\u5904\u7406 *\/\n        white-space: normal !important;\n    }\n\n    \/* 3. \u5f7b\u5e95\u89e3\u51b3\u5bcc\u6587\u672c\u4e2d\u56fe\u7247\u3001\u8868\u683c\u3001\u4ee3\u7801\u5757\u6ea2\u51fa\u7684\u95ee\u9898 *\/\n    .content img {\n        max-width: 100% !important;\n        height: auto !important;\n    }\n\n    .content table {\n        width: 100% !important;\n        table-layout: fixed !important; \/* \u5f3a\u5236\u8868\u683c\u4e0d\u6491\u5f00\u5bb9\u5668 *\/\n    }\n\n    .content pre, .content code {\n        white-space: pre-wrap !important; \/* \u5141\u8bb8\u4ee3\u7801\u5757\u6362\u884c *\/\n        word-wrap: break-word !important;\n        background: #f5f5f5;\n        padding: 10px;\n        border-radius: 4px;\n        overflow-x: auto; \/* \u4e07\u4e00\u592a\u957f\uff0c\u5141\u8bb8\u5185\u90e8\u6eda\u52a8\u800c\u4e0d\u662f\u6491\u5f00\u6574\u9875 *\/\n    }\n    .content-section { margin-bottom: 60px; scroll-margin-top: 120px; \/* \u951a\u70b9\u5b9a\u4f4d\u504f\u79fb *\/ }\n    .content-section h2 { font-size: 24px; margin-bottom: 20px; color: #111827; font-weight: 700; letter-spacing: -0.5px; }\n    .content-section p { font-size: 16px; line-height: 1.8; color: #374151; margin-bottom: 20px; }\n    .content-section strong { color: #111; font-weight: 600; }\n\n    \/* --- [\u65b0\u589e] \u4fee\u590d\u6587\u7ae0\u8be6\u60c5\u9875\u5217\u8868\u4e0d\u663e\u793a\u5706\u70b9\u7684\u95ee\u9898 --- *\/\n    .content ul {\n        list-style-type: disc !important; \/* \u5f3a\u5236\u663e\u793a\u5b9e\u5fc3\u5706\u70b9 *\/\n        padding-left: 2rem !important;    \/* \u5fc5\u987b\u7ed9\u5de6\u4fa7\u7559\u51fa\u7f29\u8fdb\uff0c\u5426\u5219\u5706\u70b9\u4f1a\u88ab\u5207\u6389 *\/\n        margin-bottom: 1.5rem;\n    }\n\n    .content ol {\n        list-style-type: decimal !important; \/* \u5f3a\u5236\u663e\u793a\u6570\u5b57 (1. 2. 3.) *\/\n        padding-left: 2rem !important;\n        margin-bottom: 1.5rem;\n    }\n\n    .content li {\n        margin-bottom: 0.5rem; \/* \u8ba9\u5217\u8868\u9879\u4e4b\u95f4\u6709\u70b9\u95f4\u8ddd\uff0c\u4e0d\u90a3\u4e48\u62e5\u6324 *\/\n        list-style-position: outside; \/* \u786e\u4fdd\u957f\u6587\u672c\u6362\u884c\u65f6\uff0c\u6587\u5b57\u4e0d\u4f1a\u8dd1\u5230\u5706\u70b9\u4e0b\u9762 *\/\n    }\n\n    \/* \u5bf9\u6bd4\u8868\u683c *\/\n    .comparison-table-wrapper {\n        overflow-x: auto;\n        border: 1px solid #e5e7eb;\n        border-radius: 12px;\n        margin-top: 25px;\n        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);\n    }\n    .comparison-table {\n        width: 100%;\n        border-collapse: collapse;\n        font-size: 14px;\n        min-width: 600px; \/* \u79fb\u52a8\u7aef\u6eda\u52a8 *\/\n    }\n    .comparison-table th, .comparison-table td {\n        padding: 16px 20px;\n        text-align: left;\n        border-bottom: 1px solid #f3f4f6;\n    }\n    .comparison-table th { background: #f9fafb; font-weight: 700; color: #374151; }\n    .comparison-table th.highlight { color: #2563eb; background: #eff6ff; border-bottom: 2px solid #bfdbfe; }\n    .comparison-table tr:last-child td { border-bottom: none; }\n    .text-blue { color: #2563eb; font-weight: 600; }\n    .text-orange { color: #ea580c; font-weight: 600; }\n\n    \/* \u65b9\u6848\u5361\u7247 *\/\n    .plan-cards {\n        display: grid;\n        grid-template-columns: repeat(3, 1fr);\n        gap: 25px;\n        margin: 40px 0;\n    }\n    .card {\n        border: 1px solid #e5e7eb;\n        border-radius: 16px;\n        padding: 30px 20px;\n        position: relative;\n        transition: all 0.3s ease;\n        background: white;\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n    }\n    .card:hover { transform: translateY(-5px); box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); border-color: transparent; }\n\n    \/* \u989c\u8272\u4e3b\u9898 *\/\n    .card.yellow { border-top: 5px solid #facc15; }\n    .card.blue { border: 2px solid #3b82f6; border-top: 5px solid #3b82f6; background: #eff6ff; transform: scale(1.02); z-index: 1; }\n    .card.orange { border-top: 5px solid #f97316; }\n\n    .card h3 { font-size: 18px; margin: 15px 0 25px 0; text-align: center; font-weight: 700; color: #111; }\n    .card .badge {\n        position: absolute;\n        top: -14px;\n        font-size: 11px;\n        padding: 5px 12px;\n        border-radius: 20px;\n        font-weight: 700;\n        text-transform: uppercase;\n        box-shadow: 0 2px 5px rgba(0,0,0,0.1);\n    }\n    .badge.popular { background: #facc15; color: #000; }\n    .badge.premium { background: #f97316; color: #fff; }\n\n    .tags-group { display: flex; flex-direction: column; gap: 10px; align-items: center; width: 100%; }\n    .tags-group span {\n        background: #f3f4f6;\n        padding: 6px 15px;\n        border-radius: 20px;\n        font-size: 12px;\n        color: #4b5563;\n        font-weight: 500;\n        width: 100%;\n        text-align: center;\n    }\n    .card.blue .tags-group span { background: #fff; color: #2563eb; box-shadow: 0 1px 2px rgba(0,0,0,0.05); }\n\n    .card-note { font-size: 13px; color: #9ca3af; text-align: center; font-style: italic; margin-top: 20px; }\n\n    .center-btn { text-align: center; margin-top: 40px; }\n    .btn-primary {\n        background: #1E3D9D;\n        box-shadow: 0rem 0.11rem 0.42rem 0rem rgba(0,0,0,0.12);\n        border-radius: 0.84rem 0.84rem 0.84rem 0.84rem;\n        cursor: pointer;\n        font-weight: 500;\n        font-size: 1.05rem;\n        color: #FFFFFF;\n        padding: 0.53rem 3.89rem;\n    }\n    .btn-primary:hover { background: #172554; }\n\n    \/* \u6b65\u9aa4\u5217\u8868 *\/\n    .step-list { margin-top: 30px; }\n    .step {\n        padding-left: 20px;\n        border-left: 2px solid #e5e7eb;\n        margin-bottom: 25px;\n        position: relative;\n    }\n    .step::before {\n        content: '';\n        position: absolute;\n        left: -6px;\n        top: 0;\n        width: 10px;\n        height: 10px;\n        background: #e5e7eb;\n        border-radius: 50%;\n    }\n    .step h4 { margin: 0 0 10px 0; font-size: 18px; color: #1e40af; }\n\n    \/* \u6a21\u7cca\u89e3\u9501\u533a *\/\n    \/*.lock-section {*\/\n    \/*    position: relative;*\/\n    \/*    border: 1px solid #dcfce7;*\/\n    \/*    border-radius: 16px;*\/\n    \/*    overflow: hidden;*\/\n    \/*    margin-top: 60px;*\/\n    \/*    background: #f0fdf4;*\/\n    \/*}*\/\n    \/*.lock-overlay {*\/\n    \/*    position: absolute;*\/\n    \/*    top: 0; left: 0; width: 100%; height: 100%;*\/\n    \/*    background: rgba(255, 255, 255, 0.7);*\/\n    \/*    backdrop-filter: blur(4px);*\/\n    \/*    display: flex;*\/\n    \/*    flex-direction: column;*\/\n    \/*    justify-content: center;*\/\n    \/*    align-items: center;*\/\n    \/*    text-align: center;*\/\n    \/*    padding: 20px;*\/\n    \/*}*\/\n    \/* \u6dfb\u52a0\u6216\u4fee\u6539\u8fd9\u6bb5 CSS *\/\n    .lock-section {\n        margin-top: 0; \/* \u7d27\u8d34\u7740\u5185\u5bb9 *\/\n        background: #f8fafc; \/* \u7ed9\u4e00\u4e2a\u6d45\u7070\u80cc\u666f *\/\n        border-top: 1px dashed #e2e8f0; \/* \u7ed9\u4e00\u4e2a\u865a\u7ebf\u5206\u5272 *\/\n        padding: 40px 20px;\n        text-align: center;\n    }\n\n    .lock-overlay {\n        position: static !important;\n        background: none !important;\n        backdrop-filter: none !important;\n        height: auto !important;\n        padding: 0 !important;\n        display: flex;\n        flex-direction: column;\n        justify-content: center;\n        align-items: center\n    }\n    .lock-icon { font-size: 48px; margin-bottom: 15px; }\n    .lock-overlay h2 { font-size: 26px; margin: 10px 0; color: #111; font-weight: 700; }\n    .lock-overlay p { font-size: 15px; color: #4b5563; max-width: 450px; margin-bottom: 30px; }\n    .lock-buttons { display: flex; gap: 40px; flex-wrap: wrap; justify-content: center; }\n    .btn-outline {\n        background-color: #FFFFFF !important;\n        box-shadow: 0rem 0.11rem 0.42rem 0rem rgba(0,0,0,0.12);\n        border-radius: 0.84rem 0.84rem 0.84rem 0.84rem;\n        font-weight: 500;\n        font-size: 1.05rem;\n        color: #000000;\n        cursor: pointer;\n        transition: all 0.2s;\n        line-height: 1.47rem;\n        padding: 0.53rem 0.84rem;\n    }\n    .btn-outline:hover { background-color: #eff6ff !important; }\n    .deadline {\n        font-family: 'Inter Bold', sans-serif !important;\n        font-size: 1.47rem !important;\n        font-weight: bold !important;\n        color: #FFFFFF !important;\n    }\n    \/* --- FAQ \u533a\u57df\u7f8e\u5316 (\u7d27\u51d1\u7248) --- *\/\n\n    \/* 1. \u6574\u4f53\u5bb9\u5668\uff1a\u51cf\u5c0f\u5185\u8fb9\u8ddd\u548c\u5706\u89d2 *\/\n    .faq-section {\n        margin-top: 2rem;      \/* \u539f 3rem -> 2rem *\/\n        padding: 1.5rem;       \/* \u539f 2rem -> 1.5rem *\/\n        background-color: #fff;\n        border-radius: 12px;   \/* \u539f 16px -> 12px *\/\n        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.02);\n        border: 1px solid #e5e7eb;\n    }\n\n    \/* 2. \u5927\u6807\u9898\uff1a\u51cf\u5c0f\u5b57\u53f7\u548c\u4e0b\u8fb9\u8ddd *\/\n    .faq-title {\n        margin: 0 0 1rem 0;    \/* \u539f 1.5rem -> 1rem *\/\n        font-size: 1.25rem;    \/* \u539f 1.5rem -> 1.25rem *\/\n        font-weight: 700;\n        color: #111827;\n        display: flex;\n        align-items: center;\n        gap: 8px;\n    }\n    .faq-title::before {\n        content: '\ud83d\udca1';\n        font-size: 1.1rem;\n    }\n\n    \/* --- Element Plus \u6298\u53e0\u9762\u677f\u6837\u5f0f\u8986\u76d6 --- *\/\n\n    .el-collapse {\n        border: none;\n    }\n\n    \/* \u6bcf\u4e00\u9879 (Item) *\/\n    .el-collapse-item {\n        margin-bottom: 8px;    \/* \u539f 10px -> 8px *\/\n        border: 1px solid #f3f4f6;\n        border-radius: 8px;    \/* \u539f 12px -> 8px *\/\n        overflow: hidden;\n    }\n    .el-collapse-item:last-child {\n        margin-bottom: 0;\n    }\n\n    \/* 3. \u6807\u9898\u680f (Header)\uff1a\u51cf\u5c0f\u9ad8\u5ea6\u548c\u5b57\u4f53 *\/\n    .el-collapse-item__header {\n        font-size: 0.95rem;      \/* \u539f 1.1rem -> 0.95rem (\u6807\u51c6\u6b63\u6587\u5927\u5c0f) *\/\n        font-weight: 600;\n        color: #374151 !important;\n        background-color: #f9fafb !important;\n        padding: 0.75rem 1rem;   \/* \u539f 1rem 1.5rem -> 0.75rem 1rem (\u663e\u8457\u51cf\u5c0f\u9ad8\u5ea6) *\/\n        height: auto;\n        min-height: 40px;        \/* \u9650\u5236\u6700\u5c0f\u9ad8\u5ea6 *\/\n        line-height: 1.4;\n        border-bottom: none;\n        transition: all 0.3s ease;\n    }\n\n    \/* \u6fc0\u6d3b\u72b6\u6001 *\/\n    .el-collapse-item__header.is-active {\n        color: #1E3D9D !important;\n        background-color: #eff6ff !important;\n        border-bottom: 1px solid #e5e7eb;\n    }\n\n    \/* \u53f3\u4fa7\u7bad\u5934\u56fe\u6807\uff1a\u8c03\u5c0f *\/\n    .el-collapse-item__arrow {\n        margin-left: auto;\n        color: #9ca3af;\n        font-size: 1rem;\n    }\n    .el-collapse-item__header.is-active .el-collapse-item__arrow {\n        color: #1E3D9D;\n    }\n\n    \/* 4. \u5185\u5bb9\u533a\u57df (Content)\uff1a\u51cf\u5c0f\u5185\u8fb9\u8ddd\u548c\u5b57\u4f53 *\/\n    .el-collapse-item__wrap {\n        border-bottom: none;\n        background-color: #fff;\n    }\n    .el-collapse-item__content {\n        padding: 1rem;           \/* \u539f 1.5rem -> 1rem *\/\n        font-size: 0.9rem;       \/* \u539f 1rem -> 0.9rem (\u7a0d\u5fae\u5c0f\u4e00\u70b9\uff0c\u66f4\u6709\u5c42\u6b21) *\/\n        color: #4b5563;\n        line-height: 1.6;\n        padding-bottom: 1rem !important; \/* \u5f3a\u5236\u8986\u76d6 Element \u9ed8\u8ba4\u7684 padding-bottom *\/\n    }\n\n    \/* \u7b54\u6848\u4e2d\u7684\u5bcc\u6587\u672c\u6837\u5f0f *\/\n    .faq-answer p {\n        margin-bottom: 0.8em;\n    }\n    .faq-answer p:last-child {\n        margin-bottom: 0;\n    }\n    .faq-answer a {\n        color: #1E3D9D;\n        text-decoration: underline;\n    }\n    .faq-answer ul, .faq-answer ol {\n        padding-left: 1.2rem;\n        margin-bottom: 0.8em;\n    }\n    .faq-answer li {\n        margin-bottom: 0.3em;\n    }\n    \/* --- \u539f\u751f Loading \u6837\u5f0f --- *\/\n    .static-loading-mask {\n        position: fixed;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        background-color: rgba(255, 255, 255, 1); \/*\u751a\u81f3\u53ef\u4ee5\u662f\u7eaf\u767d\uff0c\u906e\u4f4f\u672a\u6e32\u67d3\u7684\u4e71\u7801*\/\n        z-index: 99999; \/* \u5fc5\u987b\u6700\u9ad8\uff0c\u906e\u4f4f\u4e00\u5207 *\/\n        display: flex;\n        justify-content: center;\n        align-items: center;\n        transition: opacity 0.3s; \/* \u6d88\u5931\u65f6\u7684\u6de1\u51fa\u52a8\u753b *\/\n    }\n\n    \/* \u4eff Element Plus \u7684\u8f6c\u5708\u52a8\u753b *\/\n    .static-loading-mask .circular {\n        height: 42px;\n        width: 42px;\n        animation: loading-rotate 2s linear infinite;\n    }\n    .static-loading-mask .path {\n        animation: loading-dash 1.5s ease-in-out infinite;\n        stroke-dasharray: 90, 150;\n        stroke-dashoffset: 0;\n        stroke-width: 2;\n        stroke: #409eff; \/* \u84dd\u8272 *\/\n        stroke-linecap: round;\n    }\n    .static-loading-mask p {\n        margin-top: 10px;\n        color: #409eff;\n        font-size: 14px;\n        text-align: center;\n    }\n    \/* \u9488\u5bf9\u6240\u6709\u5bcc\u6587\u672c\u751f\u6210\u7684\u8868\u683c *\/\n    table {\n        display: block;\n        width: 100% !important;\n        max-width: 100%;\n        overflow-x: auto;\n        overflow-y: hidden;\n        height: auto !important;\n        white-space: nowrap;\n        -webkit-overflow-scrolling: touch;\n        border-collapse: separate; \/* \u5efa\u8bae\u6539\u4e3a separate\uff0csticky \u5728 collapse \u6a21\u5f0f\u4e0b\u8fb9\u6846\u53ef\u80fd\u4f1a\u6d88\u5931 *\/\n        border-spacing: 0;         \/* \u914d\u5408 separate \u4f7f\u7528\uff0c\u4fdd\u6301\u7d27\u51d1 *\/\n    }\n    \n    \/* \u4fee\u6539\u540e\u7684\u56fa\u5b9a\u7b2c\u4e00\u5217\u4ee3\u7801 *\/\n    th:first-child, \n    td:first-child {\n        position: sticky;\n        left: 0;\n        z-index: 2;\n        \/* \u79fb\u9664\u4e4b\u524d\u7684\u5f3a\u5236\u767d\u8272\uff0c\u6539\u4e3a\u7ee7\u627f\u6216\u5355\u72ec\u5904\u7406 *\/\n        box-shadow: 2px 0 5px -2px rgba(0,0,0,0.1); \n    }\n    \n    \/* 1. \u9488\u5bf9\u8868\u5934\u7b2c\u4e00\u884c\uff08\u4fdd\u6301\u4f60\u7684\u6df1\u84dd\u8272\uff09 *\/\n    thead tr:first-child th:first-child,\n    tr:first-child td:first-child,\n    tr:first-child th:first-child {\n        background-color: #003399 !important; \/* \u8fd9\u91cc\u586b\u5165\u4f60\u622a\u56fe\u91cc\u7684\u6df1\u84dd\u8272 *\/\n        color: white !important;\n        z-index: 3; \/* \u8868\u5934\u7684\u5c42\u7ea7\u8981\u66f4\u9ad8\u4e00\u70b9 *\/\n    }\n    \n    \/* 2. \u9488\u5bf9\u5185\u5bb9\u533a\u7684\u7b2c\u4e00\u5217\uff08\u8bbe\u4e3a\u767d\u8272\uff0c\u9632\u6b62\u900f\u89c6\uff09 *\/\n    tbody tr td:first-child,\n    tr:not(:first-child) td:first-child,\n    tr:not(:first-child) th:first-child {\n        background-color: #ffffff !important;\n    }\n    \n    \/* \u9488\u5bf9\u79fb\u52a8\u7aef\u7684\u5fae\u8c03 *\/\n    @media screen and (max-width: 600px) {\n        table {\n            font-size: 13px;\n        }\n        td, th {\n            padding: 10px 8px !important;\n            border-bottom: 1px solid #eee; \/* \u624b\u52a8\u8865\u9f50\u8fb9\u6846\uff0c\u56e0\u4e3a sticky \u6709\u65f6\u4f1a\u906e\u6321\u8fb9\u6846 *\/\n        }\n    }\n\n    @keyframes loading-rotate {\n        100% { transform: rotate(360deg); }\n    }\n    @keyframes loading-dash {\n        0% { stroke-dasharray: 1, 200; stroke-dashoffset: 0; }\n        50% { stroke-dasharray: 90, 150; stroke-dashoffset: -40px; }\n        100% { stroke-dasharray: 90, 150; stroke-dashoffset: -120px; }\n    }\n    \/* \u79fb\u52a8\u7aef\u9002\u914d *\/\n    @media (max-width: 768px) {\n        .elementor-widget-container {\n            margin: 0 !important;\n            padding: 0 !important;\n        }\n        .main-content {\n            box-shadow: none;\n            padding: 0;\n        }\n        .breadcrumbs {\n            display: none;\n        }\n        .page-container { flex-direction: column; }\n        .sidebar { display: none; } \/* \u79fb\u52a8\u7aef\u9690\u85cf\u4fa7\u8fb9\u680f *\/\n        .deadline-card { flex-direction: column; align-items: flex-start; gap: 20px; padding: 25px; }\n        .timer-display { width: 100%; justify-content: space-between; display: grid;\n            grid-template-columns: 1fr 1fr;}\n        .time-box span { font-size: 20px; }\n        .plan-cards { grid-template-columns: 1fr; max-width: 400px; margin: 40px auto; }\n        .article-title { font-size: 26px; }\n    }\n<\/style>\n<div id=\"static-loading\" class=\"static-loading-mask\">\n    <div class=\"spinner\">\n        <svg viewbox=\"0 0 50 50\" class=\"circular\">\n            <circle cx=\"25\" cy=\"25\" r=\"20\" fill=\"none\" class=\"path\"><\/circle>\n        <\/svg>\n        <p>\u52a0\u8f7d\u4e2d...<\/p>\n    <\/div>\n<\/div>\n<div id=\"app\" class=\"usc-guide-page\" v-cloak>\n    <div class=\"breadcrumbs\" v-if=\"blog\">\n        <span class=\"back-link\" @click=\"backLink\"><img decoding=\"async\" style=\"margin-right: 0.21rem;\" src=\"\/wp-content\/static\/img\/blog\/left-cat.svg\">Back to Blog<\/span>\n        <span class=\"divider\"><img decoding=\"async\" src=\"\/wp-content\/static\/img\/blog\/right-cat.svg\"><\/span>\n        <span class=\"current\">{{blog.title}}<\/span>\n    <\/div>\n    <!-- \u52a0\u8f7d\u52a8\u753b -->\n    <div v-if=\"loading2\" v-cloak\n class=\"fixed top-0 left-0 w-full h-screen flex justify-center items-center bg-gray-500 bg-opacity-50 backdrop-blur-xl\"\n         style=\"z-index: 999;\">\n        <span class=\"sr-only\">\u52a0\u8f7d\u4e2d...<\/span>\n        <div class=\"h-8 w-8 bg-black rounded-full animate-bounce mr-2\"><\/div>\n        <div class=\"h-8 w-8 bg-black rounded-full animate-bounce mr-2\" style=\"animation-delay:  3s;\"><\/div>\n        <div class=\"h-8 w-8 bg-black rounded-full animate-bounce\"><\/div>\n    <\/div>\n    <!--\u767b\u5f55\u5f39\u7a97-->\n    <div v-if=\"is_login\" v-cloak\n class=\"fixed inset-0 p-4 flex flex-wrap justify-center items-center w-full h-full z-[1000] before:fixed before:inset-0 before:w-full before:h-full before:bg-[rgba(0,0,0,0.5)] overflow-auto font-[sans-serif]\">\n        <div class=\"w-full max-w-xl bg-white shadow-lg rounded-md p-8 relative\">\n            <div @click=\"close_login\">\n                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\n                     class=\"w-3.5 cursor-pointer shrink-0 fill-gray-800 hover:fill-red-500 float-right\"\n                     viewbox=\"0 0 320.591 320.591\">\n                    <path\n                            d=\"M30.391 318.583a30.37 30.37 0 0 1-21.56-7.288c-11.774-11.844-11.774-30.973 0-42.817L266.643 10.665c12.246-11.459 31.462-10.822 42.921 1.424 10.362 11.074 10.966 28.095 1.414 39.875L51.647 311.295a30.366 30.366 0 0 1-21.256 7.288z\"\n                            data-original=\"#000000\"><\/path>\n                    <path\n                            d=\"M287.9 318.583a30.37 30.37 0 0 1-21.257-8.806L8.83 51.963C-2.078 39.225-.595 20.055 12.143 9.146c11.369-9.736 28.136-9.736 39.504 0l259.331 257.813c12.243 11.462 12.876 30.679 1.414 42.922-.456.487-.927.958-1.414 1.414a30.368 30.368 0 0 1-23.078 7.288z\"\n                            data-original=\"#000000\"><\/path>\n                <\/svg>\n            <\/div>\n            <form class=\"max-w-xl mx-auto justify-center\" v-cloak @submit.prevent=\"handleSubmit\" action=\"\">\n                <h3 class=\"text-center md:text-base text-sm\" style=\"font-weight:800\">{{ login_title }}<\/h3>\n                <div class=\"mt-8 px-8\">\n                    <div class=\"space-y-4\">\n                        <div>\n                            <input v-model=\"loginform.email\" name=\"email\" @input=\"email_validateField\"\n                                   autocomplete=\"email\" type=\"email\" required\n class=\"bg-gray-100 w-full text-sm text-gray-800 px-4 py-3.5 rounded-md outline-blue-600 focus:bg-transparent\"\n                                   placeholder=\"\u7535\u5b50\u90ae\u4ef6\"\/>\n                        <\/div>\n                        <span class=\"text-red-500 font-bold text-xs mt-1 ml-2\"\n                              v-if=\"login_from_error.emailMessage\">{{ login_from_error.emailMessage }}<\/span>\n                        <span class=\"text-red-500 font-bold text-xs mt-1 ml-2\"\n                              v-if=\"login_from_error.errorMessage\">{{ login_from_error.errorMessage }}<\/span>\n                        <div v-if=\"emailSubmitted\">\n                            <input v-model=\"loginform.password\" name=\"password\" type=\"password\"\n                                   autocomplete=\"current-password\" required\n class=\"bg-gray-100 w-full text-sm text-gray-800 px-4 py-3.5 rounded-md outline-blue-600 focus:bg-transparent\"\n                                   placeholder=\"\u5bc6\u7801\"\/>\n                        <\/div>\n                        <div v-if=\"emailSubmitted\" class=\"flex flex-wrap items-center justify-between gap-4\">\n                            <div class=\"flex items-center\">\n                            <\/div>\n                            <div class=\"text-sm\">\n                                <a href=\"\/zh\/forget-password\/\" class=\"font-semibold\" style=\"color:#1558DA;font-size:14px\">\n                                    {{ login_forget_password }}\n                                <\/a>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                    <div class=\"!mt-8\">\n                        <button type=\"submit\"\n                                class=\"w-full shadow-xl py-4 px-4 text-sm font-semibold rounded text-white focus:outline-none\"\n                                style=\"background-color:#242424\">\n                            {{ emailSubmitted ? login_submit_password : login_submit }}\n                        <\/button>\n                    <\/div>\n                <\/div>\n            <input type=\"hidden\" name=\"trp-form-language\" value=\"zh\"\/><\/form>\n        <\/div>\n    <\/div>\n\n    <div class=\"page-container\">\n\n        <aside class=\"sidebar\">\n\n            <div class=\"toc-header\"><img decoding=\"async\" style=\"margin-right: 0.21rem;\" src=\"\/wp-content\/static\/img\/blog\/category.svg\">ON THIS PAGE<\/div>\n\n            <div v-if=\"tocTree.length === 0\" style=\"color:#999;font-size:12px;\">Generating...<\/div>\n\n            <ul class=\"toc-list\" v-else>\n                <li v-for=\"root in tocTree\" :key=\"root.id\" class=\"toc-item-root\">\n\n                    <div class=\"toc-link-row\" @click=\"toggleSection(root)\">\n                        <span class=\"toc-text root-text\"\n                              @click.stop=\"scrollToId(root.id)\"\n                              :class=\"{'active': activeId === root.id}\">\n                            {{ root.text }}\n                        <\/span>\n\n                        <span v-if=\"root.children.length > 0\"\n                              class=\"toc-arrow\"\n                              :class=\"{ expanded: root.expanded }\">\u25b6<\/span>\n                    <\/div>\n\n                    <ul class=\"toc-sub-list\" v-show=\"root.expanded\" v-if=\"root.children.length > 0\">\n                        <li v-for=\"sub in root.children\" :key=\"sub.id\" class=\"toc-sub-item\">\n\n                            <div class=\"toc-link-row\" @click=\"toggleSection(sub)\">\n                                <a href=\"#\" class=\"toc-text sub-text\"\n                                   @click.stop.prevent=\"scrollToId(sub.id)\"\n                                   :class=\"{'active': activeId === sub.id}\">\n                                    {{ sub.text }}\n                                <\/a>\n                                <span v-if=\"sub.children.length > 0\"\n                                      class=\"toc-arrow\"\n                                      :class=\"{ expanded: sub.expanded }\">\u25b6<\/span>\n                            <\/div>\n\n                            <ul class=\"toc-deep-list\" v-show=\"sub.expanded\" v-if=\"sub.children.length > 0\">\n                                <li v-for=\"deep in sub.children\" :key=\"deep.id\" class=\"toc-deep-item\">\n                                    <a href=\"#\" class=\"deep-text\"\n                                       @click.prevent=\"scrollToId(deep.id)\"\n                                       :class=\"{'active': activeId === deep.id}\">\n                                        {{ deep.text }}\n                                    <\/a>\n                                <\/li>\n                            <\/ul>\n\n                        <\/li>\n                    <\/ul>\n                <\/li>\n            <\/ul>\n        <\/aside>\n\n        <main class=\"main-content\" v-if=\"blog\">\n\n\n\n            <div class=\"tags\" v-if=\"blog\">\n                <span class=\"tag\" v-for=\"tag in blog.tags\" :key=\"tag.id\">\n                    {{ tag.name }}\n                <\/span>\n            <\/div>\n\n            <h1 class=\"article-title\">{{blog.title}}<\/h1>\n\n            <div class=\"author-meta\">\n                <div class=\"author-info\">\n                    <div class=\"avatar\">GGS<\/div>\n                    <div class=\"meta-text\">\n                        <strong>{{blog.author_name}}<\/strong>\n                        <p>{{blog.author_title}} \u2022 {{formatDate(blog.updated_at)}} \u2022 {{blog.reading_time}}<\/p>\n                    <\/div>\n                <\/div>\n                <div class=\"share-btn\" @click=\"shareClick\">SHARE <span>\ud83d\udd17<\/span><\/div>\n            <\/div>\n\n            <div class=\"deadline-card\" v-if=\"endTime\">\n                <div class=\"deadline-info\">\n                    <div class=\"badge\">\n                        <img decoding=\"async\" style=\"margin-right: 8px;\" src=\"\/wp-content\/static\/img\/blog\/clock.svg\">\n                        SPRING 2026 INTAKE<\/div>\n                    <h2 class=\"deadline\">Waive Deadline<\/h2>\n                    <p style=\"max-width: 350px;\">Don't miss the chance to waive your school insurance.<\/p>\n                <\/div>\n                <div class=\"timer-display\">\n                    <div class=\"time-box\"><span>{{ timer.days }}<\/span><small>DAYS<\/small><\/div>\n                    <div class=\"time-box\"><span>{{ timer.hours }}<\/span><small>HOURS<\/small><\/div>\n                    <div class=\"time-box\"><span>{{ timer.mins }}<\/span><small>MINS<\/small><\/div>\n                    <div class=\"time-box\"><span>{{ timer.secs }}<\/span><small>SECS<\/small><\/div>\n                <\/div>\n            <\/div>\n            <div class=\"content\">\n                <div v-if=\"blog\" v-html=\"processedContent\"><\/div>\n\n                <div v-else style=\"text-align: center; padding: 40px; color: #999;\">\n                    \u52a0\u8f7d\u4e2d...\n                <\/div>\n\n                <div class=\"lock-section\" v-if=\"shouldShowLock\">\n                    <div class=\"lock-overlay\" style=\"position: relative; background: none; backdrop-filter: none;\">\n                        <div class=\"lock-icon\">\ud83d\udd12<\/div>\n\n                        <h2>{{ lockTitle }}<\/h2>\n                        <p>{{ lockDesc }}<\/p>\n\n                        <div class=\"lock-buttons\">\n                            <div class=\"btn-primary\" @click=\"goToBuy\">\n                                {{ btnBuyText }}\n                            <\/div>\n\n                            <div class=\"btn-outline\" @click=\"checkLogin\">\n                                {{ btnLoginText }}\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n            <div class=\"faq-section\" v-if=\"blog.faqs && blog.faqs.length > 0\">\n                <h3 class=\"faq-title\">{{faq}}<\/h3>\n\n                <el-collapse v-model=\"activeFaq\">\n                    <el-collapse-item\n                            v-for=\"faq in blog.faqs\"\n                            :key=\"faq.id\"\n                            :name=\"faq.id\"\n                    >\n                        <template #title>\n                            <div class=\"faq-question\">\n                                <i class=\"el-icon-question\"><\/i> {{ faq.question }}\n                            <\/div>\n                        <\/template>\n\n                        <div class=\"faq-answer\" v-html=\"faq.answer\"><\/div>\n                    <\/el-collapse-item>\n                <\/el-collapse>\n            <\/div>\n        <\/main>\n\n    <\/div>\n<\/div>\n\n<script>\n    const { createApp, ref, onMounted, onUnmounted,computed, reactive, watch, nextTick } = Vue;\n    const {ElMessage} = ElementPlus;  \/\/ \u5f15\u5165 Element Plus \u7684 Message\n\n    const app = createApp({\n        setup() {\n            const path = window.location.pathname;\n            const lang = path.includes('\/zh') ? 'zh' : 'en';\n            const blog = ref(null)\n            const loginUser = ref(null)\n            \/\/ \u5b9a\u4e49\u8981\u5339\u914d\u7684\u5206\u5272\u5173\u952e\u8bcd\n            const splitKeyword = \"GGS Exclusive\";\n            \/\/ [\u65b0\u589e] \u5b58\u50a8\u76ee\u5f55\u6811\u7ed3\u6784\n            const tocTree = ref([]);\n            \/\/ [\u65b0\u589e] \u5f53\u524d\u6fc0\u6d3b\u7684\u951a\u70b9ID (\u7528\u4e8e\u9ad8\u4eae)\n            const activeId = ref('');\n\n\n            const activeSection = ref(0);\n            const endTime = ref(null)\n            \/\/ \u5012\u8ba1\u65f6\u903b\u8f91\n            const timer = ref({ days: 0, hours: 0, mins: 0, secs: 0 });\n            let timerInterval = null;\n\n            const updateTimer = () => {\n                const deadline = new Date(endTime.value).getTime();\n                const now = new Date().getTime();\n                const diff = deadline - now;\n\n                if (diff > 0) {\n                    timer.value.days = Math.floor(diff \/ (1000 * 60 * 60 * 24));\n                    timer.value.hours = Math.floor((diff % (1000 * 60 * 60 * 24)) \/ (1000 * 60 * 60));\n                    timer.value.mins = Math.floor((diff % (1000 * 60 * 60)) \/ (1000 * 60));\n                    timer.value.secs = Math.floor((diff % (1000 * 60)) \/ 1000);\n                }\n            };\n\n            \/\/ \u6eda\u52a8\u5b9a\u4f4d\u903b\u8f91\n            const scrollTo = (index) => {\n                activeSection.value = index;\n                const el = document.getElementById(`section-${index}`);\n                if (el) {\n                    \/\/ \u51cf\u53bb header \u9ad8\u5ea6\n                    const top = el.getBoundingClientRect().top + window.scrollY - 120;\n                    window.scrollTo({ top: top, behavior: 'smooth' });\n                }\n            };\n            \/**\n             * \u5c06 \"Aug 20, 2025\" \u8f6c\u6362\u4e3a \"2025-08-20\"\n             * @param {string} dateStr\n             * @returns {string}\n             *\/\n            function formatDate(dateStr) {\n                const date = new Date(dateStr);\n\n                \/\/ \u68c0\u67e5\u65e5\u671f\u662f\u5426\u6709\u6548\n                if (isNaN(date.getTime())) {\n                    return \"Invalid Date\";\n                }\n\n                const year = date.getFullYear();\n                \/\/ getMonth() \u8fd4\u56de 0-11\uff0c\u6240\u4ee5\u9700\u8981 +1\uff0c\u5e76\u8865\u96f6\n                const month = String(date.getMonth() + 1).padStart(2, '0');\n                const day = String(date.getDate()).padStart(2, '0');\n\n                return `${year}-${month}-${day}`;\n            }\n\n            const goToBuy = async () => {\n                \/\/ window.location.href = '\/buy'; \/\/ \u8df3\u8f6c\u5230\u8d2d\u4e70\u9875\u94fe\u63a5\n                await window.apiClient.get(\"https:\/\/agent.goglobalsafe.com\/api\/v1\/insurance\/baoxian\/insurance_all?school_id=\" + blog.value.school_id).then(response => {\n                    console.log(response)\n                    const data = response.data.data;\n                    const ids = data.join(',');\n                    window.open(`\/Product-List?ids=${ids}&school_id=${blog.value.school_id}`)\n                }).catch(error => {\n                    error_status.value = true\n                    showAlertMessage.value = `${error.response.data.message || error.response.statusText}`\n                    showError()\n                })\n            }\n\n            \/\/ --- \u65b0\u589e\uff1aSEO \u52a8\u6001\u66f4\u65b0\u51fd\u6570 ---\n            const updateSeoTags = (post) => {\n                if (!post) return;\n\n                \/\/ 1. \u8bbe\u7f6e\u7f51\u9875\u6807\u9898 (\u4f18\u5148\u7528 SEO \u6807\u9898\uff0c\u5426\u5219\u7528\u6587\u7ae0\u539f\u6807\u9898)\n                document.title = post.seo_title || post.title;\n\n                \/\/ \u8f85\u52a9\u51fd\u6570\uff1a\u67e5\u627e\u6216\u521b\u5efa meta \u6807\u7b7e\n                const setMeta = (name, content, attr = 'name') => {\n                    if (!content) return;\n                    let element = document.querySelector(`meta[${attr}=\"${name}\"]`);\n                    if (!element) {\n                        element = document.createElement('meta');\n                        element.setAttribute(attr, name);\n                        document.head.appendChild(element);\n                    }\n                    element.setAttribute('content', content);\n                };\n\n                \/\/ 2. \u8bbe\u7f6e Meta Description (\u5143\u63cf\u8ff0)\n                \/\/ \u4f18\u5148\u7528 SEO \u63cf\u8ff0\uff0c\u5982\u679c\u6ca1\u6709\uff0c\u5219\u5c1d\u8bd5\u622a\u53d6\u5185\u5bb9\u6458\u8981 (\u9700\u53bb\u9664 HTML \u6807\u7b7e)\n                const desc = post.seo_description || (post.content ? post.content.replace(\/<[^>]+>\/g, '').slice(0, 150) + '...' : '');\n                setMeta('description', desc);\n\n                \/\/ 3. \u8bbe\u7f6e Keywords (\u5173\u952e\u8bcd + \u540c\u4e49\u8bcd)\n                let keywords = [];\n                if (post.seo_focus_keyword) keywords.push(post.seo_focus_keyword);\n                \/\/ \u5047\u8bbe\u540e\u7aef\u8fd4\u56de\u7684 synonyms \u662f\u6570\u7ec4\uff0c\u5982\u679c\u4e0d\u662f\u8bf7\u81ea\u884c\u5904\u7406\n                if (Array.isArray(post.seo_synonyms)) {\n                    keywords = keywords.concat(post.seo_synonyms);\n                }\n                if (keywords.length > 0) {\n                    setMeta('keywords', keywords.join(', '));\n                }\n\n                \/\/ 4. \u8bbe\u7f6e Robots (\u722c\u866b\u6307\u4ee4)\n                setMeta('robots', post.meta_robots || 'index, follow');\n\n                \/\/ 5. \u8bbe\u7f6e Canonical URL (\u6743\u5a01\u94fe\u63a5)\n                let link = document.querySelector('link[rel=\"canonical\"]');\n                if (!link) {\n                    link = document.createElement('link');\n                    link.setAttribute('rel', 'canonical');\n                    document.head.appendChild(link);\n                }\n                \/\/ \u4f18\u5148\u7528\u586b\u5199\u7684 canonical\uff0c\u5426\u5219\u7528\u5f53\u524d slug \u751f\u6210\n                link.setAttribute('href', post.canonical_url || `https:\/\/www.goglobalsafe.com\/blog\/${post.slug}`);\n\n                \/\/ 6. \u8bbe\u7f6e Open Graph (\u793e\u4ea4\u5206\u4eab\u5361\u7247: \u5fae\u4fe1\/Facebook)\n                setMeta('og:title', post.seo_title || post.title, 'property');\n                setMeta('og:description', desc, 'property');\n                setMeta('og:image', post.og_image || post.cover_image, 'property');\n                setMeta('og:url', window.location.href, 'property');\n                setMeta('og:type', 'article', 'property');\n            };\n            const getPost = async () => {\n                \/\/ 1. \u83b7\u53d6\u6807\u8bc6\u7b26\n                let slug = window.currentBlogSlug; \/\/ \u8bfb\u53d6 PHP \u6ce8\u5165\u7684 Slug\n                let id = window.usc_fixed_id || getQueryParam('id'); \/\/ \u8bfb\u53d6 ID (\u4f5c\u4e3a\u540e\u5907)\n                if (slug) {\n                    id = slug\n                }\n                \/\/\u90ae\u4ef6\u68c0\u67e5\n                try {\n                    const response = await window.apiClient.get('https:\/\/agent.goglobalsafe.com\/api\/v1\/blog\/posts\/'+id).finally(() => {\n                        \/\/ 2. \u6838\u5fc3\uff1a\u5173\u6389\u90a3\u4e2a\u9759\u6001\u7684 HTML loading\n                        const staticLoader = document.getElementById('static-loading');\n                        if (staticLoader) {\n                            \/\/ \u7ed9\u4e2a\u6de1\u51fa\u6548\u679c\n                            staticLoader.style.opacity = '0';\n                            \/\/ \u7b49\u6de1\u51fa\u52a8\u753b\u64ad\u653e\u5b8c\u518d\u5f7b\u5e95\u79fb\u9664 DOM\n                            setTimeout(() => {\n                                staticLoader.remove();\n                            }, 300);\n                        }\n                    })\n                    console.log(response);\n                    if (response.status === 200) {\n                        blog.value = response.data.data\n                        \/\/ updateSeoTags(blog.value);\n                        console.log('123123123123', blog.value)\n                        endTime.value = response.data.data.school.waive_deadline\n                    }\n                    \/\/\u7528\u6237\u5b58\u5728\n                } catch (error) {\n                    console.log(error);\n                    if (error.response.status === 404) {\n                        console.log('\u6587\u7ae0\u4e0d\u5b58\u5728')\n                    } else {\n                        console.log(error)\n                    }\n                }\n            }\n            const emailInputStyle = computed(() => {\n                if (code_from.email !== null && isValidEmail()) {\n                    return {\n                        borderColor: '#63b3ed'\n                    }; \/\/ \u84dd\u8272\u8fb9\u6846\n                } else {\n                    return {\n                        borderColor: '#f56565'\n                    }; \/\/ \u7ea2\u8272\u8fb9\u6846\n                }\n            })\n            \/\/\u9a8c\u8bc1\u90ae\u4ef6\u683c\u5f0f\n            const email_validateField = () => {\n                \/\/ \u90ae\u4ef6\u683c\u5f0f\u7684\u6b63\u5219\u8868\u8fbe\u5f0f\n                const emailPattern = \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/;\n                if (!emailPattern.test(loginform.value.email)) {\n                    login_from_error.emailMessage = messages[lang].emailInvalid;\n                    return false\n                }\n                login_from_error.emailMessage = '';\n                return true\n            }\n            \/\/\u767b\u5f55\u8868\u5355\n            const loading2 = ref(false)\n            const emailSubmitted = ref(false)\n            const is_login = ref(false)\n            const login_from_error = reactive({})\n            const loginform = ref({\n                email: '',\n                password: '',\n            })\n            const login_title = computed(() => (lang === 'zh' ? '\u5df2\u7ecf\u8d2d\u4e70\u4fdd\u9669\u4e86\u5417?' : 'Already purchased insurance?'))\n            const faq = computed(() => (lang === 'zh' ? '\u5e38\u89c1\u95ee\u9898' : 'Q&A'))\n            const login_subtitle = computed(() => (lang === 'zh' ? '\u8bf7\u8f93\u5165\u60a8\u7684\u7535\u5b50\u90ae\u7bb1' : 'Please enter your email'))\n            const login_forget_password = computed(() => (lang === 'zh' ? '\u5fd8\u8bb0\u5bc6\u7801\uff1f' : 'forget the password\uff1f'))\n            const login_submit = computed(() => (lang === 'zh' ? '\u5f00\u59cb\u4f7f\u7528' : 'Get started'))\n            const login_submit_password = computed(() => (lang === 'zh' ? '\u89e3\u9501' : 'Unlock'))\n            \/\/ 1. \u9501\u5c4f\u6807\u9898\uff1a\u901a\u7528\u5316\n            const lockTitle = computed(() => (\n                lang === 'zh' ? '\u89e3\u9501\u5b8c\u6574\u5185\u5bb9' : 'Unlock Full Content'\n            ));\n\n            \/\/ 2. \u9501\u5c4f\u63cf\u8ff0\uff1a\u53bb\u6389\u4e86\u5177\u4f53\u7684 \"Waiver Guide\" \u5b57\u773c\uff0c\u6539\u4e3a\u901a\u7528\u63cf\u8ff0\n            const lockDesc = computed(() => (\n                lang === 'zh'\n                    ? '\u8d2d\u4e70\u5408\u89c4\u65b9\u6848\u4ee5\u83b7\u53d6\u9488\u5bf9\u60a8\u5b66\u6821\u7684\u8be6\u7ec6\u5206\u6b65\u6307\u5357\u53ca\u5b8c\u6574\u6587\u7ae0\u3002'\n                    : 'Get specific, step-by-step instructions and the full article by purchasing a compliant plan.'\n            ));\n\n            \/\/ 3. \u8d2d\u4e70\u6309\u94ae\uff1a\u901a\u7528\n            const btnBuyText = computed(() => (\n                lang === 'zh' ? '\u67e5\u770b\u65b9\u6848' : 'Find a plan'\n            ));\n\n            \/\/ 4. \u767b\u5f55\u6309\u94ae\uff1a\u901a\u7528\n            const btnLoginText = computed(() => (\n                lang === 'zh' ? '\u767b\u5f55\u89e3\u9501' : 'Already have a plan? Login to Unlock'\n            ));\n            \/\/\u5173\u95ed\u767b\u5f55\u5f39\u7a97\n            const close_login = () => {\n                is_login.value = false\n                loading2.value = false\n                emailSubmitted.value = false\n                login_from_error.emailMessage = ''\n                login_from_error.errorMessage = ''\n                loginform.value.email = ''\n                loginform.value.password = ''\n            }\n            \/\/\u5b58\u50a8\u9009\u62e9\u540e\u8981\u4f20\u9012\u7684\u5bf9\u8c61\n            const selectedInsurance = reactive({\n                email: null\n            });\n            \/\/\u5224\u65ad\u5f53\u524d\u662f\u5426\u767b\u5f55\n            const isLoggedIn = () => {\n                return !!localStorage.getItem('student_token'); \/\/ Use double negation to convert to a boolean\n            };\n            \/\/\u63d0\u4ea4\u767b\u5f55\n            const handleSubmit = async () => {\n                selectedInsurance.email = loginform.value.email\n                if (!emailSubmitted.value && email_validateField()) {\n                    loading2.value = true\n                    \/\/\u90ae\u4ef6\u68c0\u67e5\n                    try {\n                        const response = await window.apiClient.post('https:\/\/agent.goglobalsafe.com\/api\/v1\/student\/email\/email_exist', {\n                            email: loginform.value.email\n                        })\n                        console.log(response);\n                        const exists = !!response.data?.data?.exists;\n                        if (exists) {\n                            \/\/ \u7528\u6237\u5df2\u5b58\u5728\uff0c\u8fdb\u5165\u4e0b\u4e00\u6b65\u767b\u5f55\u6d41\u7a0b\n                            emailSubmitted.value = true;\n                        } else {\n                            \/\/ \u7528\u6237\u672a\u6ce8\u518c\uff0c\u76f4\u63a5\u53bb\u8d2d\u4e70\u8868\u5355\n                            console.log('\u7528\u6237\u672a\u6ce8\u518c\u76f4\u63a5\u53bb\u8868\u5355')\n                            localStorage.setItem('student_email', loginform.value.email)\n                            close_login()\n                        }\n                    } catch (error) {\n                        console.log(error)\n                    }\n                } else if (email_validateField()) {\n                    \/\/\u7528\u6237\u767b\u5f55\n                    try {\n                        const response = await window.apiClient.post('https:\/\/agent.goglobalsafe.com\/api\/v1\/student\/user\/login', {\n                            email: loginform.value.email,\n                            password: loginform.value.password,\n                        })\n                        loading2.value = false\n                        if (response.data.status === 200 && response.data.data.token) {\n                            const token = response.data.data.token\n                            \/\/\u6c38\u4e45\u5b58\u50a8Token\n                            localStorage.setItem('student_token', token)\n                            localStorage.setItem('student_email', loginform.value.email)\n                            localStorage.setItem('student_info', JSON.stringify(response.data.data.user))\n                            loginUser.value = response.data.data.user\n                            console.log('\u767b\u5f55\u6210\u529f', loginform.value.email);\n                            \/\/\u5173\u95ed\u5f39\u7a97  \u8df3\u8f6c\u5230\u8868\u5355\u9875\u9762\n                            close_login()\n                        } else {\n                            login_from_error.errorMessage = 'Network Error!'\n                        }\n                    } catch (error) {\n                        loading2.value = false\n                        if (error.response && error.response.status === 404) {\n                            console.log(error.response);\n                            login_from_error.errorMessage = error.response.data.message\n                        } else if (error.response && error.response.status === 422) {\n                            console.log(error.response);\n                            login_from_error.errorMessage = error.response.data.message\n                        } else {\n                            console.log('Error message:', error.message);\n                            login_from_error.errorMessage = 'Network Error!'\n                        }\n\n                    }\n\n                }\n            }\n            const checkLogin = () => {\n                console.log(loginUser.value, '\u6765\u4e86')\n                if (loginUser.value) {\n                    is_login.value = false \/\/\u663e\u793a\u5f39\u7a97 \u63d0\u793a\u767b\u5f55\n                } else {\n                    is_login.value = true \/\/\u663e\u793a\u5f39\u7a97 \u63d0\u793a\u767b\u5f55\n                }\n\n            }\n            \/\/ 1. \u8ba1\u7b97\u5c5e\u6027\uff1a\u5904\u7406\u663e\u793a\u7684\u5185\u5bb9\n            const processedContent = computed(() => {\n                \/\/ \u6570\u636e\u8fd8\u6ca1\u52a0\u8f7d\u5b8c\n                if (!blog.value || !blog.value.content) return '';\n\n                \/\/ \u60c5\u51b5A\uff1a\u7528\u6237\u5df2\u767b\u5f55 -> \u663e\u793a\u5168\u90e8\u5185\u5bb9\n                if (loginUser.value) {\n                    return blog.value.content;\n                }\n\n                \/\/ \u60c5\u51b5B\uff1a\u7528\u6237\u672a\u767b\u5f55\n                const content = blog.value.content;\n                const index = content.indexOf(splitKeyword);\n\n                \/\/ \u5982\u679c\u627e\u5230\u4e86\u5173\u952e\u8bcd\uff0c\u622a\u53d6\u5173\u952e\u8bcd\u4e4b\u524d\u7684\u5185\u5bb9\n                if (index !== -1) {\n                    return content.substring(0, index);\n                    \/\/ \u63d0\u793a\uff1a\u5982\u679c\u4f60\u60f3\u4fdd\u7559\u524d\u534a\u53e5\u8bdd\uff0c\u7528 substring\u3002\n                    \/\/ \u5982\u679c\u8be5\u5173\u952e\u8bcd\u662f\u5728 h2 \u6807\u7b7e\u91cc\uff0c\u8fd9\u53ef\u80fd\u4f1a\u7559\u4e0b\u4e00\u4e2a\u672a\u95ed\u5408\u7684\u6807\u7b7e\uff0c\n                    \/\/ \u4f46\u6d4f\u89c8\u5668\u901a\u5e38\u4f1a\u81ea\u52a8\u4fee\u590d\u5b83\uff0c\u6216\u8005\u4f60\u53ef\u4ee5\u7a0d\u5fae\u5411\u524d\u641c\u7d22 \"script\" \u6807\u7b7e\u907f\u514d\u622a\u65ad\u9519\u8bef\u3002\n                    \/\/ \u6700\u7b80\u5355\u7684\u5c31\u662f\u76f4\u63a5\u622a\u65ad\u3002\n                }\n\n                \/\/ \u5982\u679c\u6ca1\u627e\u5230\u5173\u952e\u8bcd\uff0c\u9ed8\u8ba4\u663e\u793a\u5168\u90e8\uff08\u6216\u8005\u4f60\u53ef\u4ee5\u9009\u62e9\u5168\u9690\u85cf\uff0c\u53d6\u51b3\u4e8e\u4e1a\u52a1\u903b\u8f91\uff09\n                return content;\n            });\n            \/\/ 2. \u8ba1\u7b97\u5c5e\u6027\uff1a\u63a7\u5236\u9501\u7684\u663e\u793a\n            const shouldShowLock = computed(() => {\n                \/\/ \u6570\u636e\u672a\u52a0\u8f7d -> \u4e0d\u663e\u793a\u9501\n                if (!blog.value || !blog.value.content) return false;\n\n                \/\/ \u7528\u6237\u5df2\u767b\u5f55 -> \u4e0d\u663e\u793a\u9501\n                if (loginUser.value) return false;\n\n                \/\/ \u7528\u6237\u672a\u767b\u5f55 \u4e14 \u5185\u5bb9\u5305\u542b\u5173\u952e\u8bcd -> \u663e\u793a\u9501\n                return blog.value.content.includes(splitKeyword);\n            });\n            \/**\n             * \u7ed9\u9875\u9762\u4e0a\u53ef\u89c1\u7684 H \u6807\u7b7e\u5f3a\u884c\u52a0\u4e0a ID\n             * \u5fc5\u987b\u5728\u9875\u9762\u6e32\u67d3\u5b8c\u6210\u540e\u6267\u884c\n             *\/\n            const assignIdsToVisibleContent = () => {\n                \/\/ \u26a0\ufe0f\u6ce8\u610f\uff1a\u8bf7\u786e\u8ba4\u4f60\u7684\u6587\u7ae0\u5185\u5bb9\u5bb9\u5668\u7684 class \u662f\u4ec0\u4e48\uff1f\n                \/\/ \u5982\u679c\u4f60\u7684 HTML \u662f <div class=\"blog-details-content\" ...>\uff0c\u8fd9\u91cc\u5c31\u8981\u6539\u6210 .blog-details-content\n                const contentEl = document.querySelector('.content') || document.querySelector('.blog-content');\n\n                if (!contentEl) {\n                    console.warn('\u672a\u627e\u5230\u6587\u7ae0\u5bb9\u5668\uff0c\u65e0\u6cd5\u6dfb\u52a0ID');\n                    return;\n                }\n\n                \/\/ \u83b7\u53d6\u5f53\u524d\u9875\u9762\u5b9e\u9645\u6e32\u67d3\u51fa\u6765\u7684\u6807\u9898\n                const headers = Array.from(contentEl.querySelectorAll('h1, h2, h3'));\n\n                headers.forEach((header, index) => {\n                    \/\/ \u7ed9\u5b83\u4eec\u52a0\u4e0a\u548c\u76ee\u5f55\u91cc\u4e00\u6a21\u4e00\u6837\u7684 ID\n                    header.id = `section-${index}`;\n                });\n            };\n            \/**\n             * [\u4fee\u6539] \u57fa\u4e8e\u5b8c\u6574\u5185\u5bb9\u751f\u6210\u76ee\u5f55\n             * \u903b\u8f91\uff1a\u4e0d\u518d\u6293\u53d6\u5f53\u524d\u9875\u9762 DOM\uff0c\u800c\u662f\u521b\u5efa\u4e00\u4e2a\u865a\u62df DOM \u89e3\u6790 blog.value.content (\u5b8c\u6574\u5185\u5bb9)\n             *\/\n            const generateTOC = () => {\n                \/\/ 1. \u68c0\u67e5\u662f\u5426\u6709\u5b8c\u6574\u6570\u636e\n                if (!blog.value || !blog.value.content) return;\n\n                \/\/ 2. \u521b\u5efa\u4e00\u4e2a\u865a\u62df\u5bb9\u5668 (\u4e0d\u6dfb\u52a0\u5230\u9875\u9762\u4e0a)\n                const tempDiv = document.createElement('div');\n                tempDiv.innerHTML = blog.value.content; \/\/ \u653e\u5165\u5b8c\u6574\u5185\u5bb9\n\n                \/\/ 3. \u5728\u865a\u62df\u5bb9\u5668\u4e2d\u67e5\u627e\u6240\u6709\u6807\u9898\n                const headers = Array.from(tempDiv.querySelectorAll('h1, h2, h3'));\n                if (headers.length === 0) return;\n\n                const levels = headers.map(h => parseInt(h.tagName.substring(1)));\n                const minLevel = Math.min(...levels);\n\n                const tree = [];\n                let lastRoot = null;\n                let lastSub = null;\n\n                headers.forEach((header, index) => {\n                    \/\/ \u5173\u952e\uff1a\u6211\u4eec\u8981\u751f\u6210\u786e\u5b9a\u6027\u7684 ID\uff0c\u65b9\u4fbf\u540e\u7eed\u5b9a\u4f4d\n                    \/\/ \u8fd9\u91cc\u7684 ID \u5fc5\u987b\u548c\u9875\u9762\u5b9e\u9645\u6e32\u67d3\u65f6\u7684 ID \u903b\u8f91\u4e00\u81f4\n                    const headerId = `section-${index}`;\n\n                    const currentLevel = parseInt(header.tagName.substring(1));\n                    const depth = currentLevel - minLevel + 1;\n\n                    const item = {\n                        id: headerId,\n                        text: header.innerText,\n                        depth: depth,\n                        children: [],\n                        expanded: false\n                    };\n\n                    if (depth === 1) {\n                        tree.push(item);\n                        lastRoot = item;\n                        lastSub = null;\n                    } else if (depth === 2) {\n                        if (lastRoot) {\n                            lastRoot.children.push(item);\n                        } else {\n                            tree.push(item);\n                        }\n                        lastSub = item;\n                    } else if (depth === 3) {\n                        if (lastSub) {\n                            lastSub.children.push(item);\n                        } else if (lastRoot) {\n                            lastRoot.children.push(item);\n                        }\n                    }\n                });\n\n                tocTree.value = tree;\n            };\n\n            \/\/ \u5207\u6362\u6298\u53e0\u72b6\u6001\n            const toggleSection = (item) => {\n                if (item.children && item.children.length > 0) {\n                    item.expanded = !item.expanded;\n                }\n            };\n\n            \/\/ [\u4fee\u6539] \u6eda\u52a8\u5b9a\u4f4d\u903b\u8f91\uff0c\u6539\u4e3a\u901a\u8fc7 ID\n            const scrollToId = (id) => {\n                activeId.value = id;\n                const el = document.getElementById(id);\n                if (el) {\n                    const top = el.getBoundingClientRect().top + window.scrollY - 120;\n                    window.scrollTo({ top: top, behavior: 'smooth' });\n                }else {\n                \/\/ [\u4fee\u6539] \u5c06 .lock-section \u6539\u4e3a .usc-guide-lock\n                const lockSection = document.querySelector('.usc-guide-lock');\n\n                if (lockSection) {\n                    \/\/ ...\n                }\n            }\n            };\n\n            \/\/ [\u65b0\u589e] \u76d1\u542c processedContent \u53d8\u5316\n            \/\/ \u5f53 v-html \u5185\u5bb9\u6e32\u67d3\u66f4\u65b0\u540e\uff0c\u91cd\u65b0\u751f\u6210\u76ee\u5f55\n            watch(processedContent, () => {\n                nextTick(() => {\n                    generateTOC();\n                    assignIdsToVisibleContent();\n                });\n            });\n            const shareClick = async () => {\n                const textToCopy = window.location.href;\n\n                \/\/ --- \u65b9\u6848 A: \u73b0\u4ee3\u6d4f\u89c8\u5668 (HTTPS\u73af\u5883) ---\n                if (navigator.clipboard && navigator.clipboard.writeText) {\n                    try {\n                        await navigator.clipboard.writeText(textToCopy);\n                        ElMessage.success('Copy success!');\n\n                        return; \/\/ \u6210\u529f\u5219\u76f4\u63a5\u7ed3\u675f\n                    } catch (err) {\n                        console.warn('Clipboard API \u5931\u8d25\uff0c\u5c1d\u8bd5\u964d\u7ea7\u65b9\u6848:', err);\n                        \/\/ \u5931\u8d25\u4e86\u4e0d\u62a5\u9519\uff0c\u7ee7\u7eed\u5f80\u4e0b\u8d70\u65b9\u6848 B\n                    }\n                }\n\n                \/\/ --- \u65b9\u6848 B: \u4f20\u7edf\u517c\u5bb9\u65b9\u6848 (HTTP\u73af\u5883 \/ \u65e7\u6d4f\u89c8\u5668) ---\n                try {\n                    \/\/ 1. \u521b\u5efa\u4e00\u4e2a\u4e34\u65f6\u7684\u6587\u672c\u57df\n                    const textArea = document.createElement(\"textarea\");\n                    textArea.value = textToCopy;\n\n                    \/\/ 2. \u628a\u5b83\u653e\u5728\u5c4f\u5e55\u5916\uff0c\u9632\u6b62\u5f71\u54cd\u5e03\u5c40\u6216\u9020\u6210\u95ea\u70c1\n                    textArea.style.position = \"fixed\";\n                    textArea.style.left = \"-9999px\";\n                    textArea.style.top = \"0\";\n\n                    document.body.appendChild(textArea);\n\n                    \/\/ 3. \u9009\u4e2d\u5185\u5bb9\n                    textArea.focus();\n                    textArea.select();\n\n                    \/\/ 4. \u6267\u884c\u590d\u5236\u547d\u4ee4\n                    const successful = document.execCommand('copy');\n\n                    \/\/ 5. \u79fb\u9664\u4e34\u65f6\u5143\u7d20\n                    document.body.removeChild(textArea);\n\n                    if (successful) {\n                        ElMessage.success('Copy success!');\n                    } else {\n                        throw new Error('execCommand \u5931\u8d25');\n                    }\n                } catch (err) {\n                    console.error('\u6240\u6709\u590d\u5236\u624b\u6bb5\u90fd\u5931\u8d25:', err);\n                    alert('\u590d\u5236\u5931\u8d25\uff0c\u8bf7\u624b\u52a8\u590d\u5236\u6d4f\u89c8\u5668\u5730\u5740\u680f');\n                    ElMessage.error('Copy error!Please manually copy the browser address bar');\n\n                }\n            };\n            const backLink = () => {\n                window.location.href = '\/blogs';\n            }\n            const getQueryParam = (name) => {\n                return new URLSearchParams(window.location.search).get(name);\n            };\n\n            \/\/ \u68c0\u67e5\u662f\u5426\u5b58\u5728 Slug (\u4f18\u5148\uff1a\u5148\u770b PHP \u6ce8\u5165\u7684\u5168\u5c40\u53d8\u91cf\uff0c\u518d\u770b URL \u53c2\u6570)\n            const hasSlug = (window.currentBlogSlug && window.currentBlogSlug !== \"\") || getQueryParam('slug');\n\n            \/\/ \u68c0\u67e5\u662f\u5426\u5b58\u5728 ID (\u540e\u5907\uff1a\u5148\u770b PHP \u6ce8\u5165\u7684\u7b80\u7801\u53d8\u91cf\uff0c\u518d\u770b URL \u53c2\u6570)\n            const hasId = (window.usc_fixed_id && window.usc_fixed_id !== \"\") || getQueryParam('id');\n            onMounted(() => {\n                if (hasSlug || hasId) {\n                    getPost();\n                } else {\n                    ElMessage.error('No post found.');\n                    console.warn(\"URL\u4e2d\u6ca1\u6709\u627e\u5230ID\u53c2\u6570\");\n                    \/\/ \u8fd9\u91cc\u53ef\u4ee5\u505a\u91cd\u5b9a\u5411\u5904\u7406\uff0c\u6bd4\u5982\u56de\u5230\u9996\u9875\n                    \/\/ window.location.href = '\/blog';\n                }\n                loginUser.value = JSON.parse(localStorage.getItem('student_info'))\n                \/\/ console.log(123123123123123, loginUser.value)\n                updateTimer();\n                timerInterval = setInterval(updateTimer, 1000);\n\n                if (processedContent.value) {\n                    nextTick(() => {\n                        generateTOC()\n                        assignIdsToVisibleContent();\n                    });\n                }\n\n                \/\/ [\u53ef\u9009] \u6eda\u52a8\u76d1\u542c\uff0c\u9ad8\u4eae\u5f53\u524d\u9605\u8bfb\u4f4d\u7f6e\n                window.addEventListener('scroll', () => {\n                    const headers = document.querySelectorAll('.content h1, .content h2, .content h3');\n                    let current = '';\n                    headers.forEach(header => {\n                        const top = header.getBoundingClientRect().top;\n                        if (top < 150) { \/\/ \u8ddd\u79bb\u9876\u90e8 150px \u89c6\u4e3a\u6fc0\u6d3b\n                            current = header.id;\n                        }\n                    });\n                    if (current) activeId.value = current;\n                });\n            });\n            const activeFaq = ref([]);\/\/\u7a7a\u9ed8\u8ba4\u95ed\u5408\n            onUnmounted(() => {\n                if(timerInterval) clearInterval(timerInterval);\n            });\n\n            return {\n                tocTree,\n                toggleSection,\n                scrollToId,\n                activeId,\n                timer,\n                goToBuy,\n                activeFaq,\n                blog,\n                formatDate,\n                loginUser,\n                loginform,\n                is_login,\n                login_title,\n                login_subtitle,\n                login_forget_password,\n                login_submit,\n                login_submit_password,\n                handleSubmit,\n                login_from_error,\n                emailSubmitted,\n                close_login,\n                checkLogin,\n                loading2,\n                processedContent,\n                shouldShowLock,\n                shareClick,\n                backLink,\n                endTime,\n                faq,\n                lockTitle,\n                lockDesc,\n                btnBuyText,\n                btnLoginText\n            };\n        }\n    });\n    app.use(ElementPlus);\n    \/\/ \u6302\u8f7d\u5230 id=\"app\" \u7684 div \u4e0a\n    app.mount('#app');\n<\/script><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"page-builder","ast-global-header-display":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","footnotes":""},"class_list":["post-37385","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v22.6 (Yoast SEO v26.4) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>blog | GoGlobalsafe-\u7559\u5b66\u751f\u4fdd\u9669\u4e00\u7ad9\u5f0f\u89e3\u51b3\u65b9\u6848<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.goglobalsafe.com\/zh\/blog\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"blog\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.goglobalsafe.com\/zh\/blog\/\" \/>\n<meta property=\"og:site_name\" content=\"GoGlobalsafe-\u7559\u5b66\u751f\u4fdd\u9669\u4e00\u7ad9\u5f0f\u89e3\u51b3\u65b9\u6848\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-29T10:15:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.goglobalsafe.com\/wp-content\/uploads\/2023\/04\/LOGO1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1000\" \/>\n\t<meta property=\"og:image:height\" content=\"1000\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.goglobalsafe.com\/blog\/\",\"url\":\"https:\/\/www.goglobalsafe.com\/blog\/\",\"name\":\"blog | GoGlobalsafe-\u7559\u5b66\u751f\u4fdd\u9669\u4e00\u7ad9\u5f0f\u89e3\u51b3\u65b9\u6848\",\"isPartOf\":{\"@id\":\"https:\/\/www.goglobalsafe.com\/#website\"},\"datePublished\":\"2025-12-26T08:30:44+00:00\",\"dateModified\":\"2026-01-29T10:15:36+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.goglobalsafe.com\/blog\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.goglobalsafe.com\/blog\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.goglobalsafe.com\/blog\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.goglobalsafe.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"blog\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.goglobalsafe.com\/#website\",\"url\":\"https:\/\/www.goglobalsafe.com\/\",\"name\":\"GoGlobalSafe Student Insurance\",\"description\":\"Your Health, Our Priority\",\"publisher\":{\"@id\":\"https:\/\/www.goglobalsafe.com\/#organization\"},\"alternateName\":\"GoGlobalSafe international student insurance\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.goglobalsafe.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.goglobalsafe.com\/#organization\",\"name\":\"Golobal student consulting limited\",\"alternateName\":\"GoGlobalSafe\",\"url\":\"https:\/\/www.goglobalsafe.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.goglobalsafe.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.goglobalsafe.com\/wp-content\/uploads\/2023\/04\/LOGO3.png\",\"contentUrl\":\"https:\/\/www.goglobalsafe.com\/wp-content\/uploads\/2023\/04\/LOGO3.png\",\"width\":500,\"height\":140,\"caption\":\"Golobal student consulting limited\"},\"image\":{\"@id\":\"https:\/\/www.goglobalsafe.com\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"blog | GoGlobalsafe-\u7559\u5b66\u751f\u4fdd\u9669\u4e00\u7ad9\u5f0f\u89e3\u51b3\u65b9\u6848","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.goglobalsafe.com\/zh\/blog\/","og_locale":"zh_CN","og_type":"article","og_title":"blog","og_url":"https:\/\/www.goglobalsafe.com\/zh\/blog\/","og_site_name":"GoGlobalsafe-\u7559\u5b66\u751f\u4fdd\u9669\u4e00\u7ad9\u5f0f\u89e3\u51b3\u65b9\u6848","article_modified_time":"2026-01-29T10:15:36+00:00","og_image":[{"width":1000,"height":1000,"url":"https:\/\/www.goglobalsafe.com\/wp-content\/uploads\/2023\/04\/LOGO1.png","type":"image\/png"}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.goglobalsafe.com\/blog\/","url":"https:\/\/www.goglobalsafe.com\/blog\/","name":"blog | GoGlobalsafe-\u7559\u5b66\u751f\u4fdd\u9669\u4e00\u7ad9\u5f0f\u89e3\u51b3\u65b9\u6848","isPartOf":{"@id":"https:\/\/www.goglobalsafe.com\/#website"},"datePublished":"2025-12-26T08:30:44+00:00","dateModified":"2026-01-29T10:15:36+00:00","breadcrumb":{"@id":"https:\/\/www.goglobalsafe.com\/blog\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.goglobalsafe.com\/blog\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.goglobalsafe.com\/blog\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.goglobalsafe.com\/"},{"@type":"ListItem","position":2,"name":"blog"}]},{"@type":"WebSite","@id":"https:\/\/www.goglobalsafe.com\/#website","url":"https:\/\/www.goglobalsafe.com\/","name":"GoGlobalSafe \u5b66\u751f\u4fdd\u9669","description":"\u60a8\u7684\u5065\u5eb7\uff0c\u6211\u4eec\u7684\u9996\u8981\u4efb\u52a1","publisher":{"@id":"https:\/\/www.goglobalsafe.com\/#organization"},"alternateName":"GoGlobalSafe international student insurance","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.goglobalsafe.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"zh-Hans"},{"@type":"Organization","@id":"https:\/\/www.goglobalsafe.com\/#organization","name":"\u73af\u7403\u5b66\u751f\u54a8\u8be2\u6709\u9650\u516c\u53f8","alternateName":"GoGlobalSafe","url":"https:\/\/www.goglobalsafe.com\/","logo":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.goglobalsafe.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.goglobalsafe.com\/wp-content\/uploads\/2023\/04\/LOGO3.png","contentUrl":"https:\/\/www.goglobalsafe.com\/wp-content\/uploads\/2023\/04\/LOGO3.png","width":500,"height":140,"caption":"Golobal student consulting limited"},"image":{"@id":"https:\/\/www.goglobalsafe.com\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.goglobalsafe.com\/zh\/wp-json\/wp\/v2\/pages\/37385","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.goglobalsafe.com\/zh\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.goglobalsafe.com\/zh\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.goglobalsafe.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.goglobalsafe.com\/zh\/wp-json\/wp\/v2\/comments?post=37385"}],"version-history":[{"count":13,"href":"https:\/\/www.goglobalsafe.com\/zh\/wp-json\/wp\/v2\/pages\/37385\/revisions"}],"predecessor-version":[{"id":37734,"href":"https:\/\/www.goglobalsafe.com\/zh\/wp-json\/wp\/v2\/pages\/37385\/revisions\/37734"}],"wp:attachment":[{"href":"https:\/\/www.goglobalsafe.com\/zh\/wp-json\/wp\/v2\/media?parent=37385"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}