{"id":2635,"date":"2023-10-18T09:48:03","date_gmt":"2023-10-18T01:48:03","guid":{"rendered":"https:\/\/bookmark.tw\/?p=2635"},"modified":"2025-08-23T18:18:59","modified_gmt":"2025-08-23T10:18:59","slug":"harvard-emotional-intelligence","status":"publish","type":"post","link":"https:\/\/xinliceyan.org\/zh\/harvard-emotional-intelligence","title":{"rendered":"\u54c8\u4f5b\u60c5\u5546\u7dda\u4e0a\u514d\u8cbb\u6e2c\u9a57"},"content":{"rendered":"<link href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/bootstrap\/5.3.3\/css\/bootstrap.min.css\" rel=\"stylesheet\">\n    <link href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/bootstrap-icons\/1.11.3\/font\/bootstrap-icons.min.css\" rel=\"stylesheet\">\n<style>\n    \/* \u81ea\u5b9a\u7fa9CSS - \u4f7f\u7528\u8212\u7de9\u7642\u7652\u7684\u8272\u5f69 *\/\n    .eq-test-container {\n        font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n        max-width: 750px;\n        margin: 0 auto;\n        padding: 0;\n    }\n    \n    .eq-page {\n        display: none;\n        animation: fadeIn 0.5s ease-in;\n        padding: 1.5rem 1rem;\n    }\n    \n    .eq-page.active {\n        display: block;\n    }\n    \n    @keyframes fadeIn {\n        from { opacity: 0; transform: translateY(10px); }\n        to { opacity: 1; transform: translateY(0); }\n    }\n    \n    \/* \u6a19\u984c\u6a23\u5f0f - \u4f7f\u7528 h3 \u6a19\u7c64 *\/\n    h3.question-title {\n        font-size: 22px !important;\n        font-weight: bold !important;\n        color: #2c5f2d;\n        line-height: 1.5;\n        margin-bottom: 1.5rem;\n    }\n    \n    \/* \u5f15\u5c0e\u9801\u6a23\u5f0f *\/\n    .intro-feature {\n        background: white;\n        border-radius: 12px;\n        padding: 1.5rem;\n        box-shadow: 0 2px 8px rgba(0,0,0,0.06);\n        transition: transform 0.3s ease, box-shadow 0.3s ease;\n    }\n    \n    .intro-feature:hover {\n        transform: translateY(-3px);\n        box-shadow: 0 4px 12px rgba(0,0,0,0.1);\n    }\n    \n    .intro-icon {\n        width: 60px;\n        height: 60px;\n        background: linear-gradient(135deg, #97c93d 0%, #6ab04c 100%);\n        border-radius: 50%;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        margin: 0 auto 1rem;\n    }\n    \n    .start-btn {\n        background: linear-gradient(135deg, #6ab04c 0%, #4a8f3c 100%);\n        border: none;\n        padding: 0.875rem 2.5rem;\n        font-size: 18px;\n        font-weight: 600;\n        border-radius: 30px;\n        color: white;\n        transition: all 0.3s ease;\n        box-shadow: 0 3px 10px rgba(106, 176, 76, 0.3);\n    }\n    \n    .start-btn:hover {\n        background: linear-gradient(135deg, #7bc85e 0%, #5aa14e 100%);\n        transform: translateY(-2px);\n        box-shadow: 0 5px 15px rgba(106, 176, 76, 0.4);\n    }\n    \n    \/* \u6e2c\u9a57\u9801\u6a23\u5f0f *\/\n    .progress-container {\n        background: white;\n        border-radius: 12px;\n        padding: 1.25rem;\n        margin-bottom: 1.5rem;\n        box-shadow: 0 2px 8px rgba(0,0,0,0.06);\n    }\n    \n    .question-card {\n        background: white;\n        border-radius: 12px;\n        padding: 1.75rem;\n        box-shadow: 0 2px 10px rgba(0,0,0,0.06);\n    }\n    \n    .option-card {\n        background: white;\n        border: 2px solid #e8f5e9;\n        border-radius: 10px;\n        padding: 1.25rem;\n        margin-bottom: 1rem;\n        cursor: pointer;\n        transition: all 0.3s ease;\n        display: flex;\n        align-items: center;\n    }\n    \n    .option-card:hover {\n        border-color: #81c784;\n        background: #f1f8e9;\n        transform: translateX(3px);\n    }\n    \n    .option-card.selected {\n        border-color: #66bb6a;\n        background: #e8f5e9;\n    }\n    \n    .option-indicator {\n        width: 22px;\n        height: 22px;\n        border: 2px solid #c8e6c9;\n        border-radius: 50%;\n        margin-right: 0.875rem;\n        flex-shrink: 0;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        transition: all 0.3s ease;\n    }\n    \n    .option-card:hover .option-indicator {\n        border-color: #81c784;\n    }\n    \n    .option-card.selected .option-indicator {\n        background: #66bb6a;\n        border-color: #66bb6a;\n    }\n    \n    .option-card.selected .option-indicator::after {\n        content: '\u2713';\n        color: white;\n        font-weight: bold;\n        font-size: 14px;\n    }\n    \n    .option-text {\n        font-size: 18px !important;\n        line-height: 1.6;\n        color: #37474f;\n        flex: 1;\n    }\n    \n    .prev-btn {\n        background: #78909c;\n        border: none;\n        padding: 0.625rem 1.5rem;\n        font-size: 16px;\n        border-radius: 25px;\n        color: white;\n        transition: all 0.3s ease;\n    }\n    \n    .prev-btn:hover {\n        background: #607d8b;\n        transform: translateY(-2px);\n    }\n    \n    \/* \u7d50\u679c\u9801\u6a23\u5f0f *\/\n    .result-card {\n        background: white;\n        border-radius: 12px;\n        padding: 1.75rem;\n        margin-bottom: 1.5rem;\n        box-shadow: 0 2px 10px rgba(0,0,0,0.06);\n    }\n    \n    .score-display {\n        font-size: 42px;\n        font-weight: bold;\n        background: linear-gradient(135deg, #6ab04c 0%, #4a8f3c 100%);\n        -webkit-background-clip: text;\n        -webkit-text-fill-color: transparent;\n        background-clip: text;\n    }\n    \n    \/* \u5206\u6578\u5206\u5e03\u5716\u6a23\u5f0f *\/\n    .score-distribution {\n        margin: 2rem 0;\n        padding: 1.5rem;\n        background: white;\n        border-radius: 12px;\n        box-shadow: 0 2px 10px rgba(0,0,0,0.06);\n    }\n    \n    .distribution-bar {\n        height: 60px;\n        border-radius: 30px;\n        overflow: hidden;\n        position: relative;\n        background: #f5f5f5;\n        box-shadow: inset 0 2px 4px rgba(0,0,0,0.06);\n    }\n    \n    .distribution-segment {\n        height: 100%;\n        float: left;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        color: white;\n        font-weight: 600;\n        font-size: 14px;\n        transition: all 0.3s ease;\n    }\n    \n    .distribution-segment:hover {\n        filter: brightness(1.1);\n    }\n    \n    .user-position {\n        position: absolute;\n        top: 50%;\n        transform: translate(-50%, -50%);\n        width: 20px;\n        height: 20px;\n        background: #ff6b6b;\n        border: 3px solid white;\n        border-radius: 50%;\n        box-shadow: 0 2px 8px rgba(255, 107, 107, 0.5);\n        z-index: 10;\n        animation: pulse 2s infinite;\n    }\n    \n    @keyframes pulse {\n        0% { box-shadow: 0 0 0 0 rgba(255, 107, 107, 0.7); }\n        70% { box-shadow: 0 0 0 10px rgba(255, 107, 107, 0); }\n        100% { box-shadow: 0 0 0 0 rgba(255, 107, 107, 0); }\n    }\n    \n    .distribution-legend {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 1rem;\n        margin-top: 1.5rem;\n        justify-content: center;\n    }\n    \n    .legend-item {\n        display: flex;\n        align-items: center;\n        gap: 0.5rem;\n        font-size: 14px;\n    }\n    \n    .legend-color {\n        width: 20px;\n        height: 20px;\n        border-radius: 4px;\n    }\n    \n    .chart-container {\n        max-width: 500px;\n        margin: 0 auto;\n        padding: 1.5rem 0.5rem;\n    }\n    \n    .retry-btn {\n        background: linear-gradient(135deg, #ffa726 0%, #ff9800 100%);\n        border: none;\n        padding: 0.875rem 2.5rem;\n        font-size: 18px;\n        font-weight: 600;\n        border-radius: 30px;\n        color: white;\n        transition: all 0.3s ease;\n        box-shadow: 0 3px 10px rgba(255, 152, 0, 0.3);\n    }\n    \n    .retry-btn:hover {\n        background: linear-gradient(135deg, #ffb74d 0%, #ffa726 100%);\n        transform: translateY(-2px);\n        box-shadow: 0 5px 15px rgba(255, 152, 0, 0.4);\n    }\n    \n    \/* \u500b\u6027\u5316\u5efa\u8b70\u6a23\u5f0f *\/\n    .advice-section {\n        background: linear-gradient(135deg, #f1f8e9 0%, #e8f5e9 100%);\n        border-left: 4px solid #66bb6a;\n        border-radius: 8px;\n        padding: 1.25rem;\n        margin: 1rem 0;\n    }\n    \n    .advice-title {\n        color: #2e7d32;\n        font-weight: 600;\n        margin-bottom: 0.75rem;\n        font-size: 16px;\n    }\n    \n    .advice-content {\n        color: #37474f;\n        line-height: 1.6;\n        font-size: 15px;\n    }\n    \n    \/* \u97ff\u61c9\u5f0f\u8a2d\u8a08 *\/\n    @media (max-width: 576px) {\n        h3.question-title {\n            font-size: 20px !important;\n        }\n        \n        .option-text {\n            font-size: 16px !important;\n        }\n        \n        .score-display {\n            font-size: 36px;\n        }\n        \n        .distribution-bar {\n            height: 50px;\n        }\n        \n        .distribution-segment {\n            font-size: 12px;\n        }\n        \n        .intro-feature {\n            margin-bottom: 1rem;\n        }\n    }\n<\/style>\n\n<div class=\"eq-test-container\">\n    <!-- \u5f15\u5c0e\u9801 -->\n    <section id=\"quizintro9\" data-page=\"intro9\" class=\"eq-page active\">\n        <div class=\"container-fluid px-3\">\n            <div class=\"text-center mb-4\">\n                <h2 class=\"h3 fw-bold mb-3\" style=\"color: #2c5f2d;\">\u54c8\u4f5b\u60c5\u5546\u6e2c\u9a57<\/h2>\n                <p class=\"text-muted\">\u63a2\u7d22\u60a8\u7684\u60c5\u7dd2\u667a\u6167\uff0c\u958b\u555f\u81ea\u6211\u6210\u9577\u4e4b\u65c5<\/p>\n            <\/div>\n            \n            <div class=\"row g-3 mb-4\">\n                <div class=\"col-md-4\">\n                    <div class=\"intro-feature h-100\">\n                        <div class=\"intro-icon\">\n                            <i class=\"bi bi-lightbulb text-white fs-4\"><\/i>\n                        <\/div>\n                        <h5 class=\"fw-bold mb-2\">\u79d1\u5b66\u8bc4\u4f30<\/h5>\n                        <p class=\"text-muted small\">\u54c8\u4f5b\u5fc3\u7406\u5b78\u5c08\u696d\u8a2d\u8a08<\/p>\n                    <\/div>\n                <\/div>\n                <div class=\"col-md-4\">\n                    <div class=\"intro-feature h-100\">\n                        <div class=\"intro-icon\">\n                            <i class=\"bi bi-heart-pulse text-white fs-4\"><\/i>\n                        <\/div>\n                        <h5 class=\"fw-bold mb-2\">\u6df1\u5ea6\u5206\u6790<\/h5>\n                        <p class=\"text-muted small\">10\u9053\u7cbe\u9078\u984c\u76ee\u5168\u9762\u8a55\u4f30<\/p>\n                    <\/div>\n                <\/div>\n                <div class=\"col-md-4\">\n                    <div class=\"intro-feature h-100\">\n                        <div class=\"intro-icon\">\n                            <i class=\"bi bi-graph-up text-white fs-4\"><\/i>\n                        <\/div>\n                        <h5 class=\"fw-bold mb-2\">\u500b\u6027\u5316\u5efa\u8b70<\/h5>\n                        <p class=\"text-muted small\">\u5c08\u5c6c\u6210\u9577\u65b9\u6848\u8207\u6307\u5c0e<\/p>\n                    <\/div>\n                <\/div>\n            <\/div>\n           <div class=\"my-5\">\n    <div class=\"card shadow-sm border-0 rounded-4\">\n        <div class=\"card-body p-4 p-md-5\">\n            <div class=\"content-text\" style=\"line-height: 1.8; font-size: 1.1rem;\">\n                <p class=\"mb-4\">\u54c8\u4f5b\u5fc3\u7406\u5b66\u7cfb\u535a\u58eb\u6234\u5c3c\u5c14\u00b7\u9ad8\u5c14\u66fc\u4e3a\u60c5\u5546\u7684\u6d4b\u8bd5\u505a\u4e86\u4e00\u4e9b\u52aa\u529b\uff0c\u5c1d\u8bd5\u51fa\u4e86\u4e00\u4e9b\u95ee\u9898\uff0c\u901a\u8fc7\u5bf9\u8fd9\u4e9b\u95ee\u9898\u7684\u56de\u7b54\uff0c\u60a8\u53ef\u4ee5\u83b7\u5f97\u4e00\u4e2a\u5173\u4e8e\u81ea\u5df1\u7684EQ\u7684\u7c97\u7565\u7684\u611f\u6027\u5370\u8c61\u3002<\/p>\n                \n                <p class=\"mb-4\">\u95ee\u9898\u517110\u4e2a\uff0c\u8ba1\u5206\u6807\u51c6\u89c1\u540e\u6587\uff0c\u6700\u9ad8\u5206\u6570\u4e3a200\u5206\uff0c\u4e00\u822c\u4eba\u7684\u5e73\u5747\u5206\u4e3a100\u5206\uff0c\u5982\u679c\u60a8\u5f97\u4e8625\u5206\u4ee5\u4e0b\uff0c\u6700\u597d\u53e6\u627e\u4e2a\u65f6\u95f4\u91cd\u6d4b\u4e00\u4e0b\u3002<\/p>\n                \n                <p class=\"mb-0 fst-italic fw-medium text-center bg-light py-3 px-4 rounded-3\">\n                    \u73b0\u5728\uff0c\u8bf7\u9759\u4e0b\u5fc3\u6765\uff0c\u8bda\u5b9e\u5730\u56de\u7b54\u4e0b\u9762\u7684\u6d4b\u8bd5\u9898\u3002\u4e00\u5b9a\u8981\u6309\u7167\u5b9e\u9645\u53bb\u56de\u7b54\uff0c\u800c\u4e0d\u8981\u8bd5\u56fe\u7528\u591a\u9879\u9009\u62e9\u9898\u7684\u6280\u5de7\u53bb\u731c\u54ea\u4e00\u4e2a\u624d\u662f\u5bf9\u7684\u3002\n                <\/p>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n            <div class=\"text-center\">\n                <button class=\"btn start-btn\" onclick=\"eqTest.startQuiz()\">\n                    \u5f00\u59cb\u6d4b\u9a8c\n                    <i class=\"bi bi-arrow-right-circle ms-2\"><\/i>\n                <\/button>\n            <\/div>\n        <\/div>\n    <\/section>\n    \n    <!-- \u6e2c\u9a57\u9801 -->\n    <section id=\"quizmain9\" data-page=\"quiz9\" class=\"eq-page\">\n        <div class=\"container-fluid px-3\">\n            <div class=\"progress-container\">\n                <div class=\"d-flex justify-content-between align-items-center mb-2\">\n                    <span class=\"fw-bold text-success\">\u6d4b\u9a8c\u8fdb\u5ea6<\/span>\n                    <span class=\"text-muted\" id=\"progressText\">\u554f\u984c 1 \/ 10<\/span>\n                <\/div>\n                <div class=\"progress\" style=\"height: 6px;\">\n                    <div class=\"progress-bar\" id=\"progressBar\" role=\"progressbar\" style=\"width: 10%; background: linear-gradient(135deg, #6ab04c 0%, #4a8f3c 100%);\"><\/div>\n                <\/div>\n            <\/div>\n            \n            <div class=\"question-card\">\n                <h3 class=\"question-title\" id=\"questionTitle\">\u8f09\u5165\u4e2d&#8230;<\/h3>\n                <div id=\"optionsContainer\"><\/div>\n            <\/div>\n            \n            <div class=\"text-center mt-4\">\n                <button class=\"btn prev-btn\" id=\"prevBtn\" onclick=\"eqTest.previousQuestion()\" style=\"display: none;\">\n                    <i class=\"bi bi-arrow-left me-2\"><\/i>\n                    \u4e0a\u4e00\u9898\n                <\/button>\n            <\/div>\n        <\/div>\n    <\/section>\n    \n    <!-- \u7d50\u679c\u9801 -->\n    <section id=\"quizresult9\" data-page=\"result9\" class=\"eq-page\">\n        <div class=\"container-fluid px-3\">\n            <h3 class=\"text-center mb-4 fw-bold\" style=\"color: #2c5f2d;\">\u6d4b\u9a8c\u7ed3\u679c\u5206\u6790<\/h3>\n            \n            <div class=\"result-card text-center\">\n                <h4 class=\"fw-bold mb-3\">\u60a8\u7684\u60c5\u5546\u5206\u6578<\/h4>\n                <div class=\"score-display\" id=\"totalScore\">0<\/div>\n                <p class=\"text-muted mt-2\">\u6eff\u5206 200 \u5206<\/p>\n            <\/div>\n            \n            <!-- \u5206\u6578\u5206\u5e03\u5716 -->\n            <div class=\"score-distribution\">\n                <h5 class=\"fw-bold mb-3 text-center\">\u6574\u9ad4\u8a55\u5206\u5206\u5e03<\/h5>\n                <div class=\"distribution-bar\" id=\"distributionBar\">\n                    <div class=\"user-position\" id=\"userPosition\"><\/div>\n                <\/div>\n                <div class=\"distribution-legend\" id=\"distributionLegend\"><\/div>\n            <\/div>\n            \n            <div class=\"result-card\">\n                <h4 class=\"fw-bold mb-3\">\u7d9c\u5408\u8a55\u4f30<\/h4>\n                <div id=\"scoreInterpretation\"><\/div>\n            <\/div>\n            \n            <div class=\"result-card\">\n                <h4 class=\"fw-bold mb-3 text-center\">\u80fd\u529b\u96f7\u9054\u5716<\/h4>\n                <div class=\"chart-container\">\n                    <canvas id=\"eqChart\"><\/canvas>\n                <\/div>\n            <\/div>\n            \n            <div class=\"result-card\">\n                <h4 class=\"fw-bold mb-3\">\u5404\u7ef4\u5ea6\u5206\u6790<\/h4>\n                <div id=\"detailedAnalysis\"><\/div>\n            <\/div>\n            \n            <div class=\"result-card\">\n                <h4 class=\"fw-bold mb-3\">\u500b\u6027\u5316\u6210\u9577\u5efa\u8b70<\/h4>\n                <div id=\"personalizedAdvice\"><\/div>\n            <\/div>\n            \n            <div class=\"text-center mt-4\">\n                <button class=\"btn retry-btn\" onclick=\"eqTest.resetQuiz()\">\n                    <i class=\"bi bi-arrow-clockwise me-2\"><\/i>\n                    \u91cd\u65b0\u6d4b\u8bd5\n                <\/button>\n            <\/div>\n        <\/div>\n    <\/section>\n<\/div>\n\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/Chart.js\/4.4.1\/chart.umd.min.js\"><\/script>\n<script>\n(() => {\n    'use strict';\n    \n    class EQTest {\n        constructor() {\n            this.currentQuestion = 0;\n            this.answers = [];\n            this.chartInstance = null;\n            \n            this.questions = [\n                {\n                    text: \"\u5750\u98db\u6a5f\u6642\uff0c\u7a81\u7136\u53d7\u5230\u5f88\u5927\u7684\u9707\u52d5\uff0c\u4f60\u958b\u59cb\u96a8\u8457\u6a5f\u8eab\u5de6\u53f3\u6416\u64fa\u3002\u9019\u6642\u5019\uff0c\u60a8\u6703\u600e\u6a23\u505a\u5462\uff1f\",\n                    options: [\n                        \"\u7e7c\u7e8c\u8b80\u66f8\u6216\u770b\u96dc\u8a8c\uff0c\u6216\u7e7c\u7e8c\u770b\u96fb\u5f71\uff0c\u4e0d\u592a\u6ce8\u610f\u6b63\u5728\u767c\u751f\u7684\u9a37\u4e82\",\n                        \"\u6ce8\u610f\u4e8b\u614b\u7684\u8b8a\u5316\uff0c\u4ed4\u7d30\u807d\u64ad\u97f3\u54e1\u7684\u64ad\u97f3\uff0c\u4e26\u7ffb\u770b\u7dca\u6025\u60c5\u6cc1\u61c9\u4ed8\u624b\u518a\uff0c\u4ee5\u5099\u842c\u4e00\",\n                        \"A\u548cB\u90fd\u6709\u4e00\u9ede\",\n                        \"\u4e0d\u80fd\u78ba\u5b9a--\u6839\u672c\u6c92\u6ce8\u610f\u5230\"\n                    ],\n                    scores: [20, 20, 20, 0],\n                    dimension: \"\u58d3\u529b\u7ba1\u7406\"\n                },\n                {\n                    text: \"\u5e36\u4e00\u7fa44\u6b72\u7684\u5b69\u5b50\u53bb\u516c\u5712\u73a9\uff0c\u5176\u4e2d\u4e00\u500b\u5b69\u5b50\u7531\u65bc\u5225\u4eba\u90fd\u4e0d\u548c\u4ed6\u73a9\u800c\u5927\u54ed\u8d77\u4f86\u3002\u9019\u500b\u6642\u5019\uff0c\u60a8\u8a72\u600e\u9ebc\u8fa6\u5462\uff1f\",\n                    options: [\n                        \"\u7f6e\u8eab\u4e8b\u5916--\u8b93\u5b69\u5b50\u5011\u81ea\u5df1\u8655\u7406\",\n                        \"\u548c\u9019\u500b\u5b69\u5b50\u4ea4\u8ac7\uff0c\u4e26\u5e6b\u52a9\u5979\u60f3\u8fa6\u6cd5\",\n                        \"\u8f15\u8f15\u5730\u544a\u8a34\u5979\u4e0d\u8981\u54ed\",\n                        \"\u60f3\u8fa6\u6cd5\u8f49\u79fb\u9019\u500b\u5b69\u5b50\u7684\u6ce8\u610f\u529b\uff0c\u7d66\u5979\u4e00\u4e9b\u5176\u4ed6\u7684\u6771\u897f\u8b93\u5979\u73a9\"\n                    ],\n                    scores: [0, 20, 0, 0],\n                    dimension: \"\u4eba\u969b\u4e92\u52d5\"\n                },\n                {\n                    text: \"\u5047\u8a2d\u60a8\u662f\u4e00\u500b\u5927\u5b78\u751f\uff0c\u60f3\u5728\u67d0\u9580\u8ab2\u7a0b\u4e0a\u5f97\u512a\u79c0\uff0c\u4f46\u662f\u5728\u671f\u4e2d\u8003\u8a66\u6642\u537b\u53ea\u5f97\u4e86\u53ca\u683c\u3002\u9019\u6642\u5019\uff0c\u60a8\u8a72\u600e\u9ebc\u8fa6\u5462\uff1f\",\n                    options: [\n                        \"\u5236\u5b9a\u4e00\u500b\u8a73\u7d30\u7684\u5b78\u7fd2\u8a08\u756b\uff0c\u4e26\u6c7a\u5fc3\u6309\u8a08\u756b\u9032\u884c\",\n                        \"\u6c7a\u5fc3\u4ee5\u5f8c\u597d\u597d\u5b78\",\n                        \"\u544a\u8a34\u81ea\u5df1\u5728\u9019\u9580\u8ab2\u4e0a\u8003\u4e0d\u597d\u6c92\u4ec0\u9ebc\u5927\u4e0d\u4e86\u7684\uff0c\u628a\u7cbe\u529b\u96c6\u4e2d\u5728\u5176\u4ed6\u53ef\u80fd\u8003\u5f97\u597d\u7684\u8ab2\u7a0b\u4e0a\",\n                        \"\u53bb\u62dc\u8a2a\u4efb\u8ab2\u6559\u6388\uff0c\u8a66\u5716\u8b93\u4ed6\u7d66\u60a8\u9ad8\u4e00\u9ede\u7684\u5206\u6578\"\n                    ],\n                    scores: [20, 0, 20, 0],\n                    dimension: \"\u81ea\u6211\u6fc0\u52f5\"\n                },\n                {\n                    text: \"\u5047\u8a2d\u60a8\u662f\u4e00\u500b\u4fdd\u96aa\u63a8\u92b7\u54e1\uff0c\u53bb\u8a2a\u554f\u4e00\u4e9b\u6709\u5e0c\u671b\u6210\u70ba\u60a8\u7684\u9867\u5ba2\u7684\u4eba\u3002\u53ef\u662f\u4e00\u9023\u5341\u4e94\u500b\u4eba\u90fd\u53ea\u662f\u5c0d\u60a8\u6577\u884d\uff0c\u4e26\u4e0d\u660e\u78ba\u8868\u614b\uff0c\u60a8\u8b8a\u5f97\u5f88\u5931\u671b\u3002\u9019\u6642\u5019\uff0c\u60a8\u6703\u600e\u9ebc\u505a\u5462\uff1f\",\n                    options: [\n                        \"\u8a8d\u70ba\u9019\u96bb\u4e0d\u904e\u662f\u4e00\u5929\u7684\u906d\u9047\u800c\u5df2\uff0c\u5e0c\u671b\u660e\u5929\u6703\u6709\u597d\u904b\u6c23\",\n                        \"\u8003\u616e\u4e00\u4e0b\u81ea\u5df1\u662f\u5426\u9069\u5408\u505a\u63a8\u92b7\u54e1\",\n                        \"\u5728\u4e0b\u4e00\u6b21\u62dc\u8a2a\u6642\u518d\u505a\u52aa\u529b\uff0c\u4fdd\u6301\u52e4\u52e4\u61c7\u61c7\u5de5\u4f5c\u7684\u72c0\u614b\",\n                        \"\u8003\u616e\u53bb\u722d\u53d6\u5176\u4ed6\u7684\u9867\u5ba2\"\n                    ],\n                    scores: [0, 0, 20, 0],\n                    dimension: \"\u81ea\u6211\u6fc0\u52f5\"\n                },\n                {\n                    text: \"\u60a8\u662f\u4e00\u500b\u7d93\u7406\uff0c\u63d0\u5021\u5728\u516c\u53f8\u4e2d\u4e0d\u8981\u641e\u7a2e\u65cf\u6b67\u8996\u3002\u4e00\u5929\u60a8\u5076\u7136\u807d\u5230\u6709\u4eba\u6b63\u5728\u958b\u6709\u95dc\u7a2e\u65cf\u6b67\u8996\u7684\u73a9\u7b11\u3002\u60a8\u6703\u600e\u9ebc\u8fa6\u5462\uff1f\",\n                    options: [\n                        \"\u4e0d\u7406\u5b83--\u9019\u53ea\u662f\u4e00\u500b\u73a9\u7b11\u800c\u5df2\",\n                        \"\u628a\u90a3\u4eba\u53eb\u5230\u8fa6\u516c\u5ba4\u53bb\uff0c\u56b4\u53b2\u65a5\u8cac\u4ed6\u4e00\u9813\",\n                        \"\u7576\u5834\u5927\u8072\u544a\u8a34\u4ed6\uff0c\u9019\u7a2e\u73a9\u7b11\u662f\u4e0d\u6070\u7576\u7684\uff0c\u5728\u60a8\u9019\u88e1\u662f\u4e0d\u80fd\u5bb9\u5fcd\u7684\",\n                        \"\u5efa\u8b70\u958b\u73a9\u7b11\u7684\u4eba\u53bb\u53c3\u52a0\u4e00\u500b\u6709\u95dc\u53cd\u5c0d\u7a2e\u65cf\u6b67\u8996\u7684\u57f9\u8a13\u73ed\"\n                    ],\n                    scores: [0, 0, 20, 0],\n                    dimension: \"\u4eba\u969b\u4e92\u52d5\"\n                },\n                {\n                    text: \"\u60a8\u7684\u670b\u53cb\u958b\u8eca\u6642\u5225\u4eba\u7684\u8eca\u7a81\u7136\u5371\u96aa\u5730\u6436\u5230\u4f60\u5011\u524d\u9762\uff0c\u60a8\u7684\u670b\u53cb\u52c3\u7136\u5927\u6012\uff0c\u800c\u60a8\u8a66\u5716\u8b93\u4ed6\u5e73\u975c\u4e0b\u4f86\u3002\u60a8\u6703\u600e\u9ebc\u505a\u5462\uff1f\",\n                    options: [\n                        \"\u544a\u8a34\u4ed6\u5fd8\u6389\u5b83\u5427--\u73fe\u5728\u6c92\u4e8b\u4e86\uff0c\u9019\u4e0d\u662f\u4ec0\u9ebc\u5927\u4e0d\u4e86\u7684\u4e8b\",\n                        \"\u653e\u4e00\u76e4\u4ed6\u559c\u6b61\u807d\u7684\u78c1\u5e36\uff0c\u8f49\u79fb\u4ed6\u7684\u6ce8\u610f\u529b\",\n                        \"\u4e00\u8d77\u8cac\u7f75\u90a3\u500b\u53f8\u6a5f\uff0c\u8868\u793a\u81ea\u5df1\u7ad9\u5728\u4ed6\u90a3\u4e00\u908a\",\n                        \"\u544a\u8a34\u4ed6\u60a8\u4e5f\u66fe\u6709\u540c\u6a23\u7684\u7d93\u6b77\uff0c\u7576\u6642\u60a8\u4e5f\u4e00\u6a23\u6c23\u5f97\u767c\u760b\uff0c\u53ef\u662f\u5f8c\u4f86\u60a8\u770b\u5230\u90a3\u500b\u53f8\u6a5f\u51fa\u4e86\u8eca\u798d\uff0c\u88ab\u9001\u5230\u91ab\u9662\u6025\u6551\u5ba4\"\n                    ],\n                    scores: [0, 5, 5, 20],\n                    dimension: \"\u4eba\u969b\u4e92\u52d5\"\n                },\n                {\n                    text: \"\u60a8\u548c\u4f34\u4fb6\u767c\u751f\u4e86\u722d\u8ad6\uff0c\u5169\u4eba\u6fc0\u70c8\u5730\u722d\u5435\uff1b\u76db\u6012\u4e4b\u4e0b\uff0c\u4e92\u76f8\u9032\u884c\u4eba\u8eab\u653b\u64ca\uff0c\u96d6\u7136\u4f60\u5011\u4e26\u4e0d\u662f\u771f\u7684\u60f3\u9019\u6a23\u505a\u3002\u9019\u6642\u5019\uff0c\u6700\u597d\u600e\u9ebc\u8fa6\u5462\uff1f\",\n                    options: [\n                        \"\u505c\u6b6220\u5206\u9418\uff0c\u7136\u5f8c\u7e7c\u7e8c\u722d\u8ad6\",\n                        \"\u505c\u6b62\u722d\u5435......\u4fdd\u6301\u6c89\u9ed8\uff0c\u4e0d\u7ba1\u5c0d\u65b9\u8aaa\u4ec0\u9ebc\",\n                        \"\u5411\u5c0d\u65b9\u8aaa\u62b1\u6b49\uff0c\u4e26\u8981\u6c42\u4ed6\uff08\u5979\uff09\u4e5f\u5411\u60a8\u9053\u6b49\",\n                        \"\u5148\u505c\u4e00\u6703\u5152\uff0c\u6574\u7406\u4e00\u4e0b\u81ea\u5df1\u7684\u60f3\u6cd5\uff0c\u7136\u5f8c\u5118\u53ef\u80fd\u6e05\u695a\u5730\u95e1\u660e\u81ea\u5df1\u7684\u7acb\u5834\"\n                    ],\n                    scores: [20, 0, 0, 0],\n                    dimension: \"\u58d3\u529b\u7ba1\u7406\"\n                },\n                {\n                    text: \"\u60a8\u88ab\u5206\u5230\u4e00\u500b\u55ae\u4f4d\u7576\u9818\u5c0e\uff0c\u60f3\u63d0\u51fa\u4e00\u4e9b\u89e3\u6c7a\u5de5\u4f5c\u4e2d\u7169\u96e3\u554f\u984c\u7684\u597d\u65b9\u6cd5\u3002\u9019\u6642\u5019\uff0c\u60a8\u7b2c\u4e00\u4ef6\u8981\u505a\u7684\u662f\u4ec0\u9ebc\u5462\uff1f\",\n                    options: [\n                        \"\u8d77\u8349\u4e00\u500b\u8b70\u4e8b\u65e5\u7a0b\uff0c\u4ee5\u4fbf\u5145\u5206\u5229\u7528\u548c\u5927\u5bb6\u5728\u4e00\u8d77\u8a0e\u8ad6\u7684\u6642\u9593\",\n                        \"\u7d66\u4eba\u5011\u4e00\u5b9a\u7684\u6642\u9593\u76f8\u4e92\u77ad\u89e3\",\n                        \"\u8b93\u6bcf\u4e00\u500b\u4eba\u8aaa\u51fa\u5982\u4f55\u89e3\u6c7a\u554f\u984c\u7684\u60f3\u6cd5\",\n                        \"\u63a1\u7528\u4e00\u7a2e\u5275\u9020\u6027\u5730\u767c\u8868\u610f\u898b\u7684\u5f62\u5f0f\uff0c\u9f13\u52f5\u6bcf\u4e00\u500b\u4eba\u8aaa\u51fa\u6b64\u6642\u9032\u5165\u4ed6\u8166\u5b50\u91cc\u7684\u4efb\u4f55\u60f3\u6cd5\uff0c\u800c\u4e0d\u7ba1\u8a72\u60f3\u6cd5\u6709\u591a\u760b\u72c2\"\n                    ],\n                    scores: [0, 20, 0, 0],\n                    dimension: \"\u60c5\u7dd2\u8abf\u7bc0\"\n                },\n                {\n                    text: \"\u60a83\u6b72\u7684\u5152\u5b50\u975e\u5e38\u81bd\u5c0f\uff0c\u5be6\u969b\u4e0a\uff0c\u5f9e\u4ed6\u51fa\u751f\u8d77\u5c31\u5c0d\u964c\u751f\u5730\u65b9\u548c\u964c\u751f\u4eba\u6709\u4e9b\u795e\u7d93\u904e\u654f\u6216\u8005\u8aaa\u6709\u4e9b\u6050\u61fc\u3002\u60a8\u8a72\u600e\u9ebc\u8fa6\u5462\uff1f\",\n                    options: [\n                        \"\u63a5\u53d7\u4ed6\u5177\u6709\u5bb3\u7f9e\u6c23\u8cea\u7684\u4e8b\u5be6\uff0c\u60f3\u8fa6\u6cd5\u8b93\u4ed6\u907f\u958b\u4ed6\u611f\u5230\u4e0d\u5b89\u7684\u74b0\u5883\",\n                        \"\u5e36\u4ed6\u53bb\u770b\u5152\u7ae5\u7cbe\u795e\u79d1\u91ab\u751f\uff0c\u5c0b\u6c42\u5e6b\u52a9\",\n                        \"\u6709\u76ee\u7684\u5730\u8b93\u4ed6\u4e00\u4e0b\u5b50\u63a5\u89f8\u8a31\u591a\u4eba\uff0c\u5e36\u4ed6\u5230\u5404\u7a2e\u964c\u751f\u7684\u5730\u65b9\uff0c\u514b\u670d\u4ed6\u7684\u6050\u61fc\u5fc3\u7406\",\n                        \"\u8a2d\u8a08\u6f38\u9032\u7684\u7cfb\u5217\u6311\u6230\u6027\u8a08\u756b\uff0c\u6bcf\u4e00\u500b\u76f8\u5c0d\u4f86\u8aaa\u90fd\u662f\u5bb9\u6613\u5c0d\u4ed8\u7684\uff0c\u5f9e\u800c\u8b93\u4ed6\u6f38\u6f38\u61c2\u5f97\u4ed6\u80fd\u5920\u61c9\u4ed8\u964c\u751f\u7684\u4eba\u548c\u964c\u751f\u7684\u5730\u65b9\"\n                    ],\n                    scores: [0, 5, 0, 20],\n                    dimension: \"\u60c5\u7dd2\u8abf\u7bc0\"\n                },\n                {\n                    text: \"\u591a\u5e74\u4ee5\u4f86\uff0c\u60a8\u4e00\u76f4\u60f3\u91cd\u5b78\u4e00\u7a2e\u60a8\u5728\u5152\u6642\u5b78\u904e\u7684\u6a02\u5668\uff0c\u800c\u73fe\u5728\u53ea\u662f\u70ba\u4e86\u5a1b\u6a02\uff0c\u60a8\u53c8\u958b\u59cb\u5b78\u4e86\u3002\u60a8\u60f3\u6700\u6709\u6548\u7684\u5229\u7528\u6642\u9593\u3002\u60a8\u8a72\u600e\u9ebc\u505a\u5462\uff1f\",\n                    options: [\n                        \"\u6bcf\u5929\u5805\u6301\u56b4\u683c\u7684\u7df4\u7fd2\",\n                        \"\u9078\u64c7\u80fd\u7a0d\u5fae\u64f4\u5c55\u80fd\u529b\u7684\u6709\u91dd\u5c0d\u6027\u7684\u66f2\u5b50\u53bb\u7df4\u7fd2\",\n                        \"\u53ea\u6709\u7576\u81ea\u5df1\u6709\u60c5\u7dd2\u7684\u6642\u5019\u624d\u53bb\u7df4\u7fd2\",\n                        \"\u9078\u64c7\u9060\u9060\u8d85\u51fa\u60a8\u7684\u80fd\u529b\u4f46\u901a\u904e\u52e4\u596e\u7684\u52aa\u529b\u80fd\u638c\u63e1\u7684\u6a02\u66f2\u53bb\u7df4\u7fd2\"\n                    ],\n                    scores: [0, 20, 0, 0],\n                    dimension: \"\u81ea\u6211\u6fc0\u52f5\"\n                }\n            ];\n            \n            this.scoreRanges = [\n                { min: 0, max: 59, level: \"\u9700\u52a0\u5f37\", color: \"#ef9a9a\", advice: \"\u5efa\u8b70\u7cfb\u7d71\u5b78\u7fd2\u60c5\u7dd2\u7ba1\u7406\u6280\u5de7\" },\n                { min: 60, max: 89, level: \"\u5f85\u63d0\u5347\", color: \"#ffcc80\", advice: \"\u591a\u95dc\u6ce8\u60c5\u7dd2\u89ba\u5bdf\u8207\u8868\u9054\" },\n                { min: 90, max: 119, level: \"\u4e2d\u7b49\", color: \"#fff59d\", advice: \"\u7e7c\u7e8c\u57f9\u990a\u540c\u7406\u5fc3\u8207\u81ea\u6211\u8abf\u7bc0\" },\n                { min: 120, max: 149, level: \"\u826f\u597d\", color: \"#c5e1a5\", advice: \"\u5f37\u5316\u4eba\u969b\u6e9d\u901a\u6280\u5de7\" },\n                { min: 150, max: 179, level: \"\u512a\u79c0\", color: \"#a5d6a7\", advice: \"\u4fdd\u6301\u4e26\u5206\u4eab\u60a8\u7684\u7d93\u9a57\" },\n                { min: 180, max: 200, level: \"\u5353\u8d8a\", color: \"#81c784\", advice: \"\u60a8\u662f\u60c5\u5546\u9818\u57df\u7684\u5178\u7bc4\" }\n            ];\n            \n            this.initializeElements();\n        }\n        \n        initializeElements() {\n            this.introPage = document.getElementById('quizintro9');\n            this.quizPage = document.getElementById('quizmain9');\n            this.resultPage = document.getElementById('quizresult9');\n            this.progressBar = document.getElementById('progressBar');\n            this.progressText = document.getElementById('progressText');\n            this.questionTitle = document.getElementById('questionTitle');\n            this.optionsContainer = document.getElementById('optionsContainer');\n            this.prevBtn = document.getElementById('prevBtn');\n        }\n        \n        startQuiz() {\n            this.currentQuestion = 0;\n            this.answers = [];\n            this.showPage('quiz');\n            this.displayQuestion();\n            this.scrollToTop();\n        }\n        \n        showPage(page) {\n            document.querySelectorAll('.eq-page').forEach(p => p.classList.remove('active'));\n            \n            if (page === 'intro') {\n                this.introPage.classList.add('active');\n            } else if (page === 'quiz') {\n                this.quizPage.classList.add('active');\n            } else if (page === 'result') {\n                this.resultPage.classList.add('active');\n            }\n        }\n        \n        displayQuestion() {\n            const question = this.questions[this.currentQuestion];\n            this.questionTitle.textContent = question.text;\n            \n            const progress = ((this.currentQuestion + 1) \/ this.questions.length) * 100;\n            this.progressBar.style.width = `${progress}%`;\n            this.progressText.textContent = `\u554f\u984c ${this.currentQuestion + 1} \/ ${this.questions.length}`;\n            \n            this.prevBtn.style.display = this.currentQuestion > 0 ? 'inline-block' : 'none';\n            \n            this.optionsContainer.innerHTML = '';\n            question.options.forEach((option, index) => {\n                const optionCard = document.createElement('div');\n                optionCard.className = 'option-card';\n                if (this.answers[this.currentQuestion] === index) {\n                    optionCard.classList.add('selected');\n                }\n                \n                optionCard.innerHTML = `\n                    <div class=\"option-indicator\"><\/div>\n                    <div class=\"option-text\">${String.fromCharCode(65 + index)}. ${option}<\/div>\n                `;\n                \n                optionCard.addEventListener('click', () => this.selectOption(index));\n                this.optionsContainer.appendChild(optionCard);\n            });\n        }\n        \n        selectOption(index) {\n            this.answers[this.currentQuestion] = index;\n            \n            document.querySelectorAll('.option-card').forEach((card, i) => {\n                if (i === index) {\n                    card.classList.add('selected');\n                } else {\n                    card.classList.remove('selected');\n                }\n            });\n            \n            setTimeout(() => {\n                if (this.currentQuestion < this.questions.length - 1) {\n                    this.currentQuestion++;\n                    this.displayQuestion();\n                } else {\n                    this.showResults();\n                }\n            }, 500);\n        }\n        \n        previousQuestion() {\n            if (this.currentQuestion > 0) {\n                this.currentQuestion--;\n                this.displayQuestion();\n                this.scrollToTop();\n            }\n        }\n        \n        calculateScore() {\n            let totalScore = 0;\n            this.answers.forEach((answer, index) => {\n                if (answer !== undefined) {\n                    totalScore += this.questions[index].scores[answer];\n                }\n            });\n            return totalScore;\n        }\n        \n        getScoreInterpretation(score) {\n            const range = this.scoreRanges.find(r => score >= r.min && score <= r.max);\n            return range;\n        }\n        \n        analyzeAnswers() {\n            const categories = {\n                \"\u58d3\u529b\u7ba1\u7406\": [0, 6],\n                \"\u4eba\u969b\u4e92\u52d5\": [1, 4, 5],\n                \"\u81ea\u6211\u6fc0\u52f5\": [2, 3, 9],\n                \"\u60c5\u7dd2\u8abf\u7bc0\": [7, 8]\n            };\n            \n            const categoryScores = {};\n            const weakAreas = [];\n            const strongAreas = [];\n            \n            for (const [category, questionIndices] of Object.entries(categories)) {\n                let categoryTotal = 0;\n                let maxPossible = 0;\n                let correctAnswers = 0;\n                \n                questionIndices.forEach(index => {\n                    if (this.answers[index] !== undefined) {\n                        const score = this.questions[index].scores[this.answers[index]];\n                        categoryTotal += score;\n                        if (score === 20) correctAnswers++;\n                    }\n                    maxPossible += 20;\n                });\n                \n                const percentage = Math.round((categoryTotal \/ maxPossible) * 100);\n                categoryScores[category] = {\n                    score: categoryTotal,\n                    percentage: percentage,\n                    correctAnswers: correctAnswers,\n                    totalQuestions: questionIndices.length\n                };\n                \n                if (percentage < 50) {\n                    weakAreas.push(category);\n                } else if (percentage >= 75) {\n                    strongAreas.push(category);\n                }\n            }\n            \n            return { categoryScores, weakAreas, strongAreas };\n        }\n        \n        generatePersonalizedAdvice(score, analysis) {\n            const { categoryScores, weakAreas, strongAreas } = analysis;\n            let adviceHTML = '';\n            \n            \/\/ \u6574\u9ad4\u5efa\u8b70\n            const interpretation = this.getScoreInterpretation(score);\n            adviceHTML += `\n                <div class=\"advice-section\">\n                    <div class=\"advice-title\">\u6574\u9ad4\u8a55\u4f30<\/div>\n                    <div class=\"advice-content\">\n                        \u60a8\u7684\u60c5\u5546\u6c34\u5e73\u70ba\u300c${interpretation.level}\u300d\u3002${interpretation.advice}\u3002\n                    <\/div>\n                <\/div>\n            `;\n            \n            \/\/ \u512a\u52e2\u9818\u57df\n            if (strongAreas.length > 0) {\n                adviceHTML += `\n                    <div class=\"advice-section\">\n                        <div class=\"advice-title\">\u60a8\u7684\u512a\u52e2\u9818\u57df<\/div>\n                        <div class=\"advice-content\">\n                            \u60a8\u5728${strongAreas.join('\u3001')}\u65b9\u9762\u8868\u73fe\u51fa\u8272\u3002\u9019\u4e9b\u662f\u60a8\u7684\u60c5\u5546\u5f37\u9805\uff0c\u5efa\u8b70\uff1a\n                            <ul class=\"mt-2 mb-0\">\n                                <li>\u7e7c\u7e8c\u4fdd\u6301\u9019\u4e9b\u512a\u52e2\uff0c\u4e26\u5728\u65e5\u5e38\u751f\u6d3b\u4e2d\u5145\u5206\u904b\u7528<\/li>\n                                <li>\u8003\u616e\u64d4\u4efb\u9700\u8981\u9019\u4e9b\u80fd\u529b\u7684\u89d2\u8272\u6216\u4efb\u52d9<\/li>\n                                <li>\u8207\u4ed6\u4eba\u5206\u4eab\u60a8\u7684\u7d93\u9a57\uff0c\u5e6b\u52a9\u4ed6\u5011\u6210\u9577<\/li>\n                            <\/ul>\n                        <\/div>\n                    <\/div>\n                `;\n            }\n            \n            \/\/ \u6539\u5584\u5efa\u8b70\n            if (weakAreas.length > 0) {\n                const improvements = {\n                    \"\u58d3\u529b\u7ba1\u7406\": \"\u7df4\u7fd2\u6b63\u5ff5\u51a5\u60f3\u3001\u6df1\u547c\u5438\u6280\u5de7\uff0c\u5b78\u7fd2\u8b58\u5225\u58d3\u529b\u4fe1\u865f\u4e26\u53ca\u6642\u8abf\u7bc0\",\n                    \"\u4eba\u969b\u4e92\u52d5\": \"\u57f9\u990a\u7a4d\u6975\u50be\u807d\u6280\u5de7\uff0c\u7df4\u7fd2\u540c\u7406\u5fc3\uff0c\u5b78\u7fd2\u975e\u66b4\u529b\u6e9d\u901a\u65b9\u6cd5\",\n                    \"\u81ea\u6211\u6fc0\u52f5\": \"\u8a2d\u5b9aSMART\u76ee\u6a19\uff0c\u5efa\u7acb\u734e\u52f5\u6a5f\u5236\uff0c\u57f9\u990a\u6210\u9577\u578b\u601d\u7dad\",\n                    \"\u60c5\u7dd2\u8abf\u7bc0\": \"\u5b78\u7fd2\u60c5\u7dd2ABC\u7406\u8ad6\uff0c\u7df4\u7fd2\u60c5\u7dd2\u65e5\u8a18\uff0c\u5efa\u7acb\u5065\u5eb7\u7684\u60c5\u7dd2\u8868\u9054\u65b9\u5f0f\"\n                };\n                \n                adviceHTML += `\n                    <div class=\"advice-section\">\n                        <div class=\"advice-title\">\u6210\u9577\u6a5f\u6703<\/div>\n                        <div class=\"advice-content\">\n                            \u4ee5\u4e0b\u9818\u57df\u6709\u8f03\u5927\u63d0\u5347\u7a7a\u9593\uff1a\n                            <ul class=\"mt-2 mb-0\">\n                `;\n                \n                weakAreas.forEach(area => {\n                    adviceHTML += `<li><strong>${area}<\/strong>\uff1a${improvements[area]}<\/li>`;\n                });\n                \n                adviceHTML += `\n                            <\/ul>\n                        <\/div>\n                    <\/div>\n                `;\n            }\n            \n            \/\/ \u5177\u9ad4\u884c\u52d5\u5efa\u8b70\n            adviceHTML += `\n                <div class=\"advice-section\">\n                    <div class=\"advice-title\">21\u5929\u884c\u52d5\u8a08\u5283<\/div>\n                    <div class=\"advice-content\">\n                        <strong>\u7b2c1-7\u5929\uff1a<\/strong>\u81ea\u6211\u89ba\u5bdf\u671f - \u6bcf\u65e5\u8a18\u93043\u6b21\u60c5\u7dd2\u72c0\u614b\u53ca\u89f8\u767c\u4e8b\u4ef6<br>\n                        <strong>\u7b2c8-14\u5929\uff1a<\/strong>\u6280\u5de7\u7df4\u7fd2\u671f - \u6bcf\u5929\u7df4\u7fd2\u4e00\u9805\u60c5\u5546\u6280\u5de7\uff08\u5982\u6df1\u547c\u5438\u3001\u7a4d\u6975\u50be\u807d\uff09<br>\n                        <strong>\u7b2c15-21\u5929\uff1a<\/strong>\u6574\u5408\u61c9\u7528\u671f - \u5728\u5be6\u969b\u5834\u666f\u4e2d\u61c9\u7528\u6240\u5b78\uff0c\u4e26\u8a18\u9304\u6210\u679c\n                    <\/div>\n                <\/div>\n            `;\n            \n            return adviceHTML;\n        }\n        \n        drawScoreDistribution(score) {\n            const distributionBar = document.getElementById('distributionBar');\n            const distributionLegend = document.getElementById('distributionLegend');\n            \n            \/\/ \u7e6a\u88fd\u5206\u6bb5\u689d\u5f62\u5716\n            let segmentsHTML = '';\n            this.scoreRanges.forEach(range => {\n                const width = ((range.max - range.min + 1) \/ 201) * 100;\n                segmentsHTML += `\n                    <div class=\"distribution-segment\" \n                         style=\"width: ${width}%; background: ${range.color};\"\n                         title=\"${range.level}: ${range.min}-${range.max}\u5206\">\n                    <\/div>\n                `;\n            });\n            distributionBar.innerHTML = segmentsHTML;\n            \n            \/\/ \u6dfb\u52a0\u7528\u6236\u4f4d\u7f6e\u6a19\u8a18\n            const position = (score \/ 200) * 100;\n            const userPosition = document.createElement('div');\n            userPosition.className = 'user-position';\n            userPosition.style.left = `${position}%`;\n            userPosition.title = `\u60a8\u7684\u5206\u6578: ${score}`;\n            distributionBar.appendChild(userPosition);\n            \n            \/\/ \u751f\u6210\u5716\u4f8b\n            let legendHTML = '';\n            this.scoreRanges.forEach(range => {\n                legendHTML += `\n                    <div class=\"legend-item\">\n                        <div class=\"legend-color\" style=\"background: ${range.color};\"><\/div>\n                        <span>${range.level} (${range.min}-${range.max})<\/span>\n                    <\/div>\n                `;\n            });\n            distributionLegend.innerHTML = legendHTML;\n        }\n        \n        showResults() {\n            this.showPage('result');\n            this.scrollToTop();\n            \n            const totalScore = this.calculateScore();\n            const interpretation = this.getScoreInterpretation(totalScore);\n            const analysis = this.analyzeAnswers();\n            \n            \/\/ \u986f\u793a\u7e3d\u5206\n            document.getElementById('totalScore').textContent = totalScore;\n            \n            \/\/ \u986f\u793a\u5206\u6578\u5206\u5e03\u5716\n            this.drawScoreDistribution(totalScore);\n            \n            \/\/ \u986f\u793a\u5206\u6578\u89e3\u6790\n            document.getElementById('scoreInterpretation').innerHTML = `\n                <div class=\"alert border-0\" style=\"background: linear-gradient(135deg, #f1f8e9 0%, #e8f5e9 100%); border-left: 4px solid #66bb6a;\">\n                    <h5 class=\"fw-bold mb-2\" style=\"color: #2e7d32;\">\u7b49\u7d1a\uff1a${interpretation.level}<\/h5>\n                    <p class=\"mb-0\" style=\"color: #37474f; line-height: 1.6;\">\n                        \u60a8\u572810\u9053\u984c\u76ee\u4e2d\u7b54\u5c0d\u4e86${this.answers.filter((a, i) => this.questions[i].scores[a] === 20).length}\u984c\u3002\n                        ${interpretation.advice}\n                    <\/p>\n                <\/div>\n            `;\n            \n            \/\/ \u986f\u793a\u8a73\u7d30\u5206\u6790\n            let detailedHTML = '<div class=\"row g-3\">';\n            for (const [category, data] of Object.entries(analysis.categoryScores)) {\n                const level = data.percentage >= 75 ? '\u512a\u79c0' : data.percentage >= 50 ? '\u826f\u597d' : '\u5f85\u52a0\u5f37';\n                const color = data.percentage >= 75 ? '#66bb6a' : data.percentage >= 50 ? '#ffa726' : '#ef5350';\n                \n                detailedHTML += `\n                    <div class=\"col-md-6\">\n                        <div class=\"card border-0\" style=\"background: white; box-shadow: 0 2px 8px rgba(0,0,0,0.06);\">\n                            <div class=\"card-body\">\n                                <h6 class=\"fw-bold mb-3\" style=\"color: #2c5f2d;\">${category}<\/h6>\n                                <div class=\"d-flex justify-content-between align-items-center mb-2\">\n                                    <span class=\"badge\" style=\"background: ${color}; color: white;\">${level}<\/span>\n                                    <span class=\"text-muted small\">${data.correctAnswers}\/${data.totalQuestions} \u984c\u6b63\u78ba<\/span>\n                                <\/div>\n                                <div class=\"progress\" style=\"height: 8px;\">\n                                    <div class=\"progress-bar\" style=\"width: ${data.percentage}%; background: ${color};\"><\/div>\n                                <\/div>\n                                <small class=\"text-muted mt-1 d-block\">${data.percentage}% (${data.score}\u5206)<\/small>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                `;\n            }\n            detailedHTML += '<\/div>';\n            document.getElementById('detailedAnalysis').innerHTML = detailedHTML;\n            \n            \/\/ \u986f\u793a\u500b\u6027\u5316\u5efa\u8b70\n            document.getElementById('personalizedAdvice').innerHTML = this.generatePersonalizedAdvice(totalScore, analysis);\n            \n            \/\/ \u7e6a\u88fd\u96f7\u9054\u5716\n            this.drawChart(analysis.categoryScores);\n        }\n        \n        drawChart(categoryScores) {\n            if (this.chartInstance) {\n                this.chartInstance.destroy();\n            }\n            \n            const ctx = document.getElementById('eqChart').getContext('2d');\n            const labels = Object.keys(categoryScores);\n            const data = labels.map(label => categoryScores[label].percentage);\n            \n            this.chartInstance = new Chart(ctx, {\n                type: 'radar',\n                data: {\n                    labels: labels,\n                    datasets: [{\n                        label: '\u80fd\u529b\u5206\u6790',\n                        data: data,\n                        backgroundColor: 'rgba(106, 176, 76, 0.2)',\n                        borderColor: 'rgba(106, 176, 76, 1)',\n                        borderWidth: 2,\n                        pointBackgroundColor: 'rgba(106, 176, 76, 1)',\n                        pointBorderColor: '#fff',\n                        pointHoverBackgroundColor: '#fff',\n                        pointHoverBorderColor: 'rgba(106, 176, 76, 1)',\n                        pointRadius: 5,\n                        pointHoverRadius: 7\n                    }]\n                },\n                options: {\n                    responsive: true,\n                    maintainAspectRatio: true,\n                    scales: {\n                        r: {\n                            beginAtZero: true,\n                            max: 100,\n                            ticks: {\n                                stepSize: 20,\n                                font: {\n                                    size: 12\n                                }\n                            },\n                            pointLabels: {\n                                font: {\n                                    size: 14,\n                                    weight: 'bold'\n                                },\n                                color: '#2c5f2d'\n                            }\n                        }\n                    },\n                    plugins: {\n                        legend: {\n                            display: false\n                        },\n                        tooltip: {\n                            callbacks: {\n                                label: function(context) {\n                                    return context.label + ': ' + context.raw + '%';\n                                }\n                            }\n                        }\n                    }\n                }\n            });\n        }\n        \n        resetQuiz() {\n            this.currentQuestion = 0;\n            this.answers = [];\n            if (this.chartInstance) {\n                this.chartInstance.destroy();\n                this.chartInstance = null;\n            }\n            this.showPage('intro');\n            this.scrollToTop();\n        }\n        \n        scrollToTop() {\n            window.scrollTo({ top: 0, behavior: 'smooth' });\n        }\n    }\n    \n    \/\/ \u521d\u59cb\u5316\u6e2c\u9a57\n    window.eqTest = new EQTest();\n})();\n<\/script>\n\n\n\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>\u54c8\u4f5b\u5fc3\u7406\u5b66\u7cfb\u535a\u58eb\u6234\u5c3c\u5c14\u00b7\u9ad8\u5c14\u66fc\u4e3a\u60c5\u5546\u7684\u6d4b\u8bd5\u505a\u4e86\u4e00\u4e9b\u52aa\u529b\uff0c\u5c1d\u8bd5\u51fa\u4e86\u4e00\u4e9b\u95ee\u9898\uff0c\u901a\u8fc7\u5bf9\u8fd9\u4e9b\u95ee\u9898\u7684\u56de\u7b54\uff0c\u60a8\u53ef\u4ee5\u83b7\u5f97\u4e00\u4e2a\u5173\u4e8e\u81ea\u5df1\u7684EQ\u7684\u7c97\u7565\u7684\u611f\u6027\u5370\u8c61\u3002<\/p>","protected":false},"author":19,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"narrow-width-container","site-content-style":"unboxed","site-sidebar-style":"default","ast-global-header-display":"disabled","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":"","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":"","ast-page-background-enabled":"default","ast-page-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":"","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-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":"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":""},"mobile":{"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":""}},"footnotes":""},"categories":[167],"tags":[],"class_list":["post-2635","post","type-post","status-publish","format-standard","hentry","category-personality"],"_links":{"self":[{"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/posts\/2635","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/users\/19"}],"replies":[{"embeddable":true,"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/comments?post=2635"}],"version-history":[{"count":4,"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/posts\/2635\/revisions"}],"predecessor-version":[{"id":10610,"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/posts\/2635\/revisions\/10610"}],"wp:attachment":[{"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/media?parent=2635"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/categories?post=2635"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/tags?post=2635"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}