FlAppwrite 账户工具包

Appwrite 账户服务的 Flutter 封装,便于使用和管理身份验证及账户功能。

正在开发中。未准备好生产。帮助准备好生产。

入门

这真的非常容易使用

  1. 从git添加依赖(只有在有足够多的人感兴趣使用并帮助其变得更好时才会发布到pub。)

    dependencies
    flappwrite_account_kit
    git: https://github.com/lohanidamodar/flappwrite_account_kit

  2. 将您的MaterialApp包裹在FlAppwriteAccountKit中,并传递一个正确初始化的Appwrite客户端。示例见下文

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

    class _MyAppState extends State<MyApp> {
    late Client client;
    @override
    void initState() {
    super.initState();
    //初始化您的客户端
    client = Client();
    client
    .setEndpoint('https:///v1')
    .setProject('60793ca4ce59e')
    .setSelfSigned();
    }

    @override
    Widget build(BuildContext context) {
    return FlAppwriteAccountKit(
    client: client,
    child: MaterialApp(
    title: 'Flutter Demo',
    theme: ThemeData(
    primarySwatch: Colors.blue,
    ),
    home: MainScreen(),
    ),
    );
    }
    }

  3. context访问authNotifierauthNotifierAuthNotifier的一个实例,它提供了Appwrite账户服务的所有功能,以及一些方便处理身份验证的方法。

  4. 获取context.authNotifier?.status可以获取身份验证状态,该状态可以是AuthStatus.uninitializedAuthStatus.unauthenticatedAuthStatus.authenticatingAuthStatus.authenticated之一。您可以检查状态并显示适当的UI,例如

    class MainScreen extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
    final authNotifier = context.authNotifier;

     Widget widget;
     switch (authNotifier.status) {
       case AuthStatus.authenticated:
         widget = AdminPage();
         break;
       case AuthStatus.unauthenticated:
       case AuthStatus.authenticating:
         widget = LoginPage();
         break;
       case AuthStatus.uninitialized:
       default:
         widget = LoadingPage();
         break;
     }
     return widget;
    

    }
    }

  5. 您必须使用context.authNotifier中的函数,而不是Appwrite SDK中的默认账户服务,来创建用户、创建会话(登录)、删除会话(注销),以便context.authNotifier?.status能够正确更新,并且您的UI能够相应地更新。

GitHub

https://github.com/lohanidamodar/flappwrite_account_kit