在线聊天

功能概述
在线聊天就是站内即时通讯,支持用户之间实时发消息、系统推送通知、消息提醒。底层用 SignalR 做实时推送,消息存数据库,支持离线消息拉取和未读提醒。Redis 用来做消息实时转发和在线状态维护。
使用方法
进入消息页面
导航里找到 "消息管理" 点进去。
消息分类切换
页面顶部有三个分类:
- 收件箱:别人发给你的
- 发件箱:你发出的
- 系统通知:系统推的通知
查看消息
- 列表显示标题、收发人、发送时间、是否已读。
- 点某行可以展开看详细内容。
- 未读消息点一下自动标为已读。
发送消息
- 点 "添加",弹出消息编辑窗口。
- 填标题和内容。
- 选收件人(用
AdminSelectEntityFilter组件选用户)。 - 点 "保存" 发送,消息通过 SignalR 实时推过去。
回复消息
在收件箱看消息的时候,点 "回复" 可以直接回复发件人。
实时聊天(浮动窗口)
页面右下角有个聊天浮动图标(AdminChat 组件),用起来更顺手:
- 点一下展开聊天窗口
- 左边是联系人列表
- 右边是聊天内容和输入框
- 支持发表情
- 没读的消息有角标提醒
界面说明
消息分类
- 收件箱 / 发件箱 / 系统通知 三个 Tab
消息列表
- 标题:消息主题
- 发件人/收件人:谁发的/发给谁
- 时间:啥时候发的
- 状态:已读/未读
聊天浮动窗口
- 页面右下角悬浮图标
- 联系人列表
- 聊天记录
- 打字输入和发送
相关实体/服务
SysMessage— 消息实体SysMessageUser— 消息用户关联实体AdminMessageService— 消息业务服务AdminChat组件 — 实时聊天 UI- SignalR Hub — 实时推送
- Redis — 消息队列和在线状态管理