This commit is contained in:
2022-10-20 17:39:17 +08:00
parent 0a81762ba1
commit 30a9279ff1
8 changed files with 134 additions and 18 deletions

View File

@@ -1,4 +1,5 @@
import 'package:chat/models/user_info_model.dart';
import 'package:chat/providers/auth_provider.dart';
import 'package:chat/routes/auth_routes.dart';
import 'package:get/get.dart';
import 'package:get_storage/get_storage.dart';
@@ -18,10 +19,12 @@ class AuthService extends GetxService {
/// 供请求时调用,载入内存,是为了每次使用的时候,不需要从磁盘获取
late String userId = '';
late String userSig = '';
late String userToken = '';
/// 获取存储的token这个可以做到持久化存储
String get _userSig => _box.read('userSig') ?? '';
String get _userId => _box.read('userId') ?? '';
String get _userSig => _box.read('userSig') ?? '';
String get _userToken => _box.read('userToken') ?? '';
Rx<UserInfoModel> userInfo = UserInfoModel.empty().obs;
@@ -29,27 +32,32 @@ class AuthService extends GetxService {
void onInit() {
super.onInit();
if (_userSig.isNotEmpty) {
if (_userToken.isNotEmpty) {
isLogin.value = true;
userSig = _userSig;
userId = _userId;
userToken = _userToken;
}
// ever(_isLogin, (_) {
// if (_ == true) {
// Get.offAllNamed(AppRoutes.app);
// } else {
// Get.offAllNamed(AuthRoutes.index);
// }
// });
}
Future<bool> login(String address) async {
_box.write('userId', '');
userId = '';
isLogin.value = true;
var result = await AuthProvider.login(address);
return true;
if (result != null) {
_box.write('userId', result.userID);
_box.write('userSig', result.userSig);
_box.write('userToken', result.userToken);
userId = result.userID;
userSig = result.userSig;
userToken = result.userToken;
isLogin.value = true;
return true;
} else {
return false;
}
}
/// 退出登录
@@ -57,8 +65,11 @@ class AuthService extends GetxService {
await TencentImSDKPlugin.v2TIMManager.logout();
_box.remove('userSig');
_box.remove('userId');
_box.remove('userToken');
userSig = '';
userId = '';
userToken = '';
userInfo.value = UserInfoModel.empty();
isLogin.value = false;
Get.offAllNamed(AuthRoutes.index);