fluat_auth 1.0.0 copy "fluat_auth: ^1.0.0" to clipboard
fluat_auth: ^1.0.0 copied to clipboard

阿里号码认证服务

example/lib/main.dart

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

import 'package:flutter/services.dart';
import 'package:fluat_auth/fluat_auth.dart' as fluat;

import 'login_page.dart';
import 'home_page.dart';

const String ios_key = '';
const String android_key = '';
void main() async {
  runApp(MyApp());
}

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

class _MyAppState extends State<MyApp> {
  StreamSubscription<fluat.BaseAuthEvent> _event;

  bool _login = false;
  bool _fastLogin = false;

  void _userLogin() {
    setState(() {
      _login = true;
    });
  }

  void _userLogout() {
    setState(() {
      _login = false;
    });
  }

  @override
  void initState() {
    super.initState();
    _initAliAuthSdk();
    //监听事件回调
    _event = fluat.authEventHandler.listen((event) {
      if (event is fluat.FluatCheckEnvEvent) {
        print('检查环境:' + event.errCode);
      }
      if (event is fluat.FluatAccelerateEvent) {
        print('加速获取本机号码校验token/加速一键登录授权页弹起:' + event.errCode);
      }
      if (event is fluat.FluatAuthEvent) {
        print('获取一键登录token/获取本机号码校验token:' + event.errCode);
        if (event.errCode == '600000' && event.authToken.isNotEmpty) {
          print('获取一键登录token/获取本机号码校验token:' + event.authToken);
          // 如果是一键登录 获取到token后 择需要关闭授权页 继续之后的业务
          fluat.closeAuthPage();
        }
      }
    });
  }

  @override
  void dispose() {
    super.dispose();
    _event.cancel();
  }

  _initAliAuthSdk() async {
    //设置SDK
    var result = await fluat.initAliAuthSDK(
        iOSSecretKey: ios_key, androidSecretKey: android_key, loggerEnable: true);
    print("initAliAuthSDK $result");

    //检验环境
    await fluat.checkEnvAvailable(authType: fluat.FluATAuthType.LOGIN).then((value) {
      setState(() {
        _fastLogin = value;
      });
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        theme: ThemeData(
            splashColor: Colors.transparent,
            highlightColor: Colors.transparent,
            brightness: Brightness.light,
            appBarTheme: AppBarTheme(brightness: Brightness.light),
            scaffoldBackgroundColor: Colors.white),
        home: _login
            ? HomePage(
                logoutCallBack: _userLogout,
              )
            : LoginPage(
                canFastLogin: _fastLogin,
                loginCallBack: _userLogin,
                fastLoginCallBack: () {
                  fluat.showAuthLoginPage(uiConfig: fluat.AuthLoginUIConfig());
                },
              ));
  }
}
1
likes
30
pub points
0%
popularity

Publisher

unverified uploader

阿里号码认证服务

Repository (GitHub)
View/report issues

License

Apache-2.0 (LICENSE)

Dependencies

flutter

More

Packages that depend on fluat_auth