简介

消息通知是几乎是每个管理系统的必备功能之一。
虽然它只是看似简单的发生/接收消息,实际上隐藏着很多复杂的逻辑。
它不仅需要起到提醒用户的作用,还需要整合消息内容、正确引导用户操作流程上的任务。

目的

  • 让用户方便、快捷的获得通知消息

  • 分类、整理通知消息,方便用户查阅

  • 引导用户操作,完成业务流程
  • 使用场景

  • 服务提醒
    • 系统公告 [维护时间、更新日志]

  • 互动提醒
    • 业务流程 [提醒需填写内容,提醒需要生成结算单]
    • 审批功能 [申请修改订单单价、调休、加班、请假]

  • 任务提醒
    • 业务流程 [提醒已完成]

    设计

    考虑到在管理系统内使用私信功能的情况比较少,通常都是使用即时通讯软件,所以不把私信罗列在内。

    消息类型

    公告 Announcement

    公告是指系统向所有用户发送一条含有具体内容的通知。
    具体的公告内容由系统开发人员或企业管理员编辑后发布。

    公告类型:

  • 重要 [消息必读,会有消息提醒,并且在用户首次进入系统内弹出提醒内容,让用户进行查阅]

  • 普通 [会有消息提醒,在消息通知栏内,点击跳转到详情页查阅]
  • 提醒 Remind

    提醒是指相关资源触发相关事件时,系统向用户发送一条含有具体内容的信息。
    消息内容通过消息模版生成。

    例如:

  • 批次batch01需要填写评估排期表

  • 林林更新了批次batch01的评估排期表
  • 待办 Todo

    待办是指通知用户需要进行某些操作,主要用于引导流程顺利进行。

    消息内容

    模版消息

    通过预先设置的消息模版,实现消息有规范的进行发送。
    例如:

  • {模型名称} {资源名称} {需操作内容} (批次 batch01 需要填写评估排期表)

  • {用户名} {操作} {模型名称} {资源名称} {具体内容} (林林 更新了 批次 batch01 的评估排期表)
  • 消息模版-模型:

    • 模版ID
    • 模版描述
    • 模型参数列表
      • 参数名称
      • 参数描述

    消息模版-消息生成:

    • 模版ID
    • 标题
    • 跳转路径
    • 模版数据
      • 参数名称
      • 参数值
      • 参数跳转地址

    消息状态

    在管理系统内,消息通知不仅是提醒用户的功能,也是引导用户完成任务流程的主要功能之一。

    • 未读 [消息的初始状态]
    • 已读 [消息查阅后的状态,用户点击消息栏后,即为已读]
    • 稍后处理 [用户将状态修改为稍后处理,方便后续查阅]
    • 已处理 [需要执行操作的消息,已经执行完毕的状态]

    消息的生产&消费

    消息的生产

    适合订阅资源提醒 [订阅的资源触发相关事件时通知我]
    多个用户订阅一个物件,物件修改的时候,推送给每个用户修改内容,而不是每个用户来进行查询

    消息聚合

    当一个资源进行了多次重复的操作,消息提醒不会重复出现。

    每次推送消息的时候,查询该消息是否有未读的重复消息,通过消息的资源和操作,判断是否为重复消息。

    例如:刀刀修改了批次batch01十次,需要推送通知给星星。
    在星星查询该条消息前,应该把重复的操作,整合到一条通知消息内。

    消息的消费

    推送

    推送的消息消费方式,指的是消息生产的时候,就已将消息与用户关联起来储存在指定的地方,用户仅需要去指定的地方获取。
    而不是去每个消息生产的地方获取消息。

    适合于订阅、
    类似于公告这种的消息通知,应该是用户去拉取

    拉取

    消息通知
    适合拉取通知、提醒
    发布资源提醒 [发布的资源触发相关事件时通知我]

    实现

    通过上面的设计分析,大概能了解到实际要用到的实体模型

    • 消息模版
    • 消息
    • 用户消息
    本文作者:博主:
    本文地址: https://blog.blueskyclouds.com/jsfx/41.html 
    版权说明:转载时须注明出处及本声明。

    广      告


    最后修改:2020 年 09 月 01 日 05 : 55 PM
    如果觉得我的文章对你有用,请随意赞赏