{"id":857,"date":"2025-10-13T18:23:31","date_gmt":"2025-10-13T10:23:31","guid":{"rendered":"https:\/\/lansonplace.cn\/bukitceylon\/?page_id=857"},"modified":"2025-10-13T18:23:31","modified_gmt":"2025-10-13T10:23:31","slug":"member-login","status":"publish","type":"page","link":"https:\/\/lansonplace.cn\/bukitceylon\/sc\/member-login\/","title":{"rendered":"Login"},"content":{"rendered":"<div class=\"gha-member-portal gha-login-component\">\n            <div class=\"gha-container\">\n                <div class=\"login-form-wrapper\">\n                    <div class=\"login-header\">\n                        <h2>Lanson Place DISCOVERY \u767b\u5f55<\/h2>\n                        <p>\u8bf7\u767b\u5f55\u4ee5\u8bbf\u95ee\u60a8\u7684\u4f1a\u5458\u798f\u5229\u548c\u4e13\u5c5e\u4f18\u60e0\u3002<\/p>\n                    <\/div>\n                    \n                    <form id=\"member-login-form\" class=\"member-login-form\" action=\"\">\n                        <div class=\"form-group\">\n                            <label for=\"login_email\">\u7535\u5b50\u90ae\u7bb1<span class=\"required\">*<\/span><\/label>\n                            <input type=\"email\" name=\"email\" id=\"login_email\" class=\"form-control\" required>\n                        <\/div>\n                        \n                        <div class=\"form-group\">\n                            <label for=\"login_password\">\u5bc6\u7801<span class=\"required\">*<\/span><\/label>\n                            <input type=\"password\" name=\"password\" id=\"login_password\" class=\"form-control\" required>\n                        <\/div>\n                        \n                        <div class=\"form-group form-check\">\n                            <input type=\"checkbox\" name=\"remember\" id=\"remember_me\" class=\"form-check-input\">\n                            <label for=\"remember_me\" class=\"form-check-label\">\u8bb0\u4f4f\u6211<\/label>\n                        <\/div>\n                        \n                                                \n                        <div class=\"form-actions\">\n                            <button type=\"submit\" class=\"button-text\" id=\"login-submit-btn\">\n                                \u767b\u5f55                            <\/button>\n                            \n                            <div class=\"loading-indicator\" style=\"display: none;\">\n                                <div class=\"spinner\"><\/div>\n                                <span>\u6b63\u5728\u767b\u5f55...<\/span>\n                            <\/div>\n                        <\/div>\n                        \n                        <div class=\"form-links\">\n                            <a href=\"https:\/\/lansonplace.cn\/bukitceylon\/sc\/forgot-password\/\" class=\"forgot-password-link\">\n                                \u5fd8\u8bb0\u5bc6\u7801\uff1f                            <\/a>\n                            \n                                                            <p class=\"register-link\">\n                                    \u8fd8\u6ca1\u6709\u8d26\u6237\uff1f                                    <a href=\"https:\/\/lansonplace.cn\/bukitceylon\/sc\/loyalty\/member-registration\/\">\n                                        \u7acb\u5373\u6ce8\u518c                                    <\/a>\n                                <\/p>\n                                                    <\/div>\n                    <input type=\"hidden\" name=\"trp-form-language\" value=\"sc\"\/><\/form>\n                    \n                    <div id=\"login-message\" class=\"form-message\" style=\"display: none;\"><\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <style>\n        .gha-login-component {\n            max-width: 500px;\n            margin: 0 auto;\n            padding: 20px;\n        }\n        \n        .login-form-wrapper {\n            background: #fff;\n            border: 1px solid #ddd;\n            border-radius: 8px;\n            padding: 40px;\n            box-shadow: 0 2px 10px rgba(0,0,0,0.1);\n        }\n        \n        .login-header {\n            text-align: center;\n            margin-bottom: 30px;\n        }\n        \n        .login-header h2 {\n            color: #004742;\n            margin-bottom: 10px;\n            font-size: 28px;\n        }\n        \n        .login-header p {\n            color: #666;\n            margin: 0;\n        }\n        \n        .form-group {\n            margin-bottom: 20px;\n        }\n        \n        .form-group label {\n            display: block;\n            margin-bottom: 5px;\n            font-weight: bold;\n            color: #333;\n        }\n        \n        .required {\n            color: #dc3545;\n        }\n        \n        .form-control {\n            width: 100%;\n            padding: 12px;\n            border: 1px solid #ddd;\n            border-radius: 4px;\n            font-size: 16px;\n            transition: border-color 0.3s ease;\n            box-sizing: border-box;\n        }\n        \n        .form-control:focus {\n            outline: none;\n            border-color: #004742;\n            box-shadow: 0 0 0 2px rgba(0,71,66,0.1);\n        }\n        \n        .form-check {\n            display: flex;\n            align-items: center;\n            gap: 8px;\n        }\n        \n        .form-check-input {\n            width: auto;\n            margin: 0;\n        }\n        \n        .form-check-label {\n            margin: 0;\n            font-weight: normal;\n            cursor: pointer;\n        }\n        \n        .form-actions {\n            text-align: center;\n            margin: 30px 0 20px 0;\n        }\n        \n        \n        .loading-indicator {\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            gap: 10px;\n            margin-top: 15px;\n        }\n        \n        .spinner {\n            width: 20px;\n            height: 20px;\n            border: 2px solid #f3f3f3;\n            border-top: 2px solid #004742;\n            border-radius: 50%;\n            animation: spin 1s linear infinite;\n        }\n        \n        @keyframes spin {\n            0% { transform: rotate(0deg); }\n            100% { transform: rotate(360deg); }\n        }\n        \n        .form-links {\n            text-align: center;\n            border-top: 1px solid #eee;\n            padding-top: 20px;\n            text-decoration: none;\n        }\n        \n        .forgot-password-link {\n            border-bottom: 0px;\n            color: #004742;\n            text-decoration: none;\n            font-size: 14px;\n        }\n\n        .forgot-password-link {\n            color: #004742;\n            text-decoration: none;\n            font-size: 14px;\n        }\n        \n        .forgot-password-link:hover {\n            text-decoration: underline;\n        }\n        \n        .register-link {\n            margin-top: 15px;\n            font-size: 14px;\n            color: #666;\n        }\n        \n        .register-link a {\n            border-bottom: 0px;\n            color: #004742;\n            text-decoration: none;\n            font-weight: bold;\n        }\n        \n        .register-link a:hover {\n            text-decoration: underline;\n        }\n        \n        .form-message {\n            margin-top: 20px;\n            padding: 15px;\n            border-radius: 4px;\n            text-align: center;\n        }\n        \n        .form-message.success {\n            background-color: #d4edda;\n            color: #155724;\n            border: 1px solid #c3e6cb;\n        }\n        \n        .form-message.error {\n            background-color: #f8d7da;\n            color: #721c24;\n            border: 1px solid #f5c6cb;\n        }\n        \n        .already-logged-in {\n            text-align: center;\n            padding: 40px;\n            background: #f8f9fa;\n            border-radius: 8px;\n            border: 1px solid #dee2e6;\n        }\n        \n        .already-logged-in h3 {\n            color: #004742;\n            margin-bottom: 15px;\n        }\n        \n        .dashboard-button {\n            background: #004742;\n            color: white;\n            padding: 10px 20px;\n            text-decoration: none;\n            border-radius: 4px;\n            display: inline-block;\n            margin-top: 15px;\n            transition: background-color 0.3s ease;\n        }\n        \n        .dashboard-button:hover {\n            background: #003632;\n            color: white;\n            text-decoration: none;\n        }\n        \n        @media (max-width: 768px) {\n            .gha-login-component {\n                padding: 10px;\n            }\n            \n            .login-form-wrapper {\n                padding: 20px;\n            }\n        }\n        <\/style>\n\n        <script>\n        jQuery(document).ready(function($) {\n            $('#member-login-form').on('submit', function(e) {\n                e.preventDefault();\n                \n                var $form = $(this);\n                var $submitBtn = $('#login-submit-btn');\n                var $loadingIndicator = $('.loading-indicator');\n                var $message = $('#login-message');\n                \n                \/\/ Clear previous messages\n                $message.hide().removeClass('success error');\n                \n                \/\/ Show loading state\n                $submitBtn.prop('disabled', true);\n                $loadingIndicator.show();\n                \n                \/\/ Prepare form data - serialize the form data as expected by your existing system\n                var formData = $form.serialize();\n                \n                \/\/ Submit via AJAX using your existing action\n                $.ajax({\n                    type: 'POST',\n                    url: 'https:\/\/lansonplace.cn\/bukitceylon\/wp-admin\/admin-ajax.php',\n                    data: {\n                        action: 'gha_login_member',\n                        gha_nonce: '796b8b1b28',\n                        formData: formData\n                    },\n                    success: function(response) {\n                        $submitBtn.prop('disabled', false);\n                        $loadingIndicator.hide();\n                        \n                        if (response.success) {\n                            $form.hide();\n                            $message.addClass('success').text('Login successful! Redirecting to your account...').show();\n                            \n                            \/\/ Redirect after successful login\n                            setTimeout(function() {\n                                if (response.data.redirect_url) {\n                                    window.location.href = response.data.redirect_url;\n                                } else {\n                                    \/\/ Default redirect to member profile or dashboard\n                                                                        window.location.href = 'https:\/\/lansonplace.cn\/bukitceylon\/sc\/member-profile\/';\n                                }\n                            }, 1500);\n                        } else {\n                            $message.addClass('error').text(response.data.message).show();\n                        }\n                    },\n                    error: function(xhr, status, error) {\n                        $submitBtn.prop('disabled', false);\n                        $loadingIndicator.hide();\n                        $message.addClass('error').text('Connection error. Please check your internet connection and try again.').show();\n                        \n                        console.error('Login AJAX Error:', {\n                            status: status,\n                            error: error,\n                            response: xhr.responseText\n                        });\n                    }\n                });\n            });\n        });\n        <\/script>","protected":false},"excerpt":{"rendered":"","protected":false},"author":8,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-857","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.3.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Login - Lanson Place Bukit Ceylon<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/lansonplace.cn\/bukitceylon\/sc\/?page_id=857\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Login - Lanson Place Bukit Ceylon\" \/>\n<meta property=\"og:url\" content=\"https:\/\/lansonplace.cn\/bukitceylon\/sc\/?page_id=857\" \/>\n<meta property=\"og:site_name\" content=\"Lanson Place Bukit Ceylon\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/lansonplace.cn\/bukitceylon\/?page_id=857\",\"url\":\"https:\/\/lansonplace.cn\/bukitceylon\/?page_id=857\",\"name\":\"Login - Lanson Place Bukit Ceylon\",\"isPartOf\":{\"@id\":\"https:\/\/lansonplace.cn\/bukitceylon\/#website\"},\"datePublished\":\"2025-10-13T10:23:31+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/lansonplace.cn\/bukitceylon\/?page_id=857#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/lansonplace.cn\/bukitceylon\/?page_id=857\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/lansonplace.cn\/bukitceylon\/?page_id=857#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/lansonplace.cn\/bukitceylon\/sc\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Login\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/lansonplace.cn\/bukitceylon\/#website\",\"url\":\"https:\/\/lansonplace.cn\/bukitceylon\/\",\"name\":\"Lanson Place Bukit Ceylon\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/lansonplace.cn\/bukitceylon\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/lansonplace.cn\/bukitceylon\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"zh-Hans\"},{\"@type\":[\"Organization\",\"Place\"],\"@id\":\"https:\/\/lansonplace.cn\/bukitceylon\/#organization\",\"name\":\"Lanson Place Bukit Ceylon\",\"url\":\"https:\/\/lansonplace.cn\/bukitceylon\/\",\"logo\":{\"@id\":\"https:\/\/lansonplace.cn\/bukitceylon\/?page_id=857#local-main-organization-logo\"},\"image\":{\"@id\":\"https:\/\/lansonplace.cn\/bukitceylon\/?page_id=857#local-main-organization-logo\"},\"openingHoursSpecification\":[{\"@type\":\"OpeningHoursSpecification\",\"dayOfWeek\":[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],\"opens\":\"09:00\",\"closes\":\"17:00\"}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/lansonplace.cn\/bukitceylon\/?page_id=857#local-main-organization-logo\",\"url\":\"https:\/\/lansonplace.cn\/bukitceylon\/wp-content\/uploads\/sites\/7\/logo-lpbc.svg\",\"contentUrl\":\"https:\/\/lansonplace.cn\/bukitceylon\/wp-content\/uploads\/sites\/7\/logo-lpbc.svg\",\"width\":143,\"height\":64,\"caption\":\"Lanson Place Bukit Ceylon\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Login - Lanson Place Bukit Ceylon","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/lansonplace.cn\/bukitceylon\/sc\/?page_id=857","og_locale":"zh_CN","og_type":"article","og_title":"Login - Lanson Place Bukit Ceylon","og_url":"https:\/\/lansonplace.cn\/bukitceylon\/sc\/?page_id=857","og_site_name":"Lanson Place Bukit Ceylon","twitter_card":"summary_large_image","twitter_misc":{"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"1 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/lansonplace.cn\/bukitceylon\/?page_id=857","url":"https:\/\/lansonplace.cn\/bukitceylon\/?page_id=857","name":"Login - Lanson Place Bukit Ceylon","isPartOf":{"@id":"https:\/\/lansonplace.cn\/bukitceylon\/#website"},"datePublished":"2025-10-13T10:23:31+00:00","breadcrumb":{"@id":"https:\/\/lansonplace.cn\/bukitceylon\/?page_id=857#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/lansonplace.cn\/bukitceylon\/?page_id=857"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/lansonplace.cn\/bukitceylon\/?page_id=857#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/lansonplace.cn\/bukitceylon\/sc\/"},{"@type":"ListItem","position":2,"name":"Login"}]},{"@type":"WebSite","@id":"https:\/\/lansonplace.cn\/bukitceylon\/#website","url":"https:\/\/lansonplace.cn\/bukitceylon\/","name":"Lanson Place Bukit Ceylon","description":"","publisher":{"@id":"https:\/\/lansonplace.cn\/bukitceylon\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/lansonplace.cn\/bukitceylon\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"zh-Hans"},{"@type":["Organization","Place"],"@id":"https:\/\/lansonplace.cn\/bukitceylon\/#organization","name":"Lanson Place Bukit Ceylon","url":"https:\/\/lansonplace.cn\/bukitceylon\/","logo":{"@id":"https:\/\/lansonplace.cn\/bukitceylon\/?page_id=857#local-main-organization-logo"},"image":{"@id":"https:\/\/lansonplace.cn\/bukitceylon\/?page_id=857#local-main-organization-logo"},"openingHoursSpecification":[{"@type":"OpeningHoursSpecification","dayOfWeek":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"opens":"09:00","closes":"17:00"}]},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/lansonplace.cn\/bukitceylon\/?page_id=857#local-main-organization-logo","url":"https:\/\/lansonplace.cn\/bukitceylon\/wp-content\/uploads\/sites\/7\/logo-lpbc.svg","contentUrl":"https:\/\/lansonplace.cn\/bukitceylon\/wp-content\/uploads\/sites\/7\/logo-lpbc.svg","width":143,"height":64,"caption":"Lanson Place Bukit Ceylon"}]}},"publishpress_future_workflow_manual_trigger":{"enabledWorkflows":[]},"_links":{"self":[{"href":"https:\/\/lansonplace.cn\/bukitceylon\/sc\/wp-json\/wp\/v2\/pages\/857","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lansonplace.cn\/bukitceylon\/sc\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lansonplace.cn\/bukitceylon\/sc\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lansonplace.cn\/bukitceylon\/sc\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/lansonplace.cn\/bukitceylon\/sc\/wp-json\/wp\/v2\/comments?post=857"}],"version-history":[{"count":1,"href":"https:\/\/lansonplace.cn\/bukitceylon\/sc\/wp-json\/wp\/v2\/pages\/857\/revisions"}],"predecessor-version":[{"id":858,"href":"https:\/\/lansonplace.cn\/bukitceylon\/sc\/wp-json\/wp\/v2\/pages\/857\/revisions\/858"}],"wp:attachment":[{"href":"https:\/\/lansonplace.cn\/bukitceylon\/sc\/wp-json\/wp\/v2\/media?parent=857"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}