结合业务限制消息发送的问题

早日上岸 7月前 308

需求是发送消息的时候我需要判断下该用户是否满足条件才可以发送消息,需要在业务系统应该怎么做? 目前看到的是{接收消息回调} 但是这个回调是已经发送成功了

最新回复 (4)
  • x86 7月前
    引用 2

    请参考 im-server 敏感词部分相关配置:

    ## 如果内置敏感词库无法满足您的需求,可以开发部署独立敏感词审核服务。配置如下地址和消息类型,IM服务会把指定消息类型的消息回调到指定地址,内置的敏感词审核和敏感词转发功能就不再起作用了。
    ## 审核服务返回状态码200表示继续发送,如果需要替换内容,返回状态码200并且内容为替换后的内容。返回403表示不允许发送。其它错误继续发送。
    ## 独立审核服务地址,IM服务会post SendMessageData。如果需要修改消息内容,返回 MessagePayload。请参考应用服务中 "/message/censor" Mapping.
    #sensitive.remote_server_url http://192.168.3.202:8888/message/censor
    ## 需要进行敏感词审核的消息类型,当有多个时以英文逗号分割
    #sensitive.remote_sensitive_message_type 1,2,3
    ## 如果远程审核服务返回403,返回给发送端发送失败还是成功?实际上这个值影响发送响应是否等待审核结果,当为false时,消息发送给审核服务就立即返回
    ## 成功给客户端。当为true时,消息发送给审核服务,等待审核结果,如果结果为继续发送就返回给客户端为成功,结果为禁止发送就返回失败给客户端。
    ## 客户端操作的超时一般为10s左右,且考虑到复杂的网络情况,建议处理时间不要超过3s。建议这个值为false。
    #sensitive.remote_fail_when_matched true
  • 早日上岸 7月前
    引用 3
    谢谢 。我尝试这么做一下。
  • HeavyRain 7月前
    引用 4
    或者也可以在客户端做,点发送的时候,创建一个消息,消息状态是发送中,保存,然后再调用业务服务检查能不能发送,如果能发送,有个发送已保存消息的接口,如果不能发送把消息改成发送失败
  • 早日上岸 7月前
    引用 5
    HeavyRain 或者也可以在客户端做,点发送的时候,创建一个消息,消息状态是发送中,保存,然后再调用业务服务检查能不能发送,如果能发送,有个发送已保存消息的接口,如果不能发送把消息改成发送失败
    谢谢,我通过一楼提供的方案改动最小,目前已实现
返回