(function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; var __filename = 'preview-scripts/assets/script/utils/NativeManager.js'; var __require = nodeEnv ? function (request) { return cc.require(request); } : function (request) { return __quick_compile_project__.require(request, __filename); }; function __define (exports, require, module) { if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; cc._RF.push(module, '0ec53FAebpH7rnGQGjzlUhv', 'NativeManager'); // script/utils/NativeManager.ts "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var NativeManager = /** @class */ (function () { function NativeManager() { } NativeManager.Init = function () { this.OCClassName = "RootViewController"; this.JavaClassName = "org/cocos2dx/javascript/NativeMgr"; this.JavaArgTypeDict = { "Number": "I", "String": "Ljava/lang/String;", "Boolean": "Z", "Float": "F" }; }; //调用native平台接口 //funName:函数名 //参数顺序列表argList=[{"Name":"Title", "Value":"xx"},{"Name":"Description", "Value":"xx"},{"Name":"URL", "Value":"xx"}] //returnType 返回值类型 NativeManager.CallToNative = function (funName, argList, returnType) { if (!cc.sys.isNative) { return; } if (cc.sys.platform == cc.sys.ANDROID) { this.CallToJava(funName, argList, returnType); } else if (cc.sys.platform == cc.sys.IPHONE || cc.sys.platform == cc.sys.IPAD) { this.CallToOC(funName, argList); } }; /** * 调用java接口 * javaFunName MyAPIManager.java 对应函数名 * argList argList 函数接受的参数列表 * returnType returnType 函数返回值类型 */ NativeManager.CallToJava = function (javaFunName, argList, returnType) { //jsb.reflection.callStaticMethod('org/cocos2dx/javascript/SDKManager', //'OnWeChatShare','(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V',"当当猫","当当猫分享","www.ddmh5.com","0"); var javaFunArgList = []; var javaFunSign = "("; var count = argList.length; for (var index = 0; index < count; index++) { var argInfo = argList[index]; if (!argInfo.hasOwnProperty("Value")) { console.error("CallToJava argInfo error", argInfo); return; } var value = argInfo["Value"]; var argType = Object.prototype.toString.call(value).slice("[object ".length, -1); var javaType = this.JavaArgTypeDict[argType]; // console.log("javaType === >",value,javaType) if (!javaType) { console.error("CallToJava(%s, %j) error", javaFunName, argList); return; } javaFunSign += javaType; // console.log("javaFunSign == >"+javaFunSign) javaFunArgList.push(value); } var returnValueType = this.JavaArgTypeDict[returnType]; //如果有返回值 if (returnValueType) { javaFunSign += ")" + returnValueType; } else { javaFunSign += ")V"; } javaFunArgList.unshift(this.JavaClassName, javaFunName, javaFunSign); try { return jsb.reflection.callStaticMethod.apply(this, javaFunArgList); } catch (error) { console.error("CallToJava(%s,%s,%s) error:%s", javaFunName, JSON.stringify(argList), returnType, error.stack); } }; /** * 调用oc接口 * javaFunName MyAPIManager.java 对应函数名 * argList argList 函数接受的参数列表 * returnType returnType 函数返回值类型 */ NativeManager.CallToOC = function (ocFunName, argList) { //jsb.reflection.callStaticMethod(this.OCClassName,''OnWeChatShareWithTitle: Description: URL:Type:','红中麻将','红中麻将分享','www.ddmh5.com',"0"); var ocFunArgList = []; ocFunArgList.push(this.OCClassName); var funString = ocFunName; var count = argList.length; for (var index = 0; index < count; index++) { var argInfo = argList[index]; var name = argInfo["Name"]; var value = argInfo["Value"]; if (!name) { console.error("CallToOC(%s) argInfo error", ocFunName, argInfo); return; } if (index) { funString += name + ":"; } else { funString += "With" + name + ":"; } ocFunArgList.push(value); } //插入函数签名 ocFunArgList.splice(1, 0, funString); try { console.log("javaFunArgList CallToOC(%s)", JSON.stringify(ocFunArgList)); return jsb.reflection.callStaticMethod.apply(this, ocFunArgList); } catch (error) { console.error("CallToOC(%s,%s) error:%s", ocFunName, JSON.stringify(argList), error.stack); } }; return NativeManager; }()); exports.default = NativeManager; cc._RF.pop(); } if (nodeEnv) { __define(__module.exports, __require, __module); } else { __quick_compile_project__.registerModuleFunc(__filename, function () { __define(__module.exports, __require, __module); }); } })(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvdXRpbHMvTmF0aXZlTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0lBQUE7SUE0SEEsQ0FBQztJQXZIVSxrQkFBSSxHQUFYO1FBQ0YsSUFBSSxDQUFDLFdBQVcsR0FBRyxvQkFBb0IsQ0FBQztRQUN4QyxJQUFJLENBQUMsYUFBYSxHQUFHLG1DQUFtQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBQyxRQUFRLEVBQUMsR0FBRyxFQUFFLFFBQVEsRUFBQyxvQkFBb0IsRUFBRSxTQUFTLEVBQUMsR0FBRyxFQUFFLE9BQU8sRUFBQyxHQUFHLEVBQUMsQ0FBQztJQUMvRixDQUFDO0lBQ0QsY0FBYztJQUNqQixhQUFhO0lBQ2Isa0hBQWtIO0lBQ2xILGtCQUFrQjtJQUNYLDBCQUFZLEdBQW5CLFVBQW9CLE9BQWUsRUFBRSxPQUFZLEVBQUUsVUFBa0I7UUFDcEUsSUFBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFDO1lBQ25CLE9BQU07U0FDTjtRQUNELElBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUM7WUFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQzlDO2FBQ0ksSUFBRyxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksRUFBQztZQUMxRSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztTQUNoQztJQUNGLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLHdCQUFVLEdBQWpCLFVBQWtCLFdBQW1CLEVBQUUsT0FBWSxFQUFFLFVBQWtC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Q2hFLE9BQU07YUFDTjtZQUNELElBQUcsS0FBSyxFQUFDO2dCQUNSLFNBQVMsSUFBSSxJQUFJLEdBQUcsR0FBRyxDQUFDO2FBQ3hCO2lCQUNHO2dCQUNILFNBQVMsSUFBSSxNQUFNLEdBQUcsSUFBSSxHQUFHLEdBQUcsQ0FBQzthQUNqQztZQUVELFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDekI7UUFDRCxRQUFRO1FBQ1IsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRXJDLElBQUc7WUFDRixPQUFPLENBQUMsR0FBRyxDQUFDLDZCQUE2QixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUN6RSxPQUFPLEdBQUcsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQztTQUNqRTtRQUNELE9BQU8sS0FBSyxFQUFDO1lBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQywwQkFBMEIsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0Y7SUFFRixDQUFDO0lBQ0Ysb0JBQUM7QUFBRCxDQTVIQSxBQTRIQyxJQUFBIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmF0aXZlTWFuYWdlciB7XHJcbiAgICBzdGF0aWMgSmF2YUNsYXNzTmFtZTogc3RyaW5nO1xyXG4gICAgc3RhdGljIEphdmFBcmdUeXBlRGljdDogeyBOdW1iZXI6IHN0cmluZzsgU3RyaW5nOiBzdHJpbmc7IEJvb2xlYW46IHN0cmluZzsgRmxvYXQ6IHN0cmluZzsgfTtcclxuICAgIHN0YXRpYyBPQ0NsYXNzTmFtZTogc3RyaW5nO1xyXG5cclxuICAgIHN0YXRpYyBJbml0KCl7XHJcblx0XHR0aGlzLk9DQ2xhc3NOYW1lID0gXCJSb290Vmlld0NvbnRyb2xsZXJcIjtcclxuXHRcdHRoaXMuSmF2YUNsYXNzTmFtZSA9IFwib3JnL2NvY29zMmR4L2phdmFzY3JpcHQvTmF0aXZlTWdyXCI7XHJcblx0XHR0aGlzLkphdmFBcmdUeXBlRGljdCA9IHtcIk51bWJlclwiOlwiSVwiLCBcIlN0cmluZ1wiOlwiTGphdmEvbGFuZy9TdHJpbmc7XCIsIFwiQm9vbGVhblwiOlwiWlwiLCBcIkZsb2F0XCI6XCJGXCJ9O1xyXG4gICAgfVxyXG4gICAgLy/osIPnlKhuYXRpdmXlubPlj7DmjqXlj6NcclxuXHQvL2Z1bk5hbWU65Ye95pWw5ZCNXHJcblx0Ly/lj4LmlbDpobrluo/liJfooahhcmdMaXN0PVt7XCJOYW1lXCI6XCJUaXRsZVwiLCBcIlZhbHVlXCI6XCJ4eFwifSx7XCJOYW1lXCI6XCJEZXNjcmlwdGlvblwiLCBcIlZhbHVlXCI6XCJ4eFwifSx7XCJOYW1lXCI6XCJVUkxcIiwgXCJWYWx1ZVwiOlwieHhcIn1dXHJcblx0Ly9yZXR1cm5UeXBlIOi/lOWbnuWAvOexu+Wei1xyXG5cdHN0YXRpYyBDYWxsVG9OYXRpdmUoZnVuTmFtZTogc3RyaW5nLCBhcmdMaXN0OiBhbnksIHJldHVyblR5cGU6IHN0cmluZyl7XHJcblx0XHRpZighY2Muc3lzLmlzTmF0aXZlKXtcclxuXHRcdFx0cmV0dXJuXHJcblx0XHR9XHJcblx0XHRpZihjYy5zeXMucGxhdGZvcm0gPT0gY2Muc3lzLkFORFJPSUQpe1xyXG5cdFx0XHR0aGlzLkNhbGxUb0phdmEoZnVuTmFtZSwgYXJnTGlzdCwgcmV0dXJuVHlwZSk7XHJcblx0XHR9XHJcblx0XHRlbHNlIGlmKGNjLnN5cy5wbGF0Zm9ybSA9PSBjYy5zeXMuSVBIT05FIHx8IGNjLnN5cy5wbGF0Zm9ybSA9PSBjYy5zeXMuSVBBRCl7XHJcblx0XHRcdHRoaXMuQ2FsbFRvT0MoZnVuTmFtZSwgYXJnTGlzdCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiDosIPnlKhqYXZh5o6l5Y+jXHJcblx0ICogamF2YUZ1bk5hbWUgTXlBUElNYW5hZ2VyLmphdmEg5a+55bqU5Ye95pWw5ZCNXHJcblx0ICogYXJnTGlzdCBhcmdMaXN0IOWHveaVsOaOpeWPl+eahOWPguaVsOWIl+ihqFxyXG5cdCAqIHJldHVyblR5cGUgcmV0dXJuVHlwZSDlh73mlbDov5Tlm57lgLznsbvlnotcclxuXHQgKi9cclxuXHRzdGF0aWMgQ2FsbFRvSmF2YShqYXZhRnVuTmFtZTogc3RyaW5nLCBhcmdMaXN0OiBhbnksIHJldHVyblR5cGU6IHN0cmluZyl7XHJcblx0XHQvL2pzYi5yZWZsZWN0aW9uLmNhbGxTdGF0aWNNZXRob2QoJ29yZy9jb2NvczJkeC9qYXZhc2NyaXB0L1NES01hbmFnZXInLFxyXG5cdFx0Ly8nT25XZUNoYXRTaGFyZScsJyhMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZzspVicsXCLlvZPlvZPnjKtcIixcIuW9k+W9k+eMq+WIhuS6q1wiLFwid3d3LmRkbWg1LmNvbVwiLFwiMFwiKTtcclxuXHJcblx0XHRsZXQgamF2YUZ1bkFyZ0xpc3QgPSBbXTtcclxuXHJcblx0XHRsZXQgamF2YUZ1blNpZ24gPSBcIihcIjtcclxuXHJcblx0XHRsZXQgY291bnQgPSBhcmdMaXN0Lmxlbmd0aDtcclxuXHRcdGZvcihsZXQgaW5kZXg9MDsgaW5kZXg8Y291bnQ7IGluZGV4Kyspe1xyXG5cdFx0XHRsZXQgYXJnSW5mbyA9IGFyZ0xpc3RbaW5kZXhdO1xyXG5cdFx0XHRpZighYXJnSW5mby5oYXNPd25Qcm9wZXJ0eShcIlZhbHVlXCIpKXtcclxuXHRcdFx0XHRjb25zb2xlLmVycm9yKFwiQ2FsbFRvSmF2YSBhcmdJbmZvIGVycm9yXCIsIGFyZ0luZm8pO1xyXG5cdFx0XHRcdHJldHVyblxyXG5cdFx0XHR9XHJcblx0XHRcdGxldCB2YWx1ZSA9IGFyZ0luZm9bXCJWYWx1ZVwiXTtcclxuXHRcdFx0bGV0IGFyZ1R5cGUgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsdWUpLnNsaWNlKFwiW29iamVjdCBcIi5sZW5ndGgsIC0xKTtcclxuXHRcdFx0bGV0IGphdmFUeXBlID0gdGhpcy5KYXZhQXJnVHlwZURpY3RbYXJnVHlwZV07XHJcblx0XHRcdFxyXG5cdFx0XHQvLyBjb25zb2xlLmxvZyhcImphdmFUeXBlID09PSA+XCIsdmFsdWUsamF2YVR5cGUpXHJcblx0XHRcdGlmKCFqYXZhVHlwZSl7XHJcblx0XHRcdFx0Y29uc29sZS5lcnJvcihcIkNhbGxUb0phdmEoJXMsICVqKSBlcnJvclwiLCBqYXZhRnVuTmFtZSwgYXJnTGlzdCk7XHJcblx0XHRcdFx0cmV0dXJuXHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGphdmFGdW5TaWduICs9IGphdmFUeXBlO1xyXG5cdFx0XHQvLyBjb25zb2xlLmxvZyhcImphdmFGdW5TaWduID09ID5cIitqYXZhRnVuU2lnbilcclxuXHRcdFx0amF2YUZ1bkFyZ0xpc3QucHVzaCh2YWx1ZSk7XHJcblx0XHR9XHJcblx0XHRsZXQgcmV0dXJuVmFsdWVUeXBlID0gdGhpcy5KYXZhQXJnVHlwZURpY3RbcmV0dXJuVHlwZV07XHJcblx0XHQvL+WmguaenOaciei/lOWbnuWAvFxyXG5cdFx0aWYocmV0dXJuVmFsdWVUeXBlKXtcclxuXHRcdFx0amF2YUZ1blNpZ24gKz0gXCIpXCIgKyByZXR1cm5WYWx1ZVR5cGU7XHJcblx0XHR9XHJcblx0XHRlbHNle1xyXG5cdFx0XHRqYXZhRnVuU2lnbiArPSBcIilWXCI7XHJcblx0XHR9XHJcblx0XHRqYXZhRnVuQXJnTGlzdC51bnNoaWZ0KHRoaXMuSmF2YUNsYXNzTmFtZSwgamF2YUZ1bk5hbWUsIGphdmFGdW5TaWduKTtcclxuXHJcblx0XHR0cnl7XHJcblx0XHRcdHJldHVybiBqc2IucmVmbGVjdGlvbi5jYWxsU3RhdGljTWV0aG9kLmFwcGx5KHRoaXMsIGphdmFGdW5BcmdMaXN0KTtcclxuXHRcdH1cclxuXHRcdGNhdGNoIChlcnJvcil7XHJcblx0XHRcdGNvbnNvbGUuZXJyb3IoXCJDYWxsVG9KYXZhKCVzLCVzLCVzKSBlcnJvcjolc1wiLCBqYXZhRnVuTmFtZSwgSlNPTi5zdHJpbmdpZnkoYXJnTGlzdCksIHJldHVyblR5cGUsIGVycm9yLnN0YWNrKTtcclxuXHRcdH1cclxuXHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiDosIPnlKhvY+aOpeWPo1xyXG5cdCAqIGphdmFGdW5OYW1lIE15QVBJTWFuYWdlci5qYXZhIOWvueW6lOWHveaVsOWQjVxyXG5cdCAqIGFyZ0xpc3QgYXJnTGlzdCDlh73mlbDmjqXlj5fnmoTlj4LmlbDliJfooahcclxuXHQgKiByZXR1cm5UeXBlIHJldHVyblR5cGUg5Ye95pWw6L+U5Zue5YC857G75Z6LXHJcblx0ICovXHJcblx0c3RhdGljIENhbGxUb09DKG9jRnVuTmFtZSwgYXJnTGlzdCl7XHJcblx0XHQvL2pzYi5yZWZsZWN0aW9uLmNhbGxTdGF0aWNNZXRob2QodGhpcy5PQ0NsYXNzTmFtZSwnJ09uV2VDaGF0U2hhcmVXaXRoVGl0bGU6IERlc2NyaXB0aW9uOiBVUkw6VHlwZTonLCfnuqLkuK3purvlsIYnLCfnuqLkuK3purvlsIbliIbkuqsnLCd3d3cuZGRtaDUuY29tJyxcIjBcIik7XHJcblxyXG5cdFx0bGV0IG9jRnVuQXJnTGlzdCA9IFtdO1xyXG5cdFx0b2NGdW5BcmdMaXN0LnB1c2godGhpcy5PQ0NsYXNzTmFtZSk7XHJcblxyXG5cdFx0bGV0IGZ1blN0cmluZyA9IG9jRnVuTmFtZTtcclxuXHRcdGxldCBjb3VudCA9IGFyZ0xpc3QubGVuZ3RoO1xyXG5cdFx0Zm9yKGxldCBpbmRleD0wOyBpbmRleCA8IGNvdW50OyBpbmRleCsrKXtcclxuXHRcdFx0bGV0IGFyZ0luZm8gPSBhcmdMaXN0W2luZGV4XTtcclxuXHRcdFx0bGV0IG5hbWUgPSBhcmdJbmZvW1wiTmFtZVwiXTtcclxuXHRcdFx0bGV0IHZhbHVlID0gYXJnSW5mb1tcIlZhbHVlXCJdO1xyXG5cclxuXHRcdFx0aWYoIW5hbWUpe1xyXG5cdFx0XHRcdGNvbnNvbGUuZXJyb3IoXCJDYWxsVG9PQyglcykgYXJnSW5mbyBlcnJvclwiLCBvY0Z1bk5hbWUsIGFyZ0luZm8pO1xyXG5cdFx0XHRcdHJldHVyblxyXG5cdFx0XHR9XHJcblx0XHRcdGlmKGluZGV4KXtcclxuXHRcdFx0XHRmdW5TdHJpbmcgKz0gbmFtZSArIFwiOlwiO1xyXG5cdFx0XHR9XHJcblx0XHRcdGVsc2V7XHJcblx0XHRcdFx0ZnVuU3RyaW5nICs9IFwiV2l0aFwiICsgbmFtZSArIFwiOlwiO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRvY0Z1bkFyZ0xpc3QucHVzaCh2YWx1ZSk7XHJcblx0XHR9XHJcblx0XHQvL+aPkuWFpeWHveaVsOetvuWQjVxyXG5cdFx0b2NGdW5BcmdMaXN0LnNwbGljZSgxLCAwLCBmdW5TdHJpbmcpO1xyXG5cclxuXHRcdHRyeXtcclxuXHRcdFx0Y29uc29sZS5sb2coXCJqYXZhRnVuQXJnTGlzdCBDYWxsVG9PQyglcylcIiwgSlNPTi5zdHJpbmdpZnkob2NGdW5BcmdMaXN0KSk7XHJcblx0XHRcdHJldHVybiBqc2IucmVmbGVjdGlvbi5jYWxsU3RhdGljTWV0aG9kLmFwcGx5KHRoaXMsIG9jRnVuQXJnTGlzdCk7XHJcblx0XHR9XHJcblx0XHRjYXRjaCAoZXJyb3Ipe1xyXG5cdFx0XHRjb25zb2xlLmVycm9yKFwiQ2FsbFRvT0MoJXMsJXMpIGVycm9yOiVzXCIsIG9jRnVuTmFtZSwgSlNPTi5zdHJpbmdpZnkoYXJnTGlzdCksIGVycm9yLnN0YWNrKTtcclxuXHRcdH1cclxuXHJcblx0fVxyXG59XHJcbiJdfQ==