fix: system notify null error

This commit is contained in:
guozhigq
2024-12-10 20:10:53 +08:00
parent 8ffc74db7a
commit 55dbd9d5e5
2 changed files with 33 additions and 24 deletions

View File

@ -299,8 +299,10 @@ class MsgHttp {
return {
'status': true,
'data': res.data['data']['system_notify_list']
.map<MessageSystemModel>((e) => MessageSystemModel.fromJson(e))
.toList(),
?.map<MessageSystemModel>(
(e) => MessageSystemModel.fromJson(e))
.toList() ??
[],
};
} catch (err) {
return {'status': false, 'date': [], 'msg': err.toString()};
@ -341,8 +343,10 @@ class MsgHttp {
return {
'status': true,
'data': res.data['data']['system_notify_list']
.map<MessageSystemModel>((e) => MessageSystemModel.fromJson(e))
.toList(),
?.map<MessageSystemModel>(
(e) => MessageSystemModel.fromJson(e))
.toList() ??
[],
};
} catch (err) {
return {'status': false, 'date': [], 'msg': err.toString()};

View File

@ -2,6 +2,7 @@ import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:pilipala/common/widgets/http_error.dart';
import 'package:pilipala/common/widgets/no_data.dart';
import 'package:pilipala/models/msg/system.dart';
import 'package:pilipala/pages/message/utils/index.dart';
import 'package:pilipala/utils/app_scheme.dart';
@ -41,31 +42,35 @@ class _MessageSystemPageState extends State<MessageSystemPage> {
if (snapshot.data == null) {
return const SizedBox();
}
if (snapshot.data['status']) {
final systemItems = _messageSystemCtr.systemItems;
Map? data = snapshot.data;
if (data != null && data['status']) {
RxList<MessageSystemModel> systemItems =
_messageSystemCtr.systemItems;
return Obx(
() => ListView.separated(
controller: scrollController,
itemBuilder: (context, index) => SystemItem(
item: systemItems[index],
index: index,
messageSystemCtr: _messageSystemCtr,
),
itemCount: systemItems.length,
separatorBuilder: (BuildContext context, int index) {
return Divider(
indent: 14,
endIndent: 14,
height: 1,
color: Colors.grey.withOpacity(0.1),
);
},
),
() => systemItems.isNotEmpty
? ListView.separated(
controller: scrollController,
itemBuilder: (context, index) => SystemItem(
item: systemItems[index],
index: index,
messageSystemCtr: _messageSystemCtr,
),
itemCount: systemItems.length,
separatorBuilder: (BuildContext context, int index) {
return Divider(
indent: 14,
endIndent: 14,
height: 1,
color: Colors.grey.withOpacity(0.1),
);
},
)
: const CustomScrollView(slivers: [NoData()]),
);
} else {
// 请求错误
return HttpError(
errMsg: snapshot.data['msg'],
errMsg: data?['msg'] ?? '请求异常',
fn: () {
setState(() {
_futureBuilderFuture =