# 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 findByStatus =>'/app/user/content/findByStatus';
///VIP
String get updateVip => '/app/user/updateVip';
///
String get trialVip => '/app/user/trialVip';
}
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 '../../constants/api.dart';
import '../../utils/inner_model/base_list_model.dart';
import '../../utils/toast/cloud_toast.dart';
import 'base_list_model.dart';
// import 'base_list_model.dart';
import 'base_model.dart';
import 'net_interceptor.dart';

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