# Conflicts:
#	lib/ui/home/content_connect_page.dart
master
戴余标 2 years ago
commit 4925905faf

@ -69,8 +69,14 @@ class _Content{
/// ///
String get find => '/app/user/content/find'; String get find => '/app/user/content/find';
/// ///
String get findByStatus =>'/app/user/content/findByStatus'; String get findByStatus =>'/app/user/content/findByStatus';
///VIP
String get updateVip => '/app/user/updateVip';
///
String get trialVip => '/app/user/trialVip';
} }
class _Pay { class _Pay {

@ -0,0 +1,21 @@
import 'package:json_annotation/json_annotation.dart';
import 'package:equatable/equatable.dart';
part 'contant_list_model.g.dart';
@JsonSerializable()
class ContantListModel extends Equatable{
final int id;
final String content;
final int is_checked;
factory ContantListModel.fromJson(Map<String, dynamic> json) =>_$ContantListModelFromJson(json);
const ContantListModel({
required this.id,
required this.content,
required this.is_checked,
});
@override
List<Object?> get props => [id,content,is_checked];
}

@ -0,0 +1,14 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'contant_list_model.dart';
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
ContantListModel _$ContantListModelFromJson(Map<String, dynamic> json) =>
ContantListModel(
id: json['id'] as int,
content: json['content'] as String,
is_checked: json['is_checked'] as int,
);

@ -5,8 +5,9 @@ import 'package:flutter/foundation.dart';
import 'package:platform/platform.dart'; import 'package:platform/platform.dart';
import '../../constants/api.dart'; import '../../constants/api.dart';
import '../../utils/inner_model/base_list_model.dart';
import '../../utils/toast/cloud_toast.dart'; import '../../utils/toast/cloud_toast.dart';
import 'base_list_model.dart'; // import 'base_list_model.dart';
import 'base_model.dart'; import 'base_model.dart';
import 'net_interceptor.dart'; import 'net_interceptor.dart';

@ -75,7 +75,7 @@ class UserProvider extends ChangeNotifier {
notifyListeners(); notifyListeners();
} }
Future updateConSms() async { Future updateConSms(int num ) async {
final prefs = await SharedPreferences.getInstance(); final prefs = await SharedPreferences.getInstance();
final service = FlutterBackgroundService(); final service = FlutterBackgroundService();
var base = await apiClient.request(API.content.find, data: {'status': 1}); var base = await apiClient.request(API.content.find, data: {'status': 1});

@ -2,11 +2,13 @@ import 'package:bot_toast/bot_toast.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_easyrefresh/easy_refresh.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:project_telephony/utils/headers.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import '../../base/base_style.dart'; import '../../base/base_style.dart';
import '../../constants/api.dart'; import '../../constants/api.dart';
import '../../model/contant_list_model.dart';
import '../../model/network/api_client.dart'; import '../../model/network/api_client.dart';
import '../../model/network/base_model.dart'; import '../../model/network/base_model.dart';
import '../../model/sms_content_model.dart'; import '../../model/sms_content_model.dart';
@ -18,11 +20,11 @@ import 'add_sms_page.dart';
class AnswerIdleList extends StatefulWidget { class AnswerIdleList extends StatefulWidget {
final EasyRefreshController refreshController; final EasyRefreshController refreshController;
final bool isIdle; final bool isIdle;
final int num;
// final List contant; // final List contant;
const AnswerIdleList( const AnswerIdleList(
{Key? key, required this.refreshController, required this.isIdle}) {Key? key, required this.refreshController, required this.isIdle,required this.num})
: super(key: key); : super(key: key);
@override @override
@ -34,6 +36,7 @@ class _AnswerIdleListState extends State<AnswerIdleList>
final userProvider = Provider.of<UserProvider>(Get.context!, listen: false); final userProvider = Provider.of<UserProvider>(Get.context!, listen: false);
List<String> textList = ['现在无法接听。有什么事吗?', '自定义短信内容']; List<String> textList = ['现在无法接听。有什么事吗?', '自定义短信内容'];
List<SmsContentModel> _model = []; List<SmsContentModel> _model = [];
List<ContantListModel> answerList=[];
List<String> textListSMS = []; List<String> textListSMS = [];
List<int> smsIdList = []; List<int> smsIdList = [];
int isCheck = 0; int isCheck = 0;
@ -58,16 +61,18 @@ class _AnswerIdleListState extends State<AnswerIdleList>
// footer: MaterialFooter(), // footer: MaterialFooter(),
onRefresh: () async { onRefresh: () async {
await userProvider.updateUserInfo(); await userProvider.updateUserInfo();
userProvider.updateRefSms(); answerList=await ContantFunc.getFindByStatus(widget.num);
updateList(); print("这是数据$answerList");
// userProvider.updateRefSms();
// updateList();
setState(() {}); setState(() {});
}, },
slivers: [ slivers: [
SliverList( SliverList(
delegate: delegate:
SliverChildBuilderDelegate((context, index) { SliverChildBuilderDelegate((context, index) {
return _getBox(textListSMS[index], index); return _getBox(answerList[index], index);
}, childCount: textListSMS.length)) }, childCount: answerList.length)),
])) ]))
: _getEmptyList() : _getEmptyList()
: Expanded( : Expanded(
@ -80,15 +85,18 @@ class _AnswerIdleListState extends State<AnswerIdleList>
// footer: MaterialFooter(), // footer: MaterialFooter(),
onRefresh: () async { onRefresh: () async {
await userProvider.updateUserInfo(); await userProvider.updateUserInfo();
userProvider.updateRefSms(); answerList=await ContantFunc.getFindByStatus(widget.num);
updateList(); print("这是数据$answerList");
// userProvider.updateRefSms();
// updateList();
setState(() {}); setState(() {});
}, },
slivers: [ slivers: [
SliverList( SliverList(
delegate: SliverChildBuilderDelegate((context, index) { delegate:
return _getBox(textListSMS[index], index); SliverChildBuilderDelegate((context, index) {
}, childCount: textListSMS.length)) return _getBox(answerList[index], index);
}, childCount: answerList.length))
])) ]))
], ],
); );
@ -96,8 +104,8 @@ class _AnswerIdleListState extends State<AnswerIdleList>
updateList() async { updateList() async {
if (userProvider.isLogin) { if (userProvider.isLogin) {
textListSMS.clear(); // textListSMS.clear();
smsIdList.clear(); // smsIdList.clear();
int i = 0; int i = 0;
// contentRef // contentRef
var base = await apiClient.request(API.content.findByStatus, data: {'status': 1}); var base = await apiClient.request(API.content.findByStatus, data: {'status': 1});
@ -154,12 +162,12 @@ class _AnswerIdleListState extends State<AnswerIdleList>
); );
} }
_getBox(String content, int index) { _getBox(ContantListModel item,int index) {
return GestureDetector( return GestureDetector(
onTap: () async { onTap: () async {
if (content != "自定义短信内容") { if (item.content != "自定义短信内容") {
BaseModel res = await apiClient.request(API.content.checked, BaseModel res = await apiClient.request(API.app.checked,
data: {'id': smsIdList[index], 'status': 1}); data: {'id': item.id, 'status': 1});
if (res.code == 0) { if (res.code == 0) {
setState(() {}); setState(() {});
userProvider.updateUserInfo(); userProvider.updateUserInfo();
@ -170,7 +178,7 @@ class _AnswerIdleListState extends State<AnswerIdleList>
} }
} else { } else {
if (userProvider.userInfo.isVip == 1) { if (userProvider.userInfo.isVip == 1) {
if (textListSMS.length > 5) { if (answerList.length > 5) {
BotToast.showText(text: '自定义数量已达上限,请先删除不需要的短信'); BotToast.showText(text: '自定义数量已达上限,请先删除不需要的短信');
} else { } else {
Get.to(AddSmsPage( Get.to(AddSmsPage(
@ -187,9 +195,9 @@ class _AnswerIdleListState extends State<AnswerIdleList>
setState(() {}); setState(() {});
}, },
onLongPress: () { onLongPress: () {
if (content != "自定义短信内容") { if (item.content != "自定义短信内容") {
if (textListSMS.length == 2 || isCheck == index) { if (answerList.length == 2 || isCheck == index) {
if (textListSMS.length == 2) { if (answerList.length == 2) {
BotToast.showText(text: '最后一条内容不可删除'); BotToast.showText(text: '最后一条内容不可删除');
} else if (isCheck == index) { } else if (isCheck == index) {
BotToast.showText(text: '当前为选中内容,不可删除'); BotToast.showText(text: '当前为选中内容,不可删除');
@ -201,7 +209,7 @@ class _AnswerIdleListState extends State<AnswerIdleList>
return Centertipsalterwidget( return Centertipsalterwidget(
desText: '你确定要删除这个短信模版吗,删除之后无法还原。', desText: '你确定要删除这个短信模版吗,删除之后无法还原。',
title: '删除短信模板', title: '删除短信模板',
id: smsIdList[index], id: item.id,
callback: (bool status) { callback: (bool status) {
widget.refreshController.callRefresh(); widget.refreshController.callRefresh();
}, },
@ -231,7 +239,7 @@ class _AnswerIdleListState extends State<AnswerIdleList>
]), ]),
), ),
child: Text( child: Text(
content, item.content,
style: TextStyle( style: TextStyle(
fontSize: BaseStyle.fontSize28, fontSize: BaseStyle.fontSize28,
color: index == isCheck color: index == isCheck

@ -0,0 +1,32 @@
import 'package:json_annotation/json_annotation.dart';
part 'base_list_model.g.dart';
@JsonSerializable()
class BaseListModel<T> {
final int code;
final String msg;
final List data;
BaseListModel({
required this.code,
required this.msg,
required this.data,
});
factory BaseListModel.fromJson(Map<String, dynamic> json) =>
_$BaseListModelFromJson(json);
List get nullSafetyList {
if (data.isEmpty) {
return [];
} else if (data.isEmpty) {
return [];
} else {
return data;
}
}
}

@ -0,0 +1,14 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'base_list_model.dart';
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
BaseListModel<T> _$BaseListModelFromJson<T>(Map<String, dynamic> json) =>
BaseListModel<T>(
code: json['code'] as int,
msg: json['msg'] as String,
data: json['data'] as List<dynamic>,
);

@ -0,0 +1,36 @@
import 'package:dio/dio.dart';
import 'package:json_annotation/json_annotation.dart';
part 'base_model.g.dart';
@JsonSerializable()
class BaseModel<T> {
int code;
String msg;
dynamic data;
BaseModel({
required this.code,
required this.msg,
this.data,
});
List<T> map(T Function(dynamic json) f) {
if (data == null) return [];
return (data! as List<T>).map(f).toList();
}
factory BaseModel.unknown() => BaseModel(
code: -1,
msg: 'UNKNOW FAIL',
);
factory BaseModel.dioErr(DioError err) => BaseModel(
code: err.response?.statusCode ?? -1,
msg: err.message,
);
factory BaseModel.fromJson(Map<String, dynamic> json) =>
_$BaseModelFromJson(json) as BaseModel<T>;
}

@ -0,0 +1,13 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'base_model.dart';
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
BaseModel<T> _$BaseModelFromJson<T>(Map<String, dynamic> json) => BaseModel<T>(
code: json['code'] as int,
msg: json['msg'] as String,
data: json['data'],
);
Loading…
Cancel
Save