Commit caec5687c63a857c868a4f9dec93fe64f26be66b
1 parent
28f20da9
feat:header传应用版本号
Showing
3 changed files
with
26 additions
and
5 deletions
lib/common/core/app_config_helper.dart
1 | - | ||
2 | - | ||
3 | import 'dart:ffi'; | 1 | import 'dart:ffi'; |
2 | +import 'dart:io'; | ||
4 | 3 | ||
4 | +import 'package:flutter/cupertino.dart'; | ||
5 | +import 'package:package_info_plus/package_info_plus.dart'; | ||
5 | import 'package:wow_english/common/core/user_util.dart'; | 6 | import 'package:wow_english/common/core/user_util.dart'; |
6 | 7 | ||
7 | import '../../models/app_config_entity.dart'; | 8 | import '../../models/app_config_entity.dart'; |
@@ -11,6 +12,8 @@ class AppConfigHelper { | @@ -11,6 +12,8 @@ class AppConfigHelper { | ||
11 | 12 | ||
12 | static AppConfigEntityEntity? configEntityEntity; | 13 | static AppConfigEntityEntity? configEntityEntity; |
13 | 14 | ||
15 | + static String versionCode = ''; | ||
16 | + | ||
14 | /// 获取用户信息 | 17 | /// 获取用户信息 |
15 | static Future<Void?> getAppConfig() async { | 18 | static Future<Void?> getAppConfig() async { |
16 | configEntityEntity = await SystemDao.getAppConfig(); | 19 | configEntityEntity = await SystemDao.getAppConfig(); |
@@ -21,4 +24,18 @@ class AppConfigHelper { | @@ -21,4 +24,18 @@ class AppConfigHelper { | ||
21 | static bool shouldHidePay() { | 24 | static bool shouldHidePay() { |
22 | return configEntityEntity?.isAppReviewing() == true || UserUtil.getUser()?.phoneNum == "17730280759"; | 25 | return configEntityEntity?.isAppReviewing() == true || UserUtil.getUser()?.phoneNum == "17730280759"; |
23 | } | 26 | } |
27 | + | ||
28 | + // 获取app版本号 | ||
29 | + static Future<String> getAppVersion() async { | ||
30 | + if (versionCode.isNotEmpty) { | ||
31 | + return versionCode; | ||
32 | + } | ||
33 | + PackageInfo packageInfo = await PackageInfo.fromPlatform(); | ||
34 | + String version = packageInfo.version; // 版本号 | ||
35 | + String buildNumber = packageInfo.buildNumber; // 构建号 | ||
36 | + versionCode = version; | ||
37 | + | ||
38 | + debugPrint('versionCode=$versionCode platForm=${Platform.operatingSystem}'); | ||
39 | + return versionCode; | ||
40 | + } | ||
24 | } | 41 | } |
lib/common/request/token_interceptor.dart
1 | import 'package:dio/dio.dart'; | 1 | import 'package:dio/dio.dart'; |
2 | import 'package:wow_english/common/core/user_util.dart'; | 2 | import 'package:wow_english/common/core/user_util.dart'; |
3 | 3 | ||
4 | +import '../core/app_config_helper.dart'; | ||
5 | + | ||
4 | class TokenInterceptor extends Interceptor { | 6 | class TokenInterceptor extends Interceptor { |
5 | @override | 7 | @override |
6 | - void onRequest(RequestOptions options, RequestInterceptorHandler handler) { | 8 | + void onRequest(RequestOptions options, RequestInterceptorHandler handler) async { |
7 | // 判断token不为空插入, todo token的取法应该跟user在一起,这里取不到user | 9 | // 判断token不为空插入, todo token的取法应该跟user在一起,这里取不到user |
8 | if (UserUtil.isLogined()) { | 10 | if (UserUtil.isLogined()) { |
9 | options.headers["Auth-token"] = UserUtil.getUserToken(); | 11 | options.headers["Auth-token"] = UserUtil.getUserToken(); |
10 | } | 12 | } |
11 | - options.headers["version"] = '1.0.0'; | 13 | + // 在发送请求之前获取版本号 |
14 | + String version = await AppConfigHelper.getAppVersion(); | ||
15 | + options.headers["version"] = version; | ||
12 | super.onRequest(options, handler); | 16 | super.onRequest(options, handler); |
13 | } | 17 | } |
14 | } | 18 | } |
pubspec.yaml
@@ -104,7 +104,7 @@ dependencies: | @@ -104,7 +104,7 @@ dependencies: | ||
104 | # 阿里云oss https://pub.dev/packages/flutter_oss_aliyun | 104 | # 阿里云oss https://pub.dev/packages/flutter_oss_aliyun |
105 | flutter_oss_aliyun: ^6.2.7 | 105 | flutter_oss_aliyun: ^6.2.7 |
106 | # App信息 https://pub.dev/packages/package_info_plus | 106 | # App信息 https://pub.dev/packages/package_info_plus |
107 | - package_info_plus: ^4.0.2 | 107 | + package_info_plus: ^4.2.0 |
108 | 108 | ||
109 | dev_dependencies: | 109 | dev_dependencies: |
110 | build_runner: ^2.4.4 | 110 | build_runner: ^2.4.4 |