카페24

카페24 회원 로그인 여부 체크 js

728x90
반응형
// 카페24 회원 로그인 여부 체크
function checkLoginStatus(callback) {
  console.log("회원 상태 체크 시작");

  // 방법 1: CAPP_ASYNC_METHODS 사용 (동기 방식)
  try {
    if (typeof CAPP_ASYNC_METHODS !== "undefined") {
      // 콜백 없이 바로 호출하면 객체 반환
      const memberInfo = CAPP_ASYNC_METHODS.AppCommon.getMemberInfo();
      console.log("getMemberInfo 결과:", memberInfo);

      const isLoggedIn = !!(memberInfo && memberInfo.member_id);

      if (isLoggedIn) {
        console.log("로그인 회원:", memberInfo.member_id);
      } else {
        console.log("비회원 (member_id가 null)");
      }

      callback(isLoggedIn);
      return;
    }
  } catch (e) {
    console.log("CAPP_ASYNC_METHODS 체크 실패:", e);
  }

  // 방법 2: EC_FRONT_EXTERNAL_SCRIPT_VARIABLE_DATA 사용
  try {
    if (typeof EC_FRONT_EXTERNAL_SCRIPT_VARIABLE_DATA !== "undefined" && EC_FRONT_EXTERNAL_SCRIPT_VARIABLE_DATA.common_member_id_crypt) {
      console.log("로그인 회원 (암호화 ID)");
      callback(true);
      return;
    }
  } catch (e) {
    console.log("EC_FRONT 체크 실패:", e);
  }

  // 방법 3: 쿠키 체크 (iscache 또는 member_srl)
  if (document.cookie.indexOf("iscache") > -1 || document.cookie.indexOf("member_srl") > -1) {
    console.log("로그인 회원 (쿠키)");
    callback(true);
    return;
  }

  // 기본값: 비회원
  console.log("비회원 상태");
  callback(false);
}
728x90
반응형