feat: 私信页面表情面板

This commit is contained in:
guozhigq
2024-02-25 22:48:02 +08:00
parent b2a4c54565
commit e2489ef0e3
7 changed files with 377 additions and 119 deletions

View File

@ -1,7 +1,11 @@
import 'package:flutter/material.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:get/get.dart';
import 'package:hive/hive.dart';
import 'package:pilipala/http/msg.dart';
import 'package:pilipala/models/msg/session.dart';
import '../../utils/feed_back.dart';
import '../../utils/storage.dart';
class WhisperDetailController extends GetxController {
late int talkerId;
@ -11,6 +15,8 @@ class WhisperDetailController extends GetxController {
RxList<MessageItem> messageList = <MessageItem>[].obs;
//表情转换图片规则
List<dynamic>? eInfos;
final TextEditingController replyContentController = TextEditingController();
Box userInfoCache = GStrorage.userInfo;
@override
void onInit() {
@ -42,14 +48,34 @@ class WhisperDetailController extends GetxController {
if (messageList.isEmpty) {
return;
}
var res = await MsgHttp.ackSessionMsg(
await MsgHttp.ackSessionMsg(
talkerId: talkerId,
ackSeqno: messageList.last.msgSeqno,
);
if (res['status']) {
SmartDialog.showToast("已读成功");
}
Future sendMsg() async {
feedBack();
String message = replyContentController.text;
final userInfo = userInfoCache.get('userInfoCache');
if (userInfo == null) {
SmartDialog.showToast('请先登录');
return;
}
if (message == '') {
SmartDialog.showToast('请输入内容');
return;
}
var result = await MsgHttp.sendMsg(
senderUid: userInfo.mid,
receiverId: int.parse(mid),
content: {'content': message},
msgType: 1,
);
if (result['status']) {
SmartDialog.showToast('发送成功');
} else {
SmartDialog.showToast(res['msg']);
SmartDialog.showToast(result['msg']);
}
}
}