Logo

About Morpheus

  • Overview

Client

  • API
    • Core
    • Addon
    • Plugin
    • Compatibility
    • 리소스 업데이트 매뉴얼
    • Plugin 3rdparty Android [지원 게시판으로 별도 문의]
    • Plugin 3rdparty iOS [지원 게시판으로 별도 문의]
      • [appprotect.nshc]
      • [appdefence.extrus]
      • [codeguard.btworks]
      • [xecure.appshield]
      • [jbscanner.ahnlab]
      • [sanne.infraware]
      • [vguard.nshc]
      • [mtranskey.raon]
      • [keysharp.raon]
      • [xecure.smart]
      • [wizsign.ksign]
      • [facebook]
      • [kakao]
      • [fingerprint.hancom]
      • [fingerprint.basic]
      • [pattern]
      • [pin.basic]
      • [STT.google]
      • [Navigator]
        • 개요
        • 데이터 파일
        • 규칙
        • NAVIGATOR API
      • [OZ Software]
  • Push
  • IDE
  • 안드로이드 참고사항
  • SPA
  • HISTORY

Server

  • PUSH
  • ADMIN
  • STORE
  • UMS
  • GATEWAY
  • IDE
Morpheus
  • »
  • API »
  • Plugin 3rdparty iOS [지원 게시판으로 별도 문의] »
  • [Navigator]
  • View page source

[Navigator]¶

Navigator 제품에 대한 필수 API 를 정의

개요¶

  • 입력받은 문장에서 미리 정의되어 있는 dat파일 내용에 맞춰 단어를 추출하여 그 결과값으로 화면이동등의 처리를 용이하게 하기 위한 라이브러리이다.

데이터 파일¶

  • dat 파일
    1. 입력 받은 문장에서 추출해야 할 의미 있는 단어들을 정의하고 사용된 값들을 설정하는 데이터 파일

    2. 데이터 구분자는 ‘\n’ 데이터 필드의 구분자는 ‘,’ 필드내의 구분자는 ‘|’를 사용한다.

    3. 전체프로젝트 내에서 사용되는 Global파일과 특정 화면에서 사용되는 Scene파일로 구분된다.

  • Global 파일
    1. 전체 화면에서 사용될 menu.dat(고정) 파일과 추가로 전역적으로 사용될 데이터가 정의된 파일

    2. menu.dat : 메뉴 이동에 사용되는 dat파일 (이름 변경 불가)

    3. item.dat : 전역적으로 사용될 데이터가 정의된 파일 (이름 변경 가능, 파일 추가 가능)

    4. value, attr, keys, fillers(옵션) 순서로 구성된다.

    5. ex) /www/html/intro.html,0,시작|인트로,filler1|filler2

    요소

    Description

    value

    스크립트 파싱시 사용될 데이터중 하나

    attr

    스크립트 파싱시 사용될 데이터중 하나

    keys

    문장에서 찾을 실제 단어의 집합 ‘|’ 로 구분하여 배열로 처리된다.

    fillers

    스크립트 파싱시 사용될 데이터중 하나로 ‘|’ 로 구분하여 배열로 담겨온다.

  • Number 파일
    1. 전체 화면에서 사용될 number.dat(고정) 파일로 전역적으로 사용될 데이터가 정의된 파일

    2. starts, ends, fillers(옵션) 순서로 구성된다.

    3. starts + 숫자 의 조합으로 사용 : ‘금액’은 + “1000”

    4. 숫자 + ends 의 조합으로 사용 : “삼천” + ‘원’

    5. ex) 금액|가격,원|달라,filler1|filler2|filler3

    요소

    Description

    starts

    문장에서 찾을 실제 숫자 시작의 집합 ‘|’ 로 구분하여 배열로 처리된다.

    ends

    문장에서 찾을 실제 숫자 종료의 집합 ‘|’ 로 구분하여 배열로 처리된다.

    fillers

    스크립트 파싱시 사용될 데이터중 하나로 ‘|’ 로 구분하여 배열로 담겨온다.

  • Scene 파일
    1. 특정 화면에서 사용될 데이터가 정의된 파일로 특정 화면의 이름으로 정의된다.

    2. starts, ends, fillers(옵션) 순서로 구성된다.

    3. starts + “value가 될 문장” + ends의 조합으로 사용 : ‘이름’은 + “유라클” + ‘이다’

    4. 예외적으로 starts + “value가 될 단어” 조합으로 사용가능 : ‘이름’은 + “유라클”

    5. ex) 외출자|이름,이다,filler1

    요소

    Description

    starts

    문장에서 찾을 실제 숫자 시작의 집합 ‘|’ 로 구분하여 배열로 처리된다.

    ends

    문장에서 찾을 실제 숫자 종료의 집합 ‘|’ 로 구분하여 배열로 처리된다.

    fillers

    스크립트 파싱시 사용될 데이터중 하나로 ‘|’ 로 구분하여 배열로 담겨온다.

규칙¶

  • 입력받은 메시지를 각 dat파일로 정의된 값과 비교하여 각 dat파일의 내용을 해당 파일의 이름으로 된 키값으로 데이터를 만들어 준다.
    1. menu.dat파일에서 찾은 데이터는 결과값의 “menu” 키로 담겨온다.

  • 결과값의 데이터는 배열의 형태로 오며 정확도가 높은 첫번째 배열값을 실제 화면처리에서 사용한다.
    1. 단어의 위치가 앞일수록 우선순위가 높다.

    2. 단어의 위치가 같다면 길이가 길수록 우선순위가 높다.

  • Global타입의 경우 keys의 포함된 단어들을 찾아 결과를 처리한다.
    • keys가 “메인|홈화면” 일 경우
      1. “홈화면”
        • key=홈화면, value=/www/html/home.html (첫번째 배열)

      2. “메인화면으로 이동”
        • key=메인, value=/www/html/home.html (첫번째 배열)

      3. “메인인 홈화면으로 이동”
        • key=메인, value=/www/html/home.html (첫번째 배열)

        • key=홈화면, value=/www/html/home.html (두번째 배열)

  • Number타입의 경우 숫자와 해당 starts 값과 ends 값중 하나를 포함했을때 처리가 된다.
    • starts가 “금액” ends가 “원” 일 경우
      1. “금액은 천”
        • key=금액, value=1000

      2. “3천원”
        • key=원, value=3000

  • Scene타입의 경우 현재 화면 또는 이동할 화면내에 있는 요소들을 처리한다.
    1. 검색 결과에 menu데이터가 존재하면 해당 menu화면의 요소를 검색하며 해당 menu데이터 내에 “scenes” 키값으로 결과값이 배열로 담겨온다.
      • result.menu[0].scenes

    2. 검색 결과에 menu데이터가 존재하지 않으면 현재 화면의 요소를 검색하며 “scenes” 키값으로 결과값이 배열로 담겨온다
      • result.scenes

    3. Scene타입의 경우 starts와 ends 사이의 문장의 값을 처리한다.
      • 단, “starts + 단어” 의 조합일 경우 ends가 없어도 해당 단어를 처리한다.

      • starts가 “외출자|이름” ends가 “이다|이고” 일 경우

      1. “이름은 서자 홍길동이다.”
        • start=이름, end=이다, value=서자 홍길동

      2. “외출자는 홍길동”
        • start=외출자, end=””, value=홍길동

NAVIGATOR API¶

Navigator 기능을 제공한다.

status Type¶

Type

Description

PROCESSING

진행 중

SUCCESS

정상 처리됨

FAIL

처리 중 문제가 발생함

데이터 load¶

M.plugin('page_navigator').load( setting)¶

Changed in version 2.0.0.

Arguments
  • setting (Object) – 설정 정보

  • setting.root (String) – dat파일의 root path 정보 (“stt”)

  • setting.callback (Function) – 처리 결과를 받을 콜백

M.callback(status, result)¶
Arguments
  • status (String) – 상태 ( status Type )

  • result (Object) – load의 결과

  • result.result (String) – load의 결과

  • result.message (String) – load의 결과 메시지

  • 원본 데이터를 기반으로 매핑되어야 할 사전 정의 데이터 파일을 메모리에 적재함.

Example:

M.plugin('page_navigator').load({
        'root': 'stt',
    callback:function(status, result){
        alert(JSON.stringify(result));
     }
});

데이터 검색¶

M.plugin('page_navigator').search( setting)¶

Changed in version 2.0.0.

Arguments
  • setting (Object) – 설정 정보

  • setting.message (String) – 결과를 추출하고자 하는 원본 데이터

  • setting.input (String) – 입력 컴포넌트로 이동하기 위해 사용하는 값으로, value 값으로 끝나는 단어가 검색되는 경우, 필요한 값이 리턴됨

  • setting.callback (Function) – 검증 결과 콜백 함수

M.callback(status, result)¶
Arguments
  • status (String) – 상태 ( status Type )

  • result (Object) – 검색 결과

  • result.result (String) – 검색 결과 (SUCCESS, INPUT)

:param Object result.data : 검색 결과 자료

  • 원본 데이터를 이용하여, 사전 정의된 정보를 검색함.

Example:

M.plugin('page_navigator').search({
    'message': '삼성전자 현재가',
    callback:function(status, result){
        alert(JSON.stringify(result));
     }
});
M.plugin('page_navigator').search({
    'message': '아이디 입력',
    'input': '입력',
    callback:function(status, result){
        alert(JSON.stringify(result));
     }
});
Next Previous

© Copyright 2016, UracleLab