@morpheus/core
라이브러리에서 제공되는 모듈
EventKey
"ready"
| "hide"
| "restore"
| "pause"
| "resume"
| "destory"
아래의 legacy 함수들을 대응합니다.
ready
: M.onReady
hide
: M.onHide
restore
: M.onRestore
pause
: M.onPause
resume
: M.onResume
destory
: M.onDestory
라이프 사이클 이벤트를 등록합니다.
Parameters
EventKey
EventKey
Handler
Function
Return
이벤트를 해제할 수 있는 해제 함수를 리턴합니다.
() => void
Usage
import { lifecycle } from "@morpheus/core";
lifecycle.on("ready", (event) => {
// TODO : ready event handle code here
});
import { lifecycle } from "@morpheus/core";
const onResumeEvent = (e) => {
// TODO : resume event handle code here
};
const clean = lifecycle.on("resume", onResumeEvent);
setTimeout(() => {
clean();
}, 10000);
이벤트를 해제합니다.
Paramters
EventKey
EventKey
Handler
Function
Return
void
Usage
import { lifecycle } from "@morpheus/core";
const onResumeEvent = (e) => {
// TODO : resume event handle code here
};
lifecycle.on("resume", onResumeEvent);
setTimeout(() => {
lifecycle.off("resume", onResumeEvent);
}, 10000);
이벤트를 한번만 실행시킵니다.
Parameters
EventKey
EventKey
Handler
Function
Return
void
Usage
import { lifecycle } from "@morpheus/core";
lifecycle.once("resume", (e) => {
// TODO : resume event handle code here
});
NavigatorOs
"unknown"
| "Emulator"
| "Android"
| "BlackBerry"
| "iOS"
| "Opera"
| "Windows"
| "Webos"
Before
M.navigator.os
OS 정보를 조회합니다.
Return
NavigatorOs
Usage
import { getOs } from "@morpheus/core";
console.log(getOs());
Before
M.navigator.device
Device 정보를 조회합니다.
Return
Object
NavigatorOs
string
boolean
boolean
Usage
import { getDevice } from "@morpheus/core";
console.log(getDevice());
Before
M.navigator.browser
Browser 정보를 조회합니다.
Return
Object
string
string
Usage
import { getBrowser } from "@morpheus/core";
console.log(getBrowser());
화면 이동에 대한 API를 제공합니다.
PAGE_ACTION
PAGE_ACTION
"NEW_SCR"
| "NO_HISTORY"
| "CLEAR_TOP"
PAGE_ORIENTATION
"DEFAULT"
| "PORTRAIT"
| "PORT"
| "LANDSCAPE"
| "LAND"
| "ORTREV"
| "LANDREV"
| "ALL"
PAGE_ANIMATION
"DEFAULT"
| "NONE"
| "SLIDE_LEFT"
| "SLIDE_RIGHT"
| "SLIDE_TOP"
| "SLIDE_BOTTOM"
| "ZOOM_IN"
| "ZOOM_OUT"
| "FADE"
| "MODAL_UP"
| "MODAL_DOWN"
PageStack
Object
string
string
string
string
string
Object
string
: Object
string
string
string
string
string
PageInfo
Object
PAGE_ACTION
PAGE_ORIENTATION
any
string
string
string
string
string
Object
string
string
number
number
number
number
PageStack[]
number
PageOption
Object
string
;any
;PAGE_ACTION
;PAGE_ANIMATION
;PAGE_ORIENTATION
;number
;boolean
;boolean
;Before
M.page.info
현재 페이지 정보를 조회합니다.
Return
PageInfo
Usage
import { getPageInfo } from "@morpheus/core";
console.log(getPageInfo());
Before
M.page.defer
페이지 지연 이동 처리
Parameters
enabled
boolean
time
number
Return
void
Usage
import { setPageDefer } from "@morpheus/core";
setPageDefer(true, 1000);
Before
M.page.html
페이지 이동 API
Parameters
options
PageOption
Return
void
Usage
import { movePage } from "@morpheus/core";
// only required
movePage({ url: "./login.html" });
// full options
movePage({
url: "./info.html",
param: { poo: "poo" },
actionType: "NEW_SCR",
animation: "DEFAULT",
orientation: "DEFAULT",
delay: 100,
force: true,
removeQuery: true,
});
Before
M.page.back
이전 페이지 이동 API
Parameters
options
Object
any
PAGE_ANIMATION
Return
void
Usage
import { backPage } from "@morpheus/core";
// only required
backPage();
// full options
backPage({
param: { poo: "poo" },
animation: "DEFAULT",
});
Before
M.page.remove
페이지 삭제 API
Parameters
url
string
Return
void
Usage
import { removePage } from "@morpheus/core";
// only required
removePage("./login.html");
Before
M.page.replace
페이지의 Webview URL 만 변경
Parameters
options
Object
url
: string
param?
: any
Return
void
Usage
import { replacePage } from "@morpheus/core";
// only required
replacePage({ url: "" }); // 현재페이지 새로고침
// full options
replacePage({ url: "./login.html", param: { poo: "poo" } });
Before
M.page.activity
Native 페이지로 이동
Parameters
options
Object
className
: string
param?
: any
actionType?
: PAGE_ACTION
animation?
: PAGE_ANIMATION
orientation?
: PAGE_ORIENTATION
Return
void
Usage
import { moveActivity } from "@morpheus/core";
// only required
moveActivity({ className: "SampleActivity" }); // 현재페이지 새로고침
// full options
moveActivity({
className: "SampleActivity",
param: { poo: "poo" },
actionType: "NEW_SCR",
animation: "DEFAULT",
orientation: "DEFAULT",
});
Before
M.data.param
페이지 파라미터 데이터를 조회한다.
Parameters
key
string
Return
T = any
Usage
import { getParamData } from "@morpheus/core";
console.log(getParamData("poo"));
import { getParamData } from "@morpheus/core";
// TypeScript
const data: string = getParamData<string>("poo");
Before
M.data.param
페이지 파라미터 데이터를 저장한다.
Parameters
key
string
value
any
Return
void
Usage
import { setParamData } from "@morpheus/core";
setParamData("poo", "poo");
setParamData("poo", { value: "poo" });
Before
M.data.removeParam
페이지 파라미터 데이터를 제거한다.
Parameters
key
string
Return
void
Usage
import { removeParamData } from "@morpheus/core";
removeParamData("poo");
Before
M.data.removeParam
페이지 파라미터 데이터를 전부 제거한다.
Return
void
Usage
import { removeAllParamData } from "@morpheus/core";
removeAllParamData();
Before
M.data.global
전역 데이터를 조회한다.
Parameters
key
string
Return
T = any
Usage
import { getGlobalData } from "@morpheus/core";
console.log(getGlobalData("poo"));
import { getGlobalData } from "@morpheus/core";
// TypeScript
const data: string = getGlobalData<string>("poo");
Before
M.data.global
전역 데이터를 저장한다.
Parameters
key
string
value
any
Return
void
Usage
import { setGlobalData } from "@morpheus/core";
setGlobalData("poo", "poo");
setGlobalData("poo", { value: "poo" });
Before
M.data.removeGlobal
전역 데이터를 제거한다.
Parameters
key
string
Return
void
Usage
import { removeGlobalData } from "@morpheus/core";
removeGlobalData("poo");
Before
M.data.removeGlobal
전역 데이터를 전부 제거한다.
Return
void
Usage
import { removeAllGlobalData } from "@morpheus/core";
removeAllGlobalData();
Before
M.data.storage
영속 데이터를 조회한다.
Parameters
key
string
Return
T = any
Usage
import { getStorageData } from "@morpheus/core";
console.log(getStorageData("poo"));
import { getStorageData } from "@morpheus/core";
// TypeScript
const data: string = getStorageData<string>("poo");
Before
M.data.storage
영속 데이터를 저장한다.
Parameters
key
string
value
any
Return
void
Usage
import { setStorageData } from "@morpheus/core";
setStorageData("poo", "poo");
setStorageData("poo", { value: "poo" });
Before
M.data.removeStorage
영속 데이터를 제거한다.
Parameters
key
string
Return
void
Usage
import { removeStorageData } from "@morpheus/core";
removeStorageData("poo");
Before
M.data.removeStorage
영속 데이터를 전부 제거한다.
Return
void
Usage
import { removeAllStorageData } from "@morpheus/core";
removeAllStorageData();
Before
M.sec.encrypt
문자열을 암호화한다.
Parameters
source
string
Return
Object
"SUCCESS"
| "FAIL"
string
Usage
import { encrypt } from "@morpheus/core";
const { status, result } = encrypt("poo");
console.log(status, result);
Before
M.sec.decrypt
문자열을 복호화한다.
Parameters
source
string
Return
Object
"SUCCESS"
| "FAIL"
string
Usage
import { decrypt } from "@morpheus/core";
const { status, result } = decrypt("1cf24b4ba06470d0809f9ac920e0ee17");
console.log(status, result);
Before
M.info.version
설치된 모피어스 라이브러리 버전 정보를 가져온다.
Return
Object
string
Object
Object
Usage
import { getLibrariesVersion } from "@morpheus/core";
console.log(getLibrariesVersion());
Before
M.info.memory
메모리 사용 정보를 가져온다.
Return
Object
string
string
string
Usage
import { getMemoryInfo } from "@morpheus/core";
console.log(getMemoryInfo());
Before
M.info.device
디바이스 정보를 가져온다.
Return
Object
string
string
"Phone"
| "Tablet"
Object
string
string
Obejct
string
string
Object
string
string
Object
boolean
boolean
boolean
Usage
import { getDeviceDetail } from "@morpheus/core";
console.log(getDeviceDetail());
Before
M.info.stack
페이지 스택 정보를 가져온다.
Return
PageStack[]
Usage
import { getStackInfo } from "@morpheus/core";
console.log(getStackInfo());
Before
M.info.app
앱 정보를 가져온다.
Return
Object
Object
string
string
string
string
Object
string
string
string
Object
Object
string
string
number
Usage
import { getAppInfo } from "@morpheus/core";
console.log(getAppInfo());
Before
M.apps.browser
내장 기본 브라우저를 실행한다.
Parameters
url
string
encoding
"UTF-8"
| "EUC-KR"
| string
Return
void
Usage
import { openBrowser } from "@morpheus/core";
openBrowser("https://wiki.uracle.co.kr");
openBrowser("https://wiki.uracle.co.kr", "EUC-KR");
Before
M.apps.remove
특정 패키지명의 앱을 삭제한다. (Android Only)
Parameters
identifier
string
Return
void
Usage
import { uninstallApp } from "@morpheus/core";
uninstallApp("mcore.edu.sample");
Before
M.apps.downloadAndInstall
앱 다운로드 링크를 통해 앱을 설치한다. (Android Only, inhouse)
Parameters
url
string
appName
string
options
Object
boolean
number
(total, current, remaining, percentage) => void
string
string
string
string
Return
void
Usage
import { installApp, openBrowser } from "@morpheus/core";
// for android
const appName = "Sample App";
const apkUrl = "https://sample.co.kr/sampleApp.apk";
const option = {
indicator: true,
timeout: 30000,
onprogress: (total, current) => {
console.log(total, current);
},
};
installApp(apkUrl, appName, option);
// for ios
const plistUrl = "https://sample.co.kr/sampleApp.plist";
const installUrl = "itms-services://?action=download-manifest&url=" + plistUrl;
openBrowser(installUrl);
Before
M.apps.info
단말기에 설치된 앱의 정보를 가져온다.
Parameters
identifier
string
Return
Object
boolean
string
(android only)string
(android only)string
(android only)Usage
import { getInstalledAppInfo } from "@morpheus/core";
console.log(getInstalledAppInfo("mcore.edu.sample"));
Before
M.apps.open
단말기에 설치된 앱을 실행한다.
Parameters
identifier
string
param
Object
Return
void
Usage
import { openApp, getInstalledAppInfo } from "@morpheus/core";
const { installed } = getInstalledAppInfo("mcore.edu.sample");
if (installed) {
openApp("mcore.edu.sample", { poo: "poo" });
}
Before
M.apps.store
특정 앱의 스토어를 연다.
Parameters
scheme
string
Return
void
Usage
import { openStoreApp } from "@morpheus/core";
// for android https://play.google.com/store/apps/details?id=com.uracle.wellness
openStoreApp("mcore.edu.sample");
// for ios https://itunes.apple.com/kr/app/id1049605425?mt=8
openStoreApp("1049605425");
Before
M.sys.call
전화 앱을 연다.
Parameters
phoneNumber
string
Return
void
Usage
import { openSystemCall } from "@morpheus/core";
openSystemCall("010-1234-5678");
openSystemCall("01012345678");
Before
M.sys.exit
앱을 종료한다.
Return
void
Usage
import { exitApp } from "@morpheus/core";
exitApp();
Before
M.sys.flash
플래시 상태를 변경한다.
Parameters
status
"ON"
| "OFF"
Return
void
Usage
import { setSystemFlash } from "@morpheus/core";
setSystemFlash('ON');
Before
M.sys.flash
플래시 상태를 가져온다.
Return
"ON"
| "OFF"
Usage
import { getSystemFlash } from "@morpheus/core";
getSystemFlash('ON');
Before
M.sys.mail
메일 앱을 실행한다.
Parameters
Options
Object
string[]
string[]
string[]
string
string
Return
void
Usage
import { openSystemMail } from '@morpheus/core'
openSystemMail({
to: ['test1@test.com', 'test2@test.com'],
cc: ['cc1@test.com', 'cc2@test.com'],
bcc: ['bcc1@test.com', 'bcc2@test.com'],
subject: '제목',
content: '내용'
});
Before
M.sys.sms
SMS 앱을 실행한다.
Parameters
Options
Object
string
| string[]
string
Return
void
Usage
import { openSystemSms } from '@morpheus/core'
openSystemSms({
numbers: '010-123-4567, 010-987-6543'
message: '안녕하세요'
});
Before
M.sys.vibration
단말기 진동을 발생시킨다.
Parameters
time
number
Return
void
Usage
import { vibration } from '@morpheus/core'
vibration(1000);
Before
M.tool.log
네이티브 로그를 출력한다.
Parameters
options
Object
string
"ERROR"
| "WARN"
| "INFO"
| "DEBUG"
| "VERBOSE"
string
Return
void
Usage
import { nativeLog } from '@morpheus/core'
naviteLog({
message: '로그 메세지',
level: 'ERROR',
tag: 'WEB'
});
Before
M.execute
ExtendWNInterface
의 API를 호출하는 함수
Parameters
apiKey
string
params
any[]
Return
any
Usage
import { execute } from '@morpheus/core';
// 동기식
const result = execute('wnSyncApi', 123)
// 비동기식
window.callbackFunc = ( result ) => {
console.log( result );
}
execute("wnAsyncApi", options, "callbackFunc");
import { execute } from '@morpheus/core';
// TypeScript 사용시
// 동기식
const result = execute<string>('wnSyncApi', 123)
// 비동기식
window.callbackFunc = (result : string ) => {
console.log( result );
}
execute("wnAsyncApi", options, "callbackFunc");