mcy_new #1
|
|
@ -1,5 +1,3 @@
|
|||
import 'dart:io';
|
||||
|
||||
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_result.dart';
|
||||
|
|
|
|||
|
|
@ -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/api/retrofit_client.dart';
|
||||
|
||||
mixin RequestToolMixin {
|
||||
// 获取DIO
|
||||
Dio getClientDio() => RequestTool.instance.getDio();
|
||||
// 获取Client
|
||||
RetrofitClient getClient() => RequestTool.instance.getClient();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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';
|
||||
|
||||
class RequestTool {
|
||||
static late Dio _dio;
|
||||
// 初始化请求配置
|
||||
static _init() {
|
||||
BaseOptions options = BaseOptions(
|
||||
|
|
@ -18,16 +19,16 @@ class RequestTool {
|
|||
connectTimeout: const Duration(milliseconds: RequestConfig.connectTimeout),
|
||||
receiveTimeout: const Duration(milliseconds: RequestConfig.receiveTimeout),
|
||||
);
|
||||
Dio dio = Dio(options);
|
||||
dio.interceptors.add(AuthInterceptor()); // 添加 token
|
||||
dio.interceptors.add(ResponseHandle()); // 添加 数据返回拦截
|
||||
dio.interceptors.add(TheError()); // 添加 数据返回拦截
|
||||
_dio = Dio(options);
|
||||
_dio.interceptors.add(AuthInterceptor()); // 添加 token
|
||||
_dio.interceptors.add(ResponseHandle()); // 添加 数据返回拦截
|
||||
_dio.interceptors.add(TheError()); // 添加 数据返回拦截
|
||||
const isProd = bool.fromEnvironment('dart.vm.product');
|
||||
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;
|
||||
|
|
@ -43,6 +44,9 @@ class RequestTool {
|
|||
return _instance!;
|
||||
}
|
||||
|
||||
// DIO
|
||||
Dio getDio() => _dio;
|
||||
|
||||
RetrofitClient getClient() => _client;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import 'package:flutter_spinkit/flutter_spinkit.dart';
|
|||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:functional_widget_annotation/functional_widget_annotation.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/original_manuscript_handwriting_params.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>();
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
var boxHeight = ScreenUtil().screenHeight / 1.168; // 盒子高度
|
||||
var boxWidth = ScreenUtil().screenWidth - (ScreenUtil().scaleWidth < 1.5 ? 40.r : 40.r); // 盒子宽度
|
||||
|
||||
return Center(
|
||||
child: Container(
|
||||
height: ScreenUtil().screenHeight / 1.2,
|
||||
width: ScreenUtil().screenWidth - (ScreenUtil().scaleWidth < 1.5 ? 40.r : 40.r),
|
||||
height: boxHeight,
|
||||
width: boxWidth,
|
||||
alignment: Alignment.center,
|
||||
child: AnswerHandwritingMainBox(
|
||||
handwritingLogic: _handwritingLogic,
|
||||
boxHeight: boxHeight,
|
||||
boxWidth: boxWidth,
|
||||
homeworkId: homeworkId,
|
||||
templateId: templateId,
|
||||
studentId: studentId,
|
||||
|
|
@ -101,6 +107,8 @@ class AnswerHandwritingMainBox extends HookWidget with EventBusMixin {
|
|||
required this.homeworkId,
|
||||
required this.studentId,
|
||||
required this.closeCall,
|
||||
required this.boxHeight,
|
||||
required this.boxWidth,
|
||||
this.templateId,
|
||||
this.pageNum,
|
||||
this.questionNo,
|
||||
|
|
@ -110,6 +118,8 @@ class AnswerHandwritingMainBox extends HookWidget with EventBusMixin {
|
|||
final HandwritingLogic handwritingLogic;
|
||||
|
||||
final String homeworkId;
|
||||
final double boxHeight;
|
||||
final double boxWidth;
|
||||
final int? templateId;
|
||||
final int studentId;
|
||||
final int? pageNum;
|
||||
|
|
@ -119,7 +129,8 @@ class AnswerHandwritingMainBox extends HookWidget with EventBusMixin {
|
|||
@override
|
||||
Widget build(BuildContext context) {
|
||||
var _useStateModel = UseMainBoxState.use(homeworkId, studentId, pageNum, questionNo, templateId);
|
||||
|
||||
double barHeight = 62.h;
|
||||
double imageHeight = boxHeight - barHeight;
|
||||
useValueChanged<JobHandwriting?, void>(_useStateModel.handwritingData.value, (_, __) {
|
||||
var theData = _useStateModel.handwritingData.value;
|
||||
_useStateModel.pageNum.value = theData?.pageNum;
|
||||
|
|
@ -148,25 +159,27 @@ class AnswerHandwritingMainBox extends HookWidget with EventBusMixin {
|
|||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Expanded(
|
||||
SizedBox(
|
||||
height: imageHeight,
|
||||
width: boxWidth,
|
||||
child: Stack(
|
||||
alignment: const FractionalOffset(0, 0.5),
|
||||
children: [
|
||||
// 图片展示主框
|
||||
LayoutBuilder(builder: (BuildContext context, BoxConstraints constraints) {
|
||||
return HandwritingDrawBox(
|
||||
boxWidth: constraints.maxWidth,
|
||||
boxHeight: constraints.maxHeight,
|
||||
SingleChildScrollView(
|
||||
child: HandwritingDrawBox(
|
||||
boxWidth: boxWidth,
|
||||
boxHeight: boxHeight,
|
||||
key: _useStateModel.handwritingKey,
|
||||
);
|
||||
}),
|
||||
),
|
||||
),
|
||||
PageNumberBox(),
|
||||
PreviousNutton(), // 上一页按钮
|
||||
NextPageButton(), // 下一题按钮
|
||||
],
|
||||
),
|
||||
),
|
||||
$BottomPlaybar(handwritingLogic),
|
||||
$BottomPlaybar(barHeight, handwritingLogic),
|
||||
],
|
||||
);
|
||||
}
|
||||
|
|
@ -366,10 +379,7 @@ class _HandwritingDrawBoxState extends State<HandwritingDrawBox> with EventBusMi
|
|||
}
|
||||
});
|
||||
|
||||
executionDataStream = handwritingLogic.toolbar.executionData.listen((e) {
|
||||
print('555555555555555555555555555555');
|
||||
_vnHandWritings.value = e;
|
||||
});
|
||||
executionDataStream = handwritingLogic.toolbar.executionData.listen((e) => _vnHandWritings.value = e);
|
||||
|
||||
eventOn(callback: (e) {
|
||||
switch (e.runtimeType) {
|
||||
|
|
@ -611,11 +621,11 @@ class PageNumberBox extends StatelessWidget {
|
|||
crossAxisAlignment: CrossAxisAlignment.end,
|
||||
children: [
|
||||
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),
|
||||
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
|
||||
Widget $bottomPlaybar(BuildContext context, HandwritingLogic handwritingLogic) {
|
||||
Widget $bottomPlaybar(BuildContext context, double barHeight, HandwritingLogic handwritingLogic) {
|
||||
var timeConsuming = useState(0);
|
||||
var handwritingInfo = useState<HandwritingInfo?>(null);
|
||||
|
||||
|
|
@ -704,10 +714,10 @@ Widget $bottomPlaybar(BuildContext context, HandwritingLogic handwritingLogic) {
|
|||
}, []);
|
||||
|
||||
return Container(
|
||||
height: 62.h,
|
||||
height: barHeight,
|
||||
padding: EdgeInsets.symmetric(horizontal: 10.w),
|
||||
alignment: Alignment.center,
|
||||
color: Color.fromRGBO(0, 0, 0, 0.4),
|
||||
color: const Color.fromRGBO(0, 0, 0, 0.4),
|
||||
child: Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
import 'dart:ui';
|
||||
|
||||
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/original_manuscript_handwriting_params.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 {
|
||||
if (params.value == null) return;
|
||||
var dio = getClientDio();
|
||||
try {
|
||||
ToastUtils.showLoading();
|
||||
toolbar.initialization.value = false;
|
||||
imagInfoModel.value = null;
|
||||
// 设置时长
|
||||
|
||||
dio.options.receiveTimeout = const Duration(seconds: 20);
|
||||
var res = await getClient().getOriginalManuscriptHandwriting(params.value!);
|
||||
resultData.value = res;
|
||||
} catch (e) {
|
||||
ToastUtils.showError('获取笔迹数据报错,请重试');
|
||||
backCall();
|
||||
} finally {
|
||||
dio.options.receiveTimeout = const Duration(milliseconds: RequestConfig.receiveTimeout); // 还原接收数据时长
|
||||
ToastUtils.dismiss();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.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/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';
|
||||
|
|
@ -75,7 +76,8 @@ class _StudentPersonalPageState extends State<StudentPersonalPage> {
|
|||
width: 10.r,
|
||||
),
|
||||
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(
|
||||
width: 93.r,
|
||||
height: 28.r,
|
||||
|
|
|
|||
Loading…
Reference in New Issue