我有一个 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,但我不明白在哪里添加该代码。因为那是一个新项目,但我想将这些代码添加到我当前的应用程序中。有人可以详细向我解释一下我应该如何进行吗?
非常感谢,
dependencies:
flutter_bluetooth_thermal_printer: ^1.0.0
import 'package:[PACKAGE_NAME].dart';
创建一个单独的窗口来搜索可用的打印机,之后,您可以使用该插件连接到蓝牙热敏打印机并进行打印。例如,您可以使用以下步骤连接打印机并打印简单的文本:
首先检查蓝牙是
On
还是Off
。您可以使用 system_shortcuts 包检查蓝牙设备。
// it return true if already bluetooth is turned on var isOn = SystemShortcuts.checkBluetooth; if (!isOn){ // it turn-on the bluetooth await SystemShortcuts.bluetooth(); }
例如。
// Connect to the printer FlutterBluetoothThermalPrinter.connect('MY_PRINTER_ID').then((printer) { // Print text printer.printString('Hello World!'); });
请注意,这只是将蓝牙热敏打印机集成到 Flutter 项目中的流程的概述。您需要查阅 Flutter 蓝牙包的文档以及打印机的特定文档才能完成集成。
从这里
找到兼容的SDK
这是我之前使用过的一些 flutter SDK 的列表:
您可以尝试使用这个包。它使得连接蓝牙热敏打印机变得非常简单。
x_printer(适用于 Android 和 iOS)