qr_scan.dart 951 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import 'package:mobile_scanner/mobile_scanner.dart';
  2. import 'package:flutter/material.dart';
  3. import 'package:get/get.dart';
  4. class QRScan extends StatelessWidget{
  5. const QRScan({super.key});
  6. static Future<String?> scan()async{
  7. final r = await Get.to(()=> const QRScan());
  8. if(r is String){
  9. return r;
  10. }
  11. return null;
  12. }
  13. @override
  14. Widget build(BuildContext context) {
  15. return Scaffold(
  16. appBar: AppBar(title: const Text('扫描二维码')),
  17. body: MobileScanner(
  18. // fit: BoxFit.contain,
  19. onDetect: (capture) {
  20. final List<Barcode> barcodes = capture.barcodes;
  21. final image = capture.image;
  22. for (final barcode in barcodes) {
  23. debugPrint('Barcode found! ${barcode.rawValue}');
  24. if(Get.currentRoute=='/QRScan'){
  25. Get.back(result: barcode.rawValue);
  26. }
  27. return;
  28. }
  29. },
  30. ),
  31. );
  32. }
  33. }