ionic3 -自定义插件

作者:猿奇
链接:www.jianshu.com/p/9d8c7b7558d8
來源:
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

如有疑问,可评论联系作者,热心解答,从不怼人。。。

1 安装 plugman 插件

npm --registry https://registry.npm.taobao.org install -g plugman

2 新建组件

新建一个插件文件夹,进入插件文件夹。例如新建Plugins文件夹,然后执行下面语句

plugman create --name cordova-plugin-zxing-scan --plugin_id cordova-plugin-zxing-scan  --plugin_version 3.28.19 --path D:\remoteRes\project\plugins
说明:
--name cordova-plugin-zxing-scan//自定义插件名称
--plugin_id cordova-plugin-zxing-scan //自定义插件的包名
--plugin_version 3.28.19//自定义插件版本

执行上述命令后会在Plugins文件夹下生成一个cordova-plugin-zxing-scan文件夹,并且cordova-plugin-zxing-scan文件夹内包含如下内容:

cordova-plugin-zxing-scan|——src |——www |——plugin.xml

3 生成平台(android/ios)插件代码
进入插件的根目录,然后执行创建android或者ios的平台支持命令
cd cordova-plugin-zxing-scan

plugman platform add --platform_name android
npm init
// npm init 给plugin加package.json

命令执行后在cordova-plugin-zxing-scan/src目录下出现了android目录,并且多了一个cordova-plugin-zxing-scan.java文件,打开cordova-plugin-zxing-scan.java文件,更改java文件名为zxingScan.java

package com.cordova.zxing.scan;

import org.apache.cordova.CordovaPlugin;
import org.apache.cordova.CallbackContext;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

/**
 * This class echoes a string called from JavaScript.
 */
public class zxingScan extends CordovaPlugin {

    @Override
    public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
        if (action.equals("coolMethod")) {
            String message = args.getString(0);
            this.coolMethod(message, callbackContext);
            return true;
        }
        return false;
    }

    private void coolMethod(String message, CallbackContext callbackContext) {
        if (message != null && message.length() > 0) {
            callbackContext.success(message);
        } else {
            callbackContext.error("Expected one non-empty string argument.");
        }
    }
}

plugin.xml 修改为如下:



  cordova-plugin-zxing-scan
  
    
  
  
    
  
  
    
      
        
      
    
    
      
      
    
    
    
    
   
    
    
  


4 添加到项目
cd 到项目目录

ionic cordova plugin add file:./plugins/cordova-plugin-zxing-scan
npm install --save file:.\plugins\cordova-plugin-zxing-scan

添加成功之后,执行

ionic cordova platform remove android 
ionic cordova platform add [email protected]
ionic cordova run android --prod --aot

你可能感兴趣的:(ionic3 -自定义插件)