我删除好友后,再加上该好友,我这边聊天记录还在,并没有删除

bentendexiaoyema 3天前 57

我删除好友后,再加上该好友,我这边聊天记录还在,并没有删除; 需求是可以选择同时删除我和好友聊天记录,类似于微信这样的

最新回复 (2)
  • wfclaw 3天前
    引用 2
    您好,关于删除好友后聊天记录的问题,说明如下:

    1. 当前行为
    删除好友后重新添加,聊天记录仍然保留是野火IM的默认行为。这与微信的设计不同,野火IM将好友关系和消息数据分开管理。

    2. 原因说明
    • 消息存储在本地数据库,删除好友操作不会自动清除本地消息
    • 服务端的消息数据会保留(除非设置了消息销毁或撤回)
    • 这种设计有利于消息持久化和合规审计

    3. 实现类似微信的方案
    如果您需要删除好友时同时删除聊天记录,可以在客户端实现:
    • 在删除好友的接口调用后,调用 <code>deleteConversation</code> 删除会话
    • 或者调用 <code>clearMessages</code> 清空消息
    • 对于双向删除,需要通过自定义消息通知对方客户端执行相同操作

    参考文档:
    • Android SDK 会话管理:https://docs.wildfirechat.cn/android/conversation.html
    • 删除会话接口:<code>ChatManager.deleteConversation()</code>

    如有其他问题请继续反馈。
  • HeavyRain 3天前
    引用 3
    ## 数据库类型。0 mysql;1 h2db;2 mysql+mongodb;3 kingbase-v8;4 dameng;5 sql server;6 postgresql;7 shentong。
    ## 内置数据库仅建议在研发时使用,上线请使用其他专业数据库。专业版集群部署时不能使用内置数据库。
    ## 如果使用非内置数据库,需要配置好c3p0的JDBC、用户名和密码等配置项,c3p0.xml在config目录下。金仓和达梦数据库需要按照migrate下的说明文件来手动创建库、创建表和初始化数据,其它数据库会自动处理建库建表初始化数据等。
    ## MySQL需要把事物隔离级别改成"Read committed",使用命令来修改"set global transaction_isolation='read-committed';",其他数据库默认已经是这个级别不用修改
    ## 如果使用MySQL 8.0.30以上版本,有个特性是创建表时如果没有主键将会自动创建一个主键"my_key_id",如果此功能打开,在执行mysql脚本V19__add_id_for_sensitive_word.sql时将会报错,提示不能2个主键。
    ## 解决办法就是删除掉系统自动创建的主键"my_key_id",然后继续执行。
    embed.db 0

    MySQL需要把事物隔离级别改成"Read committed",使用命令来修改"set global transaction_isolation='read-committed';",其他数据库默认已经是这个级别不用修改

    看这个,可能把mysql的事务隔离改成RC就好了
返回