app-starlock/star_lock/lib/network/request_interceptor.dart
2024-04-26 15:38:59 +08:00

31 lines
1.1 KiB
Dart

import 'dart:async';
import 'dart:convert';
import 'package:get/get.dart';
import 'package:get/get_connect/http/src/request/request.dart';
import 'package:star_lock/login/login/entity/LoginData.dart';
import '../tools/platform_info_services.dart';
import '../tools/storage.dart';
//公共获取UA
String getUserAgent() {
//赋值变量方便调试
String ua =
'StarLock/${PlatformInfoService.to.info.version}/${PlatformInfoService.to.info.buildNumber}/${GetPlatform.isAndroid ? 'Android' : 'iOS'}';
return ua;
}
FutureOr<Request> requestInterceptor(Request request) async {
request.headers['User-Agent'] = getUserAgent();
request.headers['Accept-Language'] = 'zh-CN';
// request.headers['Content-Type'] = 'application/json';
// request.headers['token'] = StoreService.to.userToken!;
String? xToken = '';
final data = await Storage.getString(saveUserLoginData);
if (data != null && data.isNotEmpty) {
xToken = LoginData.fromJson(jsonDecode(data)).accessToken;
}
request.headers['Authorization'] = "Bearer ${xToken ?? ''}";
return request;
}