Browse Source

登录成功

ios
Jolie 4 months ago
parent
commit
40ebec00f2
6 changed files with 45 additions and 24 deletions
  1. 4
      android/app/build.gradle.kts
  2. 5
      android/app/src/main/kotlin/com/juxinghe/touchme/dating_touchme_app/MainActivity.kt
  3. 28
      lib/model/mine/login_data.dart
  4. 3
      lib/network/user_api.dart
  5. 12
      lib/network/user_api.g.dart
  6. 17
      lib/pages/mine/login_controller.dart

4
android/app/build.gradle.kts

@ -6,7 +6,7 @@ plugins {
}
android {
namespace = "com.juxinghe.touchme.dating_touchme_app"
namespace = "com.juxinghe.touchme"
compileSdk = flutter.compileSdkVersion
ndkVersion = flutter.ndkVersion
@ -21,7 +21,7 @@ android {
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId = "com.juxinghe.touchme.dating_touchme_app"
applicationId = "com.juxinghe.touchme"
// You can update the following values to match your application needs.
// For more information, see: https://flutter.dev/to/review-gradle-config.
minSdk = flutter.minSdkVersion

5
android/app/src/main/kotlin/com/juxinghe/touchme/dating_touchme_app/MainActivity.kt

@ -1,5 +0,0 @@
package com.juxinghe.touchme.dating_touchme_app
import io.flutter.embedding.android.FlutterActivity
class MainActivity : FlutterActivity()

28
lib/model/mine/login_data.dart

@ -0,0 +1,28 @@
//
class LoginData {
final String token;
final String userId;
LoginData({required this.token, required this.userId});
// JSON映射创建实例
factory LoginData.fromJson(Map<String, dynamic> json) {
return LoginData(
token: json['token'] ?? '',
userId: json['userId'] ?? '',
);
}
// JSON映射
Map<String, dynamic> toJson() {
return {
'token': token,
'userId': userId,
};
}
@override
String toString() {
return 'LoginData(token: $token, userId: $userId)';
}
}

3
lib/network/user_api.dart

@ -1,3 +1,4 @@
import 'package:dating_touchme_app/model/mine/login_data.dart';
import 'package:dating_touchme_app/network/response_model.dart';
import 'package:dating_touchme_app/network/api_urls.dart';
import 'package:retrofit/retrofit.dart';
@ -10,7 +11,7 @@ abstract class UserApi {
factory UserApi(Dio dio) = _UserApi;
@POST(ApiUrls.login)
Future<HttpResponse<BaseResponse<dynamic>>> login(
Future<HttpResponse<BaseResponse<LoginData>>> login(
@Body() Map<String, dynamic> data,
);

12
lib/network/user_api.g.dart

@ -20,7 +20,7 @@ class _UserApi implements UserApi {
final ParseErrorLogger? errorLogger;
@override
Future<HttpResponse<BaseResponse<dynamic>>> login(
Future<HttpResponse<BaseResponse<LoginData>>> login(
Map<String, dynamic> data,
) async {
final _extra = <String, dynamic>{};
@ -28,7 +28,7 @@ class _UserApi implements UserApi {
final _headers = <String, dynamic>{};
final _data = <String, dynamic>{};
_data.addAll(data);
final _options = _setStreamType<HttpResponse<BaseResponse<dynamic>>>(
final _options = _setStreamType<HttpResponse<BaseResponse<LoginData>>>(
Options(method: 'POST', headers: _headers, extra: _extra)
.compose(
_dio.options,
@ -39,11 +39,11 @@ class _UserApi implements UserApi {
.copyWith(baseUrl: _combineBaseUrls(_dio.options.baseUrl, baseUrl)),
);
final _result = await _dio.fetch<Map<String, dynamic>>(_options);
late BaseResponse<dynamic> _value;
late BaseResponse<LoginData> _value;
try {
_value = BaseResponse<dynamic>.fromJson(
_value = BaseResponse<LoginData>.fromJson(
_result.data!,
(json) => json as dynamic,
(json) => LoginData.fromJson(json as Map<String, dynamic>),
);
} on Object catch (e, s) {
errorLogger?.logError(e, s, _options);
@ -63,7 +63,7 @@ class _UserApi implements UserApi {
Options(method: 'GET', headers: _headers, extra: _extra)
.compose(
_dio.options,
'user/info',
'dating-agency-uec/user/get/base-info',
queryParameters: queryParameters,
data: _data,
)

17
lib/pages/mine/login_controller.dart

@ -51,7 +51,8 @@ class LoginController extends GetxController {
//
if (response.data.isSuccess) {
print('验证码发送成功');
// 使
// print('验证码发送成功');
//
startCountdown();
} else {
@ -109,16 +110,12 @@ class LoginController extends GetxController {
if (response.data.isSuccess) {
// token和用户信息
if (response.data.data != null) {
final userData = response.data.data as Map<String, dynamic>;
if (userData.containsKey('token')) {
await storage.write('token', userData['token']);
}
//
await storage.write('userInfo', userData);
final loginData = response.data.data!;
// await storage.write('token', loginData.token);
// await storage.write('userId', loginData.userId);
// //
// await storage.write('userInfo', loginData.toJson());
}
//
Get.offAllNamed('/main');
} else {
SmartDialog.showToast(response.data.message);
}

Loading…
Cancel
Save