summi_eid 0.0.1 copy "summi_eid: ^0.0.1" to clipboard
summi_eid: ^0.0.1 copied to clipboard

PlatformAndroid

summi_eid_sdk

example/lib/main.dart

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

import 'id_card_page.dart';
import 'travel_card_page.dart';

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

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Summi EID Demo',
      theme: ThemeData(primarySwatch: Colors.blue),
      home: const HomePage(),
    );
  }
}

class HomePage extends StatefulWidget {
  const HomePage({super.key});

  @override
  State<HomePage> createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  final SummiEid _sdk = SummiEid();
  final TextEditingController _appIdCtrl = TextEditingController(text: 'a3beb4f6ea5e47de90a24cc5a9adecfb');
  final TextEditingController _appKeyCtrl = TextEditingController(text: 'c7ddc1dc2eba4321b7a34bb21ba6f421');
  String _status = '未初始化';
  bool _busy = false;

  @override
  void dispose() {
    _appIdCtrl.dispose();
    _appKeyCtrl.dispose();
    super.dispose();
  }

  Future<void> _initSdk() async {
    if (_busy) return;
    setState(() {
      _busy = true;
      _status = '初始化中...';
    });
    try {
      final res = await _sdk.init(_appIdCtrl.text.trim());
      setState(() {
        _status = '初始化成功 code=${res.code}, msg=${res.message}';
      });
    } catch (e) {
      setState(() {
        _status = '初始化失败: $e';
      });
    } finally {
      setState(() {
        _busy = false;
      });
    }
  }

  Future<void> _destroySdk() async {
    if (_busy) return;
    setState(() {
      _busy = true;
      _status = '销毁中...';
    });
    try {
      await _sdk.destroy();
      setState(() {
        _status = '已销毁';
      });
    } catch (e) {
      setState(() {
        _status = '销毁失败: $e';
      });
    } finally {
      setState(() {
        _busy = false;
      });
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Summi EID 示例'),
        centerTitle: true,
      ),
      body: Padding(
        padding: const EdgeInsets.all(16),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.stretch,
          children: [
            TextField(
              controller: _appIdCtrl,
              decoration: const InputDecoration(labelText: 'AppId', border: OutlineInputBorder()),
            ),
            const SizedBox(height: 8),
            TextField(
              controller: _appKeyCtrl,
              decoration: const InputDecoration(labelText: 'AppKey (用于 getIDCardInfo)', border: OutlineInputBorder()),
            ),
            const SizedBox(height: 12),
            Row(
              children: [
                Expanded(
                  child: ElevatedButton(
                    onPressed: _busy ? null : _initSdk,
                    child: const Text('初始化 SDK'),
                  ),
                ),
                const SizedBox(width: 12),
                Expanded(
                  child: ElevatedButton(
                    onPressed: _busy ? null : _destroySdk,
                    child: const Text('销毁 SDK'),
                  ),
                ),
              ],
            ),
            const SizedBox(height: 8),
            Text(_status, style: const TextStyle(fontSize: 12, color: Colors.black54)),
            const SizedBox(height: 24),
            ElevatedButton(
              onPressed: () {
                Navigator.of(context).push(
                  MaterialPageRoute(
                    builder: (_) => IdCardPage(appKey: _appKeyCtrl.text.trim()),
                  ),
                );
              },
              child: const Text('读取身份证 (startCheckCard)'),
            ),
            const SizedBox(height: 12),
            ElevatedButton(
              onPressed: () {
                Navigator.of(context).push(
                  MaterialPageRoute(builder: (_) => const TravelCardPage()),
                );
              },
              child: const Text('读取旅行卡 (startCheckCardEx)'),
            ),
          ],
        ),
      ),
    );
  }
}
0
likes
110
points
80
downloads

Publisher

unverified uploader

Weekly Downloads

summi_eid_sdk

Repository (GitHub)

Documentation

API reference

License

unknown (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on summi_eid

Packages that implement summi_eid