依赖
# 二维码扫描
mobile_scanner: ^6.0.2
# 相册
image_picker: ^1.1.2
在需要扫码的页面调用
// 去扫码
void onScan() async {
final result = await Get.toNamed('/scan_page');
if (result != null) {
// 处理扫码返回的结果
print('扫码结果: $result');
Loading.toast('扫码结果: $result');
// 这里添加你的业务逻辑
}
}
ScanPage:view
import 'package:ducafe_ui_core/ducafe_ui_core.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:mobile_scanner/mobile_scanner.dart';
import 'package:tdesign_flutter/tdesign_flutter.dart';
import 'index.dart';
class ScanPage extends GetView<ScanController> {
const ScanPage({
super.key});
// 主视图
Widget _buildView() {
return <Widget>[
MobileScanner(
controller: controller.controller,
overlayBuilder: (context, constraints) {
return Container(
decoration: BoxDecoration(
color: Colors.black.withOpacity(0.5),
),
child: Center(
child: Container(
width: 250,