# 消息中心

# 1.概述

消息中心主要的功能是平台提供消息发送和消息接收功能。

# 2.集成消息模块

# 引入依赖

启动工程中引入消息模块包

<dependency>
    <groupId>com.mediway.hos</groupId>
    <artifactId>hos-app-message</artifactId>
</dependency>

# 配置项

消息中心模块必须要使用redis和job组件。其中redis用于支持多台服务未读消息的同步,job用于支持定时消息的发送。以下为相关配置项示例。

spring:
  redis:
    password: hck4yCMd9
    database: 0
    timeout: 5000
    host: 114.251.235.6
    port: 32543

framework:
  hoscache:
      type: redis
  job:
    admin:
      ### 调度中心部署跟地址 [选填]:如调度中心集群部署存在多个地址则用逗号分隔。执行器将会使用该地址进行"执行器心跳注册"和"任务结果回调";为空则关闭自动注册;
      addresses: http://127.0.0.1:8080/hos-job-admin
    ### 执行器通讯TOKEN [选填]:非空时启用;
    accessToken:
    ### 执行器AppName [选填]:执行器心跳注册分组依据;为空则关闭自动注册
    executor:
      appname: hos-job-executor-sample
      ### 执行器注册 [选填]:优先使用该配置作为注册地址,为空时使用内嵌服务 ”IP:PORT“ 作为注册地址。从而更灵活的支持容器类型执行器动态IP和动态映射端口问题。
      ### 执行器单独启用端口与调度中心做交互,和web端口不相同
      address:
      ### 执行器IP [选填]:默认为空表示自动获取IP,多网卡时可手动设置指定IP,该IP不会绑定Host仅作为通讯实用;地址信息用于 "执行器注册" 和 "调度中心请求并触发任务";
      ip:
      ### 执行器端口号 [选填]:小于等于0则自动获取;默认端口为9999,单机部署多个执行器时,注意要配置不同执行器端口;
      port: 9999
      ### 执行器运行日志文件存储磁盘路径 [选填] :需要对该路径拥有读写权限;为空则使用默认路径;
      logpath: /data/applogs/hos-job/jobhandler
      ### 执行器日志文件保存天数 [选填] : 过期日志自动清理, 限制值大于等于3时生效; 否则, 如-1, 关闭自动清理功能;
      logretentiondays: 30

关于redis和job的使用,可见HOS-RedisHOS-JOB

# 3.功能说明

请点击此链接查看 消息中心功能说明





# 4.第三方系统通过免密认证方式嵌入消息模块

# 4.1 免密认证流程说明

img.png

  1. 第三方应用系统以iframe形式嵌入HOS基础平台页面。
  2. 第三方应用系统需要新增消息模块的菜单,HOS基础平台提供页面访问地址、认证源编码。
  3. 第三方应用系统打开HOS基础平台的菜单。
  4. 第三方应用系统根据当前用户生成临时token
  5. 携带token以及认证源编码访问HOS基础平台。
  6. HOS基础平台接收到字符串参数之后,调用三方应用提供的 Token 验证接口获取登录用户名,并完成HOS基础平台的登录认证
  7. 第三方应用系统成功打开HOS基础平台的页面。

# 4.2 免密认证源配置

在HOS基础平台“系统管理—免密登录”菜单下,需注册三方系统的免密登录认证源
名称:为三方应用系统中文名 编码:双方需要线下沟通一致,此编码需要和iframe嵌入的的URL属性值中的参数source一致

img.png

# 4.3获取登录用户接口

第三方系统需要提供一个接口用于验证临时免密登录token并返回登录用户名

query参数

字段信息 必填 参数说明
token 必填 临时Token

入参接口示例如下:

https://114.251.235.9:8334/api/login/passwordFree/userInfo?token=jDhZbwtZch

出参格式如下:

{
"code": 200,
"msg": "请求成功",
"data": 
  {
    "data": "账号code" //需要两个系统之间的用户code完全一致,如果有统一用户的话,可以和统一用户的的账号code保持一致
  }
}

# 4.4 页面集成

下面的示例为第三方应用系统iframe嵌入HOS基础平台页面的url示例,按照下面的列表将示例中的channel-registers替换成相应路由即可:

http://ip:port/channel-registers?loginType=freeAuth&token=临时token&source=免密认证源编码&showMenu=false

消息配置下的菜单列表

菜单名称 路由地址 说明
渠道注册 channel-register 消息渠道注册模板模块作用为注册消息发送的渠道和渠道基本信息的维护
消息内容模板 message-content-template 消息内容模板模块作用为维护消息内容模板基本信息
消息模板 message-template 消息模板模块作用为维护消息模板基本信息
参数设置 parameter-settings -参数设置目前分为两个部分,一是重发设置,二是定期清理历史消息设置
安全设置 security-setting 局安全设置的作用主要有两个方面,一是设置是否全局启用黑白名单以及对黑白名单的维护, 当启用后,发送消息将根据对应的名单进行过滤并对所有的消息有效。二是设置是否全局启用敏感词检测并 维护敏感词列表, 当启用后,如果消息中包含任何一个敏感词,则该消息将不允许被发送。

消息管理下的菜单列表

菜单名称 路由地址 说明
消息发送 message-sending 消息发送模块的功能是由管理员维护消息内容并发送消息
消息历史 message-history 消息历史主要是查看所有已经发送过的消息
定时消息 timed-message 定时消息主要是查看所有的定时消息,包括已经创建还未发送或者已经创建并已经发送的定时消息
异常消息 exception-message 异常消息主要是查看所有发送消息时发生异常的消息
异常任务 abnormal-task 异常任务页显示的是发送某个渠道时发生异常的记录
站内消息列表 station-list 站内信消息模块作用为维护站内信消息基本信息

消息下的菜单列表

菜单名称 路由地址 说明
实时消息图标 msg-bell 实时展示当前接收到的消息数量
当前消息列表 msg-dialog 查看当前接收到的消息列表