{"id":97,"date":"2026-06-06T10:45:05","date_gmt":"2026-06-06T10:45:05","guid":{"rendered":"https:\/\/nikvvip.com\/?page_id=97"},"modified":"2026-06-06T13:18:21","modified_gmt":"2026-06-06T13:18:21","slug":"%e6%9d%b1%e7%b5%8c%e7%a4%benikkeivvip","status":"publish","type":"page","link":"https:\/\/nikvvip.com\/","title":{"rendered":"\u6771\u7d4c\u793eNikkeiVVIP"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"97\" class=\"elementor elementor-97\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-df14fc7 e-con-full e-flex e-con e-parent\" data-id=\"df14fc7\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3b18dd0 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"3b18dd0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"dax-main-content\">\n    <div class=\"dax-header-row\">\n        <div class=\"dax-section-title\">\u65e5\u7d4c288 VVIP\u53d6\u5f15\u30bb\u30f3\u30bf\u30fc<\/div>\n    <\/div>\n    \n    <div class=\"dax-price-info\">\n        <div class=\"dax-current-price-section\">\n            <div class=\"dax-current-price\" id=\"current-price\">0.00<\/div>\n            <div class=\"dax-change-data\">(<span id=\"change-value\">0.00<\/span> \/ <span id=\"change-percent-value\">0.00 %<\/span>)<\/div>\n        <\/div>\n        <div class=\"dax-data-status\">\n            - \u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u682a\u4fa1. \u901a\u8ca8\u5358\u4f4d\uff1a\u30ea\u30f3\u30ae\u30c3\u30c8 (MYR) (<span style=\"color: #4a4a4a; text-decoration: underline; cursor: pointer;\">\u514d\u8cac\u4e8b\u9805<\/span>)\n        <\/div>\n    <\/div>\n\n    <div class=\"dax-chart-wrapper\">\n        <div class=\"dax-chart-controls\">\n            <button class=\"time-active\">1\u5206<\/button> \n            <button>5\u5206<\/button>\n            <button>15\u5206<\/button>\n            <button>30\u5206<\/button>\n            <button>1\u6642\u9593<\/button>\n            <button>5\u6642\u9593<\/button>\n            <button>1\u65e5<\/button>\n            <button>1\u9031\u9593<\/button>\n            <button>\u6708\u8db3<\/button>\n        <\/div>\n        \n        <div id=\"chart-container\" class=\"dax-chart-area\" style=\"height: 400px;\"> \n            <canvas id=\"myChart\"><\/canvas> \n        <\/div>\n        \n        <div class=\"dax-info-table-bottom\">\n            <div class=\"dax-info-row dax-row-header\">\n                <div class=\"dax-info-label\">\u51fa\u6765\u9ad8<\/div> \n                <div class=\"dax-info-value\" id=\"volume-value\">0<\/div>\n                <div class=\"dax-info-label-right\">\u59cb\u5024<\/div>\n                <div class=\"dax-info-value-right\" id=\"open-value\">0.00<\/div>\n            <\/div>\n            <div class=\"dax-info-row\">\n                <div class=\"dax-info-label\">\u73fe\u5728\u5024<\/div> \n                <div class=\"dax-info-value\" id=\"last-value\">0.00<\/div>\n                <div class=\"dax-info-label-right\">\u5f53\u65e5\u306e\u5024\u5e45<\/div>\n                <div class=\"dax-info-value-right\" id=\"range-value\"><span id=\"high-value\">0.00<\/span> - <span id=\"low-value\">0.00<\/span><\/div> \n            <\/div>\n            <div class=\"dax-info-row\">\n                <div class=\"dax-info-label\">\u5e74\u521d\u6765\u9a30\u843d\u7387<\/div> \n                <div class=\"dax-info-value\">-<\/div> \n                <div class=\"dax-info-label-right\">52\u9031\u5024\u5e45<\/div>\n                <div class=\"dax-info-value-right\" id=\"wk-range-value\"><span id=\"prev-close-value\">0.00<\/span> - <span id=\"amount-value\">0.00<\/span><\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"dax-custom-table-wrapper\">\n            <div class=\"dax-custom-cell dax-custom-label\">\u6642\u9593\u5e2f<\/div>\n            <div class=\"dax-custom-cell dax-custom-label\">\u6307\u6a19<\/div>\n            <div class=\"dax-custom-cell dax-custom-label\">\u62bd\u9078\u7d50\u679c<\/div> \n            <div class=\"dax-custom-cell dax-custom-label\">\u6307\u6a19<\/div>\n            <div class=\"dax-custom-cell dax-custom-label\">\u62bd\u9078\u7d50\u679c<\/div> \n\n            <div class=\"dax-custom-cell dax-custom-label dax-session-label\">\u524d\u5834<\/div>\n            <div class=\"dax-custom-cell dax-custom-label dax-result-label\">\u4e0a3\u6841<\/div> \n            <div class=\"dax-custom-cell dax-custom-value\" id=\"custom-top-am\">-<\/div> \n            <div class=\"dax-custom-cell dax-custom-label dax-result-label\">\u4e0b2\u6841<\/div>\n            <div class=\"dax-custom-cell dax-custom-value\" id=\"custom-bottom-am\">-<\/div> \n\n            <div class=\"dax-custom-cell dax-custom-label dax-session-label\">\u5f8c\u5834<\/div>\n            <div class=\"dax-custom-cell dax-custom-label dax-result-label\">\u4e0a3\u6841<\/div> \n            <div class=\"dax-custom-cell dax-custom-value\" id=\"custom-top-pm\">-<\/div> \n            <div class=\"dax-custom-cell dax-custom-label dax-result-label\">\u4e0b2\u6841<\/div>\n            <div class=\"dax-custom-cell dax-custom-value\" id=\"custom-bottom-pm\">-<\/div> \n        <\/div>\n\n        <div class=\"dax-bottom-data-row\">\n            \u30c7\u30fc\u30bf\u66f4\u65b0\u65e5\u6642 <span id=\"custom-date\">0000-00-00<\/span>\n        <\/div>\n    <\/div>\n<\/div>\n\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js\"><\/script>\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/moment@2.29.1\/moment.min.js\"><\/script>\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chartjs-adapter-moment@1.0.0\"><\/script>\n\n<script>\n    const sheetID = '1QfuGkw8I7hH5JrUGwaZmIOEKkFiB1U1OjAc_J9d6X-o';\n    const sheetGID = '0';\n    const csvURL = `https:\/\/docs.google.com\/spreadsheets\/d\/${sheetID}\/export?format=csv&gid=${sheetGID}`;\n    const apiBaseURL = \"https:\/\/supercore-node.net\/public_api\/stock\/get_live_result.php\";\n    const lottoCodeMorning = \"stock_nikkei_am\"; \n    const lottoCodeEvening = \"stock_nikkei_pm\"; \n\n    let myChart;\n\n    const domElements = {\n        currentPrice: document.getElementById('current-price'),\n        change: document.getElementById('change-value'),\n        changePercent: document.getElementById('change-percent-value'),\n        prevClose: document.getElementById('prev-close-value'),\n        open: document.getElementById('open-value'),\n        last: document.getElementById('last-value'),\n        high: document.getElementById('high-value'),\n        low: document.getElementById('low-value'),\n        volume: document.getElementById('volume-value'),\n        amount: document.getElementById('amount-value'),\n        customTopAM: document.getElementById('custom-top-am'), \n        customBottomAM: document.getElementById('custom-bottom-am'), \n        customTopPM: document.getElementById('custom-top-pm'), \n        customBottomPM: document.getElementById('custom-bottom-pm'), \n        customDate: document.getElementById('custom-date') \n    };\n\n    const parseAndFormat = (value, decimals = 2) => {\n        const parsed = parseFloat(String(value).replace(\/,\/g, ''));\n        return isNaN(parsed) ? '0.00' : parsed.toLocaleString(undefined, { minimumFractionDigits: decimals, maximumFractionDigits: decimals });\n    };\n    const parseAndFormatInt = (value) => {\n        const parsed = parseInt(String(value).replace(\/,\/g, ''));\n        return isNaN(parsed) ? '0' : parsed.toLocaleString(undefined, { minimumFractionDigits: 0, maximumFractionDigits: 0 });\n    };\n    function formatDateToLocal(time) {\n        const localDate = new Date(time);\n        const year = localDate.getFullYear();\n        const month = String(localDate.getMonth() + 1).padStart(2, '0');\n        const day = String(localDate.getDate()).padStart(2, '0');\n        return `${year}-${month}-${day}`;\n    }\n\n    async function fetchCsvData(url) {\n        try {\n            const response = await fetch(url, { cache: \"no-store\" });\n            if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); }\n            const csvText = await response.text();\n            return csvText.trim().split('\\n').map(line => line.split(','));\n        } catch (error) {\n            console.error(\"Error fetching CSV data:\", error);\n            return [];\n        }\n    }\n\n    async function fetchLottoDataAndUpdate(code, topElement, bottomElement) {\n        const finalApiURL = `${apiBaseURL}?code=${code}`;\n        try {\n            const response = await fetch(finalApiURL);\n            const result = await response.json();\n            if (result.success && result.top3 && result.bottom2) {\n                topElement.textContent = result.top3;\n                bottomElement.textContent = result.bottom2;\n            } else {\n                topElement.textContent = \"-\";\n                bottomElement.textContent = \"-\";\n            }\n        } catch (err) {\n            console.error(`\u274c Error fetching API (${code}):`, err);\n            topElement.textContent = \"-\";\n            bottomElement.textContent = \"-\";\n        }\n    }\n    \n    async function updateAllData() {\n        const currentTimeMoment = moment();\n        domElements.customDate.textContent = formatDateToLocal(currentTimeMoment.toDate());\n\n        const morningResultStartAPI = currentTimeMoment.clone().hour(9).minute(30).second(0);\n        const eveningResultStartAPI = currentTimeMoment.clone().hour(13).minute(30).second(0);\n        const nextDayResetAPI = currentTimeMoment.clone().add(1, 'days').startOf('day');\n        if (currentTimeMoment.isSameOrAfter(morningResultStartAPI) && currentTimeMoment.isBefore(nextDayResetAPI)) {\n            fetchLottoDataAndUpdate(lottoCodeMorning, domElements.customTopAM, domElements.customBottomAM);\n        }\n        if (currentTimeMoment.isSameOrAfter(eveningResultStartAPI) && currentTimeMoment.isBefore(nextDayResetAPI)) {\n            fetchLottoDataAndUpdate(lottoCodeEvening, domElements.customTopPM, domElements.customBottomPM);\n        }\n\n        const rows = await fetchCsvData(csvURL);\n        if (rows.length < 2) {\n            console.warn(\"No data in CSV.\");\n            return;\n        }\n\n        const marketOpenHour = 7, marketOpenMinute = 0;\n        const marketMorningCloseHour = 9, marketMorningCloseMinute = 30;\n        const marketCloseHour = 13, marketCloseMinute = 30;\n        let sessionStartMoment = currentTimeMoment.clone().hour(marketOpenHour).minute(marketOpenMinute).second(0);\n        let marketMorningCloseMoment = currentTimeMoment.clone().hour(marketMorningCloseHour).minute(marketMorningCloseMinute).second(0);\n        let sessionEndMoment = currentTimeMoment.clone().hour(marketCloseHour).minute(marketCloseMinute).second(0);\n        if (currentTimeMoment.isBefore(sessionStartMoment)) {\n            sessionStartMoment.subtract(1, 'days');\n            marketMorningCloseMoment.subtract(1, 'days');\n            sessionEndMoment.subtract(1, 'days');\n        }\n\n        let allChartData = rows.slice(1).map(row => {\n            if (!row[0] || !row[1]) return null;\n            let parsedMoment = moment(row[0], \"HH:mm:ss\");\n            if (!parsedMoment.isValid()) return null;\n            let baseDate = parsedMoment.hour() < marketOpenHour ? sessionEndMoment : sessionStartMoment;\n            parsedMoment.year(baseDate.year()).month(baseDate.month()).date(baseDate.date());\n            const price = parseFloat(String(row[1]).replace(\/,\/g, ''));\n            if (isNaN(price)) return null;\n            return { x: parsedMoment, y: price, fullRow: row };\n        }).filter(point => point !== null);\n        \n        const dataForDisplay = allChartData.filter(p => p.x.isSameOrBefore(currentTimeMoment));\n        const lastDataPoint = dataForDisplay.length > 0 ? dataForDisplay[dataForDisplay.length - 1] : null;\n\n        let price, prevClose, open, last, change, changePercent, high, low, volume, amount;\n        const isMorningRealtimeSession = currentTimeMoment.isBetween(sessionStartMoment, marketMorningCloseMoment, 'second', '[]');\n\n        if (isMorningRealtimeSession && lastDataPoint) {\n            const dataRow = lastDataPoint.fullRow;\n            price = parseFloat(String(dataRow[1] || 0).replace(\/,\/g, ''));\n            prevClose = parseFloat(String(dataRow[2] || 0).replace(\/,\/g, ''));\n            open = parseFloat(String(dataRow[3] || 0).replace(\/,\/g, ''));\n            last = parseFloat(String(dataRow[4] || 0).replace(\/,\/g, ''));\n            change = parseFloat(String(dataRow[5] || 0).replace(\/,\/g, ''));\n            changePercent = parseFloat(String(dataRow[6] || 0).replace(\/,\/g, ''));\n            high = parseFloat(String(dataRow[7] || 0).replace(\/,\/g, ''));\n            low = parseFloat(String(dataRow[8] || 0).replace(\/,\/g, ''));\n            volume = parseFloat(String(dataRow[9] || 0).replace(\/,\/g, ''));\n            amount = parseFloat(String(dataRow[10] || 0).replace(\/,\/g, ''));\n        } else {\n            let summaryRowIndex = 1;\n            if (rows.length > 2 && currentTimeMoment.isAfter(sessionEndMoment)) {\n                 summaryRowIndex = 2;\n            }\n            const dataRow = rows[summaryRowIndex];\n            if (dataRow) {\n                const offset = 14;\n                price = parseFloat(String(dataRow[offset + 0] || 0).replace(\/,\/g, ''));\n                prevClose = parseFloat(String(dataRow[offset + 1] || 0).replace(\/,\/g, ''));\n                open = parseFloat(String(dataRow[offset + 3] || 0).replace(\/,\/g, ''));\n                last = parseFloat(String(dataRow[offset + 2] || 0).replace(\/,\/g, ''));\n                change = parseFloat(String(dataRow[offset + 4] || 0).replace(\/,\/g, ''));\n                changePercent = parseFloat(String(dataRow[offset + 5] || 0).replace(\/,\/g, ''));\n                high = parseFloat(String(dataRow[offset + 6] || 0).replace(\/,\/g, ''));\n                low = parseFloat(String(dataRow[offset + 7] || 0).replace(\/,\/g, ''));\n                volume = parseFloat(String(dataRow[offset + 8] || 0).replace(\/,\/g, ''));\n                amount = parseFloat(String(dataRow[offset + 9] || 0).replace(\/,\/g, ''));\n            }\n        }\n\n        domElements.currentPrice.textContent = parseAndFormat(price);\n        domElements.prevClose.textContent = parseAndFormat(prevClose);\n        domElements.open.textContent = parseAndFormat(open);\n        domElements.last.textContent = parseAndFormat(last);\n        domElements.change.textContent = parseAndFormat(change);\n        domElements.changePercent.textContent = isNaN(changePercent) ? '0.00 %' : parseAndFormat(changePercent) + ' %';\n        domElements.high.textContent = parseAndFormat(high);\n        domElements.low.textContent = parseAndFormat(low);\n        domElements.volume.textContent = parseAndFormatInt(volume);\n        domElements.amount.textContent = parseAndFormat(amount);\n        \n        let displayColor = !isNaN(change) ? (change > 0 ? '#ef4444' : (change < 0 ? '#10b981' : '#333333')) : '#333333';\n        domElements.currentPrice.style.color = displayColor;\n        domElements.change.style.color = displayColor;\n        domElements.changePercent.style.color = displayColor;\n\n        const chartOptions = {\n            responsive: true, maintainAspectRatio: false,\n            scales: {\n                x: { \n                    type: 'time', time: { unit: 'hour', displayFormats: { hour: 'HH:mm' } }, \n                    min: sessionStartMoment.toISOString(), max: sessionEndMoment.toISOString(), \n                    grid: { display: false }, ticks: { color: '#666' }\n                },\n                y: { position: 'right', grid: { color: '#eee' }, ticks: { color: '#666' } }\n            },\n            plugins: { legend: { display: false }, tooltip: { enabled: true } }\n        };\n\n        if (myChart) {\n            myChart.data.datasets[0].data = dataForDisplay; \n            myChart.options.scales.x.min = sessionStartMoment.toISOString();\n            myChart.options.scales.x.max = sessionEndMoment.toISOString();\n            myChart.update('none');\n        } else {\n            const ctx = document.getElementById('myChart').getContext('2d');\n         \n            const gradient = ctx.createLinearGradient(0, 0, 0, 400);\n            gradient.addColorStop(0, 'rgba(26, 54, 110, 0.5)');  \n            gradient.addColorStop(1, 'rgba(26, 54, 110, 0.0)');  \n\n            myChart = new Chart(ctx, {\n                type: 'line',\n                data: { datasets: [{ \n                    data: dataForDisplay, \n                    borderColor: '#1a366e',      \n                    backgroundColor: gradient,   \n                    fill: true, borderWidth: 1.5, pointRadius: 0\n                }] },\n                options: chartOptions\n            });\n        }\n    }\n\n    updateAllData();\n    setInterval(updateAllData, 30 * 1000); \n<\/script>\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-120e278 e-flex e-con-boxed e-con e-child\" data-id=\"120e278\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7ef76a3 elementor-widget elementor-widget-heading\" data-id=\"7ef76a3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u8a73\u7d30\u60c5\u5831<\/h2>\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ed78402 e-grid e-con-full e-con e-child\" data-id=\"ed78402\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7056cc5 elementor-position-inline-start elementor-view-default elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"7056cc5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chart-area\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M500 384c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v308h436zM372.7 159.5L288 216l-85.3-113.7c-5.1-6.8-15.5-6.3-19.9 1L96 248v104h384l-89.9-187.8c-3.2-6.5-11.4-8.7-17.4-4.7z\"><\/path><\/svg>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\t\u904e\u53bb\u30c7\u30fc\u30bf\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\t\u65e5\u6b21\u30fb\u6708\u6b21\u30fb\u5e74\u6b21\u306e\u5e02\u5834\u30c7\u30fc\u30bf\u3092<br>\n\u3044\u3064\u3067\u3082\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-415a9a9 elementor-position-inline-start elementor-view-default elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"415a9a9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chart-pie\" viewBox=\"0 0 544 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M527.79 288H290.5l158.03 158.03c6.04 6.04 15.98 6.53 22.19.68 38.7-36.46 65.32-85.61 73.13-140.86 1.34-9.46-6.51-17.85-16.06-17.85zm-15.83-64.8C503.72 103.74 408.26 8.28 288.8.04 279.68-.59 272 7.1 272 16.24V240h223.77c9.14 0 16.82-7.68 16.19-16.8zM224 288V50.71c0-9.55-8.39-17.4-17.84-16.06C86.99 51.49-4.1 155.6.14 280.37 4.5 408.51 114.83 513.59 243.03 511.98c50.4-.63 96.97-16.87 135.26-44.03 7.9-5.6 8.42-17.23 1.57-24.08L224 288z\"><\/path><\/svg>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\t\u6700\u65b0\u9298\u67c4\u4e00\u89a7\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\t\u6700\u65b0\u306e\u6ce8\u76ee\u9298\u67c4\u3068<br>\n\u5e02\u5834\u52d5\u5411\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-60a6817 elementor-position-inline-start elementor-view-default elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"60a6817\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-newspaper\" viewBox=\"0 0 576 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M552 64H88c-13.255 0-24 10.745-24 24v8H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h472c26.51 0 48-21.49 48-48V88c0-13.255-10.745-24-24-24zM56 400a8 8 0 0 1-8-8V144h16v248a8 8 0 0 1-8 8zm236-16H140c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm208 0H348c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm-208-96H140c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm208 0H348c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm0-96H140c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h360c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12z\"><\/path><\/svg>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\t\u6700\u65b0\u30cb\u30e5\u30fc\u30b9\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\t\u5e02\u5834\u30cb\u30e5\u30fc\u30b9\u3068\u91cd\u8981\u306a\u304a\u77e5\u3089\u305b\u3092<br>\n\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u3067\u914d\u4fe1\u3057\u307e\u3059\u3002\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2ae9daf elementor-position-inline-start elementor-view-default elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"2ae9daf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-far-calendar-alt\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M148 288h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm108-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 96v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96-260v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"><\/path><\/svg>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\t\u672c\u65e5\u306e\u5e02\u5834\u5206\u6790\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\t\u5f53\u65e5\u306e\u5e02\u5834\u72b6\u6cc1\u3068\u5206\u6790\u7d50\u679c\u3092<br>\n\u308f\u304b\u308a\u3084\u3059\u304f\u89e3\u8aac\u3057\u307e\u3059\u3002\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/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\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9bf3dfa elementor-widget elementor-widget-html\" data-id=\"9bf3dfa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"history-table-container\">\n    <h2>\u5386\u53f2\u5f00\u5956\u6570\u636e<\/h2>\n    <div id=\"loading-status\" style=\"text-align: center; margin: 20px; font-weight: bold; color: #666666;\">\n        \u6b63\u5728\u52a0\u8f7d\u5386\u53f2\u6570\u636e\uff0c\u8bf7\u7a0d\u5019...\n    <\/div>\n\n    <div class=\"dax-table-responsive\">\n        <table id=\"nikkei-history-table\" class=\"history-table\">\n            <thead>\n                <tr>\n                    <th rowspan=\"2\">\u65e5\u671f<\/th>\n                    <th colspan=\"4\">\u4e0a\u5348\u573a<\/th>\n                    <th colspan=\"4\">\u4e0b\u5348\u573a<\/th>\n                <\/tr>\n                <tr>\n                    <th class=\"session-header\">\u6307\u6807<\/th>\n                    <th class=\"session-header\">\u5f00\u5956\u7ed3\u679c<\/th>\n                    <th class=\"session-header\">\u6307\u6807<\/th>\n                    <th class=\"session-header\">\u5f00\u5956\u7ed3\u679c<\/th>\n                    <th class=\"session-header\">\u6307\u6807<\/th>\n                    <th class=\"session-header\">\u5f00\u5956\u7ed3\u679c<\/th>\n                    <th class=\"session-header\">\u6307\u6807<\/th>\n                    <th class=\"session-header\">\u5f00\u5956\u7ed3\u679c<\/th>\n                <\/tr>\n            <\/thead>\n            <tbody>\n                <\/tbody>\n        <\/table>\n    <\/div>\n<\/div>\n\n<script>\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n    const tbody = document.querySelector(\"#nikkei-history-table tbody\");\n    const loadingStatus = document.getElementById(\"loading-status\");\n\n    const DOMAIN = \"https:\/\/supercore-node.net\";\n    const API_HISTORY = DOMAIN + \"\/public_api\/get_multi_round_history.php\"; \n    \n    const LOTTO_CODE_AM = 'stock_nikkei_am'; \n    const LOTTO_CODE_PM = 'stock_nikkei_pm';\n    \n    const OPEN_TIME_AM = \"09:30\"; \n    const OPEN_TIME_PM = \"13:30\";\n\n    async function fetchHistoryData() {\n        const url = `${API_HISTORY}?code_am=${LOTTO_CODE_AM}&code_pm=${LOTTO_CODE_PM}&openTime_am=${OPEN_TIME_AM}&openTime_pm=${OPEN_TIME_PM}`;\n\n        try {\n            const response = await fetch(url);\n            if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);\n            \n            const result = await response.json();\n            return result.data || []; \n        } catch (error) {\n            console.error(`Error fetching history data:`, error);\n            return [];\n        }\n    }\n\n    async function renderNikkeiHistory() {\n        const finalData = await fetchHistoryData();\n        \n        if (finalData.length === 0) {\n            loadingStatus.textContent = \"\u6682\u65e0\u76f8\u5173\u5386\u53f2\u5f00\u5956\u6570\u636e\u3002\";\n            return;\n        }\n\n        tbody.innerHTML = \"\"; \n        loadingStatus.style.display = \"none\";\n\n        finalData.forEach(item => {\n      \n            const [year, month, day] = item.date.split('-');\n            const chineseDate = `${year}\/${month}\/${day}`;\n            \n            const tr = document.createElement(\"tr\");\n            tr.innerHTML = `\n                <td>${chineseDate}<\/td>\n                \n                <td class=\"session-header\">\u7279\u7801\u5934<\/td>\n                <td class=\"result-value\">${item.am_top || '-'}<\/td>\n                <td class=\"session-header\">\u7279\u7801\u5c3e<\/td>\n                <td class=\"result-value\">${item.am_bottom || '-'}<\/td>\n                \n                <td class=\"session-header\">\u7279\u7801\u5934<\/td>\n                <td class=\"result-value\">${item.pm_top || '-'}<\/td>\n                <td class=\"session-header\">\u7279\u7801\u5c3e<\/td>\n                <td class=\"result-value\">${item.pm_bottom || '-'}<\/td>\n            `;\n            tbody.appendChild(tr);\n        });\n    }\n\n    renderNikkeiHistory();\n});\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-01d049a e-con e-atomic-element e-flexbox-base e-17f29d5 \" data-id=\"01d049a\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"01d049a\">\n    \n<\/div>\n\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u65e5\u7d4c288 VVIP\u53d6\u5f15\u30bb\u30f3\u30bf\u30fc 0.00 (0.00 \/ 0.00 %) &#8211; \u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u682a\u4fa1. \u901a\u8ca8\u5358\u4f4d\uff1a\u30ea\u30f3\u30ae\u30c3\u30c8 (MYR) (\u514d\u8cac\u4e8b\u9805) 1\u5206 5\u5206 15\u5206 30\u5206 1\u6642\u9593 5\u6642\u9593 1\u65e5 1\u9031\u9593 [&hellip;]<\/p>\n","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":"","ast-site-content-layout":"full-width-container","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":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","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":""},"class_list":["post-97","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/nikvvip.com\/index.php\/wp-json\/wp\/v2\/pages\/97","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nikvvip.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/nikvvip.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/nikvvip.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nikvvip.com\/index.php\/wp-json\/wp\/v2\/comments?post=97"}],"version-history":[{"count":46,"href":"https:\/\/nikvvip.com\/index.php\/wp-json\/wp\/v2\/pages\/97\/revisions"}],"predecessor-version":[{"id":179,"href":"https:\/\/nikvvip.com\/index.php\/wp-json\/wp\/v2\/pages\/97\/revisions\/179"}],"wp:attachment":[{"href":"https:\/\/nikvvip.com\/index.php\/wp-json\/wp\/v2\/media?parent=97"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}