Flutter二维码生成插件promptpay_qrcode_generate的使用

发布于 1周前 作者 yuanlaile 来自 Flutter

Flutter二维码生成插件 promptpay_qrcode_generate 的使用

promptpay_qrcode_generate 是一个用于生成泰国PromptPay二维码的Flutter插件。该插件内部集成了 qr_flutter: ^4.0.0,支持从PromptPay ID生成二维码,并且只支持泰铢(Thai Baht)作为货币单位。

特性

  • 从PromptPay ID生成二维码

使用方法

添加依赖

首先,在你的 pubspec.yaml 文件中添加以下依赖:

dependencies:
  flutter:
    sdk: flutter
  promptpay_qrcode_generate: ^latest_version

记得将 ^latest_version 替换为最新的版本号。

示例代码

下面是一个完整的示例代码,展示了如何在Flutter应用中使用 promptpay_qrcode_generate 插件来生成二维码。

import 'package:flutter/material.dart';
import 'package:promptpay_qrcode_generate/promptpay_qrcode_generate.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'PromptPayQRCodeGenerate Demo',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'PromptPayQRCodeGenerate Demo'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});

  final String title;

  [@override](/user/override)
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Colors.grey.shade200,
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: const Center(
        child: QRCodeGenerate(
          promptPayId: "YourPromptPay",  // 替换为你的PromptPay ID
          amount: 1234.56,               // 金额,单位为泰铢
          width: 400,
          height: 400,
        ),
      ),
    );
  }
}

更多关于Flutter二维码生成插件promptpay_qrcode_generate的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter二维码生成插件promptpay_qrcode_generate的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是如何在Flutter项目中使用promptpay_qrcode_generate插件来生成PromptPay二维码的示例代码。

首先,确保你已经在pubspec.yaml文件中添加了promptpay_qrcode_generate依赖:

dependencies:
  flutter:
    sdk: flutter
  promptpay_qrcode_generate: ^最新版本号  # 请替换为实际可用的最新版本号

然后,运行flutter pub get来安装依赖。

接下来,在你的Flutter项目中,你可以按照以下步骤使用promptpay_qrcode_generate插件来生成PromptPay二维码。

  1. 导入插件

在你的Dart文件中导入插件:

import 'package:promptpay_qrcode_generate/promptpay_qrcode_generate.dart';
  1. 生成二维码

使用插件提供的函数生成二维码数据,并将其显示在页面上。下面是一个完整的示例:

import 'package:flutter/material.dart';
import 'package:promptpay_qrcode_generate/promptpay_qrcode_generate.dart';
import 'package:qr_flutter/qr_flutter.dart';  // 用于显示二维码的库

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'PromptPay QR Code Generator',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: QRCodeGeneratorScreen(),
    );
  }
}

class QRCodeGeneratorScreen extends StatefulWidget {
  @override
  _QRCodeGeneratorScreenState createState() => _QRCodeGeneratorScreenState();
}

class _QRCodeGeneratorScreenState extends State<QRCodeGeneratorScreen> {
  String? qrCodeData;

  @override
  void initState() {
    super.initState();
    _generatePromptPayQRCode();
  }

  Future<void> _generatePromptPayQRCode() async {
    // PromptPay QR Code的参数
    final PromptPayParameters promptPayParams = PromptPayParameters(
      merchantName: 'Merchant Name',
      merchantId: '123456789012',
      countryCode: 'TH',
      currencyCode: 'THB',
      transactionAmount: '100.00',
      note: 'Test transaction',
    );

    try {
      // 生成QRCode数据
      final String qrCodeString = await PromptPayQRCodeGenerator.generateQRCode(promptPayParams);
      setState(() {
        qrCodeData = qrCodeString;
      });
    } catch (e) {
      print('Error generating QR Code: $e');
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('PromptPay QR Code Generator'),
      ),
      body: Center(
        child: qrCodeData == null
            ? CircularProgressIndicator()
            : QrImage(
                data: qrCodeData!,
                version: QrVersions.auto,
                size: 200.0,
              ),
      ),
    );
  }
}

说明:

  1. 依赖库:除了promptpay_qrcode_generate,还需要qr_flutter库来显示生成的二维码。
  2. PromptPayParameters:设置PromptPay二维码所需的参数,包括商家名称、商家ID、国家代码、货币代码、交易金额和备注。
  3. 生成二维码:在_generatePromptPayQRCode方法中,使用PromptPayQRCodeGenerator.generateQRCode函数生成二维码字符串。
  4. 显示二维码:使用QrImage组件显示生成的二维码。

确保你根据实际需求调整PromptPay参数的值。这个示例代码提供了一个基本框架,你可以根据需要进行扩展和修改。

回到顶部