import 'package:get/get.dart'; import 'package:demo/views/base/base_controller.dart'; import 'package:demo/tools/tools_enum.dart'; import 'package:demo/tools/tools_sqlite.dart'; import 'package:demo/tools/tools_storage.dart'; import 'package:demo/component/component_contact.dart'; class MsgForwardController extends BaseController { // 用户 String userId = ToolsStorage().local().userId; // 好友列表 List friendList = []; // 群组列表 List groupList = []; // 消息类型 late List dataList; // 好友列表 void _friendList() async { // 执行 List memberList = await ToolsSqlite().friend.getList(); // 转换 for (var member in memberList) { // 过滤自己 if (userId == member.userId) { continue; } friendList.add( ContactModel( userId: member.userId, nickname: member.nickname, portrait: member.portrait, remark: member.remark, extend: 'ID:${member.userNo}', ), ); } update(); } // 群组列表 void _groupList() async { // 执行 List memberList = await ToolsSqlite().group.getList(); // 转换 for (var member in memberList) { groupList.add( ContactModel( userId: member.groupId, nickname: member.groupName, portrait: member.portrait, extend: '群ID:${member.groupNo}', ), ); } update(); } @override void onInit() { super.onInit(); // 消息类型 dataList = Get.arguments; // 好友列表 _friendList(); // 群组列表 _groupList(); } } class ForwardModel { // 消息类型 MsgType msgType; // 消息内容 Map content; // 创建时间 DateTime? createTime; // 消息来源 Map? source; ForwardModel( this.msgType, this.content, { this.createTime, this.source, }); }