Flutter加密解密插件yjy_simple_cry的使用

Flutter加密解密插件yjy_simple_cry的使用

概述

yjy_simple_cry 是一个功能丰富的Flutter组件包,支持多种加密解密操作。它提供了按钮、表单、数据表格、对话框、文件上传、根组件、切换按钮、传输组件和树形表格等功能。


安装

pubspec.yaml 文件中添加以下依赖:

dependencies:
  yjy_simple_cry: ^<latest_version>

然后运行以下命令以更新依赖项:

flutter pub get

示例代码

以下是一个完整的示例代码,展示了如何使用 yjy_simple_cry 插件进行加密解密操作。

示例代码:main.dart
import 'package:yjy_simple_cry/common/application_context.dart';
import 'package:yjy_simple_cry/cry.dart';
import 'package:yjy_simple_cry/cry_logger.dart';
import 'package:yjy_simple_cry/generated/l10n.dart';
import 'package:yjy_simple_cry/routes/cry_route_information_parser.dart';
import 'package:yjy_simple_cry/routes/cry_router_delegate.dart';
import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';

// 导入自定义页面
import 'demo/demo_button.dart';
import 'home.dart';

void main() async {
  // 确保Flutter绑定初始化
  WidgetsFlutterBinding.ensureInitialized();

  // 初始化应用上下文
  await ApplicationContext.instance.init();

  // 打印日志测试
  print('loggerType:');
  CryLogger.error('error');
  CryLogger.info('info');
  CryLogger.debug('debug');

  // 启动应用
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    // 定义页面路由映射
    Map<String, WidgetBuilder> pageMap = {
      '/': (context) => Home(),       // 主页
      '/button': (context) => DemoButton(), // 按钮示例
      '/form': (context) => DemoForm(),     // 表单示例
    };

    return MaterialApp.router(
      key: UniqueKey(),
      title: 'Cry Demo',
      locale: Locale('en'), // 设置默认语言为英语
      debugShowCheckedModeBanner: false,
      builder: Cry.init,   // 初始化Cry插件
      localizationsDelegates: [
        S.delegate,          // 国际化代理
        GlobalCupertinoLocalizations.delegate,
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate,
      ],
      supportedLocales: S.delegate.supportedLocales,
      routerDelegate: CryRouterDelegate(pageMap: pageMap), // 路由委托
      routeInformationParser: CryRouteInformationParser(), // 路由解析器
    );
  }
}

自定义页面示例

示例代码:demo_button.dart
import 'package:flutter/material.dart';

class DemoButton extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Button Example'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () {
            // 示例按钮点击事件
            print('Button clicked!');
          },
          child: Text('Click Me'),
        ),
      ),
    );
  }
}
示例代码:demo_form.dart
import 'package:flutter/material.dart';

class DemoForm extends StatefulWidget {
  [@override](/user/override)
  _DemoFormState createState() => _DemoFormState();
}

class _DemoFormState extends State<DemoForm> {
  final _formKey = GlobalKey<FormState>();
  String _email = '';

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Form Example'),
      ),
      body: Padding(
        padding: const EdgeInsets.all(16.0),
        child: Form(
          key: _formKey,
          child: Column(
            children: [
              TextFormField(
                decoration: InputDecoration(labelText: 'Email'),
                validator: (value) {
                  if (value == null || value.isEmpty) {
                    return 'Please enter your email';
                  }
                  return null;
                },
                onSaved: (value) => _email = value!,
              ),
              SizedBox(height: 20),
              ElevatedButton(
                onPressed: () {
                  if (_formKey.currentState!.validate()) {
                    _formKey.currentState!.save();
                    print('Email: $_email');
                  }
                },
                child: Text('Submit'),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

更多关于Flutter加密解密插件yjy_simple_cry的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

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


yjy_simple_cry 是一个用于 Flutter 应用的简单加密解密插件。它提供了基本的加密和解密功能,适用于需要保护敏感数据的场景。以下是如何在 Flutter 项目中使用 yjy_simple_cry 插件的步骤。

1. 添加依赖

首先,你需要在 pubspec.yaml 文件中添加 yjy_simple_cry 插件的依赖。

dependencies:
  flutter:
    sdk: flutter
  yjy_simple_cry: ^版本号

请将 ^版本号 替换为最新的版本号。你可以在 pub.dev 上找到最新的版本。

2. 安装依赖

在终端中运行以下命令来安装依赖:

flutter pub get

3. 导入插件

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

import 'package:yjy_simple_cry/yjy_simple_cry.dart';

4. 使用插件进行加密和解密

yjy_simple_cry 插件提供了 encryptdecrypt 方法来进行加密和解密操作。

加密

String plainText = "Hello, World!";
String encryptedText = YjySimpleCry.encrypt(plainText);
print("Encrypted Text: $encryptedText");

解密

String decryptedText = YjySimpleCry.decrypt(encryptedText);
print("Decrypted Text: $decryptedText");

5. 完整示例

以下是一个完整的示例,展示了如何在 Flutter 应用中使用 yjy_simple_cry 插件进行加密和解密操作。

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

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

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('YjySimpleCry Example'),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              ElevatedButton(
                onPressed: () {
                  String plainText = "Hello, World!";
                  String encryptedText = YjySimpleCry.encrypt(plainText);
                  print("Encrypted Text: $encryptedText");

                  String decryptedText = YjySimpleCry.decrypt(encryptedText);
                  print("Decrypted Text: $decryptedText");
                },
                child: Text('Encrypt & Decrypt'),
              ),
            ],
          ),
        ),
      ),
    );
  }
}
回到顶部