{"id":107,"date":"2025-11-11T00:40:09","date_gmt":"2025-11-10T16:40:09","guid":{"rendered":"https:\/\/cilici.cn\/?p=107"},"modified":"2025-11-11T00:40:30","modified_gmt":"2025-11-10T16:40:30","slug":"%e5%88%ba%e7%8b%b8%e5%88%baipa%e4%b8%bb%e9%a1%b5%e6%ba%90%e7%a0%81","status":"publish","type":"post","link":"https:\/\/cilici.cn\/index.php\/2025\/11\/11\/%e5%88%ba%e7%8b%b8%e5%88%baipa%e4%b8%bb%e9%a1%b5%e6%ba%90%e7%a0%81\/","title":{"rendered":"\u523a\u72f8\u523aIPA\u4e3b\u9875\u6e90\u7801"},"content":{"rendered":"\n<pre class=\"wp-block-code\"><code>&lt;?php\ninclude 'db\/config.php';\n\n$sql = \"SELECT *, IFNULL(download_count, 0) as download_count, IFNULL(view_count, 0) as view_count FROM applications ORDER BY created_at DESC\";\n$result = $conn->query($sql);\n?>\n&lt;!DOCTYPE html>\n&lt;html lang=\"zh-CN\">\n\n&lt;head>\n    &lt;meta charset=\"UTF-8\">\n    &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    &lt;title>\u523a\u72f8\u523aIOSIPA\u4e0b\u8f7d\u7ad9&lt;\/title>\n    &lt;link href=\"https:\/\/fonts.googleapis.com\/css2?family=Noto+Sans+SC:wght@400;500;700&amp;display=swap\" rel=\"stylesheet\">\n    &lt;link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css\">\n    &lt;style>\n        :root {\n            --primary-color: #ff7eb9;\n            --secondary-color: #7e6bff;\n            --accent-color: #6bd5ff;\n            --dark-color: #3a3a5a;\n            --light-color: #fff9fc;\n            --success-color: #6bff7e;\n            --danger-color: #ff6b7e;\n            --warning-color: #ffd56b;\n            --card-bg: #ffffff;\n        }\n\n        * {\n            box-sizing: border-box;\n            margin: 0;\n            padding: 0;\n        }\n\n        body {\n            font-family: 'Noto Sans SC', sans-serif;\n            background-color: white;\n            color: var(--dark-color);\n            line-height: 1.6;\n            min-height: 100vh;\n            display: flex;\n            justify-content: center;\n            align-items: center;\n            padding: 20px;\n        }\n\n        .anime-container {\n            max-width: 1400px;\n            width: 100%;\n            background-color: white;\n            border-radius: 20px;\n            padding: 30px;\n            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);\n            border: 1px solid #f0f0f0;\n            position: relative;\n            overflow: hidden;\n            margin: 20px 0;\n            animation: fadeIn 0.5s ease-out;\n        }\n\n        .anime-container::before {\n            content: \"\";\n            position: absolute;\n            top: 0;\n            left: 0;\n            right: 0;\n            height: 10px;\n            background: linear-gradient(90deg, var(--primary-color), var(--secondary-color), var(--accent-color));\n            border-radius: 20px 20px 0 0;\n        }\n\n        @keyframes fadeIn {\n            from { opacity: 0; transform: translateY(20px); }\n            to { opacity: 1; transform: translateY(0); }\n        }\n\n        .anime-title {\n            font-size: 2.5rem;\n            margin-bottom: 25px;\n            text-align: center;\n            color: var(--dark-color);\n            position: relative;\n            display: inline-block;\n            padding-bottom: 10px;\n            background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));\n            -webkit-background-clip: text;\n            -webkit-text-fill-color: transparent;\n            text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n        }\n\n        .anime-title::after {\n            content: \"\";\n            position: absolute;\n            bottom: 0;\n            left: 50%;\n            transform: translateX(-50%);\n            width: 100px;\n            height: 4px;\n            background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));\n            border-radius: 2px;\n        }\n\n        .anime-search-box {\n            margin-bottom: 30px;\n            position: relative;\n            max-width: 600px;\n            margin: 0 auto 30px;\n        }\n\n        .anime-search-input {\n            padding: 14px 20px 14px 50px;\n            border-radius: 50px;\n            font-size: 1rem;\n            border: 2px solid #e0e0e0;\n            outline: none;\n            width: 100%;\n            background-color: white;\n            transition: all 0.3s ease;\n            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);\n        }\n\n        .anime-search-input:focus {\n            border-color: var(--primary-color);\n            box-shadow: 0 0 0 3px rgba(255, 126, 185, 0.2);\n        }\n\n        .anime-search-icon {\n            position: absolute;\n            left: 18px;\n            top: 50%;\n            transform: translateY(-50%);\n            color: var(--primary-color);\n            font-size: 1.2rem;\n        }\n\n        .anime-category-filter {\n            margin-bottom: 30px;\n            text-align: center;\n        }\n\n        .category-buttons {\n            display: flex;\n            justify-content: center;\n            gap: 10px;\n            flex-wrap: wrap;\n        }\n\n        .category-btn {\n            padding: 10px 20px;\n            border-radius: 50px;\n            font-size: 0.9rem;\n            border: 2px solid #e0e0e0;\n            background-color: white;\n            cursor: pointer;\n            transition: all 0.3s ease;\n            font-family: 'Noto Sans SC', sans-serif;\n            color: var(--dark-color);\n        }\n\n        .category-btn.active {\n            background: linear-gradient(135deg, var(--primary-color), #ff9ec7);\n            color: white;\n            border-color: transparent;\n            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n        }\n\n        .category-btn:hover {\n            transform: translateY(-2px);\n            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n        }\n\n        .anime-app-grid {\n            display: grid;\n            grid-template-columns: repeat(5, 1fr);\n            gap: 20px;\n        }\n\n        .anime-app-card {\n            background-color: white;\n            border-radius: 15px;\n            padding: 20px;\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);\n            transition: all 0.3s ease;\n            border: 1px solid #f0f0f0;\n            position: relative;\n            overflow: hidden;\n            animation: cardAppear 0.5s ease-out;\n            cursor: pointer;\n        }\n\n        @keyframes cardAppear {\n            from { opacity: 0; transform: scale(0.95); }\n            to { opacity: 1; transform: scale(1); }\n        }\n\n        .anime-app-card::before {\n            content: \"\";\n            position: absolute;\n            top: 0;\n            left: 0;\n            width: 5px;\n            height: 100%;\n            background: linear-gradient(to bottom, var(--primary-color), var(--secondary-color));\n        }\n\n        .anime-app-card:hover {\n            transform: translateY(-5px);\n            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);\n        }\n\n        .anime-app-icon {\n            width: 80px;\n            height: 80px;\n            margin-bottom: 15px;\n            background-color: white;\n            border-radius: 15px;\n            display: flex;\n            justify-content: center;\n            align-items: center;\n            overflow: hidden;\n            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);\n        }\n\n        .anime-app-icon img {\n            max-width: 100%;\n            max-height: 100%;\n            object-fit: contain;\n        }\n\n        .anime-app-name {\n            font-size: 1.1rem;\n            margin-bottom: 10px;\n            font-weight: 600;\n            color: var(--dark-color);\n            text-align: center;\n            white-space: nowrap;\n            overflow: hidden;\n            text-overflow: ellipsis;\n            width: 100%;\n            padding: 0 10px;\n        }\n\n        .anime-app-desc {\n            font-size: 0.85rem;\n            color: #666;\n            margin-bottom: 15px;\n            line-height: 1.4;\n            text-align: center;\n            white-space: nowrap;\n            overflow: hidden;\n            text-overflow: ellipsis;\n            width: 100%;\n            padding: 0 10px;\n            min-height: auto;\n        }\n\n        .anime-download-count {\n            font-size: 0.8rem;\n            color: var(--primary-color);\n            margin-bottom: 15px;\n            font-weight: 500;\n        }\n\n        .anime-btn {\n            padding: 10px 20px;\n            border-radius: 50px;\n            font-size: 0.9rem;\n            font-weight: 500;\n            text-decoration: none;\n            transition: all 0.3s ease;\n            cursor: pointer;\n            border: none;\n            outline: none;\n            display: inline-flex;\n            align-items: center;\n            justify-content: center;\n            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n            position: relative;\n            overflow: hidden;\n            border: 2px solid transparent;\n        }\n\n        .anime-btn i {\n            margin-right: 8px;\n            font-size: 1rem;\n        }\n\n        .anime-btn::before {\n            content: \"\";\n            position: absolute;\n            top: 0;\n            left: -100%;\n            width: 100%;\n            height: 100%;\n            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);\n            transition: all 0.5s ease;\n        }\n\n        .anime-btn:hover::before {\n            left: 100%;\n        }\n\n        .anime-btn:hover {\n            transform: translateY(-3px);\n            box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);\n        }\n\n        .anime-btn:active {\n            transform: translateY(1px);\n        }\n\n        .btn-primary {\n            background: linear-gradient(135deg, var(--primary-color), #ff9ec7);\n            color: white;\n        }\n\n        .modal {\n            display: none;\n            position: fixed;\n            top: 0;\n            left: 0;\n            width: 100%;\n            height: 100%;\n            background-color: rgba(0, 0, 0, 0.7);\n            z-index: 1000;\n            justify-content: center;\n            align-items: center;\n            animation: fadeIn 0.3s ease-out;\n        }\n\n        .modal-content {\n            background-color: white;\n            border-radius: 20px;\n            max-width: 600px;\n            width: 90%;\n            padding: 30px;\n            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);\n            position: relative;\n            animation: modalAppear 0.5s ease-out;\n        }\n\n        @keyframes modalAppear {\n            from { opacity: 0; transform: translateY(-50px); }\n            to { opacity: 1; transform: translateY(0); }\n        }\n\n        .modal-close {\n            position: absolute;\n            top: 15px;\n            right: 15px;\n            font-size: 1.5rem;\n            cursor: pointer;\n            color: #888;\n            transition: all 0.3s ease;\n        }\n\n        .modal-close:hover {\n            color: var(--danger-color);\n        }\n\n        .modal-header {\n            display: flex;\n            align-items: center;\n            margin-bottom: 20px;\n        }\n\n        .modal-icon {\n            width: 80px;\n            height: 80px;\n            border-radius: 15px;\n            overflow: hidden;\n            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);\n            margin-right: 20px;\n        }\n\n        .modal-icon img {\n            width: 100%;\n            height: 100%;\n            object-fit: contain;\n        }\n\n        .modal-title {\n            font-size: 1.8rem;\n            color: var(--dark-color);\n            margin-bottom: 5px;\n            word-break: break-word;\n        }\n\n        .modal-download-count {\n            font-size: 0.9rem;\n            color: var(--primary-color);\n        }\n\n        .modal-body {\n            margin-bottom: 20px;\n            line-height: 1.6;\n            color: #555;\n            white-space: pre-wrap;\n            word-break: break-word;\n        }\n\n        .modal-footer {\n            text-align: right;\n        }\n\n        .modal-btn {\n            padding: 10px 25px;\n            border-radius: 50px;\n            font-size: 1rem;\n            font-weight: 500;\n            background: linear-gradient(135deg, var(--primary-color), #ff9ec7);\n            color: white;\n            border: none;\n            cursor: pointer;\n            transition: all 0.3s ease;\n            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n        }\n\n        .modal-btn:hover {\n            transform: translateY(-2px);\n            box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);\n        }\n\n        @media (max-width: 1200px) {\n            .anime-app-grid {\n                grid-template-columns: repeat(4, 1fr);\n            }\n        }\n\n        @media (max-width: 992px) {\n            .anime-app-grid {\n                grid-template-columns: repeat(3, 1fr);\n            }\n        }\n\n        @media (max-width: 768px) {\n            .anime-container {\n                padding: 20px;\n            }\n\n            .anime-title {\n                font-size: 2rem;\n            }\n\n            .anime-app-grid {\n                grid-template-columns: repeat(2, 1fr);\n            }\n\n            .anime-app-card {\n                padding: 15px;\n            }\n\n            .anime-app-icon {\n                width: 70px;\n                height: 70px;\n            }\n\n            .anime-app-name {\n                font-size: 1rem;\n            }\n\n            .anime-app-desc {\n                font-size: 0.8rem;\n                min-height: 50px;\n            }\n\n            .anime-btn {\n                padding: 8px 16px;\n                font-size: 0.85rem;\n            }\n\n            .category-buttons {\n                flex-direction: column;\n                align-items: center;\n            }\n        }\n\n        @media (max-width: 480px) {\n            .anime-app-grid {\n                grid-template-columns: 1fr;\n            }\n\n            .anime-title {\n                font-size: 1.8rem;\n            }\n        }\n\n        .anime-empty {\n            text-align: center;\n            color: #888;\n            padding: 30px;\n            font-size: 1.1rem;\n            background-color: #f9f9f9;\n            border-radius: 15px;\n            border: 1px dashed #e0e0e0;\n            grid-column: 1 \/ -1;\n        }\n\n        ::-webkit-scrollbar {\n            width: 8px;\n        }\n\n        ::-webkit-scrollbar-track {\n            background: #f5f5f5;\n            border-radius: 10px;\n        }\n\n        ::-webkit-scrollbar-thumb {\n            background: #d0d0d0;\n            border-radius: 10px;\n        }\n\n        ::-webkit-scrollbar-thumb:hover {\n            background: #b0b0b0;\n        }\n    &lt;\/style>\n&lt;\/head>\n\n&lt;body>\n    &lt;div class=\"anime-container\">\n        &lt;h1 class=\"anime-title\">\u2728 \u523a\u72f8\u523aIOSIPA\u4e0b\u8f7d\u7ad9&lt;h1>\n        \n        &lt;div class=\"anime-category-filter\">\n            &lt;div class=\"category-buttons\">\n                &lt;button class=\"category-btn active\" data-category=\"newest\">\u6700\u65b0\u4e0a\u67b6&lt;\/button>\n                &lt;button class=\"category-btn\" data-category=\"downloads\">\u70ed\u95e8\u5e94\u7528&lt;\/button>\n            &lt;\/div>\n        &lt;\/div>\n        \n        &lt;div class=\"anime-search-box\">\n            &lt;i class=\"fas fa-search anime-search-icon\">&lt;\/i>\n            &lt;input type=\"text\" class=\"anime-search-input\" placeholder=\"\u641c\u7d22\u5e94\u7528...\" id=\"search-input\">\n        &lt;\/div>\n        \n        &lt;div class=\"anime-app-grid\" id=\"app-grid\">\n            &lt;?php\n            if ($result->num_rows > 0) {\n                while ($row = $result->fetch_assoc()) {\n                    echo '\n                    &lt;div class=\"anime-app-card\" data-id=\"' . $row&#91;\"id\"] . '\" data-name=\"' . $row&#91;\"name\"] . '\" data-description=\"' . $row&#91;\"description\"] . '\" data-icon=\"' . $row&#91;\"icon_path\"] . '\" data-download-url=\"' . $row&#91;\"download_url\"] . '\" data-download-count=\"' . $row&#91;\"download_count\"] . '\" data-view-count=\"' . $row&#91;\"view_count\"] . '\" data-created-date=\"' . $row&#91;\"created_at\"] . '\">\n                        &lt;div class=\"anime-app-icon\">\n                            &lt;img src=\"' . $row&#91;\"icon_path\"] . '\" alt=\"' . $row&#91;\"name\"] . '\">\n                        &lt;\/div>\n                        &lt;h3 class=\"anime-app-name\" title=\"' . $row&#91;\"name\"] . '\">' . \n                            (mb_strlen($row&#91;\"name\"], 'UTF-8') > 8 ? \n                            mb_substr($row&#91;\"name\"], 0, 8, 'UTF-8') . '...' : \n                            $row&#91;\"name\"]) . \n                        '&lt;\/h3>\n                        &lt;p class=\"anime-app-desc\" title=\"' . $row&#91;\"description\"] . '\">' . \n                            (mb_strlen($row&#91;\"description\"], 'UTF-8') > 12 ? \n                            mb_substr($row&#91;\"description\"], 0, 12, 'UTF-8') . '...' : \n                            $row&#91;\"description\"]) . \n                        '&lt;\/p>\n                        &lt;p class=\"anime-download-count\">&lt;i class=\"fas fa-download\">&lt;\/i> ' . $row&#91;\"download_count\"] . '&lt;\/p>\n                        &lt;a href=\"' . $row&#91;\"download_url\"] . '\" class=\"anime-btn btn-primary\" target=\"_blank\" onclick=\"event.preventDefault(); handleDownload(this);\">\n                            &lt;i class=\"fas fa-download\">&lt;\/i> \u4e0b\u8f7d\/\u8bbf\u95ee\n                        &lt;\/a>\n                    &lt;\/div>\n                    ';\n                }\n            } else {\n                echo '&lt;div class=\"anime-empty\">&lt;i class=\"fas fa-box-open\" style=\"font-size: 2rem; margin-bottom: 10px; display: block;\">&lt;\/i>\u6682\u65e0\u5e94\u7528\u53ef\u4f9b\u4e0b\u8f7d&lt;\/div>';\n            }\n            ?>\n        &lt;\/div>\n    &lt;\/div>\n\n    &lt;!-- \u6a21\u6001\u6846 -->\n    &lt;div class=\"modal\" id=\"app-modal\">\n        &lt;div class=\"modal-content\">\n            &lt;div class=\"modal-header\">\n                &lt;div class=\"modal-icon\">\n                    &lt;img id=\"modal-icon-img\" src=\"\" alt=\"\">\n                &lt;\/div>\n                &lt;div>\n                    &lt;h2 class=\"modal-title\" id=\"modal-title\">&lt;\/h2>\n                    &lt;p class=\"modal-download-count\" id=\"modal-download-count\">&lt;\/p>\n                &lt;\/div>\n            &lt;\/div>\n            &lt;div class=\"modal-body\" id=\"modal-body\">&lt;\/div>\n            &lt;div class=\"modal-footer\">\n                &lt;a href=\"\" class=\"modal-btn\" id=\"modal-download-btn\" target=\"_blank\" onclick=\"event.preventDefault(); handleDownload(this);\">\n                    &lt;i class=\"fas fa-download\">&lt;\/i> \u4e0b\u8f7d\/\u8bbf\u95ee\n                &lt;\/a>\n            &lt;\/div>\n        &lt;\/div>\n    &lt;\/div>\n\n    &lt;script>\n        const searchInput = document.getElementById('search-input');\n        const appGrid = document.getElementById('app-grid');\n        const categoryButtons = document.querySelectorAll('.category-btn');\n        const modal = document.getElementById('app-modal');\n        const modalTitle = document.getElementById('modal-title');\n        const modalBody = document.getElementById('modal-body');\n        const modalIconImg = document.getElementById('modal-icon-img');\n        const modalDownloadCount = document.getElementById('modal-download-count');\n        const modalDownloadBtn = document.getElementById('modal-download-btn');\n\n        function handleDownload(element) {\n            const appId = element.getAttribute('data-id');\n            const downloadUrl = element.getAttribute('href');\n            \n            fetch(`update_download_count.php?id=${appId}`)\n                .then(response => response.json())\n                .then(data => {\n                    if (data.success) {\n\n                        const card = document.querySelector(`.anime-app-card&#91;data-id=\"${appId}\"]`);\n                        if (card) {\n                            const downloadCountElement = card.querySelector('.anime-download-count');\n                            const currentCount = parseInt(card.dataset.downloadCount) + 1;\n                            card.dataset.downloadCount = currentCount;\n                            downloadCountElement.innerHTML = `&lt;i class=\"fas fa-download\">&lt;\/i> ${currentCount}`;\n                        }\n                        \n                        if (modal.style.display === 'flex') {\n                            modalDownloadCount.innerHTML = `&lt;i class=\"fas fa-download\">&lt;\/i> ${currentCount} \u6b21\u4e0b\u8f7d`;\n                        }\n                    }\n                })\n                .catch(error => console.error('Error:', error));\n\n            window.open(downloadUrl, '_blank');\n        }\n\n        searchInput.addEventListener('input', function () {\n            const searchText = this.value.toLowerCase();\n            const appCards = appGrid.querySelectorAll('.anime-app-card');\n\n            appCards.forEach(card => {\n                const appName = card.querySelector('.anime-app-name').textContent.toLowerCase();\n                if (appName.includes(searchText)) {\n                    card.style.display = 'flex';\n                } else {\n                    card.style.display = 'none';\n                }\n            });\n        });\n\n        categoryButtons.forEach(button => {\n            button.addEventListener('click', function () {\n                categoryButtons.forEach(btn => btn.classList.remove('active'));\n                this.classList.add('active');\n                \n                const category = this.dataset.category;\n                const appCards = Array.from(appGrid.querySelectorAll('.anime-app-card'));\n                \n                appCards.sort((a, b) => {\n                    const aData = a.dataset;\n                    const bData = b.dataset;\n                    \n                    if (category === 'newest') {\n                        return new Date(b.dataset.createdDate) - new Date(a.dataset.createdDate);\n                    } else if (category === 'downloads') {\n                        return parseInt(b.dataset.downloadCount) - parseInt(a.dataset.downloadCount);\n                    }\n                    return 0;\n                });\n                \n                appCards.forEach(card => {\n                    appGrid.appendChild(card);\n                });\n            });\n        });\n\n        appGrid.addEventListener('click', function (e) {\n            const card = e.target.closest('.anime-app-card');\n            if (card &amp;&amp; !e.target.closest('.anime-btn')) {\n                const xhr = new XMLHttpRequest();\n                xhr.open('GET', `update_view_count.php?id=${card.dataset.id}`, true);\n                xhr.send();\n                \n                modalTitle.textContent = card.dataset.name;\n                modalBody.textContent = card.dataset.description;\n                modalIconImg.src = card.dataset.icon;\n                modalDownloadCount.innerHTML = `&lt;i class=\"fas fa-download\">&lt;\/i> ${card.dataset.downloadCount} \u6b21\u4e0b\u8f7d`;\n                modalDownloadBtn.href = card.dataset.downloadUrl;\n                modalDownloadBtn.setAttribute('data-id', card.dataset.id);\n                modal.style.display = 'flex';\n            }\n        });\n\n        modal.addEventListener('click', function (e) {\n            if (e.target === modal || !e.target.closest('.modal-content')) {\n                modal.style.display = 'none';\n            }\n        });\n\n        document.querySelectorAll('.anime-btn.btn-primary').forEach(btn => {\n            const card = btn.closest('.anime-app-card');\n            btn.onclick = function(e) {\n                e.preventDefault();\n                handleDownload(this);\n            };\n            btn.href = card.dataset.downloadUrl;\n            btn.setAttribute('data-id', card.dataset.id);\n        });\n    &lt;\/script><\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","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":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-107","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/cilici.cn\/index.php\/wp-json\/wp\/v2\/posts\/107","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cilici.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cilici.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cilici.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cilici.cn\/index.php\/wp-json\/wp\/v2\/comments?post=107"}],"version-history":[{"count":1,"href":"https:\/\/cilici.cn\/index.php\/wp-json\/wp\/v2\/posts\/107\/revisions"}],"predecessor-version":[{"id":108,"href":"https:\/\/cilici.cn\/index.php\/wp-json\/wp\/v2\/posts\/107\/revisions\/108"}],"wp:attachment":[{"href":"https:\/\/cilici.cn\/index.php\/wp-json\/wp\/v2\/media?parent=107"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cilici.cn\/index.php\/wp-json\/wp\/v2\/categories?post=107"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cilici.cn\/index.php\/wp-json\/wp\/v2\/tags?post=107"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}