@morpheus/core 라이브러리에서 제공되는 모듈
EventKey
"ready" | "hide" | "restore" | "pause" | "resume" | "destory"아래의 legacy 함수들을 대응합니다.
ready: M.onReadyhide: M.onHiderestore: M.onRestorepause: M.onPauseresume: M.onResumedestory: M.onDestory라이프 사이클 이벤트를 등록합니다.
Parameters
EventKey
EventKeyHandler
FunctionReturn
이벤트를 해제할 수 있는 해제 함수를 리턴합니다.
() => voidUsage
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
EventKeyHandler
FunctionReturn
voidUsage
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
EventKeyHandler
FunctionReturn
voidUsage
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
NavigatorOsUsage
import { getOs } from "@morpheus/core";
console.log(getOs());
Before
M.navigator.device
Device 정보를 조회합니다.
Return
Object
NavigatorOsstringbooleanbooleanUsage
import { getDevice } from "@morpheus/core";
console.log(getDevice());
Before
M.navigator.browser
Browser 정보를 조회합니다.
Return
Object
stringstringUsage
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
stringstringstringstringstringObject
string : Object
stringstringstringstringstringPageInfo
Object
PAGE_ACTIONPAGE_ORIENTATIONanystringstringstringstringstringObject
stringstringnumbernumbernumbernumberPageStack[]numberPageOption
Object
string;any;PAGE_ACTION;PAGE_ANIMATION;PAGE_ORIENTATION;number;boolean;boolean;Before
M.page.info
현재 페이지 정보를 조회합니다.
Return
PageInfoUsage
import { getPageInfo } from "@morpheus/core";
console.log(getPageInfo());
Before
M.page.defer
페이지 지연 이동 처리
Parameters
enabled
booleantime
numberReturn
voidUsage
import { setPageDefer } from "@morpheus/core";
setPageDefer(true, 1000);
Before
M.page.html
페이지 이동 API
Parameters
options
PageOptionReturn
voidUsage
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
anyPAGE_ANIMATIONReturn
voidUsage
import { backPage } from "@morpheus/core";
// only required
backPage();
// full options
backPage({
param: { poo: "poo" },
animation: "DEFAULT",
});
Before
M.page.remove
페이지 삭제 API
Parameters
url
stringReturn
voidUsage
import { removePage } from "@morpheus/core";
// only required
removePage("./login.html");
Before
M.page.replace
페이지의 Webview URL 만 변경
Parameters
options
Object
url : stringparam? : anyReturn
voidUsage
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 : stringparam? : anyactionType? : PAGE_ACTIONanimation? : PAGE_ANIMATIONorientation? : PAGE_ORIENTATIONReturn
voidUsage
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
stringReturn
T = anyUsage
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
stringvalue
anyReturn
voidUsage
import { setParamData } from "@morpheus/core";
setParamData("poo", "poo");
setParamData("poo", { value: "poo" });
Before
M.data.removeParam
페이지 파라미터 데이터를 제거한다.
Parameters
key
stringReturn
voidUsage
import { removeParamData } from "@morpheus/core";
removeParamData("poo");
Before
M.data.removeParam
페이지 파라미터 데이터를 전부 제거한다.
Return
voidUsage
import { removeAllParamData } from "@morpheus/core";
removeAllParamData();
Before
M.data.global
전역 데이터를 조회한다.
Parameters
key
stringReturn
T = anyUsage
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
stringvalue
anyReturn
voidUsage
import { setGlobalData } from "@morpheus/core";
setGlobalData("poo", "poo");
setGlobalData("poo", { value: "poo" });
Before
M.data.removeGlobal
전역 데이터를 제거한다.
Parameters
key
stringReturn
voidUsage
import { removeGlobalData } from "@morpheus/core";
removeGlobalData("poo");
Before
M.data.removeGlobal
전역 데이터를 전부 제거한다.
Return
voidUsage
import { removeAllGlobalData } from "@morpheus/core";
removeAllGlobalData();
Before
M.data.storage
영속 데이터를 조회한다.
Parameters
key
stringReturn
T = anyUsage
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
stringvalue
anyReturn
voidUsage
import { setStorageData } from "@morpheus/core";
setStorageData("poo", "poo");
setStorageData("poo", { value: "poo" });
Before
M.data.removeStorage
영속 데이터를 제거한다.
Parameters
key
stringReturn
voidUsage
import { removeStorageData } from "@morpheus/core";
removeStorageData("poo");
Before
M.data.removeStorage
영속 데이터를 전부 제거한다.
Return
voidUsage
import { removeAllStorageData } from "@morpheus/core";
removeAllStorageData();
Before
M.sec.encrypt
문자열을 암호화한다.
Parameters
source
stringReturn
Object
"SUCCESS" | "FAIL"stringUsage
import { encrypt } from "@morpheus/core";
const { status, result } = encrypt("poo");
console.log(status, result);
Before
M.sec.decrypt
문자열을 복호화한다.
Parameters
source
stringReturn
Object
"SUCCESS" | "FAIL"stringUsage
import { decrypt } from "@morpheus/core";
const { status, result } = decrypt("1cf24b4ba06470d0809f9ac920e0ee17");
console.log(status, result);
Before
M.info.version
설치된 모피어스 라이브러리 버전 정보를 가져온다.
Return
Object
stringObjectObjectUsage
import { getLibrariesVersion } from "@morpheus/core";
console.log(getLibrariesVersion());
Before
M.info.memory
메모리 사용 정보를 가져온다.
Return
Object
stringstringstringUsage
import { getMemoryInfo } from "@morpheus/core";
console.log(getMemoryInfo());
Before
M.info.device
디바이스 정보를 가져온다.
Return
Object
stringstring"Phone" | "Tablet"Object
stringstringObejct
stringstringObject
stringstringObject
booleanbooleanbooleanUsage
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
stringstringstringstringObject
stringstringstringObjectObject
stringstringnumberUsage
import { getAppInfo } from "@morpheus/core";
console.log(getAppInfo());
Before
M.apps.browser
내장 기본 브라우저를 실행한다.
Parameters
url
stringencoding
"UTF-8" | "EUC-KR" | stringReturn
voidUsage
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
stringReturn
voidUsage
import { uninstallApp } from "@morpheus/core";
uninstallApp("mcore.edu.sample");
Before
M.apps.downloadAndInstall
앱 다운로드 링크를 통해 앱을 설치한다. (Android Only, inhouse)
Parameters
url
stringappName
stringoptions
Object
booleannumber(total, current, remaining, percentage) => void
stringstringstringstringReturn
voidUsage
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
stringReturn
Object
booleanstring (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
stringparam
ObjectReturn
voidUsage
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
stringReturn
voidUsage
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
stringReturn
voidUsage
import { openSystemCall } from "@morpheus/core";
openSystemCall("010-1234-5678");
openSystemCall("01012345678");
Before
M.sys.exit
앱을 종료한다.
Return
voidUsage
import { exitApp } from "@morpheus/core";
exitApp();
Before
M.sys.flash
플래시 상태를 변경한다.
Parameters
status
"ON" | "OFF"Return
voidUsage
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[]stringstringReturn
voidUsage
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[]stringReturn
voidUsage
import { openSystemSms } from '@morpheus/core'
openSystemSms({
numbers: '010-123-4567, 010-987-6543'
message: '안녕하세요'
});
Before
M.sys.vibration
단말기 진동을 발생시킨다.
Parameters
time
numberReturn
voidUsage
import { vibration } from '@morpheus/core'
vibration(1000);
Before
M.tool.log
네이티브 로그를 출력한다.
Parameters
options
Object
string"ERROR" | "WARN" | "INFO" | "DEBUG" | "VERBOSE"stringReturn
voidUsage
import { nativeLog } from '@morpheus/core'
naviteLog({
message: '로그 메세지',
level: 'ERROR',
tag: 'WEB'
});
Before
M.execute
ExtendWNInterface의 API를 호출하는 함수
Parameters
apiKey
stringparams
any[]Return
anyUsage
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");