FlAppwrite 账户工具包
Appwrite 账户服务的 Flutter 封装,便于使用和管理身份验证及账户功能。
正在开发中。未准备好生产。帮助准备好生产。
入门
这真的非常容易使用
-
从git添加依赖(只有在有足够多的人感兴趣使用并帮助其变得更好时才会发布到pub。)
dependencies
flappwrite_account_kit
git: https://github.com/lohanidamodar/flappwrite_account_kit -
将您的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(),
),
);
}
} -
从
context访问authNotifier。authNotifier是AuthNotifier的一个实例,它提供了Appwrite账户服务的所有功能,以及一些方便处理身份验证的方法。 -
获取
context.authNotifier?.status可以获取身份验证状态,该状态可以是AuthStatus.uninitialized、AuthStatus.unauthenticated、AuthStatus.authenticating和AuthStatus.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;}
} -
您必须使用
context.authNotifier中的函数,而不是Appwrite SDK中的默认账户服务,来创建用户、创建会话(登录)、删除会话(注销),以便context.authNotifier?.status能够正确更新,并且您的UI能够相应地更新。