Compare commits

..

No commits in common. "dd033fd20f7c339744440e0c800b9f5a9e985fc7" and "d9adbe845b0cce00f0abb30d62de5610b5be72c3" have entirely different histories.

4 changed files with 2 additions and 161 deletions

View File

@ -29,7 +29,6 @@ import 'package:marking_app/common/model/user/user_login.dart';
import 'package:marking_app/common/model/user/user_login_params.dart'; import 'package:marking_app/common/model/user/user_login_params.dart';
import 'package:marking_app/provider/user_provider.dart'; import 'package:marking_app/provider/user_provider.dart';
import 'package:marking_app/routes/RouterManager.dart'; import 'package:marking_app/routes/RouterManager.dart';
import 'package:marking_app/utils/sys_protocol.dart';
class TheLogin extends StatefulHookConsumerWidget { class TheLogin extends StatefulHookConsumerWidget {
const TheLogin({Key? key}) : super(key: key); const TheLogin({Key? key}) : super(key: key);
@ -72,7 +71,6 @@ class _TheLoginState extends ConsumerState<TheLogin> with CommonMixin {
@override @override
void initState() { void initState() {
Future.delayed(Duration(seconds: 3), () => sysProtocol(context));
Future(() { Future(() {
// Provider // Provider
ref.read(userTokenProvider.notifier).clean(); // ref.read(userTokenProvider.notifier).clean(); //
@ -389,7 +387,8 @@ class _TheLoginState extends ConsumerState<TheLogin> with CommonMixin {
EasyLoading.show(status: 'loading...'); EasyLoading.show(status: 'loading...');
try { try {
BaseStructureResult<dynamic> resultData = await client.toLogin(UserLoginParams(userName, userPwdMd5)); BaseStructureResult<dynamic> resultData = await client.toLogin(UserLoginParams(userName, userPwdMd5));
UserLogin? userData = resultData.code == 200 && resultData.data != null ? UserLogin.fromJson(resultData.data) : null; UserLogin? userData =
resultData.code == 200 && resultData.data != null ? UserLogin.fromJson(resultData.data) : null;
if (resultData.code != 200 || userData?.accessToken == null || userData?.accessToken == '') { if (resultData.code != 200 || userData?.accessToken == null || userData?.accessToken == '') {
return toMsg(resultData.message ?? '登录失败,请重试'); return toMsg(resultData.message ?? '登录失败,请重试');
} }

View File

@ -27,7 +27,6 @@ import 'package:marking_app/pages/marking/index.dart';
import 'package:marking_app/provider/user_provider.dart'; import 'package:marking_app/provider/user_provider.dart';
import 'package:marking_app/utils/index.dart'; import 'package:marking_app/utils/index.dart';
import 'package:marking_app/utils/request/rest_client.dart'; import 'package:marking_app/utils/request/rest_client.dart';
import 'package:marking_app/utils/sys_protocol.dart';
import 'package:package_info/package_info.dart'; import 'package:package_info/package_info.dart';
import 'homework_correction/job_home.dart'; import 'homework_correction/job_home.dart';
@ -70,7 +69,6 @@ class TheMainPageState extends ConsumerState<TheMainPage> with CommonMixin {
void initState() { void initState() {
_pageController = PageController(initialPage: tabIndex); _pageController = PageController(initialPage: tabIndex);
_otherFocusNode = FocusNode(); _otherFocusNode = FocusNode();
Future.delayed(Duration(seconds: 1), () => sysProtocol(context));
// APP升级校验在登录后 // APP升级校验在登录后
_userListener = ref.read(userProvider.notifier).addListener((state) { _userListener = ref.read(userProvider.notifier).addListener((state) {
if (state.id != '0' && state.id != '') { if (state.id != '0' && state.id != '') {

View File

@ -39,8 +39,6 @@ class FastData {
static const String _MARKING_PREFERENCES_WORK = "APP:MARKING:PREFERENCES:WORK"; static const String _MARKING_PREFERENCES_WORK = "APP:MARKING:PREFERENCES:WORK";
// == // ==
static const String _INPUT_KEYBOARD_GUIDE_PAGE_WORK = "APP:MARKING:GUIDE_PAGE:WORK"; static const String _INPUT_KEYBOARD_GUIDE_PAGE_WORK = "APP:MARKING:GUIDE_PAGE:WORK";
//
static const String _SYS_PROTOCOL = "APP:SYS:PROTOCOL";
static SharedPreferences? _prefs; static SharedPreferences? _prefs;
@ -270,20 +268,4 @@ class FastData {
SharedPreferences thePrefs = await getSharedInstance(); SharedPreferences thePrefs = await getSharedInstance();
thePrefs.remove(_MARKING_ZOOM_SCALE_AND_POSITION); thePrefs.remove(_MARKING_ZOOM_SCALE_AND_POSITION);
} }
/* 阅卷 ==> 缩放组件历史位置 */
Future<bool> setSysProtocol(bool val) async {
SharedPreferences thePrefs = await getSharedInstance();
return await thePrefs.setBool(_SYS_PROTOCOL, val);
}
Future<bool?> getSysProtocol([SharedPreferences? thePrefs]) async {
if (thePrefs == null) thePrefs = await getSharedInstance();
return thePrefs.getBool(_SYS_PROTOCOL);
}
void cleanSysProtocol() async {
SharedPreferences thePrefs = await getSharedInstance();
thePrefs.remove(_SYS_PROTOCOL);
}
} }

View File

@ -1,138 +0,0 @@
import 'dart:io';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:marking_app/routes/RouterManager.dart';
import 'package:marking_app/utils/const_text.dart';
import 'index.dart';
import 'my_text.dart';
class Protocol extends Dialog {
final BuildContext context;
const Protocol(this.context);
@override
Widget build(BuildContext context) {
return Center(
child: Container(
width: isPad() ? 200.w : 260.w,
height: 400.h,
padding: EdgeInsets.symmetric(vertical: 16.h),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(12.r),
),
child: Column(
children: <Widget>[
quickText('用户协议与隐私政策', size: 15.sp, color: Color.fromRGBO(37, 37, 37, 1), fontWeight: FontWeight.bold),
Expanded(
child: ListView(
physics: const BouncingScrollPhysics(),
padding: EdgeInsets.fromLTRB(16.w, 14.h, 16.w, 10.h),
children: [
Text.rich(TextSpan(children: [
TextSpan(
text: '感谢您选择学而有道APP ! 我们非常重视您的个人信息和隐私保护。为了更好地保障您的个人权益,在您使用我们的产品前,请务必审慎阅读',
style: TextStyle(fontSize: 13.sp, color: Color.fromRGBO(51, 51, 51, 1)),
),
TextSpan(
text: '《隐私政策》',
style: TextStyle(fontSize: 13.sp, color: Color.fromRGBO(233, 85, 119, 1)),
recognizer: TapGestureRecognizer()
..onTap = () async {
RouterManager.router.navigateTo(
context,
'${RouterManager.agreementPath}?type=${AGREEMENT_KEY.PRIVACY_GREEMENT.name}',
transition: getTransition(),
);
},
),
TextSpan(
text: '',
style: TextStyle(fontSize: 13.sp, color: Color.fromRGBO(51, 51, 51, 1)),
),
TextSpan(
text: '《用户协议》',
style: TextStyle(fontSize: 13.sp, color: Color.fromRGBO(233, 85, 119, 1)),
recognizer: TapGestureRecognizer()
..onTap = () async {
RouterManager.router.navigateTo(
context,
'${RouterManager.agreementPath}?type=${AGREEMENT_KEY.USER_AGREEMENT.name}',
transition: getTransition(),
);
},
),
TextSpan(
text:
'内的所有条款,尤其是:1.我们对您的个人信息的收集/保存/使用/对外提供/保护等规则条款,以及您的用户权利等条款;2.约定我们的限制责任、免责条款;3.其他以颜色或加粗进行标识的重要条款。如您对以上协议有任何疑问可通过人工客服或发邮件至xrydyj@outlook.com与我们联系。您点击"同意并继续”的行为即表示您已阅读完毕并同意以上协议的全部内容。如您同意以上协议内容,请点击"同意并继续”,开始使用我们的产品和服务!',
style: TextStyle(fontSize: 13.sp, color: Color.fromRGBO(51, 51, 51, 1)),
),
])),
],
),
),
Row(
children: [
Expanded(
child: InkWell(
onTap: () {
exit(0);
},
child: Container(
alignment: Alignment.center,
padding: EdgeInsets.only(top: 15.h),
decoration: BoxDecoration(
border: Border(
top: BorderSide(width: 0.5.r, color: Color.fromRGBO(238, 238, 238, 1)),
right: BorderSide(width: 0.5.r, color: Color.fromRGBO(238, 238, 238, 1)),
),
),
child: quickText('不同意', size: 14.sp),
),
),
),
Expanded(
child: InkWell(
onTap: () {
FastData.getInstance().setSysProtocol(true);
Navigator.of(context).pop(true);
},
child: Container(
alignment: Alignment.center,
padding: EdgeInsets.only(top: 15.h),
decoration: BoxDecoration(
border: Border(
top: BorderSide(width: 0.5.r, color: Color.fromRGBO(238, 238, 238, 1)),
),
),
child: quickText('同意并继续', color: Color.fromRGBO(206, 97, 126, 1), size: 14.sp),
),
),
)
],
),
],
),
),
);
}
}
///
void sysProtocol(BuildContext context) async {
bool? _sysProtocol = await FastData.getInstance().getSysProtocol();
if (_sysProtocol == null || !_sysProtocol) {
print('进来这里....');
showDialog(
context: context,
barrierDismissible: false,
builder: (ctx) {
return Protocol(ctx);
},
);
}
}