{"id":1766,"date":"2026-03-01T03:56:58","date_gmt":"2026-02-28T19:56:58","guid":{"rendered":"https:\/\/m.nbthjy.cn\/?page_id=1766"},"modified":"2026-03-01T04:03:08","modified_gmt":"2026-02-28T20:03:08","slug":"1766-2","status":"publish","type":"page","link":"https:\/\/m.nbthjy.cn\/index.php\/1766-2\/","title":{"rendered":""},"content":{"rendered":"<p><!DOCTYPE html><br \/>\n<html lang=\"zh-CN\"><br \/>\n<head><br \/>\n    <meta charset=\"UTF-8\"><br \/>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><br \/>\n    <title>\u5c0f\u5408 &#8211; \u5929\u5408\u5bb6\u56ed\u667a\u80fd\u52a9\u624b<\/title><\/p>\n<style>\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing: border-box;\n        }<\/p>\n<p>        body {\n            font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"PingFang SC\", \"Hiragino Sans GB\", \"Microsoft YaHei\", sans-serif;\n            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n            min-height: 100vh;\n            display: flex;\n            flex-direction: column;\n        }<\/p>\n<p>        .header {\n            background: rgba(255, 255, 255, 0.95);\n            padding: 12px 20px;\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\n            position: sticky;\n            top: 0;\n            z-index: 100;\n        }<\/p>\n<p>        .title {\n            font-size: 18px;\n            font-weight: 600;\n            display: flex;\n            align-items: center;\n            gap: 8px;\n        }<\/p>\n<p>        .status {\n            width: 8px;\n            height: 8px;\n            background: #4CAF50;\n            border-radius: 50%;\n            animation: pulse 2s infinite;\n        }<\/p>\n<p>        @keyframes pulse {\n            0%, 100% { opacity: 1; }\n            50% { opacity: 0.5; }\n        }<\/p>\n<p>        .main-container {\n            flex: 1;\n            padding: 20px;\n            overflow-y: auto;\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            padding-bottom: 80px;\n        }<\/p>\n<p>        .avatar {\n            width: 120px;\n            height: 120px;\n            background: linear-gradient(135deg, #FFB6C1 0%, #FF69B4 100%);\n            border-radius: 50%;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            font-size: 60px;\n            margin-bottom: 20px;\n            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);\n            animation: bounce 2s infinite;\n        }<\/p>\n<p>        @keyframes bounce {\n            0%, 100% { transform: translateY(0); }\n            50% { transform: translateY(-10px); }\n        }<\/p>\n<p>        .welcome-text {\n            text-align: center;\n            margin-bottom: 20px;\n            color: white;\n        }<\/p>\n<p>        .welcome-title {\n            font-size: 24px;\n            font-weight: 700;\n            margin-bottom: 8px;\n        }<\/p>\n<p>        .chat-area {\n            width: 100%;\n            max-width: 800px;\n            background: rgba(255, 255, 255, 0.95);\n            border-radius: 16px;\n            padding: 20px;\n            min-height: 400px;\n            max-height: 600px;\n            overflow-y: auto;\n            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);\n        }<\/p>\n<p>        .message {\n            margin: 10px 0;\n            padding: 12px 16px;\n            border-radius: 12px;\n            animation: fadeIn 0.3s ease-in;\n        }<\/p>\n<p>        @keyframes fadeIn {\n            from { opacity: 0; transform: translateY(10px); }\n            to { opacity: 1; transform: translateY(0); }\n        }<\/p>\n<p>        .message.user {\n            background: linear-gradient(135deg, #4A90E2 0%, #357ABD 100%);\n            color: white;\n            margin-left: 60px;\n            text-align: right;\n        }<\/p>\n<p>        .message.bot {\n            background: #f5f5f5;\n            color: #333;\n            margin-right: 60px;\n            border: 1px solid #e0e0e0;\n        }<\/p>\n<p>        .message-label {\n            font-weight: 600;\n            font-size: 12px;\n            margin-bottom: 5px;\n            opacity: 0.8;\n        }<\/p>\n<p>        .message-content {\n            line-height: 1.6;\n            white-space: pre-wrap;\n        }<\/p>\n<p>        .input-area {\n            position: fixed;\n            bottom: 0;\n            left: 0;\n            right: 0;\n            background: white;\n            padding: 12px 20px;\n            display: flex;\n            gap: 10px;\n            box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);\n        }<\/p>\n<p>        .input-container {\n            flex: 1;\n            max-width: 800px;\n            margin: 0 auto;\n            display: flex;\n            gap: 10px;\n            width: 100%;\n        }<\/p>\n<p>        .input-box {\n            flex: 1;\n            padding: 12px 16px;\n            border: 2px solid #E5E5E5;\n            border-radius: 24px;\n            font-size: 15px;\n            outline: none;\n            transition: border-color 0.3s;\n        }<\/p>\n<p>        .input-box:focus {\n            border-color: #4A90E2;\n        }<\/p>\n<p>        .send-btn {\n            width: 44px;\n            height: 44px;\n            border: none;\n            border-radius: 50%;\n            background: linear-gradient(135deg, #4A90E2 0%, #357ABD 100%);\n            color: white;\n            cursor: pointer;\n            font-size: 20px;\n            transition: transform 0.2s;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n        }<\/p>\n<p>        .send-btn:hover {\n            transform: scale(1.1);\n        }<\/p>\n<p>        .send-btn:active {\n            transform: scale(0.95);\n        }<\/p>\n<p>        .send-btn:disabled {\n            opacity: 0.5;\n            cursor: not-allowed;\n            transform: none;\n        }<\/p>\n<p>        .loading {\n            display: inline-block;\n            width: 20px;\n            height: 20px;\n            border: 2px solid rgba(255, 255, 255, 0.3);\n            border-radius: 50%;\n            border-top-color: white;\n            animation: spin 0.8s linear infinite;\n        }<\/p>\n<p>        @keyframes spin {\n            to { transform: rotate(360deg); }\n        }<\/p>\n<p>        .error {\n            color: #e74c3c;\n            background: #fee;\n            border: 1px solid #fcc;\n            padding: 8px;\n            border-radius: 8px;\n            margin: 10px 0;\n        }<\/p>\n<p>        .quick-questions {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 8px;\n            margin-top: 10px;\n        }<\/p>\n<p>        .quick-btn {\n            padding: 8px 12px;\n            background: #f0f0f0;\n            border: 1px solid #ddd;\n            border-radius: 16px;\n            font-size: 13px;\n            cursor: pointer;\n            transition: all 0.2s;\n        }<\/p>\n<p>        .quick-btn:hover {\n            background: #e0e0e0;\n            border-color: #ccc;\n        }<\/p>\n<p>        .info-panel {\n            margin-top: 10px;\n            padding: 10px;\n            background: #fff;\n            border-radius: 8px;\n            font-size: 12px;\n            color: #666;\n        }<\/p>\n<p>        @media (max-width: 768px) {\n            .avatar {\n                width: 100px;\n                height: 100px;\n                font-size: 50px;\n            }<\/p>\n<p>            .message.user {\n                margin-left: 20px;\n            }<\/p>\n<p>            .message.bot {\n                margin-right: 20px;\n            }\n        }\n    <\/style>\n<p><\/head><br \/>\n<body><\/p>\n<div class=\"header\">\n<div class=\"title\">\n<div class=\"status\"><\/div>\n<p>            \u5c0f\u5408\u667a\u80fd\u52a9\u624b\n        <\/p><\/div>\n<p>        <button onclick=\"clearChat()\" style=\"padding: 6px 12px; border: 1px solid #ddd; border-radius: 6px; background: white; cursor: pointer;\"><br \/>\n            \u6e05\u7a7a\u5bf9\u8bdd<br \/>\n        <\/button>\n    <\/div>\n<div class=\"main-container\">\n<div class=\"avatar\">\ud83d\udc67<\/div>\n<div class=\"welcome-text\">\n<div class=\"welcome-title\">\u4f60\u597d\uff01\u6211\u662f\u5c0f\u5408 \ud83d\udc4b<\/div>\n<div style=\"font-size: 14px; opacity: 0.9;\">\u5929\u5408\u5bb6\u56ed\u667a\u80fd\u7269\u4e1a\u52a9\u624b<\/div>\n<\/p><\/div>\n<div class=\"info-panel\">\n            \ud83d\udca1 \u63d0\u793a\uff1a\u67e5\u8be2\u7269\u4e1a\u8d39\u7b49\u654f\u611f\u4fe1\u606f\u524d\uff0c\u8bf7\u5148\u9a8c\u8bc1\u8eab\u4efd<br \/>\n            \u6d4b\u8bd5\u8d26\u53f7\uff1a120403\uff08\u4e1a\u4e3b\uff09\uff0c\u5bc6\u7801\uff1a111111\n        <\/div>\n<div class=\"chat-area\" id=\"chatArea\">\n<div class=\"quick-questions\" id=\"quickQuestions\">\n                <button class=\"quick-btn\" onclick=\"sendQuickMessage('\u4f60\u597d\uff0c\u6211\u662f\u4e1a\u4e3b')\">\u4f60\u597d\uff0c\u6211\u662f\u4e1a\u4e3b<\/button><br \/>\n                <button class=\"quick-btn\" onclick=\"sendQuickMessage('\u7528\u6237\u540d120403\uff0c\u624b\u673a\u53f713800138001\uff0c\u5bc6\u7801111111\uff0c\u9a8c\u8bc1\u8eab\u4efd')\">\u9a8c\u8bc1\u8eab\u4efd<\/button><br \/>\n                <button class=\"quick-btn\" onclick=\"sendQuickMessage('\u6211\u8981\u62a5\u4fee')\">\u6211\u8981\u62a5\u4fee<\/button><br \/>\n                <button class=\"quick-btn\" onclick=\"sendQuickMessage('\u67e5\u8be2\u6211\u7684\u7269\u4e1a\u8d39')\">\u67e5\u8be2\u7269\u4e1a\u8d39<\/button><br \/>\n                <button class=\"quick-btn\" onclick=\"sendQuickMessage('\u67e5\u770b\u5de5\u5355\u8fdb\u5ea6')\">\u67e5\u770b\u5de5\u5355\u8fdb\u5ea6<\/button>\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"input-area\">\n<div class=\"input-container\">\n            <input type=\"text\" class=\"input-box\" id=\"messageInput\" placeholder=\"\u8f93\u5165\u6d88\u606f...\" autocomplete=\"off\"><br \/>\n            <button class=\"send-btn\" id=\"sendBtn\" onclick=\"sendMessage()\"><br \/>\n                \u27a4<br \/>\n            <\/button>\n        <\/div>\n<\/p><\/div>\n<p>    <script>\n        \/\/ \u914d\u7f6e\n        const API_URL = 'https:\/\/24y75nxxm5.coze.site\/stream_run';\n        const API_TOKEN = 'pat_b5tm2G5Q8K9UCvptSqok5Fc8oweuDyPIBFtSRw2M53WS8dU5ROD7LYm0l7Q3WDQ3';\n        const PROJECT_ID = 7611869072900505650;<\/p>\n<p>        \/\/ \u751f\u6210\u552f\u4e00\u7684session ID\n        let sessionId = 'web_' + Date.now() + '_' + Math.random().toString(36).substr(2, 9);\n        let isSending = false;<\/p>\n<p>        function addMessage(text, isUser) {\n            const chatArea = document.getElementById('chatArea');\n            const div = document.createElement('div');\n            div.className = 'message ' + (isUser ? 'user' : 'bot');<\/p>\n<p>            const label = document.createElement('div');\n            label.className = 'message-label';\n            label.textContent = isUser ? '\u4f60' : '\u5c0f\u5408';<\/p>\n<p>            const content = document.createElement('div');\n            content.className = 'message-content';\n            content.textContent = text;<\/p>\n<p>            div.appendChild(label);\n            div.appendChild(content);\n            chatArea.appendChild(div);<\/p>\n<p>            setTimeout(() => {\n                chatArea.scrollTop = chatArea.scrollHeight;\n            }, 100);\n        }<\/p>\n<p>        function addLoading() {\n            const chatArea = document.getElementById('chatArea');\n            const div = document.createElement('div');\n            div.className = 'message bot';\n            div.id = 'loadingMessage';<\/p>\n<p>            const label = document.createElement('div');\n            label.className = 'message-label';\n            label.textContent = '\u5c0f\u5408';<\/p>\n<p>            const content = document.createElement('div');\n            content.className = 'message-content';\n            content.innerHTML = '<span class=\"loading\"><\/span> \u601d\u8003\u4e2d...';<\/p>\n<p>            div.appendChild(label);\n            div.appendChild(content);\n            chatArea.appendChild(div);<\/p>\n<p>            chatArea.scrollTop = chatArea.scrollHeight;\n        }<\/p>\n<p>        function removeLoading() {\n            const loadingMsg = document.getElementById('loadingMessage');\n            if (loadingMsg) {\n                loadingMsg.remove();\n            }\n        }<\/p>\n<p>        function addError(message) {\n            const chatArea = document.getElementById('chatArea');\n            const div = document.createElement('div');\n            div.className = 'error';\n            div.textContent = '\u9519\u8bef: ' + message;\n            chatArea.appendChild(div);\n            chatArea.scrollTop = chatArea.scrollHeight;\n        }<\/p>\n<p>        async function sendMessage() {\n            const input = document.getElementById('messageInput');\n            const message = input.value.trim();<\/p>\n<p>            if (!message || isSending) return;<\/p>\n<p>            \/\/ \u79fb\u9664\u5feb\u6377\u6309\u94ae\n            const quickQs = document.getElementById('quickQuestions');\n            if (quickQs) {\n                quickQs.remove();\n            }<\/p>\n<p>            addMessage(message, true);\n            input.value = '';\n            isSending = true;<\/p>\n<p>            const sendBtn = document.getElementById('sendBtn');\n            sendBtn.disabled = true;\n            sendBtn.innerHTML = '<span class=\"loading\"><\/span>';<\/p>\n<p>            addLoading();<\/p>\n<p>            try {\n                const requestData = {\n                    content: {\n                        query: {\n                            prompt: [{\n                                type: 'text',\n                                content: { text: message }\n                            }]\n                        }\n                    },\n                    type: 'query',\n                    session_id: sessionId,\n                    project_id: PROJECT_ID\n                };<\/p>\n<p>                console.log('\u53d1\u9001\u8bf7\u6c42:', requestData);<\/p>\n<p>                const response = await fetch(API_URL, {\n                    method: 'POST',\n                    headers: {\n                        'Authorization': `Bearer ${API_TOKEN}`,\n                        'Content-Type': 'application\/json'\n                    },\n                    body: JSON.stringify(requestData)\n                });<\/p>\n<p>                console.log('\u54cd\u5e94\u72b6\u6001:', response.status);<\/p>\n<p>                removeLoading();<\/p>\n<p>                if (!response.ok) {\n                    const errorText = await response.text();\n                    throw new Error(`HTTP ${response.status}: ${errorText}`);\n                }<\/p>\n<p>                const result = await response.json();\n                console.log('\u54cd\u5e94\u6570\u636e:', result);<\/p>\n<p>                \/\/ \u63d0\u53d6\u56de\u590d\u6587\u672c\n                let replyText = '';\n                if (result.error) {\n                    replyText = result.error.message || result.error;\n                } else if (result.data) {\n                    if (typeof result.data === 'string') {\n                        replyText = result.data;\n                    } else if (result.data.content) {\n                        if (typeof result.data.content === 'string') {\n                            replyText = result.data.content;\n                        } else if (typeof result.data.content === 'object') {\n                            replyText = JSON.stringify(result.data.content, null, 2);\n                        } else {\n                            replyText = String(result.data.content);\n                        }\n                    } else {\n                        replyText = JSON.stringify(result.data, null, 2);\n                    }\n                } else {\n                    replyText = JSON.stringify(result, null, 2);\n                }<\/p>\n<p>                if (replyText) {\n                    addMessage(replyText, false);\n                } else {\n                    addError('\u672a\u6536\u5230\u6709\u6548\u56de\u590d');\n                }<\/p>\n<p>            } catch (error) {\n                console.error('\u8bf7\u6c42\u5f02\u5e38:', error);\n                removeLoading();\n                addError(error.message);\n            } finally {\n                isSending = false;\n                const sendBtn = document.getElementById('sendBtn');\n                sendBtn.disabled = false;\n                sendBtn.innerHTML = '\u27a4';\n                input.focus();\n            }\n        }<\/p>\n<p>        function sendQuickMessage(message) {\n            const input = document.getElementById('messageInput');\n            input.value = message;\n            sendMessage();\n        }<\/p>\n<p>        function clearChat() {\n            const chatArea = document.getElementById('chatArea');\n            chatArea.innerHTML = `<\/p>\n<div class=\"quick-questions\" id=\"quickQuestions\">\n                    <button class=\"quick-btn\" onclick=\"sendQuickMessage('\u4f60\u597d\uff0c\u6211\u662f\u4e1a\u4e3b')\">\u4f60\u597d\uff0c\u6211\u662f\u4e1a\u4e3b<\/button>\n                    <button class=\"quick-btn\" onclick=\"sendQuickMessage('\u7528\u6237\u540d120403\uff0c\u624b\u673a\u53f713800138001\uff0c\u5bc6\u7801111111\uff0c\u9a8c\u8bc1\u8eab\u4efd')\">\u9a8c\u8bc1\u8eab\u4efd<\/button>\n                    <button class=\"quick-btn\" onclick=\"sendQuickMessage('\u6211\u8981\u62a5\u4fee')\">\u6211\u8981\u62a5\u4fee<\/button>\n                    <button class=\"quick-btn\" onclick=\"sendQuickMessage('\u67e5\u8be2\u6211\u7684\u7269\u4e1a\u8d39')\">\u67e5\u8be2\u7269\u4e1a\u8d39<\/button>\n                    <button class=\"quick-btn\" onclick=\"sendQuickMessage('\u67e5\u770b\u5de5\u5355\u8fdb\u5ea6')\">\u67e5\u770b\u5de5\u5355\u8fdb\u5ea6<\/button>\n                <\/div>\n<p>            `;\n            \/\/ \u91cd\u7f6esession ID\n            sessionId = 'web_' + Date.now() + '_' + Math.random().toString(36).substr(2, 9);\n        }<\/p>\n<p>        document.getElementById('messageInput').addEventListener('keypress', (e) => {\n            if (e.key === 'Enter') {\n                sendMessage();\n            }\n        });<\/p>\n<p>        window.onload = function() {\n            document.getElementById('messageInput').focus();\n        };\n    <\/script><br \/>\n<\/body><br \/>\n<\/html><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5c0f\u5408 &#8211; \u5929\u5408\u5bb6\u56ed\u667a\u80fd\u52a9\u624b \u5c0f\u5408\u667a\u80fd\u52a9\u624b \u6e05\u7a7a\u5bf9\u8bdd \ud83d\udc67 \u4f60\u597d\uff01\u6211\u662f\u5c0f\u5408 \ud83d\udc4b \u5929\u5408\u5bb6\u56ed\u667a\u80fd\u7269\u4e1a\u52a9\u624b  [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1766","page","type-page","status-publish","hentry"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/m.nbthjy.cn\/index.php\/wp-json\/wp\/v2\/pages\/1766","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/m.nbthjy.cn\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/m.nbthjy.cn\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/m.nbthjy.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/m.nbthjy.cn\/index.php\/wp-json\/wp\/v2\/comments?post=1766"}],"version-history":[{"count":4,"href":"https:\/\/m.nbthjy.cn\/index.php\/wp-json\/wp\/v2\/pages\/1766\/revisions"}],"predecessor-version":[{"id":1772,"href":"https:\/\/m.nbthjy.cn\/index.php\/wp-json\/wp\/v2\/pages\/1766\/revisions\/1772"}],"wp:attachment":[{"href":"https:\/\/m.nbthjy.cn\/index.php\/wp-json\/wp\/v2\/media?parent=1766"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}