{"id":694,"date":"2026-01-14T16:31:18","date_gmt":"2026-01-14T16:31:18","guid":{"rendered":"https:\/\/www.redcross.com.tw\/info\/?page_id=694"},"modified":"2026-01-14T16:39:11","modified_gmt":"2026-01-14T16:39:11","slug":"login","status":"publish","type":"page","link":"https:\/\/www.redcross.com.tw\/info\/login\/","title":{"rendered":"\u767b\u5165\/\u767b\u51fa"},"content":{"rendered":"    <div class=\"rc-box rc-login-box\">\n        <h3 class=\"rc-title\">\u6703\u54e1\u767b\u5165<\/h3>\n        \n                \n        <div style=\"margin-bottom:20px;text-align:center;\">\n                        <a href=\"https:\/\/access.line.me\/oauth2\/v2.1\/authorize?response_type=code&#038;client_id=2008876486&#038;redirect_uri=https%3A%2F%2Fwww.redcross.com.tw%2Finfo%2F%3Frc_line_callback%3D1&#038;state=62c4e07a05&#038;scope=profile+openid+email&#038;nonce=c540e7bb04\" class=\"rc-btn\" style=\"background:#06C755;color:#fff;padding:12px 24px;border-radius:8px;text-decoration:none;display:inline-block;font-size:1rem;\">\n                <span style=\"margin-right:8px;\"><\/span>\u4f7f\u7528 LINE \u5e33\u865f\u767b\u5165            <\/a>\n                    <\/div>\n        \n                <div style=\"text-align:center;margin:20px 0;position:relative;\">\n            <span style=\"background:#fff;padding:0 10px;color:#666;\">\u6216<\/span>\n            <hr style=\"border:none;border-top:1px solid #ddd;position:absolute;top:50%;left:0;right:0;z-index:-1;\">\n        <\/div>\n                \n        <form id=\"rc-login-form\" class=\"rc-form\">\n            <div class=\"rc-form-group\">\n                <label class=\"rc-label\">\u8eab\u5206\u8b49\u5b57\u865f <span class=\"rc-required\">*<\/span><\/label>\n                <input type=\"text\" name=\"idcard\" class=\"rc-input\" required>\n            <\/div>\n            <div class=\"rc-form-group\">\n                <label class=\"rc-label\">\u5bc6\u78bc <span class=\"rc-required\">*<\/span><\/label>\n                <div class=\"rc-password-wrap\">\n                    <input type=\"password\" name=\"password\" id=\"rc-login-password\" class=\"rc-input\" required>\n                    <button type=\"button\" class=\"rc-password-toggle rc-password-toggle-text-btn\" id=\"rc-login-password-toggle\" aria-label=\"\u986f\u793a\u6216\u96b1\u85cf\u5bc6\u78bc\"><span class=\"rc-password-toggle-text\">\u986f\u793a<\/span><\/button>\n                <\/div>\n            <\/div>\n            <input type=\"hidden\" name=\"action\" value=\"rc_ajax_login\">\n                        <div class=\"rc-form-group\">\n                <button type=\"submit\" class=\"rc-btn rc-btn-primary\">\u767b\u5165<\/button>\n            <\/div>\n            <div class=\"rc-form-group\" style=\"text-align: center; margin-top: 12px;\">\n                <a href=\"https:\/\/www.redcross.com.tw\/info\/forgot_password\/\" style=\"color: #0073AA; text-decoration: none; font-size: 0.875rem;\">\u5fd8\u8a18\u5bc6\u78bc\uff1f<\/a>\n            <\/div>\n        <\/form>\n        <script>\n        (function(){\n            var inp = document.getElementById('rc-login-password');\n            var btn = document.getElementById('rc-login-password-toggle');\n            var textSpan = btn ? btn.querySelector('.rc-password-toggle-text') : null;\n            if (inp && btn) {\n                btn.addEventListener('click', function(e){\n                    e.preventDefault();\n                    if (inp.type === 'password') { inp.type = 'text'; if (textSpan) textSpan.textContent = '\u96b1\u85cf'; }\n                    else { inp.type = 'password'; if (textSpan) textSpan.textContent = '\u986f\u793a'; }\n                });\n            }\n        })();\n        <\/script>\n        <div id=\"rc-login-result\" class=\"rc-message\"><\/div>\n        <div class=\"rc-register-link\" style=\"margin-top: 20px; text-align: center; padding-top: 16px; border-top: 1px solid #e0e0e0;\">\n            <p style=\"margin: 0; color: #666; font-size: 0.875rem;\">\n                \u9084\u6c92\u6709\u5e33\u865f\u55ce\uff1f<a href=\"https:\/\/www.redcross.com.tw\/info\/register\/\" style=\"color: #0073AA; text-decoration: none; font-weight: 500;\">\u9ede\u64ca\u6b64\u8655\u9032\u884c\u8a3b\u518a<\/a>\n            <\/p>\n        <\/div>\n    <\/div>\n    <script>\n    jQuery(document).ready(function($){\n        $('#rc-login-form').on('submit', function(e){\n            e.preventDefault();\n            var form = $(this);\n            var $submitBtn = form.find('button[type=\"submit\"]');\n            var resultDiv = $('#rc-login-result');\n            var originalBtnText = $submitBtn.text();\n            \n            \/\/ \u7acb\u5373\u7981\u7528\u6309\u9215\uff0c\u9632\u6b62\u91cd\u8907\u63d0\u4ea4\n            $submitBtn.prop('disabled', true).text('\u767b\u5165\u4e2d...');\n            resultDiv.html('<div class=\"rc-loading\"><\/div><p style=\"color:#0073AA;display:inline;margin-left:8px;\">\u767b\u5165\u4e2d...<\/p>');\n            \n            var ajaxUrl = typeof rc_ajax !== 'undefined' ? rc_ajax.ajax_url : 'https:\/\/www.redcross.com.tw\/info\/wp-admin\/admin-ajax.php';\n            var nonce = typeof rc_ajax !== 'undefined' ? rc_ajax.nonce : '8b11ab0365';\n            \n            var formData = form.serialize();\n            \/\/ \u78ba\u4fdd nonce \u5305\u542b\u5728\u8868\u55ae\u8cc7\u6599\u4e2d\n            if (!formData.includes('rc_nonce')) {\n                formData += '&rc_nonce=' + encodeURIComponent(nonce);\n            }\n            \n            $.ajax({\n                url: ajaxUrl,\n                type: 'POST',\n                data: formData,\n                dataType: 'json',\n                success: function(resp) {\n                    \/\/ \u78ba\u4fdd resp \u662f\u6709\u6548\u7684 JSON \u5c0d\u8c61\n                    if (!resp || typeof resp !== 'object') {\n                        console.error('Invalid response:', resp);\n                        resultDiv.html('<div class=\"rc-form-error\">\u4f3a\u670d\u5668\u56de\u61c9\u683c\u5f0f\u932f\u8aa4\uff0c\u8acb\u91cd\u65b0\u6574\u7406\u9801\u9762\u5f8c\u518d\u8a66\u3002<\/div>');\n                        $submitBtn.prop('disabled', false).text(originalBtnText);\n                        return;\n                    }\n                    \n                if (resp.success) {\n                        \/\/ \u8655\u7406\u97ff\u61c9\u6578\u64da\n                        var responseData = resp.data || {};\n                        var message = '';\n                        var redirectUrl = null;\n                        \n                        \/\/ \u6aa2\u67e5 resp.data \u7684\u683c\u5f0f\n                        if (typeof responseData === 'string') {\n                            \/\/ \u5982\u679c\u662f\u5b57\u4e32\uff0c\u76f4\u63a5\u4f7f\u7528\n                            message = responseData;\n                        } else if (typeof responseData === 'object') {\n                            \/\/ \u5982\u679c\u662f\u5c0d\u8c61\uff0c\u63d0\u53d6 message \u548c redirect_url\n                            message = responseData.message || '\u767b\u5165\u6210\u529f';\n                            redirectUrl = responseData.redirect_url || null;\n                        } else {\n                            message = '\u767b\u5165\u6210\u529f';\n                        }\n                        \n                        resultDiv.html('<div class=\"rc-form-success\">' + message + '<\/div>');\n                        \n                        if (redirectUrl && redirectUrl !== 'null' && redirectUrl !== '') {\n                            \/\/ \u6709\u8df3\u8f49 URL\uff0c1\u79d2\u5f8c\u8df3\u8f49\u5230\u6d3b\u52d5\u5217\u8868\u9801\u9762\n                            console.log('Redirecting to:', redirectUrl);\n                            setTimeout(function(){ \n                                window.location.href = redirectUrl; \n                            }, 1000);\n                        } else {\n                            \/\/ \u6c92\u6709\u8df3\u8f49 URL\uff0c\u91cd\u65b0\u8f09\u5165\u7576\u524d\u9801\u9762\n                            console.log('No redirect URL, reloading page');\n                            setTimeout(function(){ \n                    location.reload();\n                            }, 1000);\n                        }\n                } else {\n                        var errorMsg = (resp.data && typeof resp.data === 'string') ? resp.data : (resp.data && resp.data.message ? resp.data.message : '\u767b\u5165\u5931\u6557\uff0c\u8acb\u6aa2\u67e5\u5e33\u865f\u5bc6\u78bc');\n                        resultDiv.html('<div class=\"rc-form-error\">' + errorMsg + '<\/div>');\n                        $submitBtn.prop('disabled', false).text(originalBtnText);\n                    }\n                },\n                error: function(xhr, status, error) {\n                    var errorMsg = '\u767c\u751f\u932f\u8aa4\uff0c\u8acb\u7a0d\u5f8c\u518d\u8a66\u3002';\n                    \n                    if (xhr.status === 0) {\n                        errorMsg = '\u7db2\u8def\u9023\u7dda\u5931\u6557\uff0c\u8acb\u6aa2\u67e5\u60a8\u7684\u7db2\u8def\u3002';\n                    } else if (xhr.status === 404) {\n                        errorMsg = '\u8acb\u6c42\u7684\u9801\u9762\u4e0d\u5b58\u5728\u3002';\n                    } else if (xhr.status === 500) {\n                        errorMsg = '\u4f3a\u670d\u5668\u932f\u8aa4\uff0c\u8acb\u7a0d\u5f8c\u518d\u8a66\u3002';\n                    } else if (xhr.status === 503) {\n                        errorMsg = '\u670d\u52d9\u66ab\u6642\u7121\u6cd5\u4f7f\u7528\uff0c\u8acb\u7a0d\u5f8c\u518d\u8a66\u3002';\n                    } else if (xhr.responseJSON && xhr.responseJSON.data) {\n                        errorMsg = xhr.responseJSON.data;\n                    } else if (xhr.status === 400) {\n                        errorMsg = '\u8acb\u6c42\u683c\u5f0f\u932f\u8aa4\uff0c\u8acb\u91cd\u65b0\u6574\u7406\u9801\u9762\u5f8c\u518d\u8a66\u3002';\n                    } else if (xhr.status === 403) {\n                        errorMsg = '\u5b89\u5168\u9a57\u8b49\u5931\u6557\uff0c\u8acb\u91cd\u65b0\u6574\u7406\u9801\u9762\u5f8c\u518d\u8a66\u3002';\n                    } else {\n                        errorMsg = '\u767c\u751f\u932f\u8aa4\uff1a' + error;\n                    }\n                    \n                    resultDiv.html('<div class=\"rc-form-error\">' + errorMsg + '<\/div>');\n                    $submitBtn.prop('disabled', false).text(originalBtnText);\n                }\n            });\n        });\n    });\n    <\/script>\n    \n","protected":false},"excerpt":{"rendered":"","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","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":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"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":""},"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":""},"class_list":["post-694","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.redcross.com.tw\/info\/wp-json\/wp\/v2\/pages\/694","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.redcross.com.tw\/info\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.redcross.com.tw\/info\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.redcross.com.tw\/info\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.redcross.com.tw\/info\/wp-json\/wp\/v2\/comments?post=694"}],"version-history":[{"count":2,"href":"https:\/\/www.redcross.com.tw\/info\/wp-json\/wp\/v2\/pages\/694\/revisions"}],"predecessor-version":[{"id":697,"href":"https:\/\/www.redcross.com.tw\/info\/wp-json\/wp\/v2\/pages\/694\/revisions\/697"}],"wp:attachment":[{"href":"https:\/\/www.redcross.com.tw\/info\/wp-json\/wp\/v2\/media?parent=694"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}