Flutter私活开发中的10个高频实用代码片段

以下精选Flutter私活开发中的10个高频实用代码片段,附带详细注释和优化技巧,助您快速提升开发效率:


1. 支付模块集成(支付宝+微信)

// 支付服务封装 - lib/services/payment_service.dart
import 'package:alipay_kit/alipay_kit.dart';
import 'package:fluwx/fluwx.dart' as fluwx;

class PaymentService {
  // 支付宝支付
  static Future alipay(String orderId, double amount) async {
    final result = await AlipayKit.pay(
      orderInfo: _generateAlipayInfo(orderId, amount),
      scheme: 'your.app.scheme' // iOS必须配置
    );
    return result['resultStatus'] == '9000';
  }

  // 微信支付
  static Future wechatPay(WechatPayParams params) async {
    final result = await fluwx.pay(
      appId: 'wx_your_appid',
      partnerId: params.partnerId,
      prepayId: params.prepayId,
      packageValue: params.packageValue,
      nonceStr: params.nonceStr,
      timeStamp: params.timeStamp,
      sign: params.sign
    );
    return result == fluwx.WeChatPaymentResult.success;
  }
  
  // 支付结果监听(全局事件)
  static void initPaymentListener() {
    AlipayKit.onPayResult.listen((result) {
      _handleResult(result);
    });
    
    fluwx.weChatResponseEventHandler.listen((res) {
      if (res is fluwx.WeChatPaymentResponse) {
        _handleWechatPayResult(res);
      }
    });
  }
}

2. 高性能图片加载(缓存+裁剪)

// 图片加载优化 - lib/widgets/smart_image.dart
import 'package:cached_network_image/cached_network_image.dart';

class SmartImage extends StatelessWidget {
  final String url;
  final BoxFit fit;
  
  const SmartImage({super.key, required this.url, this.fit = BoxFit.cover});
  
  @override
  Widget build(BuildContext context) {
    return CachedNetworkImage(
      imageUrl: url,
      fit: fit,
      progressIndicatorBuilder: (_, __, progress) => 
        CircularProgressIndicator(value: progress.progress),
      errorWidget: (_, __, ___) => const Icon(Icons.error),
      ima

你可能感兴趣的:(Flutter私活开发中的10个高频实用代码片段)