From 8fc8aa6683dd790cd37a41d53b28bea9ad751912 Mon Sep 17 00:00:00 2001 From: datang Date: Wed, 7 Sep 2022 10:02:11 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/ui/home/calling_idle_list.dart | 74 ++++++------- lib/ui/home/content_connect_page.dart | 145 ++++++++++++++------------ 2 files changed, 118 insertions(+), 101 deletions(-) diff --git a/lib/ui/home/calling_idle_list.dart b/lib/ui/home/calling_idle_list.dart index 4bd632a..1c9e635 100644 --- a/lib/ui/home/calling_idle_list.dart +++ b/lib/ui/home/calling_idle_list.dart @@ -54,6 +54,34 @@ class _CallingIdleListState extends State updateList(); } + Future updateList() async { + if (userProvider.isLogin) { + textListSMS.clear(); + smsIdList.clear(); + int i = 0; + var base = await apiClient + .request(API.content.findByStatus, data: {'status': widget.status}); + if (base.code == 0) { + _model = (base.data as List) + .map((e) => SmsContentModel.fromJson(e)) + .toList(); + } else { + CloudToast.show(base.msg); + } + for (var model in _model) { + textListSMS.add(model.content); + smsIdList.add(model.id); + if (model.isChecked == 1) { + isCheck = i; + } + i++; + } + textListSMS.add("自定义短信内容"); + } else { + textListSMS = textList; + } + } + @override Widget build(BuildContext context) { return Column( @@ -110,34 +138,6 @@ class _CallingIdleListState extends State ); } - updateList() async { - if (userProvider.isLogin) { - textListSMS.clear(); - smsIdList.clear(); - int i = 0; - var base = await apiClient - .request(API.content.findByStatus, data: {'status': widget.status}); - if (base.code == 0) { - _model = (base.data as List) - .map((e) => SmsContentModel.fromJson(e)) - .toList(); - } else { - CloudToast.show(base.msg); - } - for (var model in _model) { - textListSMS.add(model.content); - smsIdList.add(model.id); - if (model.isChecked == 1) { - isCheck = i; - } - i++; - } - textListSMS.add("自定义短信内容"); - } else { - textListSMS = textList; - } - } - _getText() { return Container( height: 128.w, @@ -182,12 +182,14 @@ class _CallingIdleListState extends State if (textListSMS.length > 5) { BotToast.showText(text: '自定义数量已达上限,请先删除不需要的短信'); } else { - Get.to(AddSmsPage( - status: 2, - ploneBack: (String textContent) { - widget.refreshController.callRefresh(); - }, - )); + Get.to( + AddSmsPage( + status: widget.status, + ploneBack: (String textContent) { + widget.refreshController.callRefresh(); + }, + ), + ); } } else { BotToast.showText(text: '请先开通会员'); @@ -232,7 +234,9 @@ class _CallingIdleListState extends State end: Alignment.centerRight, colors: [ index == isCheck ? widget.themeColor : const Color(0xFFF9F9F9), - index == isCheck ? widget.themeColor : const Color(0xFFF9F9F9), + index == isCheck + ? widget.themeColor.withOpacity(0.5) + : const Color(0xFFF9F9F9), ]), ), child: Text( diff --git a/lib/ui/home/content_connect_page.dart b/lib/ui/home/content_connect_page.dart index bd145d3..130938e 100644 --- a/lib/ui/home/content_connect_page.dart +++ b/lib/ui/home/content_connect_page.dart @@ -1,15 +1,13 @@ - import 'package:flutter/material.dart'; import 'package:flutter_easyrefresh/easy_refresh.dart'; import 'package:project_telephony/base/base_style.dart'; +import 'package:project_telephony/ui/home/calling_idle_list.dart'; import 'package:project_telephony/ui/widget/plone_back_button.dart'; import 'package:project_telephony/utils/headers.dart'; import 'package:tab_indicator_styler/tab_indicator_styler.dart'; -import 'answer_idle.dart'; - class ContentConnectPage extends StatefulWidget { const ContentConnectPage({Key? key}) : super(key: key); @@ -27,7 +25,11 @@ class _ContentConnectPageState extends State @override void initState() { - _tabController = TabController(length: 2, initialIndex: 0, vsync: this); + _tabController = TabController( + length: 2, + initialIndex: 0, + vsync: this, + ); super.initState(); } @@ -43,70 +45,81 @@ class _ContentConnectPageState extends State Widget build(BuildContext context) { super.build(context); return Scaffold( - appBar: AppBar( - elevation: 0, - title: Text( - '选择短信内容', - style: Theme.of(context).textTheme.headline6, - ), - leading: const CloudBackButton(isSpecial: true), - backgroundColor: kForeGroundColor, + appBar: AppBar( + elevation: 0, + title: Text( + '选择短信内容', + style: Theme.of(context).textTheme.headline6, ), - backgroundColor: Colors.white, - body: Column( - children: [ - Container( - width:double.infinity, - height: 88.w, - margin: EdgeInsets.symmetric(horizontal: 66.w), - padding: EdgeInsets.all(8.w), - decoration:BoxDecoration(color: const Color(0xFFF9F9F9),borderRadius: BorderRadius.all(Radius.circular(44.w))), - child: TabBar( - // indicator: Decoration(), - controller: _tabController, - labelColor:const Color(0xFF1890FF), - unselectedLabelColor:const Color(0xFF999999), - unselectedLabelStyle:const TextStyle(fontWeight:FontWeight.bold), - labelStyle:const TextStyle(fontWeight:FontWeight.bold), - onTap: (num) { - if(num==0){ - _answerRefreshController.callRefresh(); - }else{ - _wasAnswerRefreshController.callRefresh(); - } - }, - indicator: RectangularIndicator( - color: Colors.white, - bottomLeftRadius: 44.w, - bottomRightRadius: 44.w, - topLeftRadius: 44.w, - topRightRadius: 44.w, - // paintingStyle: PaintingStyle.fill, - ), - // indicatorSize: TabBarIndicatorSize.label, - // isScrollable: true, - tabs: const [ - // _tab(0, "被叫接听"),_tab(1, "主叫接听"), - Tab(text: "被叫接听",),Tab(text: "主叫接听",) - - ]), - - + leading: const CloudBackButton(isSpecial: true), + backgroundColor: kForeGroundColor, + ), + backgroundColor: Colors.white, + body: Column( + children: [ + Container( + width: double.infinity, + height: 88.w, + margin: EdgeInsets.symmetric(horizontal: 66.w), + padding: EdgeInsets.all(8.w), + decoration: BoxDecoration( + color: const Color(0xFFF9F9F9), + borderRadius: BorderRadius.all(Radius.circular(44.w))), + child: TabBar( + controller: _tabController, + labelColor: const Color(0xFF1890FF), + unselectedLabelColor: const Color(0xFF999999), + unselectedLabelStyle: + const TextStyle(fontWeight: FontWeight.bold), + labelStyle: const TextStyle(fontWeight: FontWeight.bold), + onTap: (num) { + if (num == 0) { + _answerRefreshController.callRefresh(); + } else { + _wasAnswerRefreshController.callRefresh(); + } + }, + indicator: RectangularIndicator( + color: Colors.white, + bottomLeftRadius: 44.w, + bottomRightRadius: 44.w, + topLeftRadius: 44.w, + topRightRadius: 44.w, + // paintingStyle: PaintingStyle.fill, + ), + tabs: const [ + Tab( + text: "被叫接听", + ), + Tab( + text: "主叫接听", + ), + ], + ), + ), + Expanded( + child: TabBarView( + controller: _tabController, + children: [ + CallingIdleList( + refreshController: _answerRefreshController, + title: '朋友给你来电接听后所发送的短信', + status: 1, + themeColor: const Color(0xFF1890FF), + ), + CallingIdleList( + refreshController: _answerRefreshController, + isIdle: true, + title: '您给朋友去电接听后所发送的短信', + status: 3, + themeColor: const Color(0xFF1890FF), + ), + ], ), - Expanded( - child: TabBarView(controller: _tabController, children: [ - // _getBox(), - AnswerIdleList( - // contant: const [], - refreshController: _answerRefreshController, isIdle: false, - ), - AnswerIdleList( - // contant: const [], - refreshController: _wasAnswerRefreshController, isIdle: true, - ) - ])) - ], - )); + ), + ], + ), + ); } @override From 30fa9d8b578dbba9e587d35140e02d78959e4888 Mon Sep 17 00:00:00 2001 From: datang Date: Wed, 7 Sep 2022 10:18:02 +0800 Subject: [PATCH 2/2] aads --- lib/providers/user_provider.dart | 48 ++++++++++++++++++++++++++- lib/ui/home/answer_idle.dart | 6 +--- lib/ui/user/content_details_page.dart | 1 - 3 files changed, 48 insertions(+), 7 deletions(-) diff --git a/lib/providers/user_provider.dart b/lib/providers/user_provider.dart index 5fa2de2..863364c 100644 --- a/lib/providers/user_provider.dart +++ b/lib/providers/user_provider.dart @@ -75,7 +75,7 @@ class UserProvider extends ChangeNotifier { notifyListeners(); } - Future updateConSms(int num ) async { + Future updateConSms() async { final prefs = await SharedPreferences.getInstance(); final service = FlutterBackgroundService(); var base = await apiClient.request(API.content.find, data: {'status': 1}); @@ -121,6 +121,52 @@ class UserProvider extends ChangeNotifier { notifyListeners(); } + Future updateSms() async { + final prefs = await SharedPreferences.getInstance(); + final service = FlutterBackgroundService(); + var base = await apiClient.request(API.content.find, data: {'status': 2}); + if (base.code == 0) { + await prefs.remove('refSms'); + await prefs.setString( + 'refSms', + (UserTool.userProvider.userInfo.tag) == "" + ? "${base.data['content']}" + : "【${UserTool.userProvider.userInfo.tag}】${base.data['content']}"); + service.invoke("stopService"); + if (prefs.getBool('kg')!) { + Future.delayed(const Duration(seconds: 1), () async { + service.startService(); + }); + } + } else { + CloudToast.show(base.msg); + } + notifyListeners(); + } + + Future updateIdleSms() async { + final prefs = await SharedPreferences.getInstance(); + final service = FlutterBackgroundService(); + var base = await apiClient.request(API.content.find, data: {'status': 2}); + if (base.code == 0) { + await prefs.remove('refSms'); + await prefs.setString( + 'refSms', + (UserTool.userProvider.userInfo.tag) == "" + ? "${base.data['content']}" + : "【${UserTool.userProvider.userInfo.tag}】${base.data['content']}"); + service.invoke("stopService"); + if (prefs.getBool('kg')!) { + Future.delayed(const Duration(seconds: 1), () async { + service.startService(); + }); + } + } else { + CloudToast.show(base.msg); + } + notifyListeners(); + } + Future getExclude() async { final prefs = await SharedPreferences.getInstance(); final service = FlutterBackgroundService(); diff --git a/lib/ui/home/answer_idle.dart b/lib/ui/home/answer_idle.dart index 74ab605..7431fa1 100644 --- a/lib/ui/home/answer_idle.dart +++ b/lib/ui/home/answer_idle.dart @@ -2,7 +2,6 @@ import 'package:bot_toast/bot_toast.dart'; import 'package:flutter/material.dart'; import 'package:flutter_easyrefresh/easy_refresh.dart'; -import 'package:project_telephony/ui/home/func/contant_func.dart'; import 'package:project_telephony/utils/headers.dart'; import 'package:provider/provider.dart'; @@ -21,7 +20,6 @@ class AnswerIdleList extends StatefulWidget { final EasyRefreshController refreshController; final bool isIdle; final int num; - // final List contant; const AnswerIdleList( {Key? key, required this.refreshController, required this.isIdle,required this.num}) @@ -61,7 +59,6 @@ class _AnswerIdleListState extends State // footer: MaterialFooter(), onRefresh: () async { await userProvider.updateUserInfo(); - answerList=await ContantFunc.getFindByStatus(widget.num); print("这是数据$answerList"); // userProvider.updateRefSms(); // updateList(); @@ -85,7 +82,6 @@ class _AnswerIdleListState extends State // footer: MaterialFooter(), onRefresh: () async { await userProvider.updateUserInfo(); - answerList=await ContantFunc.getFindByStatus(widget.num); print("这是数据$answerList"); // userProvider.updateRefSms(); // updateList(); @@ -166,7 +162,7 @@ class _AnswerIdleListState extends State return GestureDetector( onTap: () async { if (item.content != "自定义短信内容") { - BaseModel res = await apiClient.request(API.app.checked, + BaseModel res = await apiClient.request(API.content.checked, data: {'id': item.id, 'status': 1}); if (res.code == 0) { setState(() {}); diff --git a/lib/ui/user/content_details_page.dart b/lib/ui/user/content_details_page.dart index 7a84d38..4e1a29a 100644 --- a/lib/ui/user/content_details_page.dart +++ b/lib/ui/user/content_details_page.dart @@ -112,7 +112,6 @@ final FocusNode verifyNode=FocusNode(); widget.ploneBack(_controller.text); UserTool.userProvider.updateUserInfo(); UserTool.userProvider.updateConSms(); - UserTool.userProvider.updateRefSms(); Get.back(); } else { CloudToast.show(res.msg);