no message
This commit is contained in:
parent
85aa842a9a
commit
48e842f113
|
|
@ -1,5 +1,8 @@
|
|||
import 'package:dio/dio.dart' hide Headers;
|
||||
import 'package:retrofit/retrofit.dart';
|
||||
import 'package:school_asignment_app/common/job/common/app_version_model.dart';
|
||||
import 'package:school_asignment_app/common/job/common/base_app_version.dart';
|
||||
import 'package:school_asignment_app/common/job/common/base_page_data.dart';
|
||||
import 'package:school_asignment_app/common/job/enum_subject.dart';
|
||||
import 'package:school_asignment_app/common/job/user_info_detail.dart';
|
||||
import 'package:school_asignment_app/common/job/work_student.dart';
|
||||
|
|
@ -12,6 +15,12 @@ part 'retrofit_client.g.dart';
|
|||
abstract class RetrofitClient {
|
||||
factory RetrofitClient(Dio dio, {String? baseUrl}) = _RetrofitClient;
|
||||
|
||||
/* start 系统系列接口 */
|
||||
@POST("/api/infra/AppVersion/GetList")
|
||||
Future<BasePageData<AppVersionModel>?> getAppVersions(@Body() BaseAppVersion appVersion);
|
||||
|
||||
/* start 系统系列接口 */
|
||||
|
||||
@POST("/api/rbac/Auth/Login")
|
||||
Future toLogin(@Field() String account, @Field() String password);
|
||||
|
||||
|
|
@ -22,5 +31,5 @@ abstract class RetrofitClient {
|
|||
Future<WorkStudent> getWorkList(@Queries() WorkStudentParams params);
|
||||
|
||||
@GET("/api/app/Common/GetEnumInfos")
|
||||
Future<Map<String,List<EnumSubject>>> getEnumSubjectList(@Query('enumNames') String enumNames);
|
||||
Future<Map<String, List<EnumSubject>>> getEnumSubjectList(@Query('enumNames') String enumNames);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,19 +0,0 @@
|
|||
import 'package:school_asignment_app/common/job/user_info.dart';
|
||||
import 'package:school_asignment_app/common/request/rest_dio.dart';
|
||||
|
||||
import '../job/common/base_structure_result.dart';
|
||||
import 'retrofit_client.dart';
|
||||
|
||||
class UserApi {
|
||||
// static Future<BaseStructureResult<dynamic>> toLogin({required String loginName, required String password}) async {
|
||||
// var response = await RestDio.instance
|
||||
// .post('/auth/login/exam-marking/user', data: {'loginName': loginName, 'password': password});
|
||||
// return BaseStructureResult.fromJson(response, (response) => response);
|
||||
// }
|
||||
|
||||
// // 获取用户信息
|
||||
// static Future<BaseStructureResult<UserInfo>> getUserInfo() async {
|
||||
// var response = await RestDio.instanime.get('/auth/info/cur-user');
|
||||
// return BaseStructureResult.fromJson(response, (response) => UserInfo.fromJson(response));
|
||||
// }
|
||||
}
|
||||
|
|
@ -15,4 +15,6 @@ class AppConfig {
|
|||
/// ui width
|
||||
static const UI_HEIGHT = 812.0;
|
||||
|
||||
static const SKIP_UPDATING_USER = '18888888888';
|
||||
static const APP_NAME = '18888888888';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,12 @@
|
|||
import 'package:json_annotation/json_annotation.dart';
|
||||
|
||||
part 'app_version_model.g.dart';
|
||||
|
||||
@JsonSerializable()
|
||||
class AppVersionModel extends Object {
|
||||
AppVersionModel();
|
||||
|
||||
factory AppVersionModel.fromJson(Map<String, dynamic> srcJson) => _$AppVersionModelFromJson(srcJson);
|
||||
|
||||
Map<String, dynamic> toJson() => _$AppVersionModelToJson(this);
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
import 'package:json_annotation/json_annotation.dart';
|
||||
import 'package:school_asignment_app/common/job/common/base_page.dart';
|
||||
|
||||
part 'base_app_version.g.dart';
|
||||
|
||||
@JsonSerializable()
|
||||
class BaseAppVersion extends BasePage {
|
||||
@JsonKey(name: 'AppName')
|
||||
String appName;
|
||||
|
||||
// 1 安卓 2 IOS
|
||||
@JsonKey(name: 'FtuType')
|
||||
int ftuType;
|
||||
|
||||
BaseAppVersion(this.appName, this.ftuType, super.page, super.limit);
|
||||
|
||||
factory BaseAppVersion.fromJson(Map<String, dynamic> srcJson) => _$BaseAppVersionFromJson(srcJson);
|
||||
|
||||
Map<String, dynamic> toJson() => _$BaseAppVersionToJson(this);
|
||||
}
|
||||
|
|
@ -6,26 +6,24 @@
|
|||
* @FilePath: \marking_app\lib\common\model\common\base_page.dart
|
||||
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||
*/
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
|
||||
part 'base_page.g.dart';
|
||||
|
||||
|
||||
@JsonSerializable()
|
||||
class BasePage extends Object {
|
||||
|
||||
@JsonKey(name: 'Page')
|
||||
class BasePage extends Object {
|
||||
@JsonKey(name: 'PageNumber')
|
||||
int page;
|
||||
|
||||
@JsonKey(name: 'Limit')
|
||||
@JsonKey(name: 'PageSize')
|
||||
int limit;
|
||||
|
||||
BasePage(this.page,this.limit,);
|
||||
BasePage(
|
||||
this.page,
|
||||
this.limit,
|
||||
);
|
||||
|
||||
factory BasePage.fromJson(Map<String, dynamic> srcJson) => _$BasePageFromJson(srcJson);
|
||||
|
||||
Map<String, dynamic> toJson() => _$BasePageToJson(this);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -6,24 +6,23 @@
|
|||
* @FilePath: \marking_app\lib\common\model\common\base_page.dart
|
||||
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||
*/
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
|
||||
part 'base_page_data.g.dart';
|
||||
|
||||
@JsonSerializable(genericArgumentFactories: true, fieldRename: FieldRename.snake)
|
||||
class BasePageData<T> extends Object {
|
||||
|
||||
class BasePageData<T> extends Object {
|
||||
@JsonKey(name: 'items')
|
||||
List<T> items;
|
||||
|
||||
@JsonKey(name: 'total')
|
||||
@JsonKey(name: 'totalCount')
|
||||
int total;
|
||||
|
||||
BasePageData(this.items,this.total,);
|
||||
BasePageData(
|
||||
this.items,
|
||||
this.total,
|
||||
);
|
||||
|
||||
|
||||
factory BasePageData.fromJson( Map<String, dynamic> json, T Function(dynamic json) fromJsonT) => _$BasePageDataFromJson(json, fromJsonT);
|
||||
factory BasePageData.fromJson(Map<String, dynamic> json, T Function(dynamic json) fromJsonT) => _$BasePageDataFromJson(json, fromJsonT);
|
||||
Map<String, dynamic> toJson(Object Function(T value) toJsonT) => _$BasePageDataToJson(this, toJsonT);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,14 @@
|
|||
import 'dart:convert';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:package_info/package_info.dart';
|
||||
import 'package:school_asignment_app/common/config/app_config.dart';
|
||||
import 'package:school_asignment_app/common/job/common/app_version_model.dart';
|
||||
import 'package:school_asignment_app/common/job/common/base_app_version.dart';
|
||||
import 'package:school_asignment_app/common/job/common/base_page_data.dart';
|
||||
import 'package:school_asignment_app/common/job/user_info.dart';
|
||||
import 'package:school_asignment_app/common/job/user_info_detail.dart';
|
||||
import 'package:school_asignment_app/common/mixins/request_tool_mixin.dart';
|
||||
|
|
@ -16,8 +22,6 @@ import 'package:school_asignment_app/page/work_page/work_logic.dart';
|
|||
import 'package:school_asignment_app/page/work_page/work_view.dart';
|
||||
import 'package:school_asignment_app/routes/app_pages.dart';
|
||||
|
||||
import '../../common/utils/storage.dart';
|
||||
|
||||
class StartPage extends StatefulWidget {
|
||||
const StartPage({Key? key}) : super(key: key);
|
||||
|
||||
|
|
@ -132,9 +136,10 @@ class _StartPageState extends State<StartPage> {
|
|||
}
|
||||
|
||||
class PageIndexState {
|
||||
PageIndexState({required this.pageController});
|
||||
PageIndexState({required this.pageController, this.showUpgrade = false});
|
||||
|
||||
RxInt pageIndex = 0.obs;
|
||||
bool showUpgrade;
|
||||
|
||||
//文本输入框控制器
|
||||
final PageController pageController;
|
||||
|
|
@ -143,6 +148,44 @@ class PageIndexState {
|
|||
class PageIndexController extends GetxController with RequestToolMixin {
|
||||
late PageIndexState _pageIndexState;
|
||||
|
||||
void getAppUpgrade(UserInfoDetail user) async {
|
||||
try {
|
||||
_pageIndexState.showUpgrade = true;
|
||||
if (user.name == AppConfig.SKIP_UPDATING_USER) return;
|
||||
// 获取设备信息
|
||||
String deviceInfo = "android";
|
||||
int deviceType;
|
||||
if (Platform.isAndroid) {
|
||||
deviceType = 1;
|
||||
} else if (Platform.isIOS) {
|
||||
deviceInfo = "ios";
|
||||
deviceType = 2;
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
var params = BaseAppVersion(AppConfig.APP_NAME, deviceType, 1, 1);
|
||||
BasePageData<AppVersionModel>? result = await getClient().getAppVersions(params);
|
||||
if (result != null && result.total == 1) {
|
||||
//获取当前版本
|
||||
PackageInfo packageInfo = await PackageInfo.fromPlatform();
|
||||
//获取当前版本
|
||||
String localVersion = packageInfo.version;
|
||||
String appName = packageInfo.appName; //应用名称
|
||||
String packageName = packageInfo.packageName; //包名称
|
||||
// String buildNumber = packageInfo.buildNumber; //小版本号
|
||||
AppVersionModel data = result.items[0];
|
||||
// Map json = {'downloadPath': data.apkUrl, 'version': data.version, 'systemType': deviceType, 'description': data.description};
|
||||
// UpdateAppEvent updateAppEvent = UpdateAppEvent.fromJson(json, localVersion, deviceInfo, appName, packageName, typeName: 'systemType');
|
||||
// if (updateAppEvent.upgrade) {
|
||||
// await UpdateDialog.showUpdateDialog(context, updateAppEvent);
|
||||
// }
|
||||
}
|
||||
} catch (e) {
|
||||
} finally {
|
||||
_pageIndexState.showUpgrade = false;
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void onInit() {
|
||||
_pageIndexState = PageIndexState(pageController: PageController());
|
||||
|
|
|
|||
|
|
@ -1,11 +1,6 @@
|
|||
import 'package:dio/dio.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_easyloading/flutter_easyloading.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:school_asignment_app/common/api/user_api.dart';
|
||||
import 'package:school_asignment_app/common/job/common/base_structure_result.dart';
|
||||
import 'package:school_asignment_app/common/job/user_info.dart';
|
||||
import 'package:school_asignment_app/common/job/user_login.dart';
|
||||
import 'package:school_asignment_app/common/mixins/request_tool_mixin.dart';
|
||||
import 'package:school_asignment_app/common/store/user_store.dart';
|
||||
import 'package:school_asignment_app/common/utils/storage.dart';
|
||||
|
|
|
|||
Loading…
Reference in New Issue