import 'dart:async'; import 'package:aiplot/tools/message/message_model.dart'; import 'package:flutter/material.dart'; import 'package:flutter_easyloading/flutter_easyloading.dart'; import '../../generated/l10n.dart'; class MessagePage extends StatefulWidget { const MessagePage({Key? key}) : super(key: key); @override State createState() => _MessagePageState(); } class _MessagePageState extends State { StreamSubscription? subscription; final MessageModel _viewModel = MessageModel(); @override void initState() { // TODO: implement initState super.initState(); //网络请求回调 subscription = _viewModel.streamController.stream.listen((newData) { String code = newData['code']; if (code.isNotEmpty) { EasyLoading.dismiss(); } setState(() {}); }); getData(); } getData() async { _viewModel.getUserMessage(); } @override Widget build(BuildContext context) { return Scaffold( backgroundColor: Colors.white, appBar: AppBar( backgroundColor: Colors.white, elevation: 0, title: Container( child: Row( mainAxisSize: MainAxisSize.min, children: [ Container( margin: EdgeInsets.only(right: 10), child: Image( width: 23, height: 23, image: AssetImage('assets/images/ic_title.png'), ), ), Text( S.of(context).message, style: TextStyle(color: Colors.black, fontSize: 20), ), ], ), ), leading: IconButton( icon: ImageIcon(AssetImage('assets/images/ic_return.png')), color: Colors.black, onPressed: () { Navigator.pop(context); }), centerTitle: true, ), body: Stack( children: [ Column( children: [ Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Expanded( flex: 1, child: GestureDetector( child: Container( height: 105, child: Stack( alignment: Alignment.center, children: [ Positioned( top: 10, child: Image(width: 40, image: AssetImage('assets/images/ic_message_notice.png')), ), Positioned(bottom: 30, child: Text("公告")), ], ), ), )), Expanded( flex: 1, child: GestureDetector( child: Container( height: 105, child: Stack( alignment: Alignment.center, children: [ Positioned( top: 10, child: Image(width: 40, image: AssetImage('assets/images/ic_message_collect.png')), ), Positioned(bottom: 30, child: Text("收藏")), ], ), ), )), ], ), Expanded(child: ListView.builder( itemBuilder: (BuildContext context, int index) { return _item(); }, )) ], ), ], ), ); } _item() {} }