Flutter TCID验证插件tcid_checker的使用

Flutter TCID验证插件tcid_checker的使用

特点

  • 根据规则确定给定的TC ID是否正确。
  • 如果正确,可以使用在线验证函数。
  • 生成有效的随机TC ID。

工作原理

  • 前10位数字之和的个位数即为第11位数字。
  • 7倍的第1、3、5、7、9位数字之和加上9倍的第2、4、6、8位数字之和的个位数即为第10位数字。
  • 8倍的第1、3、5、7、9位数字之和的个位数即为第11位数字。
  • 使用土耳其共和国公民事务总局提供的Web API内置控制ID函数进行验证。
  • 需要时生成有效的随机TC ID。

使用方法

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

    dependencies:
      tcid_checker: ^2.0.9
    
  2. 保存pubspec.yaml文件。或者在终端中运行以下命令:

    pub get
    

    对于Flutter项目:

    flutter pub get
    
  3. 在代码文件中导入插件:

    import 'package:tcid_checker/tcid_checker.dart';
    

示例代码

import 'package:logbox_color/extensions.dart';
import 'package:tcid_checker/tcid_checker.dart';

void main(List<String> args) async {
  // 控制ID验证 -- true
  bool r1 = controlID("08392566548", true, true, LogLevel.debug);

  // 控制ID验证 -- false
  bool r6 = controlID("02345678982", false, true, LogLevel.verbose);

  // 生成有效的随机TC ID
  String? r2 = generateID(false, false, LogLevel.info);

  // 返回格式化的随机TC ID
  String? r8 = generateID(false, true, LogLevel.warning);

  // 返回格式化的随机TC ID
  String? r7 = generateID(true, true, LogLevel.warning);

  // 返回以0开头的有效随机TC ID
  String? r9 = generateID(true, false, LogLevel.warning);

  // 从WEB API验证TC ID -- false
  bool r3 = await validateID("11111111111", "ali", "veli", 1900, false, LogLevel.info);

  // 从WEB API验证外国TC ID -- false
  bool r4 = await validateForeignID("11111111111", "jack", "delay", 1, 1, 1900, false, LogLevel.info);

  // 从WEB API验证人和卡ID -- false
  bool r5 = await validatePersonAndCard("11111111111", "ali", "veli", false, 1, false, 1, false, 1900, 'a15', 796544, 'y02n45764', false, LogLevel.verbose);

  // 打印结果
  // print(r1);
  // print(r2);
  // print(r3);
  // print(r4);
  // print(r5);
  // print(r6);
  // print(r7);
  // print(r8);
  // print(r9);
}

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

1 回复

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


当然,以下是如何在Flutter项目中集成并使用tcid_checker插件进行TCID验证的代码示例。请注意,tcid_checker插件可能是一个假设的插件名称,因为在Flutter的官方插件库中并没有直接找到这个插件。不过,我可以提供一个通用的Flutter插件集成和使用案例,你可以根据实际的插件文档进行调整。

步骤 1: 添加依赖

首先,你需要在pubspec.yaml文件中添加tcid_checker插件的依赖。假设插件在pub.dev上是可用的,你的pubspec.yaml应该包含如下内容:

dependencies:
  flutter:
    sdk: flutter
  tcid_checker: ^x.y.z  # 替换为实际的版本号

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

步骤 2: 导入插件

在你的Dart文件中(比如main.dart),导入插件:

import 'package:tcid_checker/tcid_checker.dart';

步骤 3: 使用插件

以下是一个简单的示例,展示了如何使用tcid_checker插件来验证TCID。由于具体的API和方法可能会根据插件的实现有所不同,以下代码是基于假设的API。请查阅插件的官方文档以获取准确的API信息。

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('TCID Checker Demo'),
        ),
        body: Center(
          child: TcidCheckerWidget(),
        ),
      ),
    );
  }
}

class TcidCheckerWidget extends StatefulWidget {
  @override
  _TcidCheckerWidgetState createState() => _TcidCheckerWidgetState();
}

class _TcidCheckerWidgetState extends State<TcidCheckerWidget> {
  String result = '';

  void checkTCID(String tcid) async {
    try {
      bool isValid = await TcidChecker.validateTCID(tcid);
      setState(() {
        result = isValid ? 'TCID is valid' : 'TCID is invalid';
      });
    } catch (e) {
      setState(() {
        result = 'Error validating TCID: ${e.message}';
      });
    }
  }

  @override
  Widget build(BuildContext context) {
    return Column(
      mainAxisAlignment: MainAxisAlignment.center,
      children: <Widget>[
        TextField(
          decoration: InputDecoration(labelText: 'Enter TCID'),
          onEditingComplete: () {
            // 假设用户输入完成后触发验证
            final tcidController = TextEditingController.fromTextEditingValue(
              _textFieldKey.currentState?.textEditingController?.value ?? TextEditingValue()
            );
            checkTCID(tcidController.text);
          },
          textInputAction: TextInputAction.done,
          key: _textFieldKey,  // 需要定义一个GlobalKey<FormFieldState<String>>类型的_textFieldKey
        ),
        SizedBox(height: 20),
        Text(result),
      ],
    );
  }
}

// 注意:这里_textFieldKey的定义需要在实际代码中添加,例如:
// final GlobalKey<FormFieldState<String>> _textFieldKey = GlobalKey();
// 但由于这里的示例简单,并未实际使用Form和FormField,所以上面的onEditingComplete方法需要根据你的实际需求调整。
// 在实际项目中,你可能需要使用一个按钮来触发checkTCID函数。

注意事项

  1. 插件文档:务必查阅tcid_checker插件的官方文档,了解具体的API和使用方法。
  2. 错误处理:在实际项目中,需要更完善的错误处理机制。
  3. UI设计:根据实际需求调整UI设计,使其更加友好和直观。

由于tcid_checker插件可能是一个假设的插件,上述代码中的API和方法可能需要根据实际情况进行调整。希望这个示例能够帮助你理解如何在Flutter项目中集成和使用一个假设的插件进行TCID验证。

回到顶部