Browse Source

获取基本信息

ios
Jolie 4 months ago
parent
commit
a0fed6b8bc
7 changed files with 37 additions and 13 deletions
  1. 2
      lib/config/env_config.dart
  2. 2
      lib/main.dart
  3. 2
      lib/network/api_urls.dart
  4. 2
      lib/network/network_config.dart
  5. 7
      lib/network/user_api.dart
  6. 14
      lib/network/user_api.g.dart
  7. 21
      lib/pages/mine/login_controller.dart

2
lib/config/env_config.dart

@ -14,7 +14,7 @@ class EnvConfig {
// //
static const Map<String, String> _releaseConfig = { static const Map<String, String> _releaseConfig = {
'mainBaseUrl': 'https://dating-agency-api-test.qniao.cn/',
'mainBaseUrl': 'https://dating-agency-api.quzhaoqin.com/',
'fileBaseUrl': 'https://dating-agency-api-test.qniao.cn/', 'fileBaseUrl': 'https://dating-agency-api-test.qniao.cn/',
}; };

2
lib/main.dart

@ -72,6 +72,6 @@ class MyApp extends StatelessWidget {
final token = storage.read<String>('token'); final token = storage.read<String>('token');
// token为空 // token为空
return token == null || token.isEmpty ? LoginPage() : MainPage();
return LoginPage();
} }
} }

2
lib/network/api_urls.dart

@ -6,7 +6,7 @@ class ApiUrls {
static const String getVerificationCode = 'dating-agency-uec/authorize/get/auth-captcha'; static const String getVerificationCode = 'dating-agency-uec/authorize/get/auth-captcha';
// //
static const String getUserInfo = 'dating-agency-uec/user/get/base-info';
static const String getBaseUserInfo = 'dating-agency-uec/user/get/base-info';
// API端点 // API端点
} }

2
lib/network/network_config.dart

@ -67,7 +67,7 @@ class AuthInterceptor extends Interceptor {
// token等认证信息 // token等认证信息
final token = _getToken(); final token = _getToken();
if (token != null && token.isNotEmpty) { if (token != null && token.isNotEmpty) {
options.headers['Authorization'] = 'Bearer $token';
options.headers['Authorization'] = token;
} }
// //

7
lib/network/user_api.dart

@ -1,4 +1,5 @@
import 'package:dating_touchme_app/model/mine/login_data.dart'; import 'package:dating_touchme_app/model/mine/login_data.dart';
import 'package:dating_touchme_app/model/mine/user_base_data.dart';
import 'package:dating_touchme_app/network/response_model.dart'; import 'package:dating_touchme_app/network/response_model.dart';
import 'package:dating_touchme_app/network/api_urls.dart'; import 'package:dating_touchme_app/network/api_urls.dart';
import 'package:retrofit/retrofit.dart'; import 'package:retrofit/retrofit.dart';
@ -15,8 +16,10 @@ abstract class UserApi {
@Body() Map<String, dynamic> data, @Body() Map<String, dynamic> data,
); );
@GET(ApiUrls.getUserInfo)
Future<HttpResponse<BaseResponse<dynamic>>> getUserInfo();
@GET(ApiUrls.getBaseUserInfo)
Future<HttpResponse<BaseResponse<UserBaseData>>> getBaseUserInfo(
@Query('userId') String userId,
);
@POST(ApiUrls.getVerificationCode) @POST(ApiUrls.getVerificationCode)
Future<HttpResponse<BaseResponse<dynamic>>> getVerificationCode( Future<HttpResponse<BaseResponse<dynamic>>> getVerificationCode(

14
lib/network/user_api.g.dart

@ -54,12 +54,14 @@ class _UserApi implements UserApi {
} }
@override @override
Future<HttpResponse<BaseResponse<dynamic>>> getUserInfo() async {
Future<HttpResponse<BaseResponse<UserBaseData>>> getBaseUserInfo(
String userId,
) async {
final _extra = <String, dynamic>{}; final _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
final queryParameters = <String, dynamic>{r'userId': userId};
final _headers = <String, dynamic>{}; final _headers = <String, dynamic>{};
const Map<String, dynamic>? _data = null; const Map<String, dynamic>? _data = null;
final _options = _setStreamType<HttpResponse<BaseResponse<dynamic>>>(
final _options = _setStreamType<HttpResponse<BaseResponse<UserBaseData>>>(
Options(method: 'GET', headers: _headers, extra: _extra) Options(method: 'GET', headers: _headers, extra: _extra)
.compose( .compose(
_dio.options, _dio.options,
@ -70,11 +72,11 @@ class _UserApi implements UserApi {
.copyWith(baseUrl: _combineBaseUrls(_dio.options.baseUrl, baseUrl)), .copyWith(baseUrl: _combineBaseUrls(_dio.options.baseUrl, baseUrl)),
); );
final _result = await _dio.fetch<Map<String, dynamic>>(_options); final _result = await _dio.fetch<Map<String, dynamic>>(_options);
late BaseResponse<dynamic> _value;
late BaseResponse<UserBaseData> _value;
try { try {
_value = BaseResponse<dynamic>.fromJson(
_value = BaseResponse<UserBaseData>.fromJson(
_result.data!, _result.data!,
(json) => json as dynamic,
(json) => UserBaseData.fromJson(json as Map<String, dynamic>),
); );
} on Object catch (e, s) { } on Object catch (e, s) {
errorLogger?.logError(e, s, _options); errorLogger?.logError(e, s, _options);

21
lib/pages/mine/login_controller.dart

@ -111,10 +111,13 @@ class LoginController extends GetxController {
// token和用户信息 // token和用户信息
if (response.data.data != null) { if (response.data.data != null) {
final loginData = response.data.data!; final loginData = response.data.data!;
// await storage.write('token', loginData.token);
await storage.write('token', loginData.token);
// await storage.write('userId', loginData.userId); // await storage.write('userId', loginData.userId);
// // // //
// await storage.write('userInfo', loginData.toJson()); // await storage.write('userInfo', loginData.toJson());
//
await _getBaseUserInfo(loginData.userId);
} }
} else { } else {
SmartDialog.showToast(response.data.message); SmartDialog.showToast(response.data.message);
@ -125,4 +128,20 @@ class LoginController extends GetxController {
isLoggingIn.value = false; isLoggingIn.value = false;
} }
} }
//
Future<void> _getBaseUserInfo(String userId) async {
try {
final response = await _userApi.getBaseUserInfo(userId);
if (response.data.isSuccess && response.data.data != null) {
// UI状态
} else {
SmartDialog.showToast(response.data.message);
}
} catch (e) {
//
// SmartDialog.showToast('获取用户信息失败');
}
}
} }
Loading…
Cancel
Save