/**eslint-disable*/ const genFn = (clsName, action) => { return function (options, successCallback, errorCallback) { const bridge = window.plus.bridge; const success = typeof successCallback !== "function" ? null : function (args) { successCallback(args); }, fail = typeof errorCallback !== "function" ? null : function (code) { errorCallback(code); }, callbackID = bridge.callbackId(success, fail); return bridge.exec(clsName, action, [callbackID, options]); }; }; //自定义Native插件注册 window.$bridge = { takePhoto: genFn("TakePhoto", "takePhoto"), captureVideo: genFn("Videotaped", "captureVideo"), getVideoPath: genFn("FileSystem", "getVideoPath"), generateVideoName: genFn("FileSystem", "generateVideoName"), getAudioPath: genFn("FileSystem", "getAudioPath"), generateAudioName: genFn("FileSystem", "generateAudioName"), cloudWalkBiometrics1: genFn("CloudWalk", "startLiveFront"), calendarOperate: genFn("Calendar", "addCalendarEvent") }; document.addEventListener("plusready", function () { const plus = window.plus; let firstBack = 0; function handleBack() { if (!firstBack) { firstBack = Date.now(); plus.nativeUI.toast("再按一次退出应用"); setTimeout(function () { firstBack = 0; }, 2000); } else if (Date.now() - firstBack < 2000) { plus.runtime.quit(); } } window.plus.key.addEventListener("backbutton", handleBack); });