数据提交

This commit is contained in:
1147192855@qq.com 2024-06-24 14:09:27 +08:00
parent e73d1ddaab
commit 99b0aca3d3
6 changed files with 53 additions and 29 deletions

View File

@ -1,5 +1,3 @@
import 'dart:io';
import 'package:dio/dio.dart' hide Headers; import 'package:dio/dio.dart' hide Headers;
import 'package:making_school_asignment_app/common/job/marking_models/do_paper_details_param.dart'; import 'package:making_school_asignment_app/common/job/marking_models/do_paper_details_param.dart';
import 'package:making_school_asignment_app/common/job/marking_models/do_paper_details_result.dart'; import 'package:making_school_asignment_app/common/job/marking_models/do_paper_details_result.dart';

View File

@ -1,6 +1,10 @@
import 'package:dio/dio.dart';
import 'package:making_school_asignment_app/common/request/rest_dio.dart'; import 'package:making_school_asignment_app/common/request/rest_dio.dart';
import 'package:making_school_asignment_app/common/api/retrofit_client.dart'; import 'package:making_school_asignment_app/common/api/retrofit_client.dart';
mixin RequestToolMixin { mixin RequestToolMixin {
// DIO
Dio getClientDio() => RequestTool.instance.getDio();
// Client
RetrofitClient getClient() => RequestTool.instance.getClient(); RetrofitClient getClient() => RequestTool.instance.getClient();
} }

View File

@ -11,6 +11,7 @@ import 'package:making_school_asignment_app/common/utils/toast_utils.dart';
import 'package:making_school_asignment_app/routes/app_pages.dart'; import 'package:making_school_asignment_app/routes/app_pages.dart';
class RequestTool { class RequestTool {
static late Dio _dio;
// //
static _init() { static _init() {
BaseOptions options = BaseOptions( BaseOptions options = BaseOptions(
@ -18,16 +19,16 @@ class RequestTool {
connectTimeout: const Duration(milliseconds: RequestConfig.connectTimeout), connectTimeout: const Duration(milliseconds: RequestConfig.connectTimeout),
receiveTimeout: const Duration(milliseconds: RequestConfig.receiveTimeout), receiveTimeout: const Duration(milliseconds: RequestConfig.receiveTimeout),
); );
Dio dio = Dio(options); _dio = Dio(options);
dio.interceptors.add(AuthInterceptor()); // token _dio.interceptors.add(AuthInterceptor()); // token
dio.interceptors.add(ResponseHandle()); // _dio.interceptors.add(ResponseHandle()); //
dio.interceptors.add(TheError()); // _dio.interceptors.add(TheError()); //
const isProd = bool.fromEnvironment('dart.vm.product'); const isProd = bool.fromEnvironment('dart.vm.product');
if (!isProd && RequestConfig.requestDataPrinting) { if (!isProd && RequestConfig.requestDataPrinting) {
dio.interceptors.add(LogInterceptor(responseBody: true, requestBody: true)); // _dio.interceptors.add(LogInterceptor(responseBody: true, requestBody: true)); //
} }
return RetrofitClient(dio, baseUrl: RequestConfig().baseUrl); return RetrofitClient(_dio, baseUrl: RequestConfig().baseUrl);
} }
final RetrofitClient _client; final RetrofitClient _client;
@ -43,6 +44,9 @@ class RequestTool {
return _instance!; return _instance!;
} }
// DIO
Dio getDio() => _dio;
RetrofitClient getClient() => _client; RetrofitClient getClient() => _client;
} }

View File

@ -7,6 +7,7 @@ import 'package:flutter_spinkit/flutter_spinkit.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:functional_widget_annotation/functional_widget_annotation.dart'; import 'package:functional_widget_annotation/functional_widget_annotation.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:get/get_connect/http/src/request/request.dart';
import 'package:making_school_asignment_app/common/job/marking_models/do_test_questions_image_info.dart'; import 'package:making_school_asignment_app/common/job/marking_models/do_test_questions_image_info.dart';
import 'package:making_school_asignment_app/common/job/marking_models/original_manuscript_handwriting_params.dart'; import 'package:making_school_asignment_app/common/job/marking_models/original_manuscript_handwriting_params.dart';
import 'package:making_school_asignment_app/common/mixins/event_bus_mixin.dart'; import 'package:making_school_asignment_app/common/mixins/event_bus_mixin.dart';
@ -45,13 +46,18 @@ class AnswerHandwriting extends Dialog {
final _handwritingLogic = Get.find<HandwritingLogic>(); final _handwritingLogic = Get.find<HandwritingLogic>();
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
var boxHeight = ScreenUtil().screenHeight / 1.168; //
var boxWidth = ScreenUtil().screenWidth - (ScreenUtil().scaleWidth < 1.5 ? 40.r : 40.r); //
return Center( return Center(
child: Container( child: Container(
height: ScreenUtil().screenHeight / 1.2, height: boxHeight,
width: ScreenUtil().screenWidth - (ScreenUtil().scaleWidth < 1.5 ? 40.r : 40.r), width: boxWidth,
alignment: Alignment.center, alignment: Alignment.center,
child: AnswerHandwritingMainBox( child: AnswerHandwritingMainBox(
handwritingLogic: _handwritingLogic, handwritingLogic: _handwritingLogic,
boxHeight: boxHeight,
boxWidth: boxWidth,
homeworkId: homeworkId, homeworkId: homeworkId,
templateId: templateId, templateId: templateId,
studentId: studentId, studentId: studentId,
@ -101,6 +107,8 @@ class AnswerHandwritingMainBox extends HookWidget with EventBusMixin {
required this.homeworkId, required this.homeworkId,
required this.studentId, required this.studentId,
required this.closeCall, required this.closeCall,
required this.boxHeight,
required this.boxWidth,
this.templateId, this.templateId,
this.pageNum, this.pageNum,
this.questionNo, this.questionNo,
@ -110,6 +118,8 @@ class AnswerHandwritingMainBox extends HookWidget with EventBusMixin {
final HandwritingLogic handwritingLogic; final HandwritingLogic handwritingLogic;
final String homeworkId; final String homeworkId;
final double boxHeight;
final double boxWidth;
final int? templateId; final int? templateId;
final int studentId; final int studentId;
final int? pageNum; final int? pageNum;
@ -119,7 +129,8 @@ class AnswerHandwritingMainBox extends HookWidget with EventBusMixin {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
var _useStateModel = UseMainBoxState.use(homeworkId, studentId, pageNum, questionNo, templateId); var _useStateModel = UseMainBoxState.use(homeworkId, studentId, pageNum, questionNo, templateId);
double barHeight = 62.h;
double imageHeight = boxHeight - barHeight;
useValueChanged<JobHandwriting?, void>(_useStateModel.handwritingData.value, (_, __) { useValueChanged<JobHandwriting?, void>(_useStateModel.handwritingData.value, (_, __) {
var theData = _useStateModel.handwritingData.value; var theData = _useStateModel.handwritingData.value;
_useStateModel.pageNum.value = theData?.pageNum; _useStateModel.pageNum.value = theData?.pageNum;
@ -148,25 +159,27 @@ class AnswerHandwritingMainBox extends HookWidget with EventBusMixin {
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
Expanded( SizedBox(
height: imageHeight,
width: boxWidth,
child: Stack( child: Stack(
alignment: const FractionalOffset(0, 0.5), alignment: const FractionalOffset(0, 0.5),
children: [ children: [
// //
LayoutBuilder(builder: (BuildContext context, BoxConstraints constraints) { SingleChildScrollView(
return HandwritingDrawBox( child: HandwritingDrawBox(
boxWidth: constraints.maxWidth, boxWidth: boxWidth,
boxHeight: constraints.maxHeight, boxHeight: boxHeight,
key: _useStateModel.handwritingKey, key: _useStateModel.handwritingKey,
); ),
}), ),
PageNumberBox(), PageNumberBox(),
PreviousNutton(), // PreviousNutton(), //
NextPageButton(), // NextPageButton(), //
], ],
), ),
), ),
$BottomPlaybar(handwritingLogic), $BottomPlaybar(barHeight, handwritingLogic),
], ],
); );
} }
@ -366,10 +379,7 @@ class _HandwritingDrawBoxState extends State<HandwritingDrawBox> with EventBusMi
} }
}); });
executionDataStream = handwritingLogic.toolbar.executionData.listen((e) { executionDataStream = handwritingLogic.toolbar.executionData.listen((e) => _vnHandWritings.value = e);
print('555555555555555555555555555555');
_vnHandWritings.value = e;
});
eventOn(callback: (e) { eventOn(callback: (e) {
switch (e.runtimeType) { switch (e.runtimeType) {
@ -611,11 +621,11 @@ class PageNumberBox extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.end, crossAxisAlignment: CrossAxisAlignment.end,
children: [ children: [
Obx(() { Obx(() {
return quickText('${handwritingLogic.resultData.value?.pageNum}', color: Colors.white, size: 11.sp, align: TextAlign.end); return quickText('${handwritingLogic.resultData.value?.pageNum ?? 0}', color: Colors.white, size: 11.sp, align: TextAlign.end);
}), }),
quickText('/', color: Colors.white, size: 10.sp, align: TextAlign.end), quickText('/', color: Colors.white, size: 10.sp, align: TextAlign.end),
Obx(() { Obx(() {
return quickText('${handwritingLogic.resultData.value?.pageCount}', color: Colors.white, size: 8.sp, align: TextAlign.end); return quickText('${handwritingLogic.resultData.value?.pageCount ?? 0}', color: Colors.white, size: 8.sp, align: TextAlign.end);
}), }),
], ],
)), )),
@ -624,7 +634,7 @@ class PageNumberBox extends StatelessWidget {
} }
@hwidget @hwidget
Widget $bottomPlaybar(BuildContext context, HandwritingLogic handwritingLogic) { Widget $bottomPlaybar(BuildContext context, double barHeight, HandwritingLogic handwritingLogic) {
var timeConsuming = useState(0); var timeConsuming = useState(0);
var handwritingInfo = useState<HandwritingInfo?>(null); var handwritingInfo = useState<HandwritingInfo?>(null);
@ -704,10 +714,10 @@ Widget $bottomPlaybar(BuildContext context, HandwritingLogic handwritingLogic) {
}, []); }, []);
return Container( return Container(
height: 62.h, height: barHeight,
padding: EdgeInsets.symmetric(horizontal: 10.w), padding: EdgeInsets.symmetric(horizontal: 10.w),
alignment: Alignment.center, alignment: Alignment.center,
color: Color.fromRGBO(0, 0, 0, 0.4), color: const Color.fromRGBO(0, 0, 0, 0.4),
child: Row( child: Row(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [

View File

@ -2,6 +2,7 @@
import 'dart:ui'; import 'dart:ui';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:making_school_asignment_app/common/config/request_config.dart';
import 'package:making_school_asignment_app/common/job/marking_models/do_test_questions_image_info.dart'; import 'package:making_school_asignment_app/common/job/marking_models/do_test_questions_image_info.dart';
import 'package:making_school_asignment_app/common/job/marking_models/original_manuscript_handwriting_params.dart'; import 'package:making_school_asignment_app/common/job/marking_models/original_manuscript_handwriting_params.dart';
import 'package:making_school_asignment_app/common/mixins/request_tool_mixin.dart'; import 'package:making_school_asignment_app/common/mixins/request_tool_mixin.dart';
@ -40,16 +41,21 @@ class HandwritingLogic extends GetxController with RequestToolMixin {
Future<void> getData() async { Future<void> getData() async {
if (params.value == null) return; if (params.value == null) return;
var dio = getClientDio();
try { try {
ToastUtils.showLoading(); ToastUtils.showLoading();
toolbar.initialization.value = false; toolbar.initialization.value = false;
imagInfoModel.value = null; imagInfoModel.value = null;
//
dio.options.receiveTimeout = const Duration(seconds: 20);
var res = await getClient().getOriginalManuscriptHandwriting(params.value!); var res = await getClient().getOriginalManuscriptHandwriting(params.value!);
resultData.value = res; resultData.value = res;
} catch (e) { } catch (e) {
ToastUtils.showError('获取笔迹数据报错,请重试'); ToastUtils.showError('获取笔迹数据报错,请重试');
backCall(); backCall();
} finally { } finally {
dio.options.receiveTimeout = const Duration(milliseconds: RequestConfig.receiveTimeout); //
ToastUtils.dismiss(); ToastUtils.dismiss();
} }
} }

View File

@ -1,6 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:making_school_asignment_app/common/utils/toast_utils.dart';
import 'package:making_school_asignment_app/common/utils/utils.dart'; import 'package:making_school_asignment_app/common/utils/utils.dart';
import 'package:making_school_asignment_app/page/global_widget/ReturnToHomepage.dart'; import 'package:making_school_asignment_app/page/global_widget/ReturnToHomepage.dart';
import 'package:making_school_asignment_app/page/home_page/children/homework_review/components/original_manuscript_handwriting/answer_handwriting_view.dart'; import 'package:making_school_asignment_app/page/home_page/children/homework_review/components/original_manuscript_handwriting/answer_handwriting_view.dart';
@ -75,7 +76,8 @@ class _StudentPersonalPageState extends State<StudentPersonalPage> {
width: 10.r, width: 10.r,
), ),
InkWell( InkWell(
onTap: () => showAnswerHandwriting(context, homeworkId: state.homeworkId, studentId: state.studentId), onTap: () =>
showAnswerHandwriting(context, homeworkId: state.homeworkId, studentId: state.studentId).then((e) => ToastUtils.dismiss()),
child: Container( child: Container(
width: 93.r, width: 93.r,
height: 28.r, height: 28.r,