diff --git a/src/android/cordova/plugin/jcprinter/JcPrinter.java b/src/android/cordova/plugin/jcprinter/JcPrinter.java
index 3b24bfd..27a9a9f 100644
--- a/src/android/cordova/plugin/jcprinter/JcPrinter.java
+++ b/src/android/cordova/plugin/jcprinter/JcPrinter.java
@@ -94,6 +94,9 @@ public class JcPrinter extends CordovaPlugin {
             case "connectPrinter":
                 this.connectPrinter(args, callbackContext);
                 return true;
+            case "isConnection":
+                this.isConnection(callbackContext);
+                return true;
           case "action":
               String methodName = args.optString(0);
               JSONArray methodJsonArgs = args.getJSONArray(1);
@@ -148,14 +151,13 @@ public class JcPrinter extends CordovaPlugin {
         int pageCount = data.length();
         quantity = 1;
         int totalQuantity = pageCount * quantity;
-        
-        //总打印份数
+        //总打印份数,表示所有页面的打印份数之和。例如,如果你有3页需要打印,第一页打印3份,第二页打印2份,第三页打印5份,那么count的值应为10(3+2+5)。
         Util.getInstance().setTotalQuantityOfPrints(totalQuantity);
         printDensity = 8;
         printMode = 2;
         Log.d(TAG, "测试:参数设置-打印浓度: " + printDensity + ",打印模式:" + printMode);
         /*
-         * 参数1 打印浓度 参数2 纸张类型 参数3 打印模式
+         * 参数1:打印浓度 ,参数2:纸张类型 参数3:打印模式
          * 打印浓度 B50/B50W/T6/T7/T8 建议设置6或8,Z401/B32建议设置8,B3S/B21/B203/B1建议设置3
          */
         Util.getInstance().startPrintJob(printDensity, 2, printMode, new PrintCallback() {
@@ -316,6 +318,29 @@ public class JcPrinter extends CordovaPlugin {
 
     }
 
+    private void isConnection(CallbackContext callbackContext) throws JSONException {
+        int connectFlag = Util.isConnection();
+        cordova.getActivity().runOnUiThread(() -> {
+            String hint = "";
+            switch (connectFlag) {
+                case 0:
+                    hint = "已连接";
+                    callbackContext.success(hint);
+                    break;
+                case -1:
+                    hint = "未连接";
+                    callbackContext.error(hint);
+                    break;
+                case -3:
+                    hint = "不支持的机型";
+                    callbackContext.error(hint);
+                    break;
+                default:
+                    break;
+            }
+        });
+    }
+
     private void connectPrinter(JSONArray args, CallbackContext callbackContext) throws JSONException {
         JSONObject obj = args.getJSONObject(0);
         String address = obj.getString("address");
diff --git a/www/jcPrinter.js b/www/jcPrinter.js
index 0050271..725cdec 100644
--- a/www/jcPrinter.js
+++ b/www/jcPrinter.js
@@ -38,8 +38,12 @@ exports.connectPrinter = function (arg0, success, error) {
     exec(success, error, 'JcPrinter', 'connectPrinter', [arg0]);
 }
 
+exports.connectPrinter = function (success, error) {
+    exec(success, error, 'JcPrinter', 'connectPrinter');
+}
 
-exports.Instance = function(){
+
+exports.Instance = {
     /**
      * 初始化画板
      * 该方法用于初始化绘图板,以便进行绘制操作。
@@ -49,9 +53,9 @@ exports.Instance = function(){
      * @param rotate 旋转角度,可选值:0、90、180、270,表示绘图板的旋转角度
      * @param fontDir 字体文件路径,用于绘制文本时指定字体,暂不支持自定义,默认“”即可
      */
-    async function drawEmptyLabel(width, height, rotate) {
+    drawEmptyLabel: async function (width, height, rotate, fontDir) {
         return new Promise((resolve, reject) => exec(resolve,reject,"JcPrinter","action",["drawEmptyLabel",[width, height, rotate,fontDir||""]]));
-    }
+    },
     /**
      * 绘制文本
      * 该方法用于在绘图板上绘制文本,包括位置、内容、字体样式等信息。
@@ -71,9 +75,9 @@ exports.Instance = function(){
      * @param lineSpace 行间距(倍距),单位:毫米
      * @param mFontStyles 字体样式,数组长度为4,依次表示:加粗,斜体,下划线,删除下划线(暂不生效)
      */
-    async function drawLabelText(x, y, width, height, value,fontFamily, fontSize, rotate, textAlignHorizontal, textAlignVertical, lineModel, letterSpace, lineSpace, mFontStyles){
+    drawLabelText: async function (x, y, width, height, value,fontFamily, fontSize, rotate, textAlignHorizontal, textAlignVertical, lineModel, letterSpace, lineSpace, mFontStyles){
         return new Promise((resolve, reject) => exec(resolve,reject,"JcPrinter","action",["drawLabelText",[x, y, width, height, value, fontFamily||"", fontSize, rotate, textAlignHorizontal, textAlignVertical, lineModel, letterSpace, lineSpace, mFontStyles]]));
-    }
+    },
 
     /**
      * 绘制一维码
@@ -90,9 +94,9 @@ exports.Instance = function(){
      * @param textHeight 文本高度,单位:毫米
      * @param textPosition 文本位置,可选值:0-下方显示,1-上方显示,2-不显示
      */
-    async function drawLabelBarCode(x, y, width, height, codeType, value, fontSize, rotate, textHeight, textPosition){
+    drawLabelBarCode: async function (x, y, width, height, codeType, value, fontSize, rotate, textHeight, textPosition){
         return new Promise((resolve, reject) => exec(resolve,reject,"JcPrinter","action",["drawLabelBarCode",[x, y, width, height, codeType, value, fontSize, rotate, textHeight, textPosition]]));
-    }
+    },
 
     /**
      * 绘制二维码
@@ -106,9 +110,9 @@ exports.Instance = function(){
      * @param codeType 二维码类型,可选值:31-QR_CODE,32-PDF417,33-DATA_MATRIX,34-AZTEC
      * @param rotate   旋转角度,可选值:0、90、180、270
      */
-    async function drawLabelQrCode(x, y, width, height, value, codeType, rotate){
+    drawLabelQrCode: async function (x, y, width, height, value, codeType, rotate){
         return new Promise((resolve, reject) => exec(resolve,reject,"JcPrinter","action",["drawLabelQrCode",[x, y, width, height, value, codeType, rotate]]));
-    }
+    },
 
     /**
      * 绘制图形
@@ -125,9 +129,9 @@ exports.Instance = function(){
      * @param lineType     图形类型,可选值:1-圆,2-椭圆,3-矩形,4-圆角矩形
      * @param dashWidth    虚线样式,数组中包含实线段长度和空线段长度
      */
-    async function drawLabelGraph(x, y, width, height, graphType, rotate, cornerRadius, lineWidth, lineType, dashWidth){
+    drawLabelGraph: async function (x, y, width, height, graphType, rotate, cornerRadius, lineWidth, lineType, dashWidth){
         return new Promise((resolve, reject) => exec(resolve,reject,"JcPrinter","action",["drawLabelGraph",[x, y, width, height, graphType, rotate, cornerRadius, lineWidth, lineType, dashWidth]]));
-    }
+    },
 
     /**
      * 绘制图像
@@ -142,9 +146,9 @@ exports.Instance = function(){
      * @param imageProcessingType  处理算法,默认1即可
      * @param imageProcessingValue 阈值 阈值,默认127即可
     */
-    async function drawLabelImage(imageData, x, y, width, height, rotate, imageProcessingType, imageProcessingValue){
+    drawLabelImage: async function (imageData, x, y, width, height, rotate, imageProcessingType, imageProcessingValue){
         return new Promise((resolve, reject) => exec(resolve,reject,"JcPrinter","action",["drawLabelImage",[imageData, x, y, width, height, rotate, imageProcessingType, imageProcessingValue]]));
-    }
+    },
 
     /**
      * 绘制线条
@@ -158,12 +162,13 @@ exports.Instance = function(){
      * @param lineType 线条类型,1:实线,2:虚线类型(虚实比例1:1)
      * @param dashWidth 线条为虚线时的宽度,包含实线段长度和空线段长度,单位:毫米
      */
-    async function drawLabelLine(x, y, width, height, rotate, lineType, dashWidth){
+    drawLabelLine: async function (x, y, width, height, rotate, lineType, dashWidth){
         return new Promise((resolve, reject) => exec(resolve,reject,"JcPrinter","action",["drawLabelLine",[x, y, width, height, rotate, lineType, dashWidth]]));
-    }
+    },
 
 
-    async function generateLabelJson(){
+    generateLabelJson: async function (){
         return new Promise((resolve, reject) => exec(resolve,reject,"JcPrinter","generateLabelJson"));
     }
-}();
\ No newline at end of file
+
+};
\ No newline at end of file