Bladeren bron

[new]增加appBaseRequest基类

zk 1 jaar geleden
bovenliggende
commit
ff37a4a44c

+ 14 - 0
lib/data/api/request/app_base_request.dart

@@ -0,0 +1,14 @@
+import 'package:electronic_assistant/base/base_request.dart';
+import 'package:electronic_assistant/data/repositories/account_repository.dart';
+import 'package:json_annotation/json_annotation.dart';
+
+part 'app_base_request.g.dart';
+
+@JsonSerializable()
+class AppBaseRequest extends BaseRequest {
+  @JsonKey(name: 'authToken')
+  String? authToken = accountRepository.token;
+
+  @override
+  Map<String, dynamic> toJson() => _$AppBaseRequestToJson(this);
+}

+ 3 - 1
lib/data/api/request/login_request.dart

@@ -1,10 +1,12 @@
 import 'package:electronic_assistant/base/base_request.dart';
 import 'package:json_annotation/json_annotation.dart';
 
+import 'app_base_request.dart';
+
 part 'login_request.g.dart';
 
 @JsonSerializable()
-class LoginRequest extends BaseRequest {
+class LoginRequest extends AppBaseRequest {
   @JsonKey(name: "phone")
   late String phone;
 

+ 3 - 2
lib/data/api/request/verification_code_request.dart

@@ -1,10 +1,11 @@
-import 'package:electronic_assistant/base/base_request.dart';
 import 'package:json_annotation/json_annotation.dart';
 
+import 'app_base_request.dart';
+
 part 'verification_code_request.g.dart';
 
 @JsonSerializable()
-class VerificationCodeRequest extends BaseRequest {
+class VerificationCodeRequest extends AppBaseRequest {
   @JsonKey(name: "phone")
   late String phone;
 

+ 13 - 9
lib/data/repositories/account_repository.dart

@@ -15,19 +15,23 @@ class AccountRepository {
   final ACCOUNT_TOKEN = 'account_token';
   final ACCOUNT_PHONE = 'account_phone';
 
-  String? token;
-  String? phone;
+  String? _token;
+  String? _phone;
   final isLogin = false.obs;
 
   AccountRepository._() {
     debugPrint('AccountRepository init');
-    token = KVUtil.getString(ACCOUNT_TOKEN, null);
-    phone = KVUtil.getString(ACCOUNT_PHONE, null);
-    if (token != null && token!.isNotEmpty) {
+    _token = KVUtil.getString(ACCOUNT_TOKEN, null);
+    _phone = KVUtil.getString(ACCOUNT_PHONE, null);
+    if (_token != null && _token!.isNotEmpty) {
       isLogin.value = true;
     }
   }
 
+  String? get phone => _phone;
+
+  String? get token => _token;
+
   Future<void> getVerificationCode(String phone) {
     return atmobApi
         .getVerificationCode(VerificationCodeRequest(phone))
@@ -46,16 +50,16 @@ class AccountRepository {
   }
 
   void onLoginSuccess(String phone, String? token) {
-    this.token = token;
-    this.phone = phone;
+    this._token = token;
+    this._phone = phone;
     KVUtil.putString(ACCOUNT_TOKEN, token);
     KVUtil.putString(ACCOUNT_PHONE, phone);
     isLogin.value = true;
   }
 
   void logout() {
-    token = null;
-    phone = null;
+    _phone = null;
+    _phone = null;
     KVUtil.putString(ACCOUNT_TOKEN, null);
     KVUtil.putString(ACCOUNT_PHONE, null);
     isLogin.value = false;