mcy_new #1
Binary file not shown.
|
After Width: | Height: | Size: 69 B |
Binary file not shown.
|
After Width: | Height: | Size: 69 B |
|
|
@ -6,7 +6,7 @@
|
||||||
<item name="android:windowFullscreen">false</item>
|
<item name="android:windowFullscreen">false</item>
|
||||||
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
|
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
|
||||||
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
|
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
|
||||||
<item name="android:windowSplashScreenBackground">#42a5f5</item>
|
<item name="android:windowSplashScreenBackground">#eeeeee</item>
|
||||||
<item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item>
|
<item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item>
|
||||||
</style>
|
</style>
|
||||||
<!-- Theme applied to the Android Window as soon as the process has started.
|
<!-- Theme applied to the Android Window as soon as the process has started.
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
<item name="android:windowFullscreen">false</item>
|
<item name="android:windowFullscreen">false</item>
|
||||||
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
|
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
|
||||||
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
|
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
|
||||||
<item name="android:windowSplashScreenBackground">#42a5f5</item>
|
<item name="android:windowSplashScreenBackground">#eeeeee</item>
|
||||||
<item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item>
|
<item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item>
|
||||||
</style>
|
</style>
|
||||||
<!-- Theme applied to the Android Window as soon as the process has started.
|
<!-- Theme applied to the Android Window as soon as the process has started.
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ flutter_native_splash:
|
||||||
# 如需恢复默认的白屏,执行如下命令
|
# 如需恢复默认的白屏,执行如下命令
|
||||||
# flutter pub run flutter_native_splash:remove
|
# flutter pub run flutter_native_splash:remove
|
||||||
# 设置闪屏页的默认态logo或背景图片路径
|
# 设置闪屏页的默认态logo或背景图片路径
|
||||||
color: "#42a5f5"
|
color: "#eeeeee"
|
||||||
image_ios: assets/images/splash_native.png
|
image_ios: assets/images/splash_native.png
|
||||||
background_image_android: assets/images/splash_native.png
|
background_image_android: assets/images/splash_native.png
|
||||||
android_12:
|
android_12:
|
||||||
|
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 69 B |
|
|
@ -23,6 +23,7 @@ void main() async {
|
||||||
Get.testMode = true;
|
Get.testMode = true;
|
||||||
WidgetsBinding widgetsBinding = WidgetsFlutterBinding.ensureInitialized();
|
WidgetsBinding widgetsBinding = WidgetsFlutterBinding.ensureInitialized();
|
||||||
FlutterNativeSplash.preserve(widgetsBinding: widgetsBinding);
|
FlutterNativeSplash.preserve(widgetsBinding: widgetsBinding);
|
||||||
|
|
||||||
/// 初始化本地存储
|
/// 初始化本地存储
|
||||||
await Get.putAsync(() => StorageService().init());
|
await Get.putAsync(() => StorageService().init());
|
||||||
|
|
||||||
|
|
@ -41,7 +42,7 @@ void main() async {
|
||||||
|
|
||||||
SystemChrome.setSystemUIOverlayStyle(const SystemUiOverlayStyle(
|
SystemChrome.setSystemUIOverlayStyle(const SystemUiOverlayStyle(
|
||||||
statusBarColor: Colors.transparent, //状态栏背景颜色
|
statusBarColor: Colors.transparent, //状态栏背景颜色
|
||||||
statusBarIconBrightness: Brightness.dark // dark:一般显示黑色 light:一般显示白色
|
statusBarIconBrightness: Brightness.light // dark:一般显示黑色 light:一般显示白色
|
||||||
));
|
));
|
||||||
SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: [SystemUiOverlay.top, SystemUiOverlay.bottom]); // 屏幕刘海
|
SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: [SystemUiOverlay.top, SystemUiOverlay.bottom]); // 屏幕刘海
|
||||||
await SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp, DeviceOrientation.portraitDown]); // 屏幕强制竖屏
|
await SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp, DeviceOrientation.portraitDown]); // 屏幕强制竖屏
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/services.dart';
|
||||||
import 'package:flutter_native_splash/flutter_native_splash.dart';
|
import 'package:flutter_native_splash/flutter_native_splash.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';
|
||||||
|
|
@ -36,7 +37,8 @@ class _StartPageState extends State<StartPage> with RequestToolMixin {
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
FlutterNativeSplash.remove();
|
Future.delayed(const Duration(seconds: 3), () => FlutterNativeSplash.remove());
|
||||||
|
|
||||||
Get.put(HomeLogic());
|
Get.put(HomeLogic());
|
||||||
Get.put(WorkLogic());
|
Get.put(WorkLogic());
|
||||||
|
|
||||||
|
|
@ -87,6 +89,7 @@ class _StartPageState extends State<StartPage> with RequestToolMixin {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
SystemChrome.setSystemUIOverlayStyle(const SystemUiOverlayStyle(statusBarIconBrightness: Brightness.dark));
|
||||||
return WillPopScope(
|
return WillPopScope(
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
body: PageView(
|
body: PageView(
|
||||||
|
|
@ -94,6 +97,11 @@ class _StartPageState extends State<StartPage> with RequestToolMixin {
|
||||||
physics: const BouncingScrollPhysics(),
|
physics: const BouncingScrollPhysics(),
|
||||||
onPageChanged: (index) {
|
onPageChanged: (index) {
|
||||||
_pageController._pageIndexState.pageIndex.value = index;
|
_pageController._pageIndexState.pageIndex.value = index;
|
||||||
|
if (index == 2) {
|
||||||
|
SystemChrome.setSystemUIOverlayStyle(const SystemUiOverlayStyle(statusBarIconBrightness: Brightness.light));
|
||||||
|
} else {
|
||||||
|
SystemChrome.setSystemUIOverlayStyle(const SystemUiOverlayStyle(statusBarIconBrightness: Brightness.dark));
|
||||||
|
}
|
||||||
},
|
},
|
||||||
children: _bodyList,
|
children: _bodyList,
|
||||||
),
|
),
|
||||||
|
|
@ -117,12 +125,15 @@ class _StartPageState extends State<StartPage> with RequestToolMixin {
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
//设置显示的模式
|
//设置显示的模式
|
||||||
type: BottomNavigationBarType.fixed,
|
type: BottomNavigationBarType.shifting,
|
||||||
|
fixedColor: Theme.of(context).primaryColor,
|
||||||
|
unselectedItemColor: Colors.grey,
|
||||||
|
// unselectedItemColor: const Color.fromRGBO(80, 87, 103, 1),
|
||||||
|
// backgroundColor: Colors.white,
|
||||||
//设置当前的索引
|
//设置当前的索引
|
||||||
currentIndex: _pageController._pageIndexState.pageIndex.value,
|
currentIndex: _pageController._pageIndexState.pageIndex.value,
|
||||||
//tabBottom的点击监听
|
//tabBottom的点击监听
|
||||||
onTap: (index) {
|
onTap: (index) {
|
||||||
print('appbar下标:${index}');
|
|
||||||
_pageController._pageIndexState.pageController.jumpToPage(index);
|
_pageController._pageIndexState.pageController.jumpToPage(index);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -66,14 +66,7 @@ class _MyInfoState extends State<MyInfo> with AutomaticKeepAliveClientMixin {
|
||||||
);
|
);
|
||||||
|
|
||||||
return OrientationBuilder(builder: (BuildContext context, Orientation orientation) {
|
return OrientationBuilder(builder: (BuildContext context, Orientation orientation) {
|
||||||
return AnnotatedRegion(
|
return Stack(
|
||||||
value: const SystemUiOverlayStyle(
|
|
||||||
statusBarColor: Colors.transparent,
|
|
||||||
systemNavigationBarIconBrightness: Brightness.light,
|
|
||||||
statusBarIconBrightness: Brightness.light,
|
|
||||||
statusBarBrightness: Brightness.dark,
|
|
||||||
),
|
|
||||||
child: Stack(
|
|
||||||
children: [
|
children: [
|
||||||
SizedBox(
|
SizedBox(
|
||||||
height: double.infinity,
|
height: double.infinity,
|
||||||
|
|
@ -172,10 +165,7 @@ class _MyInfoState extends State<MyInfo> with AutomaticKeepAliveClientMixin {
|
||||||
),
|
),
|
||||||
Row(
|
Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [Text('所在学校', style: personalInfoTitleStly), Text(userInfo.value?.schoolName ?? '', style: personalInfoValStly)],
|
||||||
Text('所在学校', style: personalInfoTitleStly),
|
|
||||||
Text(userInfo.value?.schoolName ?? '', style: personalInfoValStly)
|
|
||||||
],
|
|
||||||
),
|
),
|
||||||
/* Row(
|
/* Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
|
@ -289,7 +279,6 @@ class _MyInfoState extends State<MyInfo> with AutomaticKeepAliveClientMixin {
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,9 +27,7 @@ class ReadOverPage extends StatefulWidget {
|
||||||
|
|
||||||
class _ReadOverPageState extends State<ReadOverPage> {
|
class _ReadOverPageState extends State<ReadOverPage> {
|
||||||
final logic = Get.find<ReadOverLogic>();
|
final logic = Get.find<ReadOverLogic>();
|
||||||
final state = Get
|
final state = Get.find<ReadOverLogic>().state;
|
||||||
.find<ReadOverLogic>()
|
|
||||||
.state;
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
@ -39,7 +37,7 @@ class _ReadOverPageState extends State<ReadOverPage> {
|
||||||
systemNavigationBarDividerColor: null,
|
systemNavigationBarDividerColor: null,
|
||||||
statusBarColor: Colors.white,
|
statusBarColor: Colors.white,
|
||||||
systemNavigationBarIconBrightness: Brightness.light,
|
systemNavigationBarIconBrightness: Brightness.light,
|
||||||
statusBarIconBrightness: Brightness.dark,
|
statusBarIconBrightness: Brightness.light,
|
||||||
statusBarBrightness: Brightness.light,
|
statusBarBrightness: Brightness.light,
|
||||||
),
|
),
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
|
|
@ -50,10 +48,7 @@ class _ReadOverPageState extends State<ReadOverPage> {
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Container(
|
Container(
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
margin: EdgeInsets.only(top: MediaQuery
|
margin: EdgeInsets.only(top: MediaQuery.of(context).padding.top),
|
||||||
.of(context)
|
|
||||||
.padding
|
|
||||||
.top),
|
|
||||||
padding: EdgeInsets.only(bottom: 9.h, top: 4.h),
|
padding: EdgeInsets.only(bottom: 9.h, top: 4.h),
|
||||||
child: Row(
|
child: Row(
|
||||||
crossAxisAlignment: CrossAxisAlignment.center,
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
|
|
@ -101,9 +96,7 @@ class _ReadOverPageState extends State<ReadOverPage> {
|
||||||
indicator: const UnderlineTabIndicator(
|
indicator: const UnderlineTabIndicator(
|
||||||
borderSide: BorderSide(
|
borderSide: BorderSide(
|
||||||
width: 0, // 设置边界宽度为0,从而去除下划线
|
width: 0, // 设置边界宽度为0,从而去除下划线
|
||||||
color: Colors.transparent
|
color: Colors.transparent),
|
||||||
),
|
|
||||||
|
|
||||||
),
|
),
|
||||||
onTap: (index) {
|
onTap: (index) {
|
||||||
state.tabIndex.value = index;
|
state.tabIndex.value = index;
|
||||||
|
|
@ -122,23 +115,14 @@ class _ReadOverPageState extends State<ReadOverPage> {
|
||||||
width: 140.w,
|
width: 140.w,
|
||||||
alignment: Alignment.center,
|
alignment: Alignment.center,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: state.tabIndex.value == 0
|
color: state.tabIndex.value == 0 ? const Color.fromRGBO(255, 255, 255, 1) : null,
|
||||||
? const Color.fromRGBO(
|
borderRadius: BorderRadius.all(Radius.circular(8.r)),
|
||||||
255, 255, 255, 1)
|
|
||||||
: null,
|
|
||||||
borderRadius: BorderRadius.all(
|
|
||||||
Radius.circular(8.r)),
|
|
||||||
),
|
),
|
||||||
child: quickText(
|
child: quickText(
|
||||||
'待批阅',
|
'待批阅',
|
||||||
size: 14.sp,
|
size: 14.sp,
|
||||||
color: state.tabIndex.value == 0 ? Theme
|
color: state.tabIndex.value == 0 ? Theme.of(context).primaryColor : const Color.fromRGBO(80, 94, 110, 1),
|
||||||
.of(context)
|
fontWeight: state.tabIndex.value == 0 ? FontWeight.bold : null,
|
||||||
.primaryColor : const Color.fromRGBO(
|
|
||||||
80, 94, 110, 1),
|
|
||||||
fontWeight: state.tabIndex.value == 0
|
|
||||||
? FontWeight.bold
|
|
||||||
: null,
|
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}),
|
}),
|
||||||
|
|
@ -151,23 +135,14 @@ class _ReadOverPageState extends State<ReadOverPage> {
|
||||||
width: 140.w,
|
width: 140.w,
|
||||||
alignment: Alignment.center,
|
alignment: Alignment.center,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: state.tabIndex.value == 1
|
color: state.tabIndex.value == 1 ? const Color.fromRGBO(255, 255, 255, 1) : null,
|
||||||
? const Color.fromRGBO(
|
borderRadius: BorderRadius.all(Radius.circular(8.r)),
|
||||||
255, 255, 255, 1)
|
|
||||||
: null,
|
|
||||||
borderRadius: BorderRadius.all(
|
|
||||||
Radius.circular(8.r)),
|
|
||||||
),
|
),
|
||||||
child: quickText(
|
child: quickText(
|
||||||
'已批阅',
|
'已批阅',
|
||||||
size: 14.sp,
|
size: 14.sp,
|
||||||
color: state.tabIndex.value == 1 ? Theme
|
color: state.tabIndex.value == 1 ? Theme.of(context).primaryColor : const Color.fromRGBO(80, 94, 110, 1),
|
||||||
.of(context)
|
fontWeight: state.tabIndex.value == 1 ? FontWeight.bold : null,
|
||||||
.primaryColor : const Color.fromRGBO(
|
|
||||||
80, 94, 110, 1),
|
|
||||||
fontWeight: state.tabIndex.value == 1
|
|
||||||
? FontWeight.bold
|
|
||||||
: null,
|
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}),
|
}),
|
||||||
|
|
@ -180,22 +155,22 @@ class _ReadOverPageState extends State<ReadOverPage> {
|
||||||
flex: 1,
|
flex: 1,
|
||||||
child: InkWell(
|
child: InkWell(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
Get.toNamed(Routes.studentHistoryWorkPage,
|
Get.toNamed(Routes.studentHistoryWorkPage, arguments: {'page': 'set'});
|
||||||
arguments: {'page': 'set'});
|
|
||||||
},
|
},
|
||||||
child: Icon(
|
child: Icon(const IconData(0xe63e, fontFamily: "AlibabaIcon"), color: const Color.fromRGBO(44, 48, 63, 1), size: 24.sp),
|
||||||
const IconData(0xe63e, fontFamily: "AlibabaIcon"),
|
|
||||||
color: const Color.fromRGBO(44, 48, 63, 1),
|
|
||||||
size: 24.sp),
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Expanded(child: Obx(() {
|
Expanded(
|
||||||
return AnnotateList(tabIndex: state.tabIndex.value,assessType: 0,);
|
child: Obx(() {
|
||||||
}),),
|
return AnnotateList(
|
||||||
|
tabIndex: state.tabIndex.value,
|
||||||
|
assessType: 0,
|
||||||
|
);
|
||||||
|
}),
|
||||||
|
),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -24,28 +24,27 @@ class HomePage extends StatefulWidget {
|
||||||
State<HomePage> createState() => _HomePageState();
|
State<HomePage> createState() => _HomePageState();
|
||||||
}
|
}
|
||||||
|
|
||||||
class _HomePageState extends State<HomePage>
|
class _HomePageState extends State<HomePage> with AutomaticKeepAliveClientMixin {
|
||||||
with AutomaticKeepAliveClientMixin {
|
|
||||||
final logic = Get.find<HomeLogic>();
|
final logic = Get.find<HomeLogic>();
|
||||||
final state = Get.find<HomeLogic>().state;
|
final state = Get.find<HomeLogic>().state;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
bool get wantKeepAlive => true;
|
bool get wantKeepAlive => true;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
super.initState();
|
||||||
|
SystemChrome.setSystemUIOverlayStyle(const SystemUiOverlayStyle(
|
||||||
|
statusBarIconBrightness: Brightness.dark,
|
||||||
|
systemStatusBarContrastEnforced: false,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
super.build(context);
|
super.build(context);
|
||||||
var spaceWidth = SizedBox(height: ScreenUtil().screenWidth / 30);
|
var spaceWidth = SizedBox(height: ScreenUtil().screenWidth / 30);
|
||||||
return SafeArea(
|
return SafeArea(
|
||||||
child: AnnotatedRegion(
|
|
||||||
value: const SystemUiOverlayStyle(
|
|
||||||
systemNavigationBarColor: Color(0xFF000000),
|
|
||||||
systemNavigationBarDividerColor: null,
|
|
||||||
statusBarColor: Colors.white,
|
|
||||||
systemNavigationBarIconBrightness: Brightness.light,
|
|
||||||
statusBarIconBrightness: Brightness.dark,
|
|
||||||
statusBarBrightness: Brightness.light,
|
|
||||||
),
|
|
||||||
child: OrientationBuilder(
|
child: OrientationBuilder(
|
||||||
builder: (BuildContext context, Orientation orientation) {
|
builder: (BuildContext context, Orientation orientation) {
|
||||||
return EasyRefresh(
|
return EasyRefresh(
|
||||||
|
|
@ -82,28 +81,19 @@ class _HomePageState extends State<HomePage>
|
||||||
SizedBox(height: MediaQuery.of(context).padding.top / 2),
|
SizedBox(height: MediaQuery.of(context).padding.top / 2),
|
||||||
Obx(() {
|
Obx(() {
|
||||||
return $TermRow([
|
return $TermRow([
|
||||||
EntranceModel(
|
EntranceModel(title: '作业批阅', image: 'assets/images/job_home_marking.png', navigationUrl: Routes.readOverPage),
|
||||||
title: '作业批阅',
|
|
||||||
image: 'assets/images/job_home_marking.png',
|
|
||||||
navigationUrl: Routes.readOverPage),
|
|
||||||
EntranceModel(
|
EntranceModel(
|
||||||
title: '学生历史作业',
|
title: '学生历史作业',
|
||||||
image: 'assets/images/job_home_history.png',
|
image: 'assets/images/job_home_history.png',
|
||||||
navigationUrl: Routes.studentHistoryWorkPage,
|
navigationUrl: Routes.studentHistoryWorkPage,
|
||||||
page: 'history',
|
page: 'history',
|
||||||
),
|
),
|
||||||
EntranceModel(
|
EntranceModel(title: '知识点点掌握', image: 'assets/images/job_home_knowledge.png', navigationUrl: Routes.knowledgePointsGraspPage)
|
||||||
title: '知识点点掌握',
|
|
||||||
image: 'assets/images/job_home_knowledge.png',
|
|
||||||
navigationUrl: Routes.knowledgePointsGraspPage)
|
|
||||||
], state.totalCount.value);
|
], state.totalCount.value);
|
||||||
}),
|
}),
|
||||||
spaceWidth,
|
spaceWidth,
|
||||||
$TermRow([
|
$TermRow([
|
||||||
EntranceModel(
|
EntranceModel(title: '答题轨迹', image: 'assets/images/job_home_answer_record.png', navigationUrl: Routes.answerTrajectoryPage),
|
||||||
title: '答题轨迹',
|
|
||||||
image: 'assets/images/job_home_answer_record.png',
|
|
||||||
navigationUrl: Routes.answerTrajectoryPage),
|
|
||||||
EntranceModel(
|
EntranceModel(
|
||||||
title: '优先批阅设定',
|
title: '优先批阅设定',
|
||||||
image: 'assets/images/job_home_youxian.png',
|
image: 'assets/images/job_home_youxian.png',
|
||||||
|
|
@ -127,13 +117,11 @@ class _HomePageState extends State<HomePage>
|
||||||
padding: EdgeInsets.symmetric(horizontal: 12.w),
|
padding: EdgeInsets.symmetric(horizontal: 12.w),
|
||||||
child: state.workList.isNotEmpty
|
child: state.workList.isNotEmpty
|
||||||
? Column(
|
? Column(
|
||||||
children:
|
children: List.generate(state.workList.length, (index) {
|
||||||
List.generate(state.workList.length, (index) {
|
|
||||||
Items item = state.workList[index];
|
Items item = state.workList[index];
|
||||||
return InkWell(
|
return InkWell(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
Get.toNamed(Routes.annotateClassPage,
|
Get.toNamed(Routes.annotateClassPage, arguments: {
|
||||||
arguments: {
|
|
||||||
'id': item.id,
|
'id': item.id,
|
||||||
'name': item.name,
|
'name': item.name,
|
||||||
'grade': item.grade,
|
'grade': item.grade,
|
||||||
|
|
@ -146,18 +134,14 @@ class _HomePageState extends State<HomePage>
|
||||||
children: [
|
children: [
|
||||||
SizedBox(height: 4.h),
|
SizedBox(height: 4.h),
|
||||||
Container(
|
Container(
|
||||||
padding: EdgeInsets.symmetric(
|
padding: EdgeInsets.symmetric(vertical: 15.h, horizontal: 10.w),
|
||||||
vertical: 15.h, horizontal: 10.w),
|
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
borderRadius:
|
borderRadius: BorderRadius.circular(6.r),
|
||||||
BorderRadius.circular(6.r),
|
color: const Color.fromRGBO(255, 255, 255, 1),
|
||||||
color: const Color.fromRGBO(
|
|
||||||
255, 255, 255, 1),
|
|
||||||
boxShadow: const [
|
boxShadow: const [
|
||||||
BoxShadow(
|
BoxShadow(
|
||||||
color: Color.fromRGBO(
|
color: Color.fromRGBO(210, 216, 241, 1),
|
||||||
210, 216, 241, 1),
|
|
||||||
offset: Offset.zero, //阴影y轴偏移量
|
offset: Offset.zero, //阴影y轴偏移量
|
||||||
blurRadius: 5.8, //阴影模糊程度
|
blurRadius: 5.8, //阴影模糊程度
|
||||||
spreadRadius: 0, //阴影扩散程度
|
spreadRadius: 0, //阴影扩散程度
|
||||||
|
|
@ -165,59 +149,34 @@ class _HomePageState extends State<HomePage>
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
child: Column(
|
child: Column(
|
||||||
mainAxisAlignment:
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
MainAxisAlignment.spaceBetween,
|
|
||||||
children: [
|
children: [
|
||||||
Row(
|
Row(
|
||||||
crossAxisAlignment:
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
CrossAxisAlignment.start,
|
|
||||||
children: [
|
children: [
|
||||||
Container(
|
Container(
|
||||||
width: Utils.isPad()
|
width: Utils.isPad() ? 32.w : 38.w,
|
||||||
? 32.w
|
|
||||||
: 38.w,
|
|
||||||
height: 18.h,
|
height: 18.h,
|
||||||
alignment: Alignment.center,
|
alignment: Alignment.center,
|
||||||
padding: EdgeInsets.only(
|
padding: EdgeInsets.only(left: Utils.isPad() ? 2.w : 3.w),
|
||||||
left: Utils.isPad()
|
|
||||||
? 2.w
|
|
||||||
: 3.w),
|
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: state.type == 1
|
color: state.type == 1 ? const Color(0xFF4CC793) : const Color.fromRGBO(255, 175, 56, 1),
|
||||||
? const Color(
|
borderRadius: BorderRadius.only(
|
||||||
0xFF4CC793)
|
topLeft: Radius.circular(14.r),
|
||||||
: const Color.fromRGBO(
|
topRight: Radius.circular(3.r),
|
||||||
255, 175, 56, 1),
|
bottomLeft: Radius.circular(4.r),
|
||||||
borderRadius:
|
bottomRight: Radius.circular(4.r),
|
||||||
BorderRadius.only(
|
|
||||||
topLeft:
|
|
||||||
Radius.circular(14.r),
|
|
||||||
topRight:
|
|
||||||
Radius.circular(3.r),
|
|
||||||
bottomLeft:
|
|
||||||
Radius.circular(4.r),
|
|
||||||
bottomRight:
|
|
||||||
Radius.circular(4.r),
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
margin: EdgeInsets.only(
|
margin: EdgeInsets.only(top: 3.h, right: 4.w),
|
||||||
top: 3.h, right: 4.w),
|
child: quickText(state.type == 1 ? '作业' : '考试', color: Colors.white, size: 10.sp),
|
||||||
child: quickText(
|
|
||||||
state.type == 1
|
|
||||||
? '作业'
|
|
||||||
: '考试',
|
|
||||||
color: Colors.white,
|
|
||||||
size: 10.sp),
|
|
||||||
),
|
),
|
||||||
Expanded(
|
Expanded(
|
||||||
child: quickText(
|
child: quickText(
|
||||||
item.name,
|
item.name,
|
||||||
maxLines: 2,
|
maxLines: 2,
|
||||||
size: Utils.isPad()
|
size: Utils.isPad() ? 14.sp : 16.sp,
|
||||||
? 14.sp
|
color: const Color.fromRGBO(70, 70, 70, 1),
|
||||||
: 16.sp,
|
|
||||||
color: const Color.fromRGBO(
|
|
||||||
70, 70, 70, 1),
|
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
@ -225,54 +184,30 @@ class _HomePageState extends State<HomePage>
|
||||||
),
|
),
|
||||||
SizedBox(height: 10.h),
|
SizedBox(height: 10.h),
|
||||||
Row(
|
Row(
|
||||||
crossAxisAlignment:
|
crossAxisAlignment: CrossAxisAlignment.end,
|
||||||
CrossAxisAlignment.end,
|
|
||||||
children: [
|
children: [
|
||||||
quickText(
|
quickText(
|
||||||
EnumUtils.formatSubject(
|
EnumUtils.formatSubject(item.subject),
|
||||||
item.subject),
|
color: const Color.fromRGBO(97, 97, 97, 1),
|
||||||
color: const Color.fromRGBO(
|
|
||||||
97, 97, 97, 1),
|
|
||||||
size: 12.sp,
|
size: 12.sp,
|
||||||
),
|
),
|
||||||
quickText(' / ',
|
quickText(' / ',
|
||||||
color: const Color.fromRGBO(
|
color: const Color.fromRGBO(130, 130, 130, 1), size: 11.sp, fontWeight: FontWeight.w500),
|
||||||
130, 130, 130, 1),
|
|
||||||
size: 11.sp,
|
|
||||||
fontWeight:
|
|
||||||
FontWeight.w500),
|
|
||||||
Row(
|
Row(
|
||||||
crossAxisAlignment:
|
crossAxisAlignment: CrossAxisAlignment.end,
|
||||||
CrossAxisAlignment.end,
|
|
||||||
children: [
|
children: [
|
||||||
quickText('题量:',
|
quickText('题量:', color: const Color.fromRGBO(130, 130, 130, 1), size: 11.sp),
|
||||||
color: const Color
|
|
||||||
.fromRGBO(
|
|
||||||
130, 130, 130, 1),
|
|
||||||
size: 11.sp),
|
|
||||||
quickText(
|
quickText(
|
||||||
'${item.questionCount! - item.annotateCount!}',
|
'${item.questionCount! - item.annotateCount!}',
|
||||||
color:
|
color: const Color.fromRGBO(97, 97, 97, 1),
|
||||||
const Color.fromRGBO(
|
|
||||||
97, 97, 97, 1),
|
|
||||||
size: 13.sp,
|
size: 13.sp,
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
quickText(' / ',
|
quickText(' / ',
|
||||||
color: const Color.fromRGBO(
|
color: const Color.fromRGBO(130, 130, 130, 1), size: 11.sp, fontWeight: FontWeight.w500),
|
||||||
130, 130, 130, 1),
|
quickText(DateTime.parse(item.publishTime).toString().substring(0, 10),
|
||||||
size: 11.sp,
|
color: const Color.fromRGBO(97, 97, 97, 1), size: 12.sp),
|
||||||
fontWeight:
|
|
||||||
FontWeight.w500),
|
|
||||||
quickText(
|
|
||||||
DateTime.parse(
|
|
||||||
item.publishTime)
|
|
||||||
.toString()
|
|
||||||
.substring(0, 10),
|
|
||||||
color: const Color.fromRGBO(
|
|
||||||
97, 97, 97, 1),
|
|
||||||
size: 12.sp),
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
SizedBox(height: 10.h),
|
SizedBox(height: 10.h),
|
||||||
|
|
@ -281,41 +216,24 @@ class _HomePageState extends State<HomePage>
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Container(
|
child: Container(
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
borderRadius:
|
borderRadius: BorderRadius.circular(10.r),
|
||||||
BorderRadius.circular(
|
|
||||||
10.r),
|
|
||||||
),
|
),
|
||||||
child:
|
child: LinearPercentIndicator(
|
||||||
LinearPercentIndicator(
|
|
||||||
padding: EdgeInsets.zero,
|
padding: EdgeInsets.zero,
|
||||||
animation: true,
|
animation: true,
|
||||||
lineHeight: 8.h,
|
lineHeight: 8.h,
|
||||||
animationDuration: 2500,
|
animationDuration: 2500,
|
||||||
percent: item
|
percent: item.annotateRate == null ? 0 : item.annotateRate! / 100,
|
||||||
.annotateRate ==
|
progressColor: const Color(0xFF4CC793),
|
||||||
null
|
backgroundColor: const Color(0xFFE8E8E8),
|
||||||
? 0
|
barRadius: Radius.circular(10.r),
|
||||||
: item.annotateRate! /
|
|
||||||
100,
|
|
||||||
progressColor:
|
|
||||||
const Color(
|
|
||||||
0xFF4CC793),
|
|
||||||
backgroundColor:
|
|
||||||
const Color(
|
|
||||||
0xFFE8E8E8),
|
|
||||||
barRadius:
|
|
||||||
Radius.circular(10.r),
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
SizedBox(
|
SizedBox(
|
||||||
width: 10.r,
|
width: 10.r,
|
||||||
),
|
),
|
||||||
quickText(
|
quickText('${item.annotateRate!.toStringAsFixed(0)}%', size: 10.sp, color: const Color(0xFF464646)),
|
||||||
'${item.annotateRate!.toStringAsFixed(0)}%',
|
|
||||||
size: 10.sp,
|
|
||||||
color: const Color(
|
|
||||||
0xFF464646)),
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
// FavoriteButton(jobTaskItem.id, jobTaskItem.title),
|
// FavoriteButton(jobTaskItem.id, jobTaskItem.title),
|
||||||
|
|
@ -336,7 +254,7 @@ class _HomePageState extends State<HomePage>
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
));
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
@ -352,11 +270,7 @@ class EntranceModel extends Object {
|
||||||
String navigationUrl;
|
String navigationUrl;
|
||||||
String? page;
|
String? page;
|
||||||
|
|
||||||
EntranceModel(
|
EntranceModel({required this.title, required this.image, required this.navigationUrl, this.page});
|
||||||
{required this.title,
|
|
||||||
required this.image,
|
|
||||||
required this.navigationUrl,
|
|
||||||
this.page});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@swidget
|
@swidget
|
||||||
|
|
@ -365,8 +279,7 @@ Widget $termRow(BuildContext context, List<EntranceModel> items, int? data) {
|
||||||
Widget childWidget;
|
Widget childWidget;
|
||||||
switch (leng) {
|
switch (leng) {
|
||||||
case 1:
|
case 1:
|
||||||
childWidget =
|
childWidget = Row(children: [Expanded(child: $TermItem(items[0], data!))]);
|
||||||
Row(children: [Expanded(child: $TermItem(items[0], data!))]);
|
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
childWidget = Row(children: [
|
childWidget = Row(children: [
|
||||||
|
|
@ -401,13 +314,11 @@ Widget $termRow(BuildContext context, List<EntranceModel> items, int? data) {
|
||||||
childWidget = Container();
|
childWidget = Container();
|
||||||
}
|
}
|
||||||
|
|
||||||
return Container(
|
return Container(padding: EdgeInsets.symmetric(horizontal: 14.w), child: childWidget);
|
||||||
padding: EdgeInsets.symmetric(horizontal: 14.w), child: childWidget);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@swidget
|
@swidget
|
||||||
Widget $termItem(BuildContext context, EntranceModel e, int data,
|
Widget $termItem(BuildContext context, EntranceModel e, int data, {double? theHeight}) {
|
||||||
{double? theHeight}) {
|
|
||||||
bool isJob = e.title == '作业批阅';
|
bool isJob = e.title == '作业批阅';
|
||||||
|
|
||||||
return Material(
|
return Material(
|
||||||
|
|
@ -436,14 +347,10 @@ Widget $termItem(BuildContext context, EntranceModel e, int data,
|
||||||
badgeStyle: badges.BadgeStyle(
|
badgeStyle: badges.BadgeStyle(
|
||||||
badgeColor: const Color.fromRGBO(255, 105, 105, 1),
|
badgeColor: const Color.fromRGBO(255, 105, 105, 1),
|
||||||
shape: badges.BadgeShape.square,
|
shape: badges.BadgeShape.square,
|
||||||
borderRadius: BorderRadius.only(
|
borderRadius: BorderRadius.only(topLeft: Radius.circular(10.r), topRight: Radius.circular(8.5.r), bottomRight: Radius.circular(8.5.r)),
|
||||||
topLeft: Radius.circular(10.r),
|
|
||||||
topRight: Radius.circular(8.5.r),
|
|
||||||
bottomRight: Radius.circular(8.5.r)),
|
|
||||||
// borderSide: BorderSide(color: Colors.white, width: 2),
|
// borderSide: BorderSide(color: Colors.white, width: 2),
|
||||||
elevation: 1,
|
elevation: 1,
|
||||||
padding: EdgeInsets.symmetric(
|
padding: EdgeInsets.symmetric(horizontal: Utils.isPad() ? 11.w : 16.w, vertical: 2.h),
|
||||||
horizontal: Utils.isPad() ? 11.w : 16.w, vertical: 2.h),
|
|
||||||
),
|
),
|
||||||
position: badges.BadgePosition.topEnd(top: 10.r, end: 10.r),
|
position: badges.BadgePosition.topEnd(top: 10.r, end: 10.r),
|
||||||
child: Container(
|
child: Container(
|
||||||
|
|
@ -466,25 +373,17 @@ Widget $termItem(BuildContext context, EntranceModel e, int data,
|
||||||
? Column(
|
? Column(
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
children: [
|
children: [
|
||||||
Image.asset(e.image,
|
Image.asset(e.image, height: 32.r, width: 32.r, fit: BoxFit.cover),
|
||||||
height: 32.r, width: 32.r, fit: BoxFit.cover),
|
|
||||||
SizedBox(height: 6.r),
|
SizedBox(height: 6.r),
|
||||||
quickText(e.title,
|
quickText(e.title, size: 12.sp, color: const Color.fromRGBO(79, 79, 79, 1), fontWeight: FontWeight.w500),
|
||||||
size: 12.sp,
|
|
||||||
color: const Color.fromRGBO(79, 79, 79, 1),
|
|
||||||
fontWeight: FontWeight.w500),
|
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
: Row(
|
: Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
children: [
|
children: [
|
||||||
Image.asset(e.image,
|
Image.asset(e.image, height: 32.r, width: 32.r, fit: BoxFit.cover),
|
||||||
height: 32.r, width: 32.r, fit: BoxFit.cover),
|
|
||||||
SizedBox(width: 6.r),
|
SizedBox(width: 6.r),
|
||||||
quickText(e.title,
|
quickText(e.title, size: 12.sp, color: const Color.fromRGBO(79, 79, 79, 1), fontWeight: FontWeight.w500),
|
||||||
size: 12.sp,
|
|
||||||
color: const Color.fromRGBO(79, 79, 79, 1),
|
|
||||||
fontWeight: FontWeight.w500),
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
import 'package:dio/dio.dart';
|
import 'package:dio/dio.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/services.dart';
|
||||||
import 'package:flutter_easyloading/flutter_easyloading.dart';
|
import 'package:flutter_easyloading/flutter_easyloading.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.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';
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ class _LoginPageState extends State<LoginPage> {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
|
SystemChrome.setSystemUIOverlayStyle(const SystemUiOverlayStyle(statusBarIconBrightness: Brightness.light));
|
||||||
Future.delayed(Duration.zero, () => upgradeLogic.getAppUpgrade(context));
|
Future.delayed(Duration.zero, () => upgradeLogic.getAppUpgrade(context));
|
||||||
super.initState();
|
super.initState();
|
||||||
}
|
}
|
||||||
|
|
@ -36,6 +37,7 @@ class _LoginPageState extends State<LoginPage> {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
SystemChrome.setSystemUIOverlayStyle(const SystemUiOverlayStyle(statusBarIconBrightness: Brightness.light));
|
||||||
return GestureDetector(
|
return GestureDetector(
|
||||||
behavior: HitTestBehavior.translucent,
|
behavior: HitTestBehavior.translucent,
|
||||||
onTap: () {
|
onTap: () {
|
||||||
|
|
@ -228,10 +230,8 @@ class _LoginPageState extends State<LoginPage> {
|
||||||
value: state.keepPwd.value,
|
value: state.keepPwd.value,
|
||||||
onChanged: (value) {
|
onChanged: (value) {
|
||||||
// Get.focusScope?.nextFocus();
|
// Get.focusScope?.nextFocus();
|
||||||
FocusScope.of(context).requestFocus(
|
FocusScope.of(context).requestFocus(state.pwdFocus);
|
||||||
state.pwdFocus);
|
FocusScope.of(context).requestFocus(state.theFocus);
|
||||||
FocusScope.of(context).requestFocus(
|
|
||||||
state.theFocus);
|
|
||||||
state.keepPwd.value = value ?? false;
|
state.keepPwd.value = value ?? false;
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
|
@ -243,10 +243,8 @@ class _LoginPageState extends State<LoginPage> {
|
||||||
Utils.hideKeyboard();
|
Utils.hideKeyboard();
|
||||||
Get.focusScope?.nextFocus();
|
Get.focusScope?.nextFocus();
|
||||||
Get.focusScope?.nextFocus();
|
Get.focusScope?.nextFocus();
|
||||||
FocusScope.of(context).requestFocus(
|
FocusScope.of(context).requestFocus(state.pwdFocus);
|
||||||
state.pwdFocus);
|
FocusScope.of(context).requestFocus(state.theFocus);
|
||||||
FocusScope.of(context).requestFocus(
|
|
||||||
state.theFocus);
|
|
||||||
state.keepPwd.value = !state.keepPwd.value;
|
state.keepPwd.value = !state.keepPwd.value;
|
||||||
},
|
},
|
||||||
child: Text(
|
child: Text(
|
||||||
|
|
@ -319,7 +317,10 @@ class _LoginPageState extends State<LoginPage> {
|
||||||
onTap: () {
|
onTap: () {
|
||||||
Get.toNamed(Routes.agreementPage, arguments: {"type": AGREEMENT_KEY.USER_AGREEMENT.name});
|
Get.toNamed(Routes.agreementPage, arguments: {"type": AGREEMENT_KEY.USER_AGREEMENT.name});
|
||||||
},
|
},
|
||||||
child: quickText('请仔细阅读', size: 11.sp,),
|
child: quickText(
|
||||||
|
'请仔细阅读',
|
||||||
|
size: 11.sp,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
InkWell(
|
InkWell(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
|
|
|
||||||
|
|
@ -27,19 +27,21 @@ class _WorkPageState extends State<WorkPage> with AutomaticKeepAliveClientMixin
|
||||||
@override
|
@override
|
||||||
bool get wantKeepAlive => true;
|
bool get wantKeepAlive => true;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
// TODO: implement initState
|
||||||
|
super.initState();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
super.build(context);
|
super.build(context);
|
||||||
return AnnotatedRegion(
|
|
||||||
value: const SystemUiOverlayStyle(
|
SystemChrome.setSystemUIOverlayStyle(const SystemUiOverlayStyle(
|
||||||
systemNavigationBarColor: Color(0xFF000000),
|
|
||||||
systemNavigationBarDividerColor: null,
|
|
||||||
statusBarColor: Colors.white,
|
|
||||||
systemNavigationBarIconBrightness: Brightness.light,
|
|
||||||
statusBarIconBrightness: Brightness.dark,
|
statusBarIconBrightness: Brightness.dark,
|
||||||
statusBarBrightness: Brightness.light,
|
systemStatusBarContrastEnforced: false,
|
||||||
),
|
));
|
||||||
child: Scaffold(
|
return Scaffold(
|
||||||
backgroundColor: const Color.fromRGBO(244, 244, 244, 1),
|
backgroundColor: const Color.fromRGBO(244, 244, 244, 1),
|
||||||
body: OrientationBuilder(
|
body: OrientationBuilder(
|
||||||
builder: (BuildContext context, Orientation orientation) {
|
builder: (BuildContext context, Orientation orientation) {
|
||||||
|
|
@ -160,7 +162,6 @@ class _WorkPageState extends State<WorkPage> with AutomaticKeepAliveClientMixin
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
),
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
|
||||||
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
||||||
# In Windows, build-name is used as the major, minor, and patch parts
|
# In Windows, build-name is used as the major, minor, and patch parts
|
||||||
# of the product and file versions while build-number is used as the build suffix.
|
# of the product and file versions while build-number is used as the build suffix.
|
||||||
version: 1.0.0+1
|
version: 1.0.1+2
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: '>=3.4.1 <4.0.0'
|
sdk: '>=3.4.1 <4.0.0'
|
||||||
|
|
|
||||||
|
|
@ -157,6 +157,16 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -176,7 +186,7 @@
|
||||||
body {
|
body {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
min-height: 100%;
|
min-height: 100%;
|
||||||
background-color: #42a5f5;
|
background-color: #eeeeee;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue