Flutter年龄校验插件agecheck的使用

Flutter 年龄校验插件 agecheck 的使用

年龄校验 (Age Check)

一个简单的方法来验证用户并遵守全球法规。

构建 (Building)

  1. 安装 Dart
  2. 安装依赖 (dart pub get)

对于与 Node 的使用,我们使用 dart2js (dart2js -O2 -o package/agecheck.js lib/agecheck-js.dart),然后在您的 Node 项目中使用 dist/agecheck.js 文件。您也可以在 NPM 上使用 agecheck 包。

使用 (Usage)

Dart

对于 Dart/Flutter 文档,请参见 这里

Node

只有一个函数: agecheck(age, country)age 变量必须是一个整数 (int),而 country 变量必须是一个字符串。该字符串必须包含两个字母的 ISO 国家代码以正确验证。不是两个字符的字符串将抛出错误。

致谢 (Acknowledgements)

本项目采用 MIT 许可证。您可以在此存储库的根目录中的 LICENSE 文件中查看其副本。

特别感谢:

  • Dart 和 Flutter 团队提供了优秀的文档;
  • 所有帮助支持此工具的依赖项。

本项目旨在为内部项目如 Mello 和个人项目如 Jack’s BlueJay 提供快速复用。


示例代码 (Example Code)

以下是使用 agecheck 插件的基本示例代码。

// 导入 agecheck 插件
import '../lib/agecheck.dart';

void main() {
  // 在法国,年龄必须大于等于 18 岁
  if (agecheck(18, 'fr')) {
    print('欢迎,法国能够同意的人');
  } else {
    print('您需要年满 18 岁才能在法国使用此功能。');
  }

  // 在加拿大,年龄必须大于等于 16 岁
  if (agecheck(16, 'ca')) {
    print('欢迎,加拿大能够同意的人');
  } else {
    print('您需要年满 16 岁才能在加拿大使用此功能。');
  }

  // 在澳大利亚,年龄必须大于等于 18 岁
  if (agecheck(18, 'au')) {
    print('欢迎,澳大利亚能够同意的人');
  } else {
    print('您需要年满 18 岁才能在澳大利亚使用此功能。');
  }
}

代码解释 (Code Explanation)

  1. 导入 agecheck 插件:

    import '../lib/agecheck.dart';
    

    这行代码导入了 agecheck 插件,以便在应用程序中使用它。

  2. 主函数 (main):

    void main() {
      // 法国年龄校验
      if (agecheck(18, 'fr')) {
        print('欢迎,法国能够同意的人');
      } else {
        print('您需要年满 18 岁才能在法国使用此功能。');
      }
    
      // 加拿大年龄校验
      if (agecheck(16, 'ca')) {
        print('欢迎,加拿大能够同意的人');
      } else {
        print('您需要年满 16 岁才能在加拿大使用此功能。');
      }
    
      // 澳大利亚年龄校验
      if (agecheck(18, 'au')) {
        print('欢迎,澳大利亚能够同意的人');
      } else {
        print('您需要年满 18 岁才能在澳大利亚使用此功能。');
      }
    }
    

更多关于Flutter年龄校验插件agecheck的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter年龄校验插件agecheck的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在Flutter中,agecheck 是一个用于年龄验证的插件。它可以帮助你验证用户是否达到某个特定的年龄。这个插件通常用于需要年龄限制的应用场景,比如限制未成年人访问某些内容或功能。

以下是使用 agecheck 插件的基本步骤:

1. 添加依赖

首先,在 pubspec.yaml 文件中添加 agecheck 插件的依赖:

dependencies:
  flutter:
    sdk: flutter
  agecheck: ^1.0.0  # 请使用最新的版本号

然后运行 flutter pub get 来获取依赖。

2. 导入插件

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

import 'package:agecheck/agecheck.dart';

3. 使用 agecheck 进行年龄验证

你可以使用 agecheck 插件来验证用户的年龄。以下是一个简单的示例:

void checkAge() async {
  // 假设用户的出生日期是 2000-01-01
  DateTime userBirthDate = DateTime(2000, 1, 1);
  
  // 设置最小年龄为 18 岁
  int minAge = 18;
  
  // 使用 agecheck 进行年龄验证
  bool isAdult = await AgeCheck.isAdult(userBirthDate, minAge);
  
  if (isAdult) {
    print("用户已成年");
  } else {
    print("用户未成年");
  }
}

4. 处理用户输入

在实际应用中,你可能需要从用户输入中获取出生日期。你可以使用 showDatePicker 来让用户选择他们的出生日期:

Future<void> pickBirthDate() async {
  DateTime? pickedDate = await showDatePicker(
    context: context,
    initialDate: DateTime.now(),
    firstDate: DateTime(1900),
    lastDate: DateTime.now(),
  );
  
  if (pickedDate != null) {
    int minAge = 18;
    bool isAdult = await AgeCheck.isAdult(pickedDate, minAge);
    
    if (isAdult) {
      print("用户已成年");
    } else {
      print("用户未成年");
    }
  }
}

5. 完整示例

以下是一个完整的示例,展示了如何结合 showDatePickeragecheck 插件来进行年龄验证:

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

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

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: AgeCheckScreen(),
    );
  }
}

class AgeCheckScreen extends StatelessWidget {
  Future<void> pickBirthDate(BuildContext context) async {
    DateTime? pickedDate = await showDatePicker(
      context: context,
      initialDate: DateTime.now(),
      firstDate: DateTime(1900),
      lastDate: DateTime.now(),
    );
    
    if (pickedDate != null) {
      int minAge = 18;
      bool isAdult = await AgeCheck.isAdult(pickedDate, minAge);
      
      if (isAdult) {
        ScaffoldMessenger.of(context).showSnackBar(
          SnackBar(content: Text("用户已成年")),
        );
      } else {
        ScaffoldMessenger.of(context).showSnackBar(
          SnackBar(content: Text("用户未成年")),
        );
      }
    }
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('年龄验证'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () => pickBirthDate(context),
          child: Text('选择出生日期'),
        ),
      ),
    );
  }
}
回到顶部