From e7e2163692708598ed52e6be54f78a50691e8633 Mon Sep 17 00:00:00 2001 From: wylyl22 <2373073266@qq.com> Date: Fri, 26 Aug 2022 15:16:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/main.dart | 1 - lib/ui/home/add_sms_page.dart | 1 - lib/ui/home/content_connect_page.dart | 73 ++++++++++++++++++++---- lib/ui/home/content_page.dart | 0 lib/ui/home/content_refuse_page.dart | 82 ++++++++++++++++++++++----- lib/ui/login/login_page.dart | 14 ++--- lib/ui/user/privacy_rights_page.dart | 1 + lib/ui/user/user_page.dart | 51 +++++++++++------ 8 files changed, 173 insertions(+), 50 deletions(-) delete mode 100644 lib/ui/home/content_page.dart diff --git a/lib/main.dart b/lib/main.dart index 70d9169..31155e0 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -43,7 +43,6 @@ void main() async { // LoggerData.addData(details); // FlutterError.presentError(details); // }; - WidgetsFlutterBinding.ensureInitialized(); // await initializeService(); diff --git a/lib/ui/home/add_sms_page.dart b/lib/ui/home/add_sms_page.dart index 387f084..492eabc 100644 --- a/lib/ui/home/add_sms_page.dart +++ b/lib/ui/home/add_sms_page.dart @@ -91,7 +91,6 @@ class _AddSmsPageState extends State { border: _controller.text.isEmpty, opacity: contant.isEmpty ? 0.4 : 1, onTap: () async { - BaseModel res = await apiClient.request(API.app.content, data: { 'content': _controller.text, 'status': widget.status, diff --git a/lib/ui/home/content_connect_page.dart b/lib/ui/home/content_connect_page.dart index 226420a..e2c2393 100644 --- a/lib/ui/home/content_connect_page.dart +++ b/lib/ui/home/content_connect_page.dart @@ -22,7 +22,7 @@ class ContentConnectPage extends StatefulWidget { } class _ContentConnectPageState extends State { - List textList = ['欢迎您的来电,祝您生活愉快', '自定义短信内容']; + List textList = ['欢迎您的来电,祝您生活愉快','自定义短信内容']; List smsIdList = []; List textListSMS = []; int isCheck=0; @@ -74,16 +74,20 @@ class _ContentConnectPageState extends State { backgroundColor: kForeGroundColor, ), backgroundColor: Colors.white, - body: Column(children: [ - Expanded( - child: _getList(), - ), - ]), + body: _getList() + + // Column(children: [ + // // _getEditContent(), + // Expanded(child: _getList()), + // + // + // ]), ); } _getList() { - return EasyRefresh( + return + EasyRefresh( firstRefresh: true, header: MaterialHeader(), footer: MaterialFooter(), @@ -94,6 +98,7 @@ class _ContentConnectPageState extends State { setState(() {}); }, child: ListView.builder( + shrinkWrap:true, itemBuilder: (context, index) { return _getBox(textListSMS[index], index); }, @@ -136,8 +141,12 @@ class _ContentConnectPageState extends State { }, onLongPress: () { if (content != "自定义短信内容") { - if (textListSMS.length == 1) { - BotToast.showText(text: '不能再删了'); + if (textListSMS.length == 2 || isCheck == index) { + if(textListSMS.length == 2){ + BotToast.showText(text: '最后一条内容不可删除'); + }else if(isCheck == index){ + BotToast.showText(text: '当前为选中内容,不可删除'); + } } else { showDialog( context: context, @@ -160,8 +169,14 @@ class _ContentConnectPageState extends State { margin: EdgeInsets.only(top: 32.w, left: 64.w, right: 64.w), padding: EdgeInsets.all(40.w), decoration: BoxDecoration( - borderRadius: BorderRadius.circular(16), - color: index==isCheck?Colors.blue:const Color(0xFFF9F9F9), + borderRadius: BorderRadius.circular(16.w), + gradient: LinearGradient( + begin: Alignment.centerLeft, + end: Alignment.centerRight, + colors: [ + index==isCheck? const Color(0xFF74BCFF):const Color(0xFFF9F9F9), + index==isCheck? const Color(0xFF1890FF):const Color(0xFFF9F9F9), + ]), ), child: Text( content, @@ -173,4 +188,40 @@ class _ContentConnectPageState extends State { ), ); } + // _getEditContent(){ + // return GestureDetector( + // onTap: (){ + // if (UserTool.userProvider.userInfo.isVip==1) { + // if (textListSMS.length > 5) { + // BotToast.showText(text: '自定义数量已达上限,请先删除不需要的短信'); + // } else { + // Get.to(AddSmsPage( + // status: 2, + // ploneBack: (String textContent) { + // _easyRefreshController.callRefresh(); + // }, + // )); + // } + // } else { + // BotToast.showText(text: '请先开通会员'); + // } + // } + // ,child: Container( + // width: double.infinity, + // height: 128.w, + // margin: EdgeInsets.symmetric(horizontal: 64.w), + // padding: EdgeInsets.only(left: 40.w,top: 45.w), + // decoration: BoxDecoration( + // borderRadius: BorderRadius.circular(16), + // color: const Color(0xFFF9F9F9), + // ), + // child: Text( + // "定义短信内容", + // style: TextStyle( + // fontSize: BaseStyle.fontSize28, + // color: BaseStyle.color333333, + // fontWeight: FontWeight.bold), + // ), + // ),); + // } } diff --git a/lib/ui/home/content_page.dart b/lib/ui/home/content_page.dart deleted file mode 100644 index e69de29..0000000 diff --git a/lib/ui/home/content_refuse_page.dart b/lib/ui/home/content_refuse_page.dart index 3b45a5f..ad8f6ec 100644 --- a/lib/ui/home/content_refuse_page.dart +++ b/lib/ui/home/content_refuse_page.dart @@ -6,6 +6,7 @@ import 'package:project_telephony/base/base_style.dart'; import 'package:project_telephony/ui/widget/centertipsalterwidget.dart'; import 'package:project_telephony/ui/widget/plone_back_button.dart'; import 'package:project_telephony/utils/headers.dart'; +import 'package:project_telephony/utils/user_tool.dart'; import 'package:provider/provider.dart'; import '../../constants/api.dart'; import '../../model/network/api_client.dart'; @@ -26,8 +27,6 @@ class _ContentRefusePageState extends State { List textListSMS = []; List smsIdList = []; int isCheck=0; - - final userProvider = Provider.of(Get.context!, listen: false); final EasyRefreshController _easyRefreshController = EasyRefreshController(); @@ -75,11 +74,15 @@ class _ContentRefusePageState extends State { backgroundColor: kForeGroundColor, ), backgroundColor: Colors.white, - body: Column(children: [ - Expanded( - child: _getList(), - ), - ]), + body: _getList() + // Column(children: [ + // _getEditContent(), + // Expanded( + // child: _getList(), + // ), + // + // ]), + // bottomNavigationBar: _getEditContent(), ); } @@ -136,9 +139,14 @@ class _ContentRefusePageState extends State { setState(() {}); }, onLongPress: () { + if (content != "自定义短信内容") { - if (textListSMS.length == 2) { - BotToast.showText(text: '不能再删了'); + if (textListSMS.length == 2 || isCheck == index) { + if(textListSMS.length == 2){ + BotToast.showText(text: '最后一条内容不可删除'); + }else if(isCheck == index){ + BotToast.showText(text: '当前为选中内容,不可删除'); + } } else { showDialog( context: context, @@ -153,16 +161,25 @@ class _ContentRefusePageState extends State { ); }); } - } + } setState(() {}); }, - child: Container( + child: + Container( // width: 686.w, + height: 128.w, margin: EdgeInsets.only(top: 32.w, left: 64.w, right: 64.w), - padding: EdgeInsets.all(40.w), + padding: EdgeInsets.only(left: 40.w,top: 45.w), decoration: BoxDecoration( borderRadius: BorderRadius.circular(16), - color: index==isCheck?const Color(0xFF72E4C8) :const Color(0xFFF9F9F9), + gradient: LinearGradient( + begin: Alignment.centerLeft, + end: Alignment.centerRight, + colors: [ + index==isCheck? const Color(0xFF13CA9D):const Color(0xFFF9F9F9), + index==isCheck? const Color(0xFF72E4C8):const Color(0xFFF9F9F9), + ]), + ), child: Text( content, @@ -174,4 +191,43 @@ class _ContentRefusePageState extends State { ), ); } + // int _getEasyRefresh(){ + // return EasyRefresh(onRefresh: ,child: ,); + // } + // _getEditContent(){ + // return GestureDetector( + // onTap: (){ + // if (userProvider.userInfo.isVip==1) { + // if (textListSMS.length > 5) { + // BotToast.showText(text: '自定义数量已达上限,请先删除不需要的短信'); + // } else { + // Get.to(AddSmsPage( + // status: 2, + // ploneBack: (String textContent) { + // _easyRefreshController.callRefresh(); + // }, + // )); + // } + // } else { + // BotToast.showText(text: '请先开通会员'); + // } + // } + // ,child: Container( + // width: double.infinity, + // height: 128.w, + // margin: EdgeInsets.symmetric(horizontal: 64.w), + // padding: EdgeInsets.only(left: 40.w,top: 45.w), + // decoration: BoxDecoration( + // borderRadius: BorderRadius.circular(16), + // color: const Color(0xFFF9F9F9), + // ), + // child: Text( + // "定义短信内容", + // style: TextStyle( + // fontSize: BaseStyle.fontSize28, + // color: BaseStyle.color333333, + // fontWeight: FontWeight.bold), + // ), + // ),); + // } } diff --git a/lib/ui/login/login_page.dart b/lib/ui/login/login_page.dart index 06bde89..10108bf 100644 --- a/lib/ui/login/login_page.dart +++ b/lib/ui/login/login_page.dart @@ -138,9 +138,9 @@ class _LoginPageState extends State { data: {'phone': _phoneController.text, 'code': _smsCodeController.text}); if (base.code == 0) { print("123123${base.data['token']}"); - var a= await UserTool.userProvider.setToken(base.data['token']); - print(a); - print("4567899"); + await UserTool.userProvider.setToken(base.data['token']); + // print(a); + // print("4567899"); Get.offAll(const TabNavigator()); } else { @@ -222,12 +222,12 @@ class _LoginPageState extends State { await apiClient.request(API.app.captcha, data: { 'phone': _phoneController.text, }); - if((_phoneController.text).isEmpty ){ - BotToast.showText(text: "手机号不能为空"); - }else{ + var res= RegExp( r'^((13[0-9])|(14[0-9])|(15[0-9])|(16[0-9])|(17[0-9])|(18[0-9])|(19[0-9]))\d{8}$'); + if((_phoneController.text).isNotEmpty && res.hasMatch(_phoneController.text)){ _beginCountDown(); + }else{ + BotToast.showText(text: "手机号不能为空且手机号格式错误"); } - if (_cantSelected) return; _cantSelected = true; Future.delayed(const Duration(seconds: 1), () { diff --git a/lib/ui/user/privacy_rights_page.dart b/lib/ui/user/privacy_rights_page.dart index a363b80..35b41d3 100644 --- a/lib/ui/user/privacy_rights_page.dart +++ b/lib/ui/user/privacy_rights_page.dart @@ -64,6 +64,7 @@ class _PrivacyRightsPageState extends State { await _launchUrl(); // await launchUrlString("tel:13111111111"); } , + // onTap: () async{ // // }, diff --git a/lib/ui/user/user_page.dart b/lib/ui/user/user_page.dart index f3587da..34368d1 100644 --- a/lib/ui/user/user_page.dart +++ b/lib/ui/user/user_page.dart @@ -44,31 +44,49 @@ class _UserPageState extends State { final userProvider = Provider.of(Get.context!, listen: false); bool isVip = false; String? endDate; - bool vle=false; - @override + final service = FlutterBackgroundService(); + late bool vle=false; + // bool vle=service.isRunning() as bool; + _load() async{ + vle=await service.isRunning(); + } + @override void initState() { super.initState(); UserTool.userProvider.updateUserInfo(); - if ( UserTool.userProvider.isLogin) { - print(UserTool.userProvider.userInfo.end*1000); - print(DateTime.now().millisecondsSinceEpoch); - if (UserTool.userProvider.userInfo.end*1000<=DateTime.now().millisecondsSinceEpoch ) { - isVip = false; - vle =false; - } else { - isVip = true; + Future.delayed(const Duration(milliseconds: 0), ()=>setState(() { + if ( UserTool.userProvider.isLogin) { + print(UserTool.userProvider.userInfo.end*1000); + print(DateTime.now().millisecondsSinceEpoch); + if (UserTool.userProvider.userInfo.end*1000<=DateTime.now().millisecondsSinceEpoch ) { + isVip = false; + vle=false; + } else { + isVip = true; + _load(); + // if( await service.isRunning()){ + // vle=true; + // }else{ + // vle=false; + // } + // vle=true; + } + //service.isRunning() as bool; + endDate=DateUtil.formatDateMs(UserTool.userProvider.userInfo.end * 1000, format: DateFormats.y_mo_d); + }else{ + vle = false; } - endDate=DateUtil.formatDateMs(UserTool.userProvider.userInfo.end * 1000, format: DateFormats.y_mo_d); - }else{ - vle = false; - } + })); + // Future.delayed(const Duration(milliseconds: 0), () async { + // + // }); + } @override Widget build(BuildContext context) { return CloudScaffold( - systemStyle: const SystemUiOverlayStyle( statusBarIconBrightness: Brightness.dark, // systemNavigationBarColor: Colors.white, @@ -289,7 +307,7 @@ class _UserPageState extends State { trailing: Switch( value: vle, onChanged: (value) async { - final service = FlutterBackgroundService(); + final SharedPreferences prefs = await _prefs; // if(!value){ // @@ -299,7 +317,6 @@ class _UserPageState extends State { setState(() { if(isVip){ vle=value; - // prefs.setBool("kg", vle); // initializeService(); if(vle){