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

outdated

AHCA STS Flutter plugin.

example/lib/main.dart

import 'dart:developer';

import 'package:flutter/material.dart';
import 'package:sts_flutter/result/get_department_no_result.dart';
import 'package:sts_flutter/sts_code_table.dart';
import 'package:sts_flutter/sts_util.dart';
import 'package:sts_flutter/model/sts_user_info.dart';
import 'package:sts_flutter_example/utils/cache_util.dart';
import 'package:sts_flutter_example/utils/constant_table.dart';
import 'package:sts_flutter_example/view/sign_img_activity.dart';
import 'package:sts_flutter_example/view/user_info_activity.dart';

void main() {
  runApp(MaterialApp(
    home: MyApp(),
  ));
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  final List<String> names = [
    "使用证书",
    "采集长期签名图片",
    "查看长期签名图片",
    "采集临时签名图片",
    "下载预制证书",
    "设置用户信息",
    "修改服务配置",
  ];

  @override
  void initState() {
    super.initState();
    StsUtil.init("http://online.aheca.cn:88", ConstantTable.stsAppKey, ConstantTable.stsSecretKey);
    StsUtil.initFace(ConstantTable.Face_LicenseID, ConstantTable.Face_LicenseName);
  }

  @override
  Widget build(BuildContext context) {
    var gridView = GridView.count(
      crossAxisCount: 3,
      mainAxisSpacing: 10.0,
      crossAxisSpacing: 10.0,
      children: getGridViewChildren(),
    );

    return Scaffold(
      appBar: AppBar(
        title: const Text('手机盾示例'),
      ),
      body: gridView,
    );
  }

  List<Widget> getGridViewChildren() {
    var items = <Widget>[];
    for (var i = 0; i < names.length; i++) {
      items.add(getItem(names[i], i));
    }
    return items;
  }

  Widget getItem(String name, int position) {
    return GestureDetector(
      behavior: HitTestBehavior.opaque,
      child: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        crossAxisAlignment: CrossAxisAlignment.center,
        children: <Widget>[
          FlutterLogo(size: 60.0),
          Text(name),
        ],
      ),
      onTap: () {
        changePage(position);
      },
    );
  }

  void changePage(int position) async {
    StsUserInfo stsUserInfo = await CacheUtil.userInfo;
    if (stsUserInfo == null) {
      var result = await Navigator.push(context, MaterialPageRoute(builder: (context) => UserInfoActivity()));
      if (result != null) {
        stsUserInfo = result["stsUserInfo"];
      } else {
        return;
      }
    }
    StsUtil.initUseId(stsUserInfo.phoneNum);
    switch (position) {
      case 0:
        var applyCertResult = await StsUtil.applyPersonalCert(stsUserInfo);
        break;
      case 1:
        var signImgResult = await StsUtil.setSignImgWithDrawingBoard(null);
        if (signImgResult.resultCode == StsCodeTable.rtnCode_success) {
          log("signImgResult = $signImgResult");
          log("signImgResult.signImg = ${signImgResult.signImg}");
          Navigator.push(context, MaterialPageRoute(builder: (context) => SignImgActivity(img: signImgResult.signImg)));
        }
        break;
      case 2:
        var signImgResult = await StsUtil.getSignImgAndSetItIfNotExist(null);
        if (signImgResult.resultCode == StsCodeTable.rtnCode_success) {
          log("signImgResult = $signImgResult");
          log("signImgResult.signImg = ${signImgResult.signImg}");
          Navigator.push(context, MaterialPageRoute(builder: (context) => SignImgActivity(img: signImgResult.signImg)));
        }
        break;
      case 3:
        var signImgResult = await StsUtil.getSignImgWithDrawingBoard(null);
        if (signImgResult.resultCode == StsCodeTable.rtnCode_success) {
          Navigator.push(context, MaterialPageRoute(builder: (context) => SignImgActivity(img: signImgResult.signImg)));
        }
        break;
      case 4:
        GetDepartmentNoResult result = await StsUtil.getDepartmentNo;
        break;
      case 5:
        Navigator.push(context, MaterialPageRoute(builder: (context) => UserInfoActivity()));
        break;
      case 6:
        break;
    }
  }
}
0
likes
0
pub points
0%
popularity

Publisher

verified publisheraheca.cn

AHCA STS Flutter plugin.

Homepage

License

unknown (LICENSE)

Dependencies

flutter, json_annotation

More

Packages that depend on sts_flutter