Browse Source

判断登录状态

ios
Jolie 4 months ago
parent
commit
840155e365
3 changed files with 42 additions and 11 deletions
  1. 8
      lib/main.dart
  2. 30
      lib/pages/main_page.dart
  3. 15
      lib/pages/mine/login_controller.dart

8
lib/main.dart

@ -71,7 +71,11 @@ class MyApp extends StatelessWidget {
final storage = GetStorage();
final token = storage.read<String>('token');
// token为空
return LoginPage();
// token不为空token为空
if (token != null && token.isNotEmpty) {
return MainPage();
} else {
return LoginPage();
}
}
}

30
lib/pages/main_page.dart

@ -1,4 +1,9 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:get_storage/get_storage.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:dating_touchme_app/network/user_api.dart';
import 'package:dating_touchme_app/pages/mine/login_page.dart';
class MainPage extends StatefulWidget {
const MainPage({super.key});
@ -8,6 +13,31 @@ class MainPage extends StatefulWidget {
}
class _MainPageState extends State<MainPage> {
late UserApi _userApi;
final storage = GetStorage();
@override
void initState() {
super.initState();
// UserApi实例
_userApi = Get.find<UserApi>();
// token并调用获取婚姻信息详情的方法
checkTokenAndFetchMarriageInfo();
}
// token并获取婚姻信息详情
Future<void> checkTokenAndFetchMarriageInfo() async {
final response = await _userApi.getMarriageInformationDetail();
if (response.data.isSuccess) {
if (response.data.data == null) {
//
SmartDialog.showToast('跳转到完善信息');
//
}
}
}
@override
Widget build(BuildContext context) {
return const Placeholder();

15
lib/pages/mine/login_controller.dart

@ -1,4 +1,5 @@
import 'dart:async';
import 'package:dating_touchme_app/pages/main_page.dart';
import 'package:get/get.dart';
import 'package:get_storage/get_storage.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
@ -112,9 +113,9 @@ class LoginController extends GetxController {
if (response.data.data != null) {
final loginData = response.data.data!;
await storage.write('token', loginData.token);
// await storage.write('userId', loginData.userId);
// //
// await storage.write('userInfo', loginData.toJson());
await storage.write('userId', loginData.userId);
//
await storage.write('userInfo', loginData.toJson());
//
await _getBaseUserInfo(loginData.userId);
@ -150,17 +151,13 @@ class LoginController extends GetxController {
Future<void> _getMarriageInformationDetail() async {
try {
final response = await _userApi.getMarriageInformationDetail();
// 便
print('响应数据: ${response.data.data}');
print('数据类型: ${response.data.data.runtimeType}');
print('数据是否为null: ${response.data.data == null}');
if (response.data.isSuccess) {
// data是否为null或者是空对象
if(response.data.data == null){
//
SmartDialog.showToast('跳转到完善信息');
}else{
Get.offAll(MainPage());
}
} else {
//

Loading…
Cancel
Save