sts_flutter 0.0.2 sts_flutter: ^0.0.2 copied to clipboard
AHCA STS Flutter plugin.
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/stshield.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();
STShield.init("http://online.aheca.cn:88", ConstantTable.stsAppKey, ConstantTable.stsSecretKey);
STShield.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;
}
}
STShield.initUseId(stsUserInfo.phoneNum);
switch (position) {
case 0:
var applyCertResult = await STShield.applyPersonalCert(stsUserInfo);
break;
case 1:
var signImgResult = await STShield.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 STShield.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 STShield.getSignImgWithDrawingBoard(null);
if (signImgResult.resultCode == StsCodeTable.rtnCode_success) {
Navigator.push(context, MaterialPageRoute(builder: (context) => SignImgActivity(img: signImgResult.signImg)));
}
break;
case 4:
GetDepartmentNoResult result = await STShield.getDepartmentNo;
break;
case 5:
Navigator.push(context, MaterialPageRoute(builder: (context) => UserInfoActivity()));
break;
case 6:
break;
}
}
}