﻿{"id":10361,"date":"2026-08-07T09:32:48","date_gmt":"2026-08-07T01:32:48","guid":{"rendered":"https:\/\/www.dzrgw.cn\/?p=10361"},"modified":"2026-08-07T10:53:10","modified_gmt":"2026-08-07T02:53:10","slug":"%e6%97%b6%e9%97%b4%e4%b9%8b%e8%bd%ae","status":"publish","type":"post","link":"https:\/\/www.dzrgw.cn\/?p=10361","title":{"rendered":"\u65f6\u95f4\u4e4b\u8f6e"},"content":{"rendered":"\n<!-- \u65f6\u95f4\u4e4b\u8f6e \u00b7 \u5168\u900f\u660e\u80cc\u666f \u00b7 \u9ad8\u5bf9\u6bd4\u6587\u5b57 -->\n<style>\n    .timewheel-block {\n        display: flex;\n        justify-content: center;\n        align-items: center;\n        margin: 20px auto;\n        width: 500px;\n        height: 500px;\n        background: transparent !important;\n        overflow: visible;\n    }\n    .timewheel-block canvas {\n        display: block;\n        width: 500px;\n        height: 500px;\n        background: transparent !important;\n    }\n<\/style>\n\n<div class=\"timewheel-block\">\n    <canvas id=\"wheelCanvas\" width=\"500\" height=\"500\"><\/canvas>\n<\/div>\n\n<script>\n    (function() {\n        \/\/ ================================================================\n        \/\/  \u5e38\u91cf \u2014\u2014 \u7cbe\u786e\u5230\u79d2\n        \/\/ ================================================================\n\n        const START = new Date(2026, 1, 4, 4, 1, 51);\n        const END = new Date(2027, 1, 4, 9, 46, 0);\n        const TOTAL_MS = END.getTime() - START.getTime();\n        const TOTAL_SEC = Math.floor(TOTAL_MS \/ 1000); \/\/ 31556649\n\n        const TERMS = {\n            lichun: {\n                name: '\u7acb\u6625',\n                start: new Date(2026, 1, 4, 4, 1, 51),\n                end: new Date(2026, 1, 18, 23, 51, 39),\n                color: 'past'\n            },\n            lixia: {\n                name: '\u7acb\u590f',\n                start: new Date(2026, 4, 5, 19, 48, 27),\n                end: new Date(2026, 4, 21, 8, 36, 28),\n                color: 'past'\n            },\n            liqiu: {\n                name: '\u7acb\u79cb',\n                start: new Date(2026, 7, 7, 19, 42, 26),\n                end: new Date(2026, 7, 23, 10, 18, 31),\n                color: 'present'\n            },\n            lidong: {\n                name: '\u7acb\u51ac',\n                start: new Date(2026, 10, 7, 17, 51, 46),\n                end: new Date(2026, 10, 22, 15, 23, 3),\n                color: 'future'\n            }\n        };\n\n        \/\/ \u6bcf\u4e2a\u8282\u6c14\u5bf9\u5e94\u7684\u989c\u8272\u65b9\u6848\uff08\u7528\u4e8e\u6247\u5f62\u548c\u6587\u5b57\uff09\n        const COLORS = {\n            past: {\n                main: '#4A6B8A',\n                light: '#9bb7d4',\n                dark: '#2A3F5A',\n                textColor: '#ffffff',      \/\/ \u4eae\u767d\n                shadowColor: 'rgba(0,0,0,0.8)'\n            },\n            present: {\n                main: '#E8A838',\n                light: '#f7d97a',\n                dark: '#C48820',\n                textColor: '#ffffff',\n                shadowColor: 'rgba(0,0,0,0.8)'\n            },\n            future: {\n                main: '#6B4C9A',\n                light: '#b89edb',\n                dark: '#4A2A7A',\n                textColor: '#ffffff',\n                shadowColor: 'rgba(0,0,0,0.8)'\n            }\n        };\n\n        \/\/ ================================================================\n        \/\/  \u5de5\u5177\u51fd\u6570\n        \/\/ ================================================================\n\n        function getOffsetMs(date) {\n            return date.getTime() - START.getTime();\n        }\n\n        function getOffsetSec(date) {\n            return getOffsetMs(date) \/ 1000;\n        }\n\n        function offsetToAngle(offsetSec) {\n            return (offsetSec \/ TOTAL_SEC) * 2 * Math.PI;\n        }\n\n        function dateToAngle(date) {\n            return offsetToAngle(getOffsetSec(date));\n        }\n\n        function clamp(v, min, max) { return Math.max(min, Math.min(max, v)); }\n\n        function lerp(a, b, t) { return a + (b - a) * t; }\n\n        function lerpColor(c1, c2, t) {\n            const r = Math.round(lerp(parseInt(c1.slice(1, 3), 16), parseInt(c2.slice(1, 3), 16), t));\n            const g = Math.round(lerp(parseInt(c1.slice(3, 5), 16), parseInt(c2.slice(3, 5), 16), t));\n            const b = Math.round(lerp(parseInt(c1.slice(5, 7), 16), parseInt(c2.slice(5, 7), 16), t));\n            return `#${r.toString(16).padStart(2,'0')}${g.toString(16).padStart(2,'0')}${b.toString(16).padStart(2,'0')}`;\n        }\n\n        function getNow() {\n            return new Date();\n        }\n\n        function formatTime(date) {\n            const h = String(date.getHours()).padStart(2, '0');\n            const m = String(date.getMinutes()).padStart(2, '0');\n            const s = String(date.getSeconds()).padStart(2, '0');\n            return `${h}:${m}:${s}`;\n        }\n\n        function formatDateChinese(date) {\n            const y = date.getFullYear();\n            const mo = String(date.getMonth() + 1).padStart(2, '0');\n            const d = String(date.getDate()).padStart(2, '0');\n            return `${y}\u5e74${mo}\u6708${d}\u65e5`;\n        }\n\n        function formatChineseDateTime(date) {\n            return `${formatDateChinese(date)} ${formatTime(date)}`;\n        }\n\n        function formatNumberWithCommas(x) {\n            return x.toString().replace(\/\\B(?=(\\d{3})+(?!\\d))\/g, ',');\n        }\n\n        function getElapsedSeconds(now) {\n            const diff = now.getTime() - START.getTime();\n            return Math.floor(diff \/ 1000);\n        }\n\n        \/\/ ================================================================\n        \/\/  Canvas \u7ed8\u56fe\n        \/\/ ================================================================\n\n        const canvas = document.getElementById('wheelCanvas');\n        if (!canvas) return;\n        const ctx = canvas.getContext('2d');\n        const W = 500;\n        const H = 500;\n        const CX = W \/ 2;\n        const CY = H \/ 2;\n        const RADIUS = 230;\n        const INNER_RADIUS = RADIUS * 0.68;\n\n        const termAngles = {};\n        for (const [key, term] of Object.entries(TERMS)) {\n            const startAngle = dateToAngle(term.start);\n            const endAngle = dateToAngle(term.end);\n            termAngles[key] = { start: startAngle, end: endAngle };\n        }\n\n        if (!CanvasRenderingContext2D.prototype.roundRect) {\n            CanvasRenderingContext2D.prototype.roundRect = function(x, y, w, h, radii) {\n                const r = typeof radii === 'number' ? radii : (radii || 0);\n                this.moveTo(x + r, y);\n                this.arcTo(x + w, y, x + w, y + h, r);\n                this.arcTo(x + w, y + h, x, y + h, r);\n                this.arcTo(x, y + h, x, y, r);\n                this.arcTo(x, y, x + w, y, r);\n                return this;\n            };\n        }\n\n        \/\/ ---- \u73af\u5fc3\u663e\u793a\u72b6\u6001 ----\n        let centerDisplayMode = 'total';\n        let switchTimer = null;\n\n        function scheduleCenterSwitch() {\n            if (switchTimer) clearTimeout(switchTimer);\n            const delay = 3000 + Math.random() * 2000;\n            switchTimer = setTimeout(() => {\n                centerDisplayMode = (centerDisplayMode === 'total') ? 'elapsed' : 'total';\n                scheduleCenterSwitch();\n            }, delay);\n        }\n        scheduleCenterSwitch();\n\n        \/\/ ---- \u7ed8\u56fe\u4e3b\u51fd\u6570 ----\n        function draw(now) {\n            ctx.clearRect(0, 0, W, H);\n\n            drawBackgroundRing();\n            for (const [key, term] of Object.entries(TERMS)) {\n                drawTermSector(key, term);\n            }\n            for (const [key, term] of Object.entries(TERMS)) {\n                drawTermName(key, term);\n            }\n            for (const [key, term] of Object.entries(TERMS)) {\n                drawTermTimeLabels(key, term);\n            }\n            drawInnerRing();\n            drawCurrentMarker(now);\n            drawCenterInfo(now);\n        }\n\n        \/\/ ---- \u80cc\u666f\u73af ----\n        function drawBackgroundRing() {\n            const outer = RADIUS;\n            const inner = INNER_RADIUS;\n            const segments = 180;\n            for (let i = 0; i < segments; i++) {\n                const t1 = i \/ segments;\n                const t2 = (i + 1) \/ segments;\n                const a1 = t1 * 2 * Math.PI;\n                const a2 = t2 * 2 * Math.PI;\n                const color = getRingColor(t1);\n                ctx.beginPath();\n                ctx.arc(CX, CY, outer, a1, a2);\n                ctx.arc(CX, CY, inner, a2, a1, true);\n                ctx.closePath();\n                ctx.fillStyle = color;\n                ctx.fill();\n            }\n            \/\/ \u5185\u5916\u67d4\u5149\uff08\u4f7f\u8fc7\u6e21\u81ea\u7136\uff09\n            const edgeGrad = ctx.createRadialGradient(CX, CY, inner, CX, CY, outer);\n            edgeGrad.addColorStop(0, 'rgba(0,0,0,0)');\n            edgeGrad.addColorStop(0.5, 'rgba(0,0,0,0)');\n            edgeGrad.addColorStop(0.85, 'rgba(0,0,0,0.15)');\n            edgeGrad.addColorStop(1, 'rgba(0,0,0,0.25)');\n            ctx.fillStyle = edgeGrad;\n            ctx.beginPath();\n            ctx.arc(CX, CY, outer, 0, 2 * Math.PI);\n            ctx.fill();\n\n            const innerGlow = ctx.createRadialGradient(CX, CY, inner * 0.8, CX, CY, inner * 1.1);\n            innerGlow.addColorStop(0, 'rgba(0,0,0,0.5)');\n            innerGlow.addColorStop(1, 'rgba(0,0,0,0)');\n            ctx.fillStyle = innerGlow;\n            ctx.beginPath();\n            ctx.arc(CX, CY, inner * 1.1, 0, 2 * Math.PI);\n            ctx.fill();\n        }\n\n        function getRingColor(t) {\n            const past1 = '#3b4f6e';\n            const past2 = '#5f7a9a';\n            const present1 = '#e8a838';\n            const present2 = '#f5c75a';\n            const future1 = '#6b4c9a';\n            const future2 = '#a07bc9';\n\n            let color;\n            if (t < 0.04) {\n                const p = t \/ 0.04;\n                color = lerpColor('#2a3a4a', past1, p);\n            } else if (t < 0.15) {\n                const p = (t - 0.04) \/ 0.11;\n                color = lerpColor(past1, past2, p);\n            } else if (t < 0.29) {\n                const p = (t - 0.15) \/ 0.14;\n                color = lerpColor(past2, '#8a9aaa', p);\n            } else if (t < 0.42) {\n                const p = (t - 0.29) \/ 0.13;\n                color = lerpColor('#8a9aaa', '#c0a87a', p);\n            } else if (t < 0.54) {\n                const p = (t - 0.42) \/ 0.12;\n                color = lerpColor('#c0a87a', present1, p);\n            } else if (t < 0.68) {\n                const p = (t - 0.54) \/ 0.14;\n                color = lerpColor(present1, '#b09080', p);\n            } else if (t < 0.79) {\n                const p = (t - 0.68) \/ 0.11;\n                color = lerpColor('#b09080', future1, p);\n            } else if (t < 0.92) {\n                const p = (t - 0.79) \/ 0.13;\n                color = lerpColor(future1, future2, p);\n            } else {\n                const p = (t - 0.92) \/ 0.08;\n                color = lerpColor(future2, '#2a2a3a', p);\n            }\n            return color;\n        }\n\n        \/\/ ---- \u8282\u6c14\u6247\u5f62 ----\n        function drawTermSector(key, term) {\n            const { start, end } = termAngles[key];\n            const colors = COLORS[term.color];\n            const outer = RADIUS - 2;\n            const inner = INNER_RADIUS + 2;\n\n            const grad = ctx.createRadialGradient(CX, CY, inner, CX, CY, outer);\n            grad.addColorStop(0, colors.dark);\n            grad.addColorStop(0.3, colors.main);\n            grad.addColorStop(0.7, colors.light);\n            grad.addColorStop(1, colors.main);\n\n            ctx.beginPath();\n            ctx.arc(CX, CY, outer, start, end);\n            ctx.arc(CX, CY, inner, end, start, true);\n            ctx.closePath();\n            ctx.fillStyle = grad;\n            ctx.fill();\n\n            ctx.shadowColor = 'rgba(0,0,0,0.15)';\n            ctx.shadowBlur = 15;\n            ctx.strokeStyle = colors.light;\n            ctx.lineWidth = 1.5;\n            ctx.globalAlpha = 0.3;\n            ctx.stroke();\n            ctx.shadowBlur = 0;\n            ctx.globalAlpha = 1;\n\n            \/\/ \u8fb9\u754c\u7ec6\u7ebf\n            ctx.beginPath();\n            ctx.arc(CX, CY, outer, start, end);\n            ctx.strokeStyle = 'rgba(255,255,255,0.08)';\n            ctx.lineWidth = 0.5;\n            ctx.stroke();\n            ctx.beginPath();\n            ctx.arc(CX, CY, inner, start, end);\n            ctx.strokeStyle = 'rgba(255,255,255,0.05)';\n            ctx.lineWidth = 0.5;\n            ctx.stroke();\n            for (const a of [start, end]) {\n                ctx.beginPath();\n                ctx.moveTo(CX + Math.cos(a) * inner, CY + Math.sin(a) * inner);\n                ctx.lineTo(CX + Math.cos(a) * outer, CY + Math.sin(a) * outer);\n                ctx.strokeStyle = 'rgba(255,255,255,0.05)';\n                ctx.lineWidth = 0.5;\n                ctx.stroke();\n            }\n        }\n\n        \/\/ ---- \u8282\u6c14\u540d\u79f0\uff08\u5b8c\u5168\u900f\u660e\u80cc\u666f\uff0c\u767d\u8272\u52a0\u9634\u5f71\uff09 ----\n        function drawTermName(key, term) {\n            const { start, end } = termAngles[key];\n            const mid = (start + end) \/ 2;\n            const radius = RADIUS * 0.82;\n            const x = CX + Math.cos(mid) * radius;\n            const y = CY + Math.sin(mid) * radius;\n            const colors = COLORS[term.color];\n            const txt = term.name;\n\n            ctx.font = '600 20px \"Inter\", \"Segoe UI\", sans-serif';\n            ctx.textAlign = 'center';\n            ctx.textBaseline = 'middle';\n            ctx.shadowColor = colors.shadowColor;\n            ctx.shadowBlur = 8;\n            ctx.fillStyle = colors.textColor;\n            ctx.fillText(txt, x, y);\n            ctx.shadowBlur = 0;\n        }\n\n        \/\/ ---- \u8d77\u6b62\u65f6\u95f4\u6807\u7b7e\uff08\u900f\u660e\u80cc\u666f\uff0c\u9ad8\u5bf9\u6bd4\u6587\u5b57\uff09 ----\n        function drawTermTimeLabels(key, term) {\n            const { start: startAngle, end: endAngle } = termAngles[key];\n            const colors = COLORS[term.color];\n\n            const outerR = RADIUS - 6;\n            const innerR = RADIUS * 0.7;\n            drawRadialTimeLabel(startAngle, term.start, colors, outerR, innerR);\n            drawRadialTimeLabel(endAngle, term.end, colors, outerR, innerR);\n        }\n\n        function drawRadialTimeLabel(angle, dateObj, colors, outerR, innerR) {\n            const dateStr = formatDateChinese(dateObj);\n            const timeStr = formatTime(dateObj);\n            const fontSize = 8;\n            const lineHeight = 10;\n\n            const radius = (outerR + innerR) \/ 2 + 4;\n            const x = CX + Math.cos(angle) * radius;\n            const y = CY + Math.sin(angle) * radius;\n\n            ctx.save();\n            ctx.translate(x, y);\n            ctx.rotate(angle);\n\n            \/\/ \u5b8c\u5168\u900f\u660e\u80cc\u666f\uff0c\u4e0d\u7ed8\u5236\u4efb\u4f55\u77e9\u5f62\n            \/\/ \u4ec5\u7ed8\u5236\u6587\u5b57\uff0c\u5e26\u6df1\u8272\u9634\u5f71\n            ctx.font = `${fontSize}px \"Inter\", monospace`;\n            ctx.textAlign = 'center';\n            ctx.textBaseline = 'middle';\n            ctx.shadowColor = 'rgba(0,0,0,0.9)';\n            ctx.shadowBlur = 6;\n            ctx.fillStyle = colors.textColor; \/\/ \u7eaf\u767d\n            ctx.fillText(dateStr, 0, -lineHeight\/2);\n            ctx.fillText(timeStr, 0, lineHeight\/2);\n            ctx.shadowBlur = 0;\n\n            ctx.restore();\n        }\n\n        \/\/ ---- \u5185\u73af\u88c5\u9970 ----\n        function drawInnerRing() {\n            const r = INNER_RADIUS;\n            ctx.beginPath();\n            ctx.arc(CX, CY, r, 0, 2 * Math.PI);\n            ctx.strokeStyle = 'rgba(255,255,255,0.04)';\n            ctx.lineWidth = 1;\n            ctx.stroke();\n\n            for (let i = 0; i < 72; i++) {\n                const angle = (i \/ 72) * 2 * Math.PI;\n                const dotR = (i % 6 === 0) ? 4 : 2;\n                const dx = CX + Math.cos(angle) * (r - 6);\n                const dy = CY + Math.sin(angle) * (r - 6);\n                ctx.beginPath();\n                ctx.arc(dx, dy, dotR, 0, 2 * Math.PI);\n                ctx.fillStyle = (i % 6 === 0) ? 'rgba(255,255,255,0.06)' : 'rgba(255,255,255,0.02)';\n                ctx.fill();\n            }\n        }\n\n        \/\/ ---- \u5f53\u524d\u65f6\u523b\u6807\u8bb0 ----\n        function drawCurrentMarker(now) {\n            const offset = getOffsetSec(now);\n            const clamped = clamp(offset, 0, TOTAL_SEC);\n            const angle = offsetToAngle(clamped);\n            const radius = RADIUS * 0.78;\n            const x = CX + Math.cos(angle) * radius;\n            const y = CY + Math.sin(angle) * radius;\n\n            const glow = ctx.createRadialGradient(x, y, 0, x, y, 46);\n            glow.addColorStop(0, 'rgba(255,215,100,0.35)');\n            glow.addColorStop(0.3, 'rgba(255,215,100,0.12)');\n            glow.addColorStop(1, 'rgba(255,215,100,0)');\n            ctx.fillStyle = glow;\n            ctx.beginPath();\n            ctx.arc(x, y, 46, 0, 2 * Math.PI);\n            ctx.fill();\n\n            ctx.beginPath();\n            ctx.arc(x, y, 18, 0, 2 * Math.PI);\n            ctx.strokeStyle = 'rgba(255,215,100,0.3)';\n            ctx.lineWidth = 2;\n            ctx.setLineDash([4, 6]);\n            ctx.stroke();\n            ctx.setLineDash([]);\n\n            const grad = ctx.createRadialGradient(x, y, 0, x, y, 12);\n            grad.addColorStop(0, '#ffffff');\n            grad.addColorStop(0.3, '#f5d06a');\n            grad.addColorStop(0.7, '#e8a838');\n            grad.addColorStop(1, 'rgba(232,168,56,0.2)');\n            ctx.fillStyle = grad;\n            ctx.beginPath();\n            ctx.arc(x, y, 12, 0, 2 * Math.PI);\n            ctx.fill();\n\n            ctx.fillStyle = 'rgba(255,255,255,0.6)';\n            ctx.beginPath();\n            ctx.arc(x - 3, y - 4, 3.5, 0, 2 * Math.PI);\n            ctx.fill();\n\n            ctx.beginPath();\n            ctx.moveTo(CX, CY);\n            ctx.lineTo(x, y);\n            ctx.strokeStyle = 'rgba(255,215,100,0.08)';\n            ctx.lineWidth = 1;\n            ctx.setLineDash([3, 6]);\n            ctx.stroke();\n            ctx.setLineDash([]);\n\n            const timeStr = formatTime(now);\n            ctx.font = '500 11px \"Inter\", monospace';\n            ctx.fillStyle = 'rgba(255,215,100,0.7)';\n            ctx.textAlign = 'center';\n            ctx.textBaseline = 'bottom';\n            const labelR = RADIUS * 0.92;\n            const lx = CX + Math.cos(angle) * labelR;\n            const ly = CY + Math.sin(angle) * labelR;\n            ctx.shadowColor = 'rgba(0,0,0,0.6)';\n            ctx.shadowBlur = 4;\n            ctx.fillText(timeStr, lx, ly - 2);\n            ctx.shadowBlur = 0;\n        }\n\n        \/\/ ---- \u73af\u5fc3\u4fe1\u606f\uff08\u4fdd\u7559\u534a\u900f\u660e\u80cc\u666f\u4ee5\u4fdd\u8bc1\u53ef\u8bfb\u6027\uff09 ----\n        function drawCenterInfo(now) {\n            const r = RADIUS * 0.42;\n            const grad = ctx.createRadialGradient(CX, CY, 0, CX, CY, r);\n            grad.addColorStop(0, 'rgba(10,14,22,0.75)');\n            grad.addColorStop(0.7, 'rgba(10,14,22,0.85)');\n            grad.addColorStop(1, 'rgba(10,14,22,0.92)');\n            ctx.fillStyle = grad;\n            ctx.beginPath();\n            ctx.arc(CX, CY, r, 0, 2 * Math.PI);\n            ctx.fill();\n\n            ctx.strokeStyle = 'rgba(255,255,255,0.04)';\n            ctx.lineWidth = 0.5;\n            ctx.beginPath();\n            ctx.arc(CX, CY, r, 0, 2 * Math.PI);\n            ctx.stroke();\n\n            let displayNumber;\n            let label;\n            if (centerDisplayMode === 'total') {\n                displayNumber = TOTAL_SEC;\n                label = '\u5168\u5e74\u603b\u79d2\u6570';\n            } else {\n                const elapsed = Math.min(getElapsedSeconds(now), TOTAL_SEC);\n                displayNumber = elapsed;\n                label = '\u5df2\u8fc7\u79d2\u6570';\n            }\n\n            const numStr = formatNumberWithCommas(displayNumber);\n\n            const dateStr = formatDateChinese(now);\n            ctx.font = '400 10px \"Inter\", sans-serif';\n            ctx.fillStyle = 'rgba(255,255,255,0.25)';\n            ctx.textAlign = 'center';\n            ctx.textBaseline = 'bottom';\n            ctx.fillText(dateStr, CX, CY - 34);\n\n            ctx.font = '600 26px \"Inter\", monospace';\n            ctx.fillStyle = '#e8edf5';\n            ctx.textBaseline = 'middle';\n            ctx.fillText(numStr, CX, CY - 2);\n\n            ctx.font = '300 10px \"Inter\", sans-serif';\n            ctx.fillStyle = 'rgba(255,255,255,0.2)';\n            ctx.textBaseline = 'top';\n            const unitX = CX + ctx.measureText(numStr).width \/ 2 + 6;\n            ctx.fillText('\u79d2', unitX, CY - 6);\n\n            ctx.font = '300 10px \"Inter\", sans-serif';\n            ctx.fillStyle = 'rgba(255,255,255,0.15)';\n            ctx.textBaseline = 'top';\n            ctx.fillText(label, CX, CY + 24);\n\n            const offset = clamp(getOffsetSec(now), 0, TOTAL_SEC);\n            const pct = (offset \/ TOTAL_SEC * 100);\n            ctx.font = '300 9px \"Inter\", sans-serif';\n            ctx.fillStyle = 'rgba(255,255,255,0.12)';\n            ctx.textBaseline = 'top';\n            ctx.fillText(`\u8fdb\u5ea6 ${pct.toFixed(1)}%`, CX, CY + 38);\n        }\n\n        \/\/ ================================================================\n        \/\/  \u542f\u52a8\u52a8\u753b\n        \/\/ ================================================================\n\n        function tick() {\n            const now = getNow();\n            draw(now);\n            requestAnimationFrame(tick);\n        }\n\n        if (document.readyState === 'complete') {\n            tick();\n        } else {\n            window.addEventListener('load', tick);\n        }\n    })();\n<\/script>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-10361","post","type-post","status-publish","format-standard","hentry","category-notes"],"_links":{"self":[{"href":"https:\/\/www.dzrgw.cn\/index.php?rest_route=\/wp\/v2\/posts\/10361","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dzrgw.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dzrgw.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dzrgw.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dzrgw.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10361"}],"version-history":[{"count":8,"href":"https:\/\/www.dzrgw.cn\/index.php?rest_route=\/wp\/v2\/posts\/10361\/revisions"}],"predecessor-version":[{"id":10371,"href":"https:\/\/www.dzrgw.cn\/index.php?rest_route=\/wp\/v2\/posts\/10361\/revisions\/10371"}],"wp:attachment":[{"href":"https:\/\/www.dzrgw.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10361"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dzrgw.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10361"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dzrgw.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10361"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}