투비교육포털앱의 로그인 화면 입니다. 로그인은 회원(인터넷 신청)과 비회원(영업대표 신청) 두가지 방식으로 로그인을 처리하고 로그인 정보를 기억하는 기능이 구현되어 있습니다.
화면구성
소스참고 EduHub\mobile\Mobile_frmLogin.xfdl
1 Tab 두가지 로그인 방식을 제공하기 위해 Tab 컴포넌트를 배치하여 입력 받는 컴포넌트를 컨트롤 합니다. 2 3. Edit 사용자 아이디와 패스워드를 입력 받습니다. 회원 로그인 경우 아이디와 패스워드, 비회원 로그인 경우 성명과 이메일 정보를 이용합니다. 4 Static 사용자가 입력한 값에 대해 정합성 체크하여 오류 발생을 표현할 메시지를 입니다. 5 Checkbox 사용자 아이디와 패스워드 정보를 기억하는 기능을 처리합니다. 6 Button 서버와 통신하여 로그인 처리를 합니다.
주요 기능 구현 설명
TabPage가 선택될 때 Edit 컴포넌트의 displaynulltext 와 password 속성을 로그인 방식에 따라 변경 합니다.
this.tabTitle_onchanged = function(obj:nexacro.Tab,e:nexacro.TabIndexChangeEventInfo) { ... if(this.tabTitle.tabindex == 0){ this.edtUserId.set_displaynulltext("LoginID"); this.edtPasswd.set_displaynulltext("Password"); this.edtPasswd.set_password(true); } else { this.edtUserId.set_displaynulltext("성명"); this.edtPasswd.set_displaynulltext("이메일주소"); this.edtPasswd.set_password(false); } ... };
사용자ID 또는 패스워드의 입력 값을 체크하여 미 입력시 Static 컴포넌트에 안내 메시지를 출력 합니다.
if((this.edtUserId.value == undefined) || (this.edtUserId.value.length == 0)) { this.stLoginId.set_text("LoginID를 입력하세요."); this.stLoginId.set_visible(true); this.edtUserId.setFocus(); return; }
모바일에서 alert을 통한 메시지 처리는 사용자 경험에 불편함을 발생할 수 있어 Static에 메시지를 표현하는 방법으로 구현
서버와 통신하여 로그인 처리를 합니다.
로그인 정보를 가지는 Dataset은 Global 영역에 정의하여 사용합니다.
this.fn_login = function() { ... var strSvcId = "LoginInfo"; var strSvcUrl = "ServiceUrl::EduSqlManager/JspAgent.jsp"; var inData = ""; var outData = "gdsUserInfo=output gdsUserEduList=output2"; var strArg = args; var callBackFnc = "fnCallback"; this.gfn_xtransCommon(strSvcId, strSvcUrl, inData, outData, strArg, callBackFnc, true); ... };
로그인 정보 기억하기
로그인이 정상적으로 처리 되고 "로그인정보기억" 체크가 되어 있는 경우 사용자 ID와 패스워드 정보를 개인화 데이터로 저장합니다.
this.fn_setInfo = function() { if(this.chkSaveFlag.value == true) { nexacro.setPrivateProfile("EduHub_LoinID",this.edtUserId.value); nexacro.setPrivateProfile("EduHub_LoinPwd",this.edtPasswd.value); nexacro.setPrivateProfile("EduHub_chkSaveFlag",this.chkSaveFlag.value); } else { nexacro.setPrivateProfile("EduHub_LoinID",""); nexacro.setPrivateProfile("EduHub_LoinPwd",""); nexacro.setPrivateProfile("EduHub_chkSaveFlag",false); } ... }
nexacro.setPrivateProfile( strKey, varVal )
어플리케이션에서 개인화 데이터를 저장하는 메소드로
개인화 데이터는 어플리케이션이 구동될 때 설정한 Key 값 별로 따로 관리되며 "nexacro.xml" 파일에 저장됩니다
로그인 정보 가져오기
화면이 로드된 후 개인화 데이터에 저장되어 있는 사용자ID와 패스워드 정보를 로그인 화면에 표현 합니다.
this.frmLogin_onload = function(obj:nexacro.Form,e:nexacro.LoadEventInfo) { var EduHub_LoinGubun = nexacro.getPrivateProfile("EduHub_LoinGubun"); var EduHubLoinID = nexacro.getPrivateProfile("EduHub_LoinID"); var EduHubLoinPwd = nexacro.getPrivateProfile("EduHub_LoinPwd"); ... this.edtUserId.set_value(EduHubLoinID); this.edtPasswd.set_value(EduHubLoinPwd); this.chkSaveFlag.set_value(true); ... }
nexacro.getPrivateProfile( strKey )
어플리케이션에서 저장한 개인화 데이터를 반환하는 메소드입니다.
참고사항
회원 가입은 어디서 등록이 가능한가요?
'투비교육포털'에서는 별도의 회원가입 신청을 하지 않습니다. 해당 회원정보는 투비소프트 고객지원팀에서 운영하는 기술지원사이트 http://support.tobesoft.co.kr 에서 등록된 정보를 활용합니다.