websocket调用,触发条件自动发送消息给指定用户

发布于 2023-04-25 14:16:00

新版已更新websocket,需求如下:
根据列表里面数据到期日期,调用websocket,给指定用户发送消息提醒,比如:
合同数据快到期了,就给管理合同的用户发送系统通知。
怎么结合系统已有的消息功能来实现,求具体思路。

查看更多

关注者
0
被浏览
627
2 个回答
agui
agui 2023-04-25
这家伙很懒,什么也没写!

` sendMEG() {

  // 设置消息触发条件
  let a = 2
  let messageBody = []
  if (a > 0) {
    // 2、发送消息格式 op_office,11
    messageBody.push({
      title: '合同到期提醒',
      target_type: 0,//类型为用户
      target_user: 11,//用户ID
      creator_id: 1,
      content: '有合同快到期了,请及时处理。'
    });
  }
  // 3、发送消息
  axios({
    url: process.env.VUE_APP_API + MegurlPrefix,
    method: 'post',
    data: JSON.stringify(messageBody),
    headers: {
      Authorization: 'JWT ' + util.cookies.get('token'),
      "Content-Type": "application/json;charset=UTF-8",
    },
  }).then(res => {
    if (res.data) {
      console.log('消息通知:', messageBody);
      console.log('系统消息发送成功', res);
    } else {
      console.error('系统消息发送失败');
    }
  }).catch(err => {
    console.error('系统消息发送失败', err);
  });
},

`
以上是实现代码,触发条件是临时的,此代码能新增一条消息记录,但对应的接受消息的用户没有收到消息,

agui
agui 2023-05-06
这家伙很懒,什么也没写!

问题已解决:

sendMsg() {
  // 设置消息触发条件
  let a = 2 //临时条件
  if (a > 0) {
    // 3、发送消息
    axios({
      url: process.env.VUE_APP_API + MsgurlPrefix,
      method: 'post',
      data: {
        title: '合同到期提醒001',
        target_type: 0, // 消息接受对象为 用户
        target_user: [11, 10], // 接受消息的用户ID
        creator: 1,
        content: '有合同快到期了,请及时处理。'
      },
      headers: {
        Authorization: 'JWT ' + util.cookies.get('token'),
        "Content-Type": "application/json;charset=UTF-8",
      },
    }).then(res => {
      console.log('系统消息发送成功', res);
    }).catch(err => {
      console.error('系统消息发送失败', err);
    });
  }
},

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览