witsystem_core 0.1.7 copy "witsystem_core: ^0.1.7" to clipboard
witsystem_core: ^0.1.7 copied to clipboard

witsystem 核心包,提供核心功能

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:witsystem_core/generated/l10n.dart';
import 'package:witsystem_core/mqtt/WitsMqtt.dart';
import 'package:witsystem_core/pages/code/Scan.dart';
import 'package:witsystem_core/pages/witDialog/DialogCenterInputWidget.dart';
import 'package:witsystem_core/permission/WitsPermission.dart';
import 'package:witsystem_core/witsystem_core.dart';
import 'package:image_picker/image_picker.dart';

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

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(localizationsDelegates: [
      S.delegate,
    ], home: MyApp2());
  }
}

class MyApp2 extends StatefulWidget {
  const MyApp2({Key? key}) : super(key: key);

  @override
  State<MyApp2> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp2> {
  @override
  void initState() {
    super.initState();
    initPlatformState();
  }

  // Platform messages are asynchronous, so we initialize in an async method.
  Future<void> initPlatformState() async {
    //初始化核心库
    await WitsystemCore.intstance(
        appId: "smartf9f18d5fb2764825b74f81cac658b195",
        appSecret: "8aa03f987f6448bf931aa5284a79b26c",
        token: "open6815e73b76e24f5481db36cddcc80a7d1610376044955",
        rsaParseKey:
            "-----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-----");
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Plugin example app'),
      ),
      body: Column(
        children: [
          FloatingActionButton(
            onPressed: () async {
              WitsPermission.blePermission();
            },
            child: const Center(child: Text("网络请求")),
          ),
          MaterialButton(
              onPressed: () {
               const Scan().start();
              },
              child: Text("扫码")),

          MaterialButton(
              onPressed: () async {
                final ImagePicker _picker = ImagePicker();
                //final XFile? image = await _picker.pickImage(source: ImageSource.gallery);
                final XFile? photo = await _picker.pickImage(source: ImageSource.camera);
              },
              child: Text("选择图片")),


          MaterialButton(
              onPressed: () async {
                WitsMqtt().connect();
              },
              child: Text("mqtt连接")),

          MaterialButton(
              onPressed: () async {
                WitsMqtt().disconnected();
              },
              child: Text("mqtt断开连接")),

          MaterialButton(
              onPressed: () {
                showDialog(
                    context: context,
                    barrierDismissible: true,
                    builder: (BuildContext context) {
                      return DialogCenterInputWidget(
                        title: "测试",
                        contentHint: "测试",
                        outSideDismissible: true,
                        affirmTextColor: Colors.red,
                        onPressed: (bool tag, String text) {

                        },
                      );
                    });
              },
              child: Text("输出弹出框")),



        ],
      ),
    );
  }
}