witsystem_device_plugin 0.1.8
witsystem_device_plugin: ^0.1.8 copied to clipboard
接入witsystem移动端SDK.
example/lib/main.dart
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:flutter/services.dart';
import 'package:witsystem_device_plugin/device/Unlock.dart';
import 'package:witsystem_device_plugin/device/BleDevice.dart';
import 'package:witsystem_device_plugin/device/AddDevice.dart';
import 'package:witsystem_device_plugin/device/DeviceManage.dart';
import 'package:witsystem_device_plugin/command/PasswordType.dart';
import 'package:witsystem_device_plugin/command/MarkType.dart';
import 'package:witsystem_device_plugin/command/CardType.dart';
import 'package:witsystem_device_plugin/witsystem_device_plugin.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({Key? key}) : super(key: key);
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
@override
void initState() {
super.initState();
init();
}
init() async {
var millisecondsSinceEpoch = DateTime.now().millisecondsSinceEpoch;
var initSDK = await WitsystemDevicePlugin.instance.initSDK(
"",
"",
"",
"-----BEGIN PRIVATE KEY-----MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCQeyDGDOhzQbTpkcQ1hnuILAUadO7WgHjDSZSxwb3lTuyKe5OB2+nzkW1QV72Szg777JShj787j/zaKsyt7LExJCU50FQ8Dz6FL0rVgL60PZqAm+qiP56/5mH+zFfLfy4DC/PSZoSTsXbWB8HJJW2hLJlCx+CBQ4pRKBZMJBwBSp7GSBcrWpRB8Nus+S+koN6erA94faCtpUKSaH3TNkeQvoXfSapvNt+lEQzMd7UdTPoHAji8GAScYPBq+QFATDCdtrmjvz8bTIDbu3Nr/CzJ625DQt8QirP0dA45bBd6vidG/P7qknIr+mlBvIEqNpVmzkMPfT6zsb7Cn+vvZKrTAgMBAAECggEAc2noRE0LYwaZ/frzQc6r35tKeFfwcmkuDtI4dcbOat8hFX6h1ppVyLvjFssAJMV2MshJ8sVhfbMHyT9nQYhSA29cTVKd91w2FS4yGVs++7w6L4JdbD5mEeV3YpLZjzWJC+YAX5KFVXXt+As6QfQkHxwBUddY/+l0FGBxb2Fo/Z3q0uHxA9zPQ/9DW610MHs/i/KH6BZDBEvIXEePUVoBX7Or+kZ/xk2421anaiAfq/JSBZFiCa62AVfIossOaebywTz9nICez81uiJuEL0mYABw/jrDIdCM4ZeIHS8gm3mZxrIcup6C564o8z12nHCsBaKbZZMOOVJ1KTyAFI1I0AQKBgQDGBVQyPkSOlO42eN183NcLdMhjAXVjpaX+eE+WfyNBm7+DgW3fzdmlS23SlfRqSFjYP69KQNu/p5EeSyn1NGgg2xeW2F0FOEM/cXCbgEUOz3baQcmuM0wtU7FaaBG37J+J3/2SRgCpZYcl72UTF3N3TSqePcU6B2EtfuRAdVzZrQKBgQC6yLbZKWtdxQl+k/KfiyfKXZh3ceCYSQUmfOoPQ+lO6DfpGvOa/3+oT4wOFP1MVm4yF5TFqhjoFer/17tnK91ZbAL5rBi0LF1zEVzutsII9nHDXY9MOVp5cG+MKTgDW1rv7jsRB7O7kip1lS9q+VLvD2199KDsJOdDHujzILkmfwKBgDC3QOZ3cTBOrWgTRhIg1nrICUBqLHIOX48CFDpnHspWQcBdiCVmJCRJMUR8hbvb/pd822f+GtHErKvyO+lKMk/a9quyoPfWxpyGEPkAjny9R3UceDx1/EiubVRbg/hmqz0lMOHafPEvvBb2FTykKVDxWAnEEpBbHmot7IN7HBOlAoGAO7v69gJQCuH7wlZQToOzSv2ZyAFMQYeAtSlXtWATmh+b2dm7tIMncU1XTh2aUDKH9U8jTf+zDW4NBJsanMkjdficDvrhv6U8kZMo9FLQRQuDoGYocMkazSGPGvUHq9MohvjaPP0IluEM4SO/0WdBBaEadCCq4jp/FzEocLCzZcMCgYBOLGrgg+hnYZuA/9StPC4xWbKprfDElFiXclQXRjDK5jVovxkgx9IWODn3H+FWOX39uS0EMUlo6gQrGb+OrsLjwbabUu1Gb6lk4/H2j1NqdKQ4nHPkbIclm8la8peTnCecdn55q7VhwozhN8QJ0JgcOPHBoudhCIQvG4Xm/wbzFA==-----END PRIVATE KEY-----");
var millisecondsSinceEpoch2 = DateTime.now().millisecondsSinceEpoch;
print("初始化返回的<><><><><><><><><><><><>数据$initSDK ");
print(
"初始化返回的<><><><><><><><><><><><>数据${millisecondsSinceEpoch2 - millisecondsSinceEpoch} ");
print(
"设备列表${DeviceManage.instance.deviceList()} ");
print(
"设备列表${DeviceManage.instance.device("Slock383B26345B28")} ");
}
late StreamSubscription listen;
bleUnlocks() async {
var microsecondsSinceEpoch = DateTime.now().millisecondsSinceEpoch;
// Unlock.instance.bleUnlocks(success: (map) {
// print("开门成功$map");
// }, foundMultipleDevices: (map) {
// print("发现附近有多个设备$map");
// }, fail: (e) {
// print("开启设备失败$e");
// });
try {
var info = await Unlock.instance.bleUnlock("Slock383B26345B28");
print("开门成功$info");
} catch (e) {
print("错误$e");
}
var microsecondsSinceEpoch2 = DateTime.now().millisecondsSinceEpoch;
print("开锁耗时${microsecondsSinceEpoch2 - microsecondsSinceEpoch}");
}
//扫描
scan() {
listen = AddDevice.instance.scanAddBleDevice().listen((event) {
print("返回的信息$event");
});
listen.onError((err) {
var err2 = err as PlatformException;
print("异常信息${err2}");
listen.cancel();
});
}
stopScan() {
AddDevice.instance.stopAddBleDevice(listen);
}
addPwd() async {
try {
var addPassword = await BleDevice.instance.addPassword(
"Slock383B26345B28",
PasswordType.ADMIN_PASSWORD,
"654321",
"flutter添加密码");
print("添加成功$addPassword");
} catch (e) {
print("错误信息${e as PlatformException}");
}
}
addCard() async {
try {
var addPassword = await BleDevice.instance
.addCard("Slock383B26345B28", CardType.ADMIN_CARD, "flutter添加卡");
print("添加成功$addPassword");
} catch (e) {
print("错误信息${e as PlatformException}");
}
}
addMark() async {
BleDevice.instance
.addMark("Slock383B26345B28", MarkType.ADMIN_MARK, "flutter添加指纹",
progress: (info) {
print("添加指纹进度$info");
}, commandError: (error) {
print("指令异常$error");
}, fail: (error) {
print("设备错误信息$error");
}, sendSuccess: () {
print("发送成功");
}, success: (msg) {
print("添加成功$msg");
});
// BleDevice.instance.addMark("Slock383B26345B28", MarkType.ADMIN_MARK, "flutter添加指纹").listen((event) {
// print("添加指纹返回$event");
//
// }).onError((err){
// print("添加指纹错误信息${err as PlatformException}");
// });
}
closeBleDevice() {
BleDevice.instance.closeBleDevice("Slock383B26345B28");
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Plugin example app'),
),
body: Column(
children: [
Center(
child: MaterialButton(
textColor: Colors.red,
child: const Text("开锁"),
onPressed: bleUnlocks,
),
),
MaterialButton(
onPressed: scan,
child: const Text("扫描可以添加的设备"),
),
MaterialButton(
onPressed: stopScan,
child: const Text("停止扫描附近设备"),
),
MaterialButton(
onPressed: addPwd,
child: const Text("添加密码123456"),
),
MaterialButton(
onPressed: addCard,
child: const Text("添加卡"),
),
MaterialButton(
onPressed: addMark,
child: const Text("添加指纹"),
),
MaterialButton(
onPressed: closeBleDevice,
child: const Text("断开设备蓝牙操作"),
),
],
),
),
);
}
}