{"id":2626,"date":"2023-10-18T09:48:01","date_gmt":"2023-10-18T01:48:01","guid":{"rendered":"https:\/\/bookmark.tw\/?p=2626"},"modified":"2025-06-04T17:33:37","modified_gmt":"2025-06-04T09:33:37","slug":"anxiety-disorders","status":"publish","type":"post","link":"https:\/\/xinliceyan.org\/zh\/anxiety-disorders","title":{"rendered":"\u7dca\u5f35\u75c7\uff08\u60c5\u7dd2\u7dca\u5f35\u7a0b\u5ea6\uff09\u7dda\u4e0a\u514d\u8cbb\u6e2c\u9a57\uff0829\u984c\uff09"},"content":{"rendered":"<!-- Bootstrap CSS -->\n<link href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/bootstrap\/5.3.3\/css\/bootstrap.min.css\" rel=\"stylesheet\">\n<!-- Bootstrap Icons -->\n<link href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/bootstrap-icons\/1.11.3\/font\/bootstrap-icons.min.css\" rel=\"stylesheet\">\n<!-- Chart.js -->\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/Chart.js\/4.4.1\/chart.umd.min.js\"><\/script>\n\n<!-- HTML \u7d50\u69cb -->\n<!-- \u5f15\u5c0e\u9801 -->\n<main id=\"landing-page\" class=\"tension-test-container\" data-page=\"landing\">\n    <section class=\"row min-vh-100 align-items-center justify-content-center py-5\">\n        <div class=\"col-12\">\n            <header class=\"text-center mb-5\">\n                <h2 class=\"display-5 fw-bold text-dark mb-3\">\u7dca\u5f35\u75c7\uff08\u60c5\u7dd2\u7dca\u5f35\u7a0b\u5ea6\uff09\u6e2c\u9a57<\/h2>\n                <p class=\"lead text-muted mb-4\">\u5c08\u696d\u8a55\u4f30\u60a8\u7684\u60c5\u7dd2\u7dca\u5f35\u7a0b\u5ea6<\/p>\n            <\/header>\n\n            <article class=\"card shadow-lg border-0 mb-4\">\n                <div class=\"card-body p-4 p-md-5\">\n                    <div class=\"row g-4 mb-4\">\n                        <div class=\"col-12 col-md-4 text-center\">\n                            <div class=\"bg-success bg-opacity-10 rounded-circle d-inline-flex align-items-center justify-content-center mb-3\" style=\"width: 80px; height: 80px;\">\n                                <i class=\"bi bi-clock text-success\" style=\"font-size: 2rem;\"><\/i>\n                            <\/div>\n                            <h5 class=\"fw-semibold text-dark\">\u5feb\u901f\u5b8c\u6210<\/h5>\n                            <p class=\"text-muted small mb-0\">\u50c5\u97005-8\u5206\u9418<\/p>\n                        <\/div>\n                        <div class=\"col-12 col-md-4 text-center\">\n                            <div class=\"bg-success bg-opacity-10 rounded-circle d-inline-flex align-items-center justify-content-center mb-3\" style=\"width: 80px; height: 80px;\">\n                                <i class=\"bi bi-shield-check text-success\" style=\"font-size: 2rem;\"><\/i>\n                            <\/div>\n                            <h5 class=\"fw-semibold text-dark\">\u79d1\u5b78\u53ef\u9760<\/h5>\n                            <p class=\"text-muted small mb-0\">\u5c08\u696d\u5fc3\u7406\u8a55\u4f30<\/p>\n                        <\/div>\n                        <div class=\"col-12 col-md-4 text-center\">\n                            <div class=\"bg-success bg-opacity-10 rounded-circle d-inline-flex align-items-center justify-content-center mb-3\" style=\"width: 80px; height: 80px;\">\n                                <i class=\"bi bi-graph-up text-success\" style=\"font-size: 2rem;\"><\/i>\n                            <\/div>\n                            <h5 class=\"fw-semibold text-dark\">\u8be6\u7ec6\u5206\u6790<\/h5>\n                            <p class=\"text-muted small mb-0\">\u6df1\u5ea6\u7d50\u679c\u89e3\u8b80<\/p>\n                        <\/div>\n                    <\/div>\n\n                    <div class=\"bg-light rounded-3 p-4 mb-4\">\n                        <h6 class=\"fw-semibold mb-3 text-dark\"><i class=\"bi bi-info-circle text-success me-2\"><\/i>\u6e2c\u9a57\u8aaa\u660e<\/h6>\n                        <p class=\"mb-2\">\u73fe\u4ee3\u751f\u6d3b\u7bc0\u594f\u52a0\u5feb\uff0c\u5de5\u4f5c\u58d3\u529b\u589e\u5927\uff0c\u8a31\u591a\u4eba\u90fd\u6703\u7d93\u6b77\u4e0d\u540c\u7a0b\u5ea6\u7684\u60c5\u7dd2\u7dca\u5f35\u3002\u9069\u5ea6\u7684\u7dca\u5f35\u611f\u662f\u6b63\u5e38\u7684\uff0c\u4f46\u9577\u671f\u904e\u5ea6\u7dca\u5f35\u53ef\u80fd\u5f71\u97ff\u8eab\u5fc3\u5065\u5eb7\u3002<\/p>\n                        <p class=\"mb-0\">\u672c\u6e2c\u9a57\u5305\u542b29\u500b\u554f\u984c\uff0c\u5c07\u5e6b\u52a9\u60a8\u4e86\u89e3\u81ea\u5df1\u7684\u60c5\u7dd2\u7dca\u5f35\u7a0b\u5ea6\uff0c\u4e26\u63d0\u4f9b\u76f8\u61c9\u7684\u5efa\u8b70\u3002<\/p>\n                    <\/div>\n\n                    <div class=\"d-grid\">\n                        <button type=\"button\" class=\"btn btn-success btn-lg rounded-pill py-3 shadow-sm\" data-action=\"start-test\">\n                            <i class=\"bi bi-play-circle me-2\"><\/i>\u5f00\u59cb\u6d4b\u9a8c\n                        <\/button>\n                    <\/div>\n                <\/div>\n            <\/article>\n        <\/div>\n    <\/section>\n<\/main>\n\n<!-- \u6e2c\u9a57\u9801 -->\n<main id=\"test-page\" class=\"tension-test-container d-none\" data-page=\"test\">\n    <section class=\"row min-vh-100 py-4\">\n        <div class=\"col-12\">\n            <header class=\"text-center mb-4\">\n                <h2 class=\"h3 fw-bold text-dark mb-3\">\u7dca\u5f35\u75c7\u60c5\u7dd2\u6e2c\u9a57<\/h2>\n                <div class=\"progress mb-3\" style=\"height: 8px;\">\n                    <div class=\"progress-bar bg-success\" data-element=\"progress-bar\" role=\"progressbar\" style=\"width: 0%\"><\/div>\n                <\/div>\n                <p class=\"text-muted mb-0\">\n                    <span data-element=\"current-question\">1<\/span> \/ <span data-element=\"total-questions\">29<\/span>\n                <\/p>\n            <\/header>\n\n            <article class=\"card shadow border-0 mb-4\">\n                <div class=\"card-body p-4 p-md-5\">\n                    <h3 class=\"fw-bold mb-4 text-dark\" data-element=\"question-text\" style=\"font-size: 22px; line-height: 1.4;\">\n                        <!-- \u554f\u984c\u5c07\u52d5\u614b\u8f09\u5165 -->\n                    <\/h3>\n\n                    <div class=\"row g-3 mb-4\">\n                        <div class=\"col-12 col-sm-6\">\n                            <button type=\"button\" class=\"btn btn-outline-success btn-lg w-100 py-3 rounded-3 option-btn\" data-answer=\"0\" style=\"font-size: 18px;\">\n                                <i class=\"bi bi-x-circle me-2\"><\/i>\u65e0\n                            <\/button>\n                        <\/div>\n                        <div class=\"col-12 col-sm-6\">\n                            <button type=\"button\" class=\"btn btn-outline-danger btn-lg w-100 py-3 rounded-3 option-btn\" data-answer=\"1\" style=\"font-size: 18px;\">\n                                <i class=\"bi bi-check-circle me-2\"><\/i>\u6709\n                            <\/button>\n                        <\/div>\n                    <\/div>\n\n                    <div class=\"text-center\">\n                        <button type=\"button\" class=\"btn btn-outline-secondary d-none\" data-action=\"prev-question\">\n                            <i class=\"bi bi-arrow-left me-2\"><\/i>\u4e0a\u4e00\u9898\n                        <\/button>\n                    <\/div>\n                <\/div>\n            <\/article>\n        <\/div>\n    <\/section>\n<\/main>\n\n<!-- \u7d50\u679c\u9801 -->\n<main id=\"result-page\" class=\"tension-test-container d-none\" data-page=\"result\">\n    <section class=\"row min-vh-100 py-4\">\n        <div class=\"col-12\">\n            <header class=\"text-center mb-5\">\n                <h2 class=\"display-6 fw-bold text-dark mb-3\">\u6d4b\u9a8c\u7ed3\u679c<\/h2>\n                <p class=\"lead text-muted\">\u60a8\u7684\u60c5\u7dd2\u7dca\u5f35\u7a0b\u5ea6\u8a55\u4f30\u5831\u544a<\/p>\n            <\/header>\n\n            <article class=\"row justify-content-center mb-5\">\n                <!-- \u7b49\u7d1a\u5361\u7247 -->\n                <div class=\"col-12 col-md-8\">\n                    <div class=\"card shadow border-0\">\n                        <div class=\"card-body p-4 text-center\">\n                            <div class=\"mb-3\" data-element=\"level-icon\">\n                                <!-- \u5716\u6a19\u5c07\u52d5\u614b\u8f09\u5165 -->\n                            <\/div>\n                            <h5 class=\"fw-bold mb-2 text-dark\">\u8bc4\u4f30\u7ed3\u679c<\/h5>\n                            <h4 class=\"fw-bold mb-2\" data-element=\"level-text\"><!-- \u7b49\u7d1a\u6587\u5b57 --><\/h4>\n                            <p class=\"text-muted mb-3\" data-element=\"level-description\"><!-- \u7b49\u7d1a\u63cf\u8ff0 --><\/p>\n                            <div class=\"fw-bold text-success fs-3\" data-element=\"total-score\">0 \u5206<\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/article>\n\n            <!-- \u5206\u6578\u5340\u9593\u5206\u6790 -->\n            <article class=\"card shadow border-0 mb-4\">\n                <div class=\"card-body p-4\">\n                    <h5 class=\"fw-bold mb-4 text-center text-dark\">\u5206\u6578\u5340\u9593\u5206\u6790<\/h5>\n                    <div class=\"row justify-content-center\">\n                        <div class=\"col-12\">\n                            <canvas id=\"result-chart\" style=\"height: 120px;\"><\/canvas>\n                        <\/div>\n                    <\/div>\n                    <div class=\"row g-2 mt-3\">\n                        <div class=\"col-6 col-lg-3\">\n                            <div class=\"text-center p-2\">\n                                <span class=\"badge bg-success rounded-pill\">\u6b63\u5e38\u8303\u56f4<\/span>\n                                <small class=\"d-block text-muted mt-1\">0-9\u5206<\/small>\n                            <\/div>\n                        <\/div>\n                        <div class=\"col-6 col-lg-3\">\n                            <div class=\"text-center p-2\">\n                                <span class=\"badge bg-warning rounded-pill\">\u8f15\u5ea6\u7126\u616e<\/span>\n                                <small class=\"d-block text-muted mt-1\">10-19\u5206<\/small>\n                            <\/div>\n                        <\/div>\n                        <div class=\"col-6 col-lg-3\">\n                            <div class=\"text-center p-2\">\n                                <span class=\"badge bg-danger rounded-pill\">\u4e2d\u5ea6\u7126\u616e<\/span>\n                                <small class=\"d-block text-muted mt-1\">20-24\u5206<\/small>\n                            <\/div>\n                        <\/div>\n                        <div class=\"col-6 col-lg-3\">\n                            <div class=\"text-center p-2\">\n                                <span class=\"badge bg-dark rounded-pill\">\u91cd\u5ea6\u7126\u616e<\/span>\n                                <small class=\"d-block text-muted mt-1\">25-29\u5206<\/small>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/article>\n\n            <!-- \u8a73\u7d30\u5206\u6790 -->\n            <article class=\"card shadow border-0 mb-4\">\n                <div class=\"card-body p-4\">\n                    <h5 class=\"fw-bold mb-4 text-dark\"><i class=\"bi bi-clipboard-data text-success me-2\"><\/i>\u8be6\u7ec6\u5206\u6790<\/h5>\n                    <div data-element=\"detailed-analysis\">\n                        <!-- \u8a73\u7d30\u5206\u6790\u5167\u5bb9\u5c07\u52d5\u614b\u8f09\u5165 -->\n                    <\/div>\n                <\/div>\n            <\/article>\n\n            <!-- \u5efa\u8b70 -->\n            <article class=\"card shadow border-0 mb-5\">\n                <div class=\"card-body p-4\">\n                    <h5 class=\"fw-bold mb-4 text-dark\"><i class=\"bi bi-lightbulb text-warning me-2\"><\/i>\u5c08\u696d\u5efa\u8b70<\/h5>\n                    <div data-element=\"recommendations\">\n                        <!-- \u5efa\u8b70\u5167\u5bb9\u5c07\u52d5\u614b\u8f09\u5165 -->\n                    <\/div>\n                <\/div>\n            <\/article>\n\n            <!-- \u91cd\u65b0\u6e2c\u8a66\u6309\u9215 -->\n            <div class=\"text-center\">\n                <button type=\"button\" class=\"btn btn-success btn-lg rounded-pill px-5 py-3 shadow\" data-action=\"restart-test\">\n                    <i class=\"bi bi-arrow-clockwise me-2\"><\/i>\u91cd\u65b0\u6d4b\u9a8c\n                <\/button>\n            <\/div>\n        <\/div>\n    <\/section>\n<\/main>\n\n<!-- CSS \u6a23\u5f0f -->\n<style>\n\/* \u57fa\u790e\u6a23\u5f0f\u8a2d\u5b9a *\/\nbody {\n    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n    font-size: 16px;\n    line-height: 1.6;\n}\n\n\/* \u5bb9\u5668\u8a2d\u5b9a - \u9069\u914dWordPress 750px\u6700\u5927\u5bec\u5ea6 *\/\n.tension-test-container {\n    max-width: 750px;\n    margin: 0 auto;\n    padding: 0 15px;\n    background-color: transparent;\n}\n\n\/* \u79fb\u9664\u539f\u6709\u7684\u80cc\u666f\u8272\u8a2d\u5b9a *\/\n.tension-test-container .bg-light {\n    background-color: #f8f9fa !important;\n}\n\n\/* \u5361\u7247\u61f8\u505c\u6548\u679c *\/\n.card {\n    transition: transform 0.3s ease, box-shadow 0.3s ease;\n    background-color: white;\n}\n\n.card:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15) !important;\n}\n\n\/* \u9078\u9805\u6309\u9215\u6a23\u5f0f *\/\n.option-btn {\n    transition: all 0.3s ease;\n    border-width: 2px;\n    font-weight: 600;\n    color: #495057 !important;\n}\n\n.option-btn:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);\n}\n\n.option-btn.selected {\n    color: white !important;\n}\n\n.btn-outline-success.selected {\n    background-color: #28a745;\n    border-color: #28a745;\n}\n\n.btn-outline-danger.selected {\n    background-color: #dc3545;\n    border-color: #dc3545;\n}\n\n\/* \u9032\u5ea6\u689d\u6a23\u5f0f *\/\n.progress {\n    background-color: rgba(0, 0, 0, 0.1);\n    border-radius: 10px;\n}\n\n.progress-bar {\n    border-radius: 10px;\n    transition: width 0.6s ease;\n}\n\n\/* \u6309\u9215\u61f8\u505c\u6548\u679c *\/\n.btn-success {\n    transition: all 0.3s ease;\n}\n\n.btn-success:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 8px 20px rgba(40, 167, 69, 0.4);\n}\n\n\/* \u97ff\u61c9\u5f0f\u5b57\u9ad4\u5927\u5c0f *\/\n.display-4 {\n    font-size: 3.5rem;\n}\n\n\/* \u79fb\u52d5\u8a2d\u5099\u9069\u914d *\/\n@media (max-width: 576px) {\n    .tension-test-container {\n        padding: 0 10px;\n    }\n    \n    .display-4 {\n        font-size: 2.5rem;\n    }\n    \n    .option-btn {\n        font-size: 16px !important;\n    }\n    \n    h3 {\n        font-size: 20px !important;\n    }\n    \n    .card-body {\n        padding: 1.5rem !important;\n    }\n}\n\n\/* \u5e73\u677f\u8a2d\u5099\u9069\u914d *\/\n@media (max-width: 768px) {\n    .tension-test-container {\n        max-width: 100%;\n    }\n}\n\n\/* \u78ba\u4fdd\u6309\u9215\u5c3a\u5bf8\u7b26\u5408\u53ef\u89f8\u63a7\u6a19\u6e96 *\/\n.btn-lg {\n    min-height: 44px;\n    min-width: 44px;\n}\n\n\/* \u5716\u8868\u5bb9\u5668 *\/\n#result-chart {\n    max-width: 100%;\n    height: auto;\n}\n\n\/* \u79fb\u9664\u6700\u5c0f\u9ad8\u5ea6\u8a2d\u5b9a\u4ee5\u9069\u61c9\u5d4c\u5165 *\/\n.min-vh-100 {\n    min-height: auto !important;\n}\n\n\/* \u78ba\u4fdd\u5167\u5bb9\u5340\u57df\u9069\u7576\u9593\u8ddd *\/\n.tension-test-container section {\n    padding-top: 2rem;\n    padding-bottom: 2rem;\n}\n<\/style>\n\n<!-- JavaScript \u884c\u70ba -->\n<script>\n\/\/ \u6e2c\u9a57\u61c9\u7528\u7a0b\u5f0f\u985e\u5225\nclass TensionTestApp {\n    constructor() {\n        this.currentQuestion = 0;\n        this.answers = [];\n        this.questions = [\n            \"\u5e38\u5e38\u6beb\u7121\u539f\u56e0\u5730\u89ba\u5f97\u5fc3\u7169\u610f\u4e82\u3001\u5750\u7acb\u4e0d\u5b89\u3002\",\n            \"\u81e8\u7761\u6642\u4ecd\u5728\u601d\u8003\u5404\u7a2e\u554f\u984c\uff0c\u4e0d\u80fd\u5165\u7761\u3002\u5373\u4f7f\u7761\u8457\uff0c\u4e5f\u5bb9\u6613\u88ab\u9a5a\u9192\u3002\",\n            \"\u8178\u80c3\u529f\u80fd\u5931\u8abf\uff0c\u7d93\u5e38\u8179\u7009\u3002\",\n            \"\u5bb9\u6613\u505a\u60e1\u5922\uff0c\u4e00\u5230\u665a\u4e0a\u5c31\u5026\u6020\u7121\u529b\uff0c\u7126\u616e\u7169\u8e81\u3002\",\n            \"\u4e00\u6709\u4e0d\u7a31\u5fc3\u7684\u4e8b\u60c5\uff0c\u4fbf\u5927\u91cf\u5438\u83f8\uff0c\u6182\u9b31\u5be1\u6b61\u3001\u6c89\u9ed8\u5c11\u8a00\u3002\",\n            \"\u65e9\u6668\u8d77\u5e8a\u5f8c\uff0c\u5c31\u6709\u5026\u6020\u611f\uff0c\u982d\u660f\u8166\u8139\uff0c\u6e3e\u8eab\u6c92\u52c1\uff0c\u559c\u975c\u6015\u52d5\uff0c\u6d88\u6c89\u3002\",\n            \"\u7d93\u5e38\u6c92\u6709\u98df\u617e\uff0c\u5403\u6771\u897f\u6c92\u6709\u5473\u9053\uff0c\u5be7\u53ef\u5fcd\u53d7\u98e2\u9913\u3002\",\n            \"\u7a0d\u5fae\u904b\u52d5\uff0c\u5c31\u6703\u51fa\u73fe\u5fc3\u8df3\u52a0\u901f\u3001\u80f8\u60b6\u6c23\u5598\u3002\",\n            \"\u4e0d\u7ba1\u5728\u54ea\u88e1\uff0c\u90fd\u611f\u5230\u6709\u8a31\u591a\u4e8b\u60c5\u4e0d\u9806\u5fc3\uff0c\u6697\u81ea\u7169\u8e81\u3002\",\n            \"\u60f3\u5f97\u5230\u67d0\u6a23\u6771\u897f\uff0c\u4e00\u6642\u4e0d\u80fd\u6eff\u8db3\u5c31\u6703\u611f\u5230\u5fc3\u4e2d\u96e3\u53d7\u3002\",\n            \"\u5076\u723e\u505a\u4e00\u9ede\u8f15\u9b06\u5de5\u4f5c\uff0c\u5c31\u6703\u611f\u5230\u75b2\u52de\u3001\u5168\u8eab\u4e4f\u529b\u3002\",\n            \"\u51fa\u9580\u8fa6\u4e8b\u7684\u6642\u5019\uff0c\u7e3d\u89ba\u5f97\u7cbe\u529b\u4e0d\u6fdf\u3001\u6709\u6c23\u7121\u529b\u3002\",\n            \"\u7576\u8457\u89aa\u53cb\u7684\u9762\uff0c\u7a0d\u4e0d\u5982\u610f\uff0c\u5c31\u6703\u52c3\u7136\u5927\u6012\uff0c\u5931\u53bb\u7406\u667a\u3002\",\n            \"\u4efb\u4f55\u4e00\u4ef6\u5c0f\u4e8b\uff0c\u90fd\u6703\u4e00\u76f4\u5370\u5728\u8166\u6d77\u88e1\uff0c\u6574\u5929\u601d\u8003\u3002\",\n            \"\u8655\u7406\u4e8b\u60c5\u552f\u6211\u7368\u5c0a\uff0c\u60c5\u7dd2\u6025\u8e81\uff0c\u614b\u5ea6\u7c97\u66b4\u3002\",\n            \"\u4e00\u559d\u9152\u5c31\u904e\u91cf\uff0c\u610f\u8b58\u548c\u6f5b\u610f\u8b58\u88e1\u90fd\u60f3\u4e00\u9189\u65b9\u4f11\u3002\",\n            \"\u5c0d\u5225\u4eba\u7684\u75be\u75c5\uff0c\u975e\u5e38\u95dc\u5fc3\uff0c\u5230\u8655\u6253\u807d\uff0c\u552f\u6050\u81ea\u5df1\u8eab\u60a3\u540c\u6a23\u7684\u75c5\u3002\",\n            \"\u770b\u5230\u5225\u4eba\u6210\u529f\u6216\u7372\u5f97\u8b9a\u8b7d\uff0c\u5e38\u6703\u5ac9\u5992\uff0c\u751a\u81f3\u61f7\u6068\u5728\u5fc3\u3002\",\n            \"\u7f6e\u8eab\u7e41\u96dc\u7684\u74b0\u5883\u88e1\uff0c\u5bb9\u6613\u601d\u7dad\u6df7\u4e82\u3001\u884c\u70ba\u5931\u5e8f\u3002\",\n            \"\u5de6\u9130\u53f3\u820d\u5bb6\u4e2d\u767c\u51fa\u7684\u566a\u97f3\uff0c\u6703\u4f7f\u4f60\u611f\u5230\u7126\u8e81\u767c\u614c\uff0c\u5fc3\u60b8\u51fa\u6c57\u3002\",\n            \"\u660e\u77e5\u662f\u611a\u4e0d\u53ef\u53ca\u7684\u4e8b\u60c5\uff0c\u537b\u975e\u505a\u4e0d\u53ef\uff0c\u4e8b\u5f8c\u53c8\u611f\u5230\u61ca\u6094\u3002\",\n            \"\u5373\u4f7f\u662f\u4f11\u9592\u8b80\u7269\u4e5f\u770b\u4e0d\u9032\u53bb\uff0c\u751a\u81f3\u9023\u4e2d\u5fc3\u601d\u60f3\u4e5f\u641e\u4e0d\u6e05\u695a\u3002\",\n            \"\u4e00\u6709\u7a7a\u5c31\u6574\u5929\u6253\u9ebb\u5c07\uff0c\u6df7\u4e00\u5929\u662f\u4e00\u5929\u3002\",\n            \"\u7d93\u5e38\u548c\u540c\u4e8b\u6216\u5bb6\u4eba\u751a\u81f3\u964c\u751f\u4eba\u767c\u751f\u722d\u5435\u3002\",\n            \"\u7d93\u5e38\u611f\u5230\u982d\u75db\u80f8\u60b6\uff0c\u6709\u7f3a\u6c27\u7684\u611f\u89ba\u3002\",\n            \"\u6bcf\u6bcf\u9677\u5165\u5f80\u4e8b\u4fbf\u8ffd\u6094\u83ab\u53ca\uff0c\u6709\u7f6a\u60e1\u611f\u3002\",\n            \"\u505a\u4e8b\u8aaa\u8a71\u90fd\u6025\u4e0d\u53ef\u5f85\uff0c\u7528\u8a5e\u6fc0\u70c8\u3002\",\n            \"\u9047\u5230\u7a81\u767c\u4e8b\u4ef6\u5c31\u5931\u53bb\u4fe1\u5fc3\uff0c\u986f\u5f97\u7126\u616e\u7dca\u5f35\u3002\",\n            \"\u6027\u683c\u5014\u5f37\u56fa\u57f7\uff0c\u813e\u6c23\u6025\u8e81\uff0c\u4e0d\u6613\u5408\u7fa4\u3002\"\n        ];\n        this.init();\n    }\n\n    init() {\n        this.bindEvents();\n        this.showPage('landing');\n    }\n\n    bindEvents() {\n        \/\/ \u4f7f\u7528\u4e8b\u4ef6\u59d4\u8a17\u8655\u7406\u6240\u6709\u6309\u9215\u9ede\u64ca\n        document.addEventListener('click', (e) => {\n            const action = e.target.closest('[data-action]')?.dataset.action;\n            const answer = e.target.closest('[data-answer]')?.dataset.answer;\n\n            if (action) {\n                this.handleAction(action);\n            } else if (answer !== undefined) {\n                this.selectAnswer(parseInt(answer));\n            }\n        });\n    }\n\n    handleAction(action) {\n        switch (action) {\n            case 'start-test':\n                this.startTest();\n                break;\n            case 'prev-question':\n                this.prevQuestion();\n                break;\n            case 'restart-test':\n                this.restartTest();\n                break;\n        }\n    }\n\n    showPage(pageName) {\n        \/\/ \u96b1\u85cf\u6240\u6709\u9801\u9762\n        document.querySelectorAll('[data-page]').forEach(page => {\n            page.classList.add('d-none');\n        });\n\n        \/\/ \u986f\u793a\u6307\u5b9a\u9801\u9762\n        const targetPage = document.querySelector(`[data-page=\"${pageName}\"]`);\n        if (targetPage) {\n            targetPage.classList.remove('d-none');\n            \/\/ \u6efe\u52d5\u5230\u9801\u9762\u9802\u90e8\n            setTimeout(() => {\n                targetPage.scrollIntoView({ behavior: 'smooth' });\n            }, 100);\n        }\n    }\n\n    startTest() {\n        this.currentQuestion = 0;\n        this.answers = [];\n        this.showPage('test');\n        this.displayQuestion();\n    }\n\n    displayQuestion() {\n        const questionElement = document.querySelector('[data-element=\"question-text\"]');\n        const currentElement = document.querySelector('[data-element=\"current-question\"]');\n        const totalElement = document.querySelector('[data-element=\"total-questions\"]');\n        const progressBar = document.querySelector('[data-element=\"progress-bar\"]');\n        const prevButton = document.querySelector('[data-action=\"prev-question\"]');\n\n        \/\/ \u66f4\u65b0\u554f\u984c\u6587\u5b57\n        questionElement.textContent = this.questions[this.currentQuestion];\n\n        \/\/ \u66f4\u65b0\u9032\u5ea6\n        const progress = ((this.currentQuestion + 1) \/ this.questions.length) * 100;\n        progressBar.style.width = `${progress}%`;\n        currentElement.textContent = this.currentQuestion + 1;\n        totalElement.textContent = this.questions.length;\n\n        \/\/ \u986f\u793a\/\u96b1\u85cf\u4e0a\u4e00\u984c\u6309\u9215\n        if (this.currentQuestion > 0) {\n            prevButton.classList.remove('d-none');\n        } else {\n            prevButton.classList.add('d-none');\n        }\n\n        \/\/ \u6e05\u9664\u9078\u9805\u9078\u4e2d\u72c0\u614b\n        document.querySelectorAll('.option-btn').forEach(btn => {\n            btn.classList.remove('selected');\n        });\n    }\n\n    selectAnswer(answer) {\n        \/\/ \u5132\u5b58\u7b54\u6848\n        this.answers[this.currentQuestion] = answer;\n\n        \/\/ \u6a19\u8a18\u9078\u4e2d\u7684\u9078\u9805\n        document.querySelectorAll('.option-btn').forEach(btn => {\n            btn.classList.remove('selected');\n        });\n        \n        const selectedBtn = document.querySelector(`[data-answer=\"${answer}\"]`);\n        selectedBtn.classList.add('selected');\n\n        \/\/ \u5ef6\u9072\u5f8c\u81ea\u52d5\u9032\u5165\u4e0b\u4e00\u984c\u6216\u986f\u793a\u7d50\u679c\n        setTimeout(() => {\n            if (this.currentQuestion < this.questions.length - 1) {\n                this.currentQuestion++;\n                this.displayQuestion();\n            } else {\n                this.showResults();\n            }\n        }, 800);\n    }\n\n    prevQuestion() {\n        if (this.currentQuestion > 0) {\n            this.currentQuestion--;\n            this.displayQuestion();\n        }\n    }\n\n    calculateScore() {\n        return this.answers.reduce((sum, answer) => sum + answer, 0);\n    }\n\n    getScoreLevel(score) {\n        if (score <= 9) {\n            return {\n                level: '\u6b63\u5e38\u7bc4\u570d',\n                description: '\u60a8\u7684\u60c5\u7dd2\u7dca\u5f35\u7a0b\u5ea6\u5728\u6b63\u5e38\u7bc4\u570d\u5167',\n                color: 'success',\n                icon: 'bi-emoji-smile',\n                bgColor: 'success'\n            };\n        } else if (score <= 19) {\n            return {\n                level: '\u8f15\u5ea6\u7126\u616e',\n                description: '\u5b58\u5728\u8f15\u5fae\u7684\u60c5\u7dd2\u7dca\u5f35',\n                color: 'warning',\n                icon: 'bi-emoji-neutral',\n                bgColor: 'warning'\n            };\n        } else if (score <= 24) {\n            return {\n                level: '\u4e2d\u5ea6\u7126\u616e',\n                description: '\u9700\u8981\u95dc\u6ce8\u60c5\u7dd2\u5065\u5eb7',\n                color: 'danger',\n                icon: 'bi-emoji-frown',\n                bgColor: 'danger'\n            };\n        } else {\n            return {\n                level: '\u91cd\u5ea6\u7126\u616e',\n                description: '\u5efa\u8b70\u5c0b\u6c42\u5c08\u696d\u5354\u52a9',\n                color: 'dark',\n                icon: 'bi-exclamation-triangle',\n                bgColor: 'danger'\n            };\n        }\n    }\n\n    showResults() {\n        const score = this.calculateScore();\n        const level = this.getScoreLevel(score);\n\n        \/\/ \u66f4\u65b0\u7d50\u679c\u9801\u9762\u5167\u5bb9\n        document.querySelector('[data-element=\"total-score\"]').textContent = `${score} \u5206`;\n        document.querySelector('[data-element=\"level-text\"]').textContent = level.level;\n        document.querySelector('[data-element=\"level-text\"]').className = `fw-bold mb-2 text-${level.color}`;\n        document.querySelector('[data-element=\"level-description\"]').textContent = level.description;\n\n        \/\/ \u66f4\u65b0\u5716\u6a19\n        const iconElement = document.querySelector('[data-element=\"level-icon\"]');\n        iconElement.innerHTML = `\n            <div class=\"bg-${level.bgColor} bg-opacity-10 rounded-circle d-inline-flex align-items-center justify-content-center\" style=\"width: 80px; height: 80px;\">\n                <i class=\"bi ${level.icon} text-${level.color}\" style=\"font-size: 2.5rem;\"><\/i>\n            <\/div>\n        `;\n\n        \/\/ \u751f\u6210\u8a73\u7d30\u5206\u6790\n        this.generateDetailedAnalysis(score, level);\n\n        \/\/ \u751f\u6210\u5efa\u8b70\n        this.generateRecommendations(score, level);\n\n        \/\/ \u5275\u5efa\u5716\u8868\n        this.createChart(score);\n\n        \/\/ \u986f\u793a\u7d50\u679c\u9801\u9762\n        this.showPage('result');\n    }\n\n    generateDetailedAnalysis(score, level) {\n        const analysisElement = document.querySelector('[data-element=\"detailed-analysis\"]');\n        const percentage = Math.round((score \/ 29) * 100);\n        \n        let analysisContent = `\n            <div class=\"row g-3 mb-4\">\n                <div class=\"col-6 col-md-3\">\n                    <div class=\"text-center p-3 bg-light rounded\">\n                        <div class=\"fw-bold text-success fs-4\">${percentage}%<\/div>\n                        <small class=\"text-muted\">\u7dca\u5f35\u5ea6<\/small>\n                    <\/div>\n                <\/div>\n                <div class=\"col-6 col-md-3\">\n                    <div class=\"text-center p-3 bg-light rounded\">\n                        <div class=\"fw-bold text-success fs-4\">${this.answers.filter(a => a === 1).length}<\/div>\n                        <small class=\"text-muted\">\u967d\u6027\u75c7\u72c0<\/small>\n                    <\/div>\n                <\/div>\n                <div class=\"col-6 col-md-3\">\n                    <div class=\"text-center p-3 bg-light rounded\">\n                        <div class=\"fw-bold text-success fs-4\">${this.answers.filter(a => a === 0).length}<\/div>\n                        <small class=\"text-muted\">\u9670\u6027\u75c7\u72c0<\/small>\n                    <\/div>\n                <\/div>\n                <div class=\"col-6 col-md-3\">\n                    <div class=\"text-center p-3 bg-light rounded\">\n                        <div class=\"fw-bold text-success fs-4\">${29 - score}<\/div>\n                        <small class=\"text-muted\">\u5065\u5eb7\u9918\u88d5<\/small>\n                    <\/div>\n                <\/div>\n            <\/div>\n        `;\n\n        if (score <= 9) {\n            analysisContent += `\n                <p>\u606d\u559c\u60a8\uff01\u60a8\u7684\u60c5\u7dd2\u7dca\u5f35\u7a0b\u5ea6\u5728\u6b63\u5e38\u7bc4\u570d\u5167\u3002\u9019\u8868\u793a\u60a8\u80fd\u5920\u5f88\u597d\u5730\u7ba1\u7406\u65e5\u5e38\u58d3\u529b\uff0c\u4fdd\u6301\u76f8\u5c0d\u7a69\u5b9a\u7684\u60c5\u7dd2\u72c0\u614b\u3002<\/p>\n                <p>\u60a8\u5c55\u73fe\u51fa\u826f\u597d\u7684\u60c5\u7dd2\u8abf\u7bc0\u80fd\u529b\uff0c\u80fd\u5920\u9069\u61c9\u751f\u6d3b\u4e2d\u7684\u5404\u7a2e\u6311\u6230\u800c\u4e0d\u6703\u904e\u5ea6\u7dca\u5f35\u3002<\/p>\n            `;\n        } else if (score <= 19) {\n            analysisContent += `\n                <p>\u60a8\u76ee\u524d\u8655\u65bc\u8f15\u5ea6\u7126\u616e\u72c0\u614b\u3002\u96d6\u7136\u4ecd\u5728\u53ef\u63a7\u7bc4\u570d\u5167\uff0c\u4f46\u9700\u8981\u9069\u7576\u95dc\u6ce8\u60c5\u7dd2\u5065\u5eb7\u3002<\/p>\n                <p>\u9019\u53ef\u80fd\u662f\u7531\u65bc\u6700\u8fd1\u7684\u5de5\u4f5c\u58d3\u529b\u3001\u751f\u6d3b\u8b8a\u5316\u6216\u5176\u4ed6\u58d3\u529b\u6e90\u9020\u6210\u7684\u3002\u900f\u904e\u9069\u7576\u7684\u8abf\u7bc0\u65b9\u6cd5\uff0c\u60a8\u53ef\u4ee5\u6709\u6548\u6539\u5584\u9019\u7a2e\u72c0\u6cc1\u3002<\/p>\n            `;\n        } else if (score <= 24) {\n            analysisContent += `\n                <p>\u60a8\u7684\u6e2c\u9a57\u7d50\u679c\u986f\u793a\u4e2d\u5ea6\u7126\u616e\u6c34\u5e73\uff0c\u9700\u8981\u66f4\u7a4d\u6975\u5730\u95dc\u6ce8\u548c\u6539\u5584\u60c5\u7dd2\u72c0\u614b\u3002<\/p>\n                <p>\u4e2d\u5ea6\u7126\u616e\u53ef\u80fd\u5df2\u7d93\u958b\u59cb\u5f71\u97ff\u60a8\u7684\u65e5\u5e38\u751f\u6d3b\u3001\u5de5\u4f5c\u6548\u7387\u548c\u4eba\u969b\u95dc\u4fc2\u3002\u5efa\u8b70\u63a1\u53d6\u66f4\u7cfb\u7d71\u6027\u7684\u58d3\u529b\u7ba1\u7406\u7b56\u7565\u3002<\/p>\n            `;\n        } else {\n            analysisContent += `\n                <p>\u60a8\u7684\u6e2c\u9a57\u7d50\u679c\u986f\u793a\u91cd\u5ea6\u7126\u616e\u6c34\u5e73\uff0c\u5f37\u70c8\u5efa\u8b70\u5c0b\u6c42\u5c08\u696d\u5fc3\u7406\u5065\u5eb7\u670d\u52d9\u7684\u5354\u52a9\u3002<\/p>\n                <p>\u91cd\u5ea6\u7126\u616e\u53ef\u80fd\u56b4\u91cd\u5f71\u97ff\u60a8\u7684\u751f\u6d3b\u54c1\u8cea\u3001\u5de5\u4f5c\u8868\u73fe\u548c\u8eab\u9ad4\u5065\u5eb7\u3002\u5c08\u696d\u7684\u5fc3\u7406\u8aee\u5546\u6216\u91ab\u7642\u4ecb\u5165\u5c07\u5c0d\u60a8\u975e\u5e38\u6709\u5e6b\u52a9\u3002<\/p>\n            `;\n        }\n\n        analysisElement.innerHTML = analysisContent;\n    }\n\n    generateRecommendations(score, level) {\n        const recommendationsElement = document.querySelector('[data-element=\"recommendations\"]');\n        let recommendations = '';\n\n        if (score <= 9) {\n            recommendations = `\n                <div class=\"row g-3\">\n                    <div class=\"col-12 col-md-6\">\n                        <div class=\"card h-100 border-success\">\n                            <div class=\"card-body\">\n                                <h6 class=\"text-success\"><i class=\"bi bi-heart me-2\"><\/i>\u7dad\u6301\u826f\u597d\u72c0\u614b<\/h6>\n                                <p class=\"small mb-0\">\u7e7c\u7e8c\u4fdd\u6301\u73fe\u6709\u7684\u751f\u6d3b\u65b9\u5f0f\u548c\u58d3\u529b\u7ba1\u7406\u65b9\u6cd5\uff0c\u5b9a\u671f\u904b\u52d5\u548c\u5145\u8db3\u7761\u7720\u3002<\/p>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                    <div class=\"col-12 col-md-6\">\n                        <div class=\"card h-100 border-success\">\n                            <div class=\"card-body\">\n                                <h6 class=\"text-success\"><i class=\"bi bi-people me-2\"><\/i>\u793e\u4ea4\u652f\u6301<\/h6>\n                                <p class=\"small mb-0\">\u7dad\u6301\u826f\u597d\u7684\u793e\u4ea4\u95dc\u4fc2\uff0c\u8207\u5bb6\u4eba\u670b\u53cb\u4fdd\u6301\u806f\u7e6b\uff0c\u5206\u4eab\u751f\u6d3b\u4e2d\u7684\u559c\u6085\u3002<\/p>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            `;\n        } else if (score <= 19) {\n            recommendations = `\n                <div class=\"row g-3\">\n                    <div class=\"col-12 col-md-6\">\n                        <div class=\"card h-100 border-warning\">\n                            <div class=\"card-body\">\n                                <h6 class=\"text-warning\"><i class=\"bi bi-moon me-2\"><\/i>\u6539\u5584\u7761\u7720<\/h6>\n                                <p class=\"small mb-0\">\u5efa\u7acb\u898f\u5f8b\u7684\u7761\u7720\u6642\u9593\uff0c\u7761\u524d\u907f\u514d\u4f7f\u7528\u96fb\u5b50\u8a2d\u5099\uff0c\u5275\u9020\u8212\u9069\u7684\u7761\u7720\u74b0\u5883\u3002<\/p>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                    <div class=\"col-12 col-md-6\">\n                        <div class=\"card h-100 border-warning\">\n                            <div class=\"card-body\">\n                                <h6 class=\"text-warning\"><i class=\"bi bi-activity me-2\"><\/i>\u653e\u9b06\u7df4\u7fd2<\/h6>\n                                <p class=\"small mb-0\">\u5b78\u7fd2\u6df1\u547c\u5438\u3001\u51a5\u60f3\u6216\u6f38\u9032\u5f0f\u808c\u8089\u653e\u9b06\u7b49\u6280\u5de7\uff0c\u6bcf\u5929\u7df4\u7fd215-20\u5206\u9418\u3002<\/p>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            `;\n        } else if (score <= 24) {\n            recommendations = `\n                <div class=\"row g-3\">\n                    <div class=\"col-12 col-md-6\">\n                        <div class=\"card h-100 border-danger\">\n                            <div class=\"card-body\">\n                                <h6 class=\"text-danger\"><i class=\"bi bi-person-check me-2\"><\/i>\u5c0b\u6c42\u652f\u6301<\/h6>\n                                <p class=\"small mb-0\">\u8003\u616e\u5c0b\u6c42\u5fc3\u7406\u8aee\u5546\u5e2b\u7684\u5c08\u696d\u5354\u52a9\uff0c\u5b78\u7fd2\u66f4\u6709\u6548\u7684\u58d3\u529b\u7ba1\u7406\u7b56\u7565\u3002<\/p>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                    <div class=\"col-12 col-md-6\">\n                        <div class=\"card h-100 border-danger\">\n                            <div class=\"card-body\">\n                                <h6 class=\"text-danger\"><i class=\"bi bi-calendar-check me-2\"><\/i>\u751f\u6d3b\u8abf\u6574<\/h6>\n                                <p class=\"small mb-0\">\u91cd\u65b0\u8a55\u4f30\u5de5\u4f5c\u8207\u751f\u6d3b\u5e73\u8861\uff0c\u9069\u7576\u6e1b\u5c11\u58d3\u529b\u6e90\uff0c\u5efa\u7acb\u66f4\u5065\u5eb7\u7684\u65e5\u5e38\u4f5c\u606f\u3002<\/p>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            `;\n        } else {\n            recommendations = `\n                <div class=\"alert alert-danger\" role=\"alert\">\n                    <h6 class=\"alert-heading\"><i class=\"bi bi-exclamation-triangle me-2\"><\/i>\u7dca\u6025\u5efa\u8b70<\/h6>\n                    <p class=\"mb-2\">\u60a8\u7684\u60c5\u7dd2\u7dca\u5f35\u7a0b\u5ea6\u8f03\u9ad8\uff0c\u5f37\u70c8\u5efa\u8b70\uff1a<\/p>\n                    <ul class=\"mb-0\">\n                        <li>\u5118\u5feb\u806f\u7e6b\u5fc3\u7406\u5065\u5eb7\u5c08\u696d\u4eba\u54e1\u6216\u7cbe\u795e\u79d1\u91ab\u5e2b<\/li>\n                        <li>\u544a\u77e5\u89aa\u8fd1\u7684\u5bb6\u4eba\u6216\u670b\u53cb\u60a8\u7684\u72c0\u6cc1\uff0c\u5c0b\u6c42\u60c5\u611f\u652f\u6301<\/li>\n                        <li>\u907f\u514d\u505a\u91cd\u8981\u6c7a\u5b9a\uff0c\u5148\u5c08\u6ce8\u65bc\u60c5\u7dd2\u8abf\u7bc0<\/li>\n                        <li>\u5982\u6709\u81ea\u50b7\u60f3\u6cd5\uff0c\u8acb\u7acb\u5373\u64a5\u6253\u5fc3\u7406\u5065\u5eb7\u71b1\u7dda\u6c42\u52a9<\/li>\n                    <\/ul>\n                <\/div>\n            `;\n        }\n\n        recommendationsElement.innerHTML = recommendations;\n    }\n\n    createChart(score) {\n        const ctx = document.getElementById('result-chart').getContext('2d');\n        \n        \/\/ \u5b9a\u7fa9\u5206\u6578\u5340\u9593\n        const ranges = [\n            { label: '\u6b63\u5e38\u7bc4\u570d', min: 0, max: 9, color: '#28a745' },\n            { label: '\u8f15\u5ea6\u7126\u616e', min: 10, max: 19, color: '#ffc107' },\n            { label: '\u4e2d\u5ea6\u7126\u616e', min: 20, max: 24, color: '#fd7e14' },\n            { label: '\u91cd\u5ea6\u7126\u616e', min: 25, max: 29, color: '#dc3545' }\n        ];\n\n        \/\/ \u8a08\u7b97\u6bcf\u500b\u5340\u9593\u7684\u5bec\u5ea6\n        const totalRange = 29;\n        const data = ranges.map(range => range.max - range.min + 1);\n        const backgroundColors = ranges.map(range => range.color);\n        const labels = ranges.map(range => range.label);\n\n        \/\/ \u5275\u5efa\u6c34\u5e73\u5806\u758a\u67f1\u72c0\u5716\n        new Chart(ctx, {\n            type: 'bar',\n            data: {\n                labels: ['\u7dca\u5f35\u7a0b\u5ea6\u5206\u6578\u5340\u9593'],\n                datasets: ranges.map((range, index) => ({\n                    label: range.label,\n                    data: [data[index]],\n                    backgroundColor: range.color,\n                    borderRadius: index === 0 ? { topLeft: 25, bottomLeft: 25 } : \n                                   index === ranges.length - 1 ? { topRight: 25, bottomRight: 25 } : 0,\n                    barThickness: 40\n                }))\n            },\n            options: {\n                indexAxis: 'y',\n                responsive: true,\n                maintainAspectRatio: false,\n                scales: {\n                    x: {\n                        stacked: true,\n                        display: false,\n                        max: totalRange + 1\n                    },\n                    y: {\n                        stacked: true,\n                        display: false\n                    }\n                },\n                plugins: {\n                    legend: {\n                        display: false\n                    },\n                    tooltip: {\n                        callbacks: {\n                            title: function() {\n                                return '';\n                            },\n                            label: function(context) {\n                                const range = ranges[context.datasetIndex];\n                                return `${range.label}: ${range.min}-${range.max}\u5206`;\n                            }\n                        }\n                    }\n                },\n                elements: {\n                    bar: {\n                        borderWidth: 0\n                    }\n                }\n            },\n            plugins: [{\n                afterDraw: function(chart) {\n                    const ctx = chart.ctx;\n                    const chartArea = chart.chartArea;\n                    \n                    \/\/ \u8a08\u7b97\u7528\u6236\u5206\u6578\u5728\u5716\u8868\u4e2d\u7684\u4f4d\u7f6e\n                    const scorePosition = (score \/ totalRange) * (chartArea.right - chartArea.left) + chartArea.left;\n                    const barY = chartArea.top + (chartArea.bottom - chartArea.top) \/ 2;\n                    \n                    \/\/ \u7e6a\u88fd\u5206\u6578\u6a19\u8a18\n                    ctx.save();\n                    \n                    \/\/ \u7e6a\u88fd\u5782\u76f4\u7dda\n                    ctx.strokeStyle = '#333';\n                    ctx.lineWidth = 3;\n                    ctx.beginPath();\n                    ctx.moveTo(scorePosition, chartArea.top - 10);\n                    ctx.lineTo(scorePosition, chartArea.bottom + 10);\n                    ctx.stroke();\n                    \n                    \/\/ \u7e6a\u88fd\u5206\u6578\u6a19\u8a18\u9ede\n                    ctx.fillStyle = '#333';\n                    ctx.beginPath();\n                    ctx.arc(scorePosition, barY, 6, 0, 2 * Math.PI);\n                    ctx.fill();\n                    \n                    \/\/ \u7e6a\u88fd\u5206\u6578\u6587\u5b57\n                    ctx.fillStyle = '#333';\n                    ctx.font = 'bold 14px Arial';\n                    ctx.textAlign = 'center';\n                    ctx.fillText(`\u60a8\u7684\u5206\u6578: ${score}`, scorePosition, chartArea.top - 20);\n                    \n                    ctx.restore();\n                }\n            }]\n        });\n    }\n\n    restartTest() {\n        this.currentQuestion = 0;\n        this.answers = [];\n        this.showPage('landing');\n    }\n}\n\n\/\/ \u521d\u59cb\u5316\u61c9\u7528\u7a0b\u5f0f\ndocument.addEventListener('DOMContentLoaded', () => {\n    new TensionTestApp();\n});\n<\/script>","protected":false},"excerpt":{"rendered":"<p>\u957f\u671f\u8fc7\u5ea6\u7684\u7d27\u5f20\u5bf9\u4eba\u4f53\u662f\u6709\u5bb3\u7684\uff0c\u5fc5\u7136\u4f1a\u5f71\u54cd\u5230\u5de5\u4f5c\u4e2d\u7684\u72b6\u6001\u3002\u90a3\u4e48\u4f60\u7684\u60c5\u7eea\u7d27\u5f20\u5ea6\u600e\u6837\u5462\uff1f\u4e0b\u9762\u5171\u670929\u9053\u9898\u76ee\uff0c\u56de\u7b54\u65f6\u8bf7\u7528\u300c\u6709\u300d\u6216\u300c\u65e0\u300d\u4f5c\u7b54\uff0c\u7136\u540e\u8fdb\u884c\u8bc4\u5224\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":[169,162],"tags":[237],"class_list":["post-2626","post","type-post","status-publish","format-standard","hentry","category-psychological-symptom-scales","category-clinical","tag-catatonia"],"_links":{"self":[{"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/posts\/2626","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=2626"}],"version-history":[{"count":3,"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/posts\/2626\/revisions"}],"predecessor-version":[{"id":10157,"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/posts\/2626\/revisions\/10157"}],"wp:attachment":[{"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/media?parent=2626"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/categories?post=2626"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/tags?post=2626"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}