feat:更新消息通知功能

This commit is contained in:
2026-06-20 16:11:57 +08:00
parent 5d12377606
commit 5e0864d3ac
16 changed files with 332 additions and 24 deletions

View File

@@ -2,10 +2,13 @@ import 'dart:async';
import 'package:flutter/material.dart';
import 'package:liquid_glass_widgets/liquid_glass_widgets.dart';
import 'package:provider/provider.dart';
import 'package:sweet_chat_app/apis/message_api.dart';
import 'package:sweet_chat_app/models/chat_session.dart';
import 'package:sweet_chat_app/models/contact_info.dart';
import 'package:sweet_chat_app/pages/chat_page.dart';
import 'package:sweet_chat_app/providers/app_provider.dart';
import 'package:sweet_chat_app/services/notify_service.dart';
import 'package:sweet_chat_app/services/webSocket_service.dart';
import 'package:sweet_chat_app/utils/date_utils.dart';
import 'package:sweet_chat_app/utils/sp_utils.dart';
@@ -20,13 +23,19 @@ class MessagePage extends StatefulWidget {
class _MessagePageState extends State<MessagePage> {
late StreamSubscription<String> _msgSub;
late List<ChatSession> _chatSessionList;
final NotifyService notifyService = NotifyService();
late int userId;
@override
void initState() {
super.initState();
userId = SpUtil.getInt('userId') ?? 0;
_chatSessionList = [];
_loadChatSession();
_msgSub = WebSocketService().messages.listen((websocketMessage) {});
_msgSub = WebSocketService().messages.listen((websocketMessage) {
_loadChatSession();
});
}
@override
@@ -58,11 +67,14 @@ class _MessagePageState extends State<MessagePage> {
conversationId: chatSession.conversationId,
);
final appProvider = Provider.of<AppProvider>(context, listen: false);
Navigator.push(context, MaterialPageRoute(builder: (_) => chatPage)).then((
_,
) {
appProvider.routerName = '';
_loadChatSession();
});
appProvider.routerName = 'chat';
}
@override