创新项目实训项目:基于生成式AI的英语口语助手
负责部分:前端
代码内容分析:main.dart
main 函数:应用程序的入口点。使用 runApp 函数来运行整个应用程序,这里使用了 GetMaterialApp 而不是Flutter默认的 MaterialApp。因为代码中使用了getx包,一个流行的状态管理库。
GetMaterialApp:设置了应用程序的根组件为 LoginPage()
Future.delayed:使用 Future.delayed 来在应用程序启动后立即(Duration.zero)执行一个异步操作。这通常用于在应用程序完全启动后进行一些初始化操作。
SharedPreferences:使用 SharedPreferences 来获取应用程序的持久化存储,保存键值对信息。
检查是否存在名为 "token" 的键,如果它不存在,则打印号码为空的提示消息。
API 请求:如果 "token" 存在,则构造一个请求,其中包含一个名为 "token" 的字段,其值为从 SharedPreferences 中获取的 "token"。使用 ApiClient().postRequest 发送一个POST请求到 UrlRouter.tokenCheck,用于检查"token"字段是否合法:
1.如果请求成功且结果中的 success 字段为 true,则显示一个登录成功的Toast消息,并使用 Get.offAll(ListViewPage()) 导航到 ListViewPage页面。
2.如果请求失败或结果中的 success 字段为 false,则显示一个相应的错误Toast消息。
Toast消息:使用Fluttertoast 包来显示Toast消息。在项目的 pubspec.yaml 文件中添加依赖。
语法使用:
异步/等待(async/await):在代码中用于处理异步操作,如从 SharedPreferences 获取数据和发送网络请求。
Future:用于表示异步操作的结果。
SharedPreferences:Flutter提供的一个API,用于在设备上存储简单的键值对。
Getx 语法:使用 Get.offAll 进行页面导航,这是getx包的一部分。
Fluttertoast:一个用于显示Toast消息的第三方库。