UsbPrinterClient.kt 1.29 KB
package com.diligrp.printer

import android.util.Log
import com.alibaba.fastjson.JSONObject

import io.dcloud.feature.uniapp.annotation.UniJSMethod
import io.dcloud.feature.uniapp.bridge.UniJSCallback
import io.dcloud.feature.uniapp.common.UniModule

class UsbPrinterClient : UniModule() {
    private var mPrinter: UsbPrinterUtils? = UsbPrinterUtils()

    @UniJSMethod(uiThread = true)
    fun initDevice() {
        mPrinter?.initDevice(mUniSDKInstance.context)
    }
    
    @UniJSMethod(uiThread = true)
    fun prepare() {
        mPrinter?.prepare()
    }

    @UniJSMethod(uiThread = true)
    fun printTextLeft(str: String?) {
        mPrinter?.printTextLeft(str)
    }

    @UniJSMethod(uiThread = true)
    fun printTextCenter(str: String?) {
        Log.d("Test", "printTextCenter $mPrinter ---------------> $str")
        mPrinter?.printTextCenter(str)
    }

    @UniJSMethod(uiThread = true)
    fun printTextRight(str: String?) {
        mPrinter?.printTextRight(str)
    }

    @UniJSMethod(uiThread = true)
    fun printEmptyLine(count: Int) {
        mPrinter?.printEmptyLine(count)
    }

    @UniJSMethod(uiThread = true)
    fun printGapLine() {
        mPrinter?.printGapLine()
    }

    @UniJSMethod(uiThread = true)
    fun onRelease() {
        mPrinter?.onRelease()
        mPrinter = null
    }
}