![require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages](https://cdn.sanity.io/images/cgdhsj6q/production/be8ab80c8efa5907bc341c6fefe9aa20d239d890-1600x1097.png?w=400&fit=max&auto=format)
Security News
require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
react-native-sunmi-inner-printer
Advanced tools
http://docs.sunmi.com/htmls/index.html?lang=zh##V1文档资源 根据商米V1文档开发的蓝牙打印for React Native.
http://docs.sunmi.com/htmls/index.html?lang=zh##V1文档资源 根据商米V1文档开发打印接口 (React native plugin Referring the sunmi V1 printer document and demos)
Caution: this is not the official project. I share it because I am working on this device but no any official support in react-native It's welcome to ask any question about the usage,problems or feature required, I will support ASAP.
Offical Demos plz refer: https://github.com/shangmisunmi/SunmiPrinterDemo
for scanner, refer this: https://github.com/januslo/react-native-sunmi-inner-scanner
Step 1.
install with npm: Check in NPM
npm install react-native-sunmi-inner-printer --save
or you may need to install via the clone address directly:
npm install https://github.com/januslo/react-native-sunmi-inner-printer.git --save
Step 2:
Links this plugin to your project.
react-native link react-native-sunmi-inner-printer
or you may need to link manually
include ':react-native-sunmi-inner-printer'
project(':react-native-sunmi-inner-printer').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-sunmi-inner-printer/android')
compile project(':react-native-sunmi-inner-printer')
import com.sunmi.innerprinter.SunmiInnerPrinterPackage;
...
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new SunmiInnerPrinterPackage()
);
}
Step 3:
refer in the javascript:
import SunmiInnerPrinter from 'react-native-sunmi-inner-printer';
See examples folder of the source code that you can find a simple example of printing receipt. // TODO
Name | Description |
---|---|
Constants | 打印状态常量 |
hasPrinter | boolean,是否有打印机 |
printerVersion | 打印机固件版本 |
printerSerialNo | 打印机序列号 |
printerModal | 打印机型号 |
Name | Description |
---|---|
OUT_OF_PAPER_ACTION | 缺纸异常 |
ERROR_ACTION | 打印错误 |
NORMAL_ACTION | 可以打印 |
COVER_OPEN_ACTION | 开盖子 |
COVER_ERROR_ACTION | 关盖子异常 |
KNIFE_ERROR_1_ACTION | 切刀异常1-卡切刀 |
KNIFE_ERROR_2_ACTION | 切刀异常2-切刀修复 |
OVER_HEATING_ACITON | 打印头过热异常 |
FIRMWARE_UPDATING_ACITON | 打印机固件开始升级 |
import React, { Component } from 'react';
import { View, Text, DeviceEventEmitter } from 'react-native';
import SunmiInnerPrinter from 'react-native-sunmi-inner-printer';
class PrinterComponent extends Component {
componentWillMount() {
this._printerStatusListener = DeviceEventEmitter.addListener('PrinterStatus', action => {
switch(action) {
case SunmiInnerPrinter.Constants.NORMAL_ACTION: // 可以打印
// your code
break;
case SunmiInnerPrinter.Constants.OUT_OF_PAPER_ACTION: // 缺纸异常
// your code
break;
case SunmiInnerPrinter.Constants.COVER_OPEN_ACTION: // 开盖子
// your code
break;
default:
// your code
}
});
}
componentWillUnmount() {
this._printerStatusListener.remove();
}
render() {
return (
<View>
<Text>Hello World!</Text>
</View>
)
}
}
FAQs
http://docs.sunmi.com/htmls/index.html?lang=zh##V1文档资源 根据商米V1文档开发的蓝牙打印for React Native.
We found that react-native-sunmi-inner-printer demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.