段逸尘
段逸尘
  • 发布:2021-06-09 17:18
  • 更新:2021-06-09 17:18
  • 阅读:390

【真BUG】官方文档小技巧

分类:5+ SDK

今天开始学习插件开发,应该是官方怕我们学会,搞的莫名奇妙,这个官方的demo

! function(root, factory) {    
    if (typeof exports == 'object' && typeof module != 'undefined') {    
        module.exports = factory()    
    } else if (typeof define == 'function' && define.amd) {    
        define(factory)    
    } else {    
        /**    
         * 插件对象直接扩展到 window 对象上    
         * 这个对象的名字,需要自己填写一下。例如:plugintest    
         */    
        var moduleName = 'plugintest';    
        root[moduleName] = factory()    
    }    
}(this, function() {    
    var _BARCODE = 'plugintest';    
    var plugintest = {    
        PluginTestFunction: function(Argus1, Argus2, Argus3, Argus4, successCallback, errorCallback) {    
            var success = typeof successCallback !== 'function' ? null : function(args) {    
                    successCallback(args);    
                },    
                fail = typeof errorCallback !== 'function' ? null : function(code) {    
                    errorCallback(code);    
                };    
            callbackID = plus.bridge.callbackId(success, fail);    

            return plus.bridge.exec(_BARCODE, "PluginTestFunction", [callbackID, Argus1, Argus2, Argus3, Argus4]);    
        },    
        PluginTestFunctionArrayArgu: function(Argus, successCallback, errorCallback) {    
            var success = typeof successCallback !== 'function' ? null : function(args) {    
                    successCallback(args);    
                },    
                fail = typeof errorCallback !== 'function' ? null : function(code) {    
                    errorCallback(code);    
                };    
            callbackID = plus.bridge.callbackId(success, fail);    
            return plus.bridge.exec(_BARCODE, "PluginTestFunctionArrayArgu", [callbackID, Argus]);    
        },    
        PluginTestFunctionSync: function(Argus1, Argus2, Argus3, Argus4) {    
            return plus.bridge.execSync(_BARCODE, "PluginTestFunctionSync", [Argus1, Argus2, Argus3, Argus4]);    
        },    
        PluginTestFunctionSyncArrayArgu: function(Argus) {    
            return plus.bridge.execSync(_BARCODE, "PluginTestFunctionSyncArrayArgu", [Argus]);    
        }    
    };    
    return plugintest;    
});

我粘贴复制都跑不起来,研究半天,后面自己写,其实就用了plus.bridge.exec(_BARCODE, "PluginTestFunctionArrayArgu", [callbackID, Argus]); 这一句就可以了,简直扯淡!

0 关注 分享

要回复文章请先登录注册