在线聊天

chat

功能概述

在线聊天就是站内即时通讯,支持用户之间实时发消息、系统推送通知、消息提醒。底层用 SignalR 做实时推送,消息存数据库,支持离线消息拉取和未读提醒。Redis 用来做消息实时转发和在线状态维护。

使用方法

进入消息页面

导航里找到 "消息管理" 点进去。

消息分类切换

页面顶部有三个分类:

  • 收件箱:别人发给你的
  • 发件箱:你发出的
  • 系统通知:系统推的通知

查看消息

  • 列表显示标题、收发人、发送时间、是否已读。
  • 点某行可以展开看详细内容。
  • 未读消息点一下自动标为已读。

发送消息

  1. 点 "添加",弹出消息编辑窗口。
  2. 填标题和内容。
  3. 选收件人(用 AdminSelectEntityFilter 组件选用户)。
  4. 点 "保存" 发送,消息通过 SignalR 实时推过去。

回复消息

在收件箱看消息的时候,点 "回复" 可以直接回复发件人。

实时聊天(浮动窗口)

页面右下角有个聊天浮动图标(AdminChat 组件),用起来更顺手:

  • 点一下展开聊天窗口
  • 左边是联系人列表
  • 右边是聊天内容和输入框
  • 支持发表情
  • 没读的消息有角标提醒

界面说明

消息分类

  • 收件箱 / 发件箱 / 系统通知 三个 Tab

消息列表

  • 标题:消息主题
  • 发件人/收件人:谁发的/发给谁
  • 时间:啥时候发的
  • 状态:已读/未读

聊天浮动窗口

  • 页面右下角悬浮图标
  • 联系人列表
  • 聊天记录
  • 打字输入和发送

相关实体/服务

  • SysMessage — 消息实体
  • SysMessageUser — 消息用户关联实体
  • AdminMessageService — 消息业务服务
  • AdminChat 组件 — 实时聊天 UI
  • SignalR Hub — 实时推送
  • Redis — 消息队列和在线状态管理