# 前提说明

业务方根据接口文档要求,适配消息中台数据结构,提供相应的消息查询、标记已读等接口;再由中台调用接口实现消息查看、阅读等过程。

# 接口说明

消息中台调用接口同时会携带2个请求头,具体如下:

header     
        X-Id-Token: id_token
        请求头名为X-Id-Token 携带值为 id-token ;集成id-token,后端代码可以解析token 获得用户信息 ;
        accoutName: 学工号
        请求头名为accoutName 携带值为 学工号 ;
1
2
3
4
5
pageIndex  页码都是从1开始
1
appId 注册应用获取appId; 
1

# GET 当前人未读消息数

入参

/**
  * 获取未读消息数
  * @param appId 应用ID(支持多个appId逗号拼接) - 必填
  * @return 
  */
  (String appId)
1
2
3
4
5
6

响应数据格式

{
  "code": 0,   // int 0 表示成功 非0表示失败
  "message": "获取成功", // String 响应信息,发生错误控制台打印响应信息提示
  "data": {
     "all": 10, // 所有未读消息数
     "today": 5, // 今天未读消息数,不存在标记为0
     "important": 2 // 未读重要消息数,不存在标记为0
  }
}
1
2
3
4
5
6
7
8
9

# GET 当前人消息列表查询

入参

/**
  * 获取消息列表
  * @param pageIndex  页码  
  * @param pageSize 一页展示数量 
  * @param startTime 到达时间-起始时间 - 非必填  yyyy-MM-dd HH:mm:ss
  * @param endTime 到达时间-结束时间 - 非必填  yyyy-MM-dd HH:mm:ss
  * @param appId 应用ID - 必填
  * @param important 是否重要消息  1 表示重要消息   0 表示不重要  为空表示都显示
  * @param read是否已读  1 表示已读   0 表示未读  为空表示都显示
  * @param keyWords 关键词:搜索内容包含 标题/消息内容 - 非必填
  * @return 
  */

  (int pageIndex, int pageSize, String startTime, String endTime, String appId,Integer important,Integer read,String keyWords)
1
2
3
4
5
6
7
8
9
10
11
12
13
14

响应数据格式

{
  "code": 0,   // int 0 表示成功 非0表示失败
  "message": "获取成功", // String 响应信息,发生错误控制台打印响应信息提示
  "data": {
    "items": [
      { 
        "msgId": "", // String  消息记录ID - 后续根据此信息标记已读未读
        "title": "", // String 消息标题,必须
        "content": "", // String 消息内容,必须**(支持富文本)**
        "imgUrl": "", // String  封面图URL
        "url": "", // String  跳转地址
        "mobileUrl":"", // String 移动端跳转地址
        "read": 1, // int 1 表示已读  0 表示未读
        "important": 0 , // int 1 表示重要  0 表示不重要
        "time": "", // String 消息到达时间,必须,格式: yyyy-MM-dd HH:mm:ss 
        "authTtype": "cas" // 跳转链接认证方式(cas,id-token );不传不做url处理;因移动端或小程序需要单独处理
      }
    ]
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# GET 当前人消息详情

入参

/**
  * **获取消息详情**
  * @param appId 应用ID - 必填
  * @param msgId 消息记录ID - 必填
  * @return 
  */

  (String appId,String msgId)
1
2
3
4
5
6
7
8

响应数据格式

{
  "code": 0,   // int 0 表示成功 非0表示失败
  "message": "获取成功", // String 响应信息,发生错误控制台打印响应信息提示
  "data": {
        "msgId": "", // String  消息记录ID - 后续根据此信息标记已读未读
        "title": "", // String 消息标题,必须
        "content": "", // String 消息内容,必须**(支持富文本)**
        "imgUrl": "", // String  封面图URL
        "url": "", // String  跳转地址
        "mobileUrl":"", // String 移动端跳转地址
        "read": 1, // int 1 表示已读  0 表示未读
        "important": 0, // int 1 表示重要  0 表示不重要
        "time": "", // String 消息到达时间,必须,格式: yyyy-MM-dd HH:mm:ss 
        "authTtype""cas" // 跳转链接认证方式(cas,id-token );不传不做url处理;因移动端或小程序需要单独处理
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# POST 当前人消息标记已读

入参

/**
  * 标记消息为已读
  * @body msgIds 消息记录ID数组  appId 该应用下消息标记全部已读  isAll true 所有应用标记全部已读
  * 三个参数同时存在,已最小权限为准   isAll > appId  > msgIds
  * @return 
  */
  (@RequestBody JSONObject obj)
1
2
3
4
5
6
7

图片

响应数据格式

{
  "code": 0,   // int 0 表示成功 非0表示失败
  "message": "标记已读成功", // String 响应信息,发生错误控制台打印响应信息提示
}
1
2
3
4

# GET 当前人最新信息

消息按照应用分类展示,需要展示待提醒数、最新消息、最新时间

入参

/**
  * 获取最新信息
  * @param appId 应用ID - 必填  
  * @param keyWords 关键词:搜索内容包含 标题/消息内容 - 非必填
  * @return 
  */

  (String appId,String keyWords)
1
2
3
4
5
6
7
8

响应数据格式

{
  "code": 0,   // int 0 表示成功 非0表示失败
  "message": "获取成功", // String 响应信息,发生错误控制台打印响应信息提示
  "data": {
    "news": "您有一条新的待办", // String  最新一条待提醒消息
    "count": 10, // int 未读消息数
    "time": "2021-10-11 12:22:11" // String 时间日期格式
  }
}
1
2
3
4
5
6
7
8
9