我有一个 flutter 食品配送应用程序。除此之外,我还有一个单独的餐厅应用程序,我可以在其中接受和拒绝订单。我很长一段时间以来一直在尝试做一些事情,以便当餐厅接受订单时,蓝牙热敏打印机会自动打印出一张收据。我找到了很多代码,但我不明白如何在现有项目中输入这些代码。
例如。在 lib/view/screens 中,我有命令页面屏幕,如下所示:
if(orderModel.orderStatus == 'pending' && (orderModel.orderType == 'take_away'
|| Get.find<SplashController>().configModel.orderConfirmationModel != 'deliveryman')) {
Get.dialog(ConfirmationDialog(
icon: Images.warning, title: 'are_you_sure_to_confirm'.tr, description: 'you_want_to_confirm_this_order'.tr,
onYesPressed: () {
orderController.updateOrderStatus(orderModel.id, 'confirmed', back: true).then((success) {
if(success) {
Get.find<AuthController>().getProfile();
Get.find<OrderController>().getCurrentOrders();
}
});
},
我想在这里,当用户按下确认按钮时,输入一个代码,该代码将通过蓝牙将自动收据发送到热敏打印机。 ((onYesPressed))
我看了很多github,但我不明白在哪里添加该代码。因为那是一个新项目,但我想将这些代码添加到我当前的应用程序中。有人可以详细向我解释我应该如何进行吗?
非常感谢,
- 首先,您需要将蓝牙热敏打印机的插件添加到现有的 Flutter 项目中。您可以通过将以下依赖项添加到 pubspec.yaml 文件中来完成此操作。
dependencies:
flutter_bluetooth_thermal_printer: ^1.0.0
- 在您的项目中导入插件:
import 'package:[PACKAGE_NAME].dart';
-
创建一个单独的窗口来搜索可用的打印机,之后,您可以使用该插件连接到蓝牙热敏打印机并从中进行打印。例如,您可以使用以下步骤连接打印机并打印简单的文本:
-
首先检查蓝牙是否正常On
or Off
。您可以使用检查蓝牙设备系统快捷方式包裹。
// it return true if already bluetooth is turned on
var isOn = SystemShortcuts.checkBluetooth;
if (!isOn){
// it turn-on the bluetooth
await SystemShortcuts.bluetooth();
}
- 扫描设备并连接到打印机:
eg.
// Connect to the printer
FlutterBluetoothThermalPrinter.connect('MY_PRINTER_ID').then((printer) {
// Print text
printer.printString('Hello World!');
});
- 现在使用 print 方法在任何屏幕上打印数据。
请注意,这只是将蓝牙热敏打印机集成到 Flutter 项目中的流程的概述。您需要查阅 Flutter 蓝牙包的文档以及打印机的特定文档才能完成集成。
从中查找兼容的 SDKhere
以下是我之前使用过的一些 flutter SDK 的列表:
-
蓝牙热敏打印机(仅适用于安卓)
-
蓝图位置(适用于 Android 和 iOS)
这是更新后的分叉blue_print_pos SDK我在 2022 年 12 月使用过。您也可以使用它,不会遇到任何问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)