最近需要实现一个功能,怎么实现消息标记已读。

我的做法:(是我自己想出来的点子,能成功实现,肯定有不足,但是水平有限,在此记录)

在数据库表加个sign字段,初始值为0或者空,整型。

  1. 所有消息,一开始都是未读的,也就是sign为空或者默认为0;
  2. 判断是否已读,未读,消息前面加个小圆点
  3. 点击未读的消息所在div,触发ajax
  4. ajax,先查该消息是否在数据库表的sign是0/null,如果为0/null,更新该消息的sign=1
  5. 返回成功代码,如果执行成功,则把小圆点隐藏。

这是前端节目,前两条测试成功,已读,后两条未读。

jsp代码:

 <c:forEach items="${beAttentionLists}" var="beAttentionLists" varStatus="s"><div id="id${beAttentionLists.id}"><input  name="id" value="${beAttentionLists.id}"><c:if test="${beAttentionLists.sign!=1}"><span class="layui-badge-dot layui-bg-orange" id="yuandian"></span></c:if><span class="layui-badge layui-bg-orange">粉丝</span><ahref="myHomepage?userid=${beAttentionLists.userid}">${beAttentionLists.username}</a>关注了我时间:${beAttentionLists.time}<a href="delBeAttenRecord?id=${beAttentionLists.id}" type="button"class="layui-btn layui-btn-primary layui-btn-sm" style="float: right"><iclass="layui-icon"></i></a></div><hr>

把数据从数据库取出来遍历,取出的后台代码略。

<script>脚本:
$("input[name='id']").each(//把input的value遍历出来function(){let id=$(this).val();$("#id" +id).on("click", function ()//这个就是点击div触发$.ajax({type: "Post",url: "haveSeen/" + id,contentType: "charset=utf-8",dataType: "json",success: function (result) {if (result.resultCode == 200) {$('#yuandian').hide();alert("操作成功");}},error: function (data) {alert("已读操作--失败");}});});// alert($(this).val());})

这里用到的技巧,就是先在遍历消息里面放一个input,input的值就是遍历出来的div的name,这样就可以实现遍历出来的每条信息都能正确的被点到,也能取到消息id。这句话才是我最想记录的,怕以后忘记自己想出来的点子,记一下。

至于后台代码,我想百度等浏览器才是爸爸,在此不赘述。

还有显示多少条已读消息,全部标记为已读,这些功能也是只需要逻辑代码,没什么技巧性,难度不大,马上就做了。

ssm+ajax怎么实现消息标记已读相关推荐

  1. 面试官:群聊消息的已读未读功能,你来设计一个?

    欢迎关注方志朋的博客,回复"666"获面试宝典 一朋友和我讨论他前段时间面试某大公司的一题目 : 企业IM比如企业微信.钉钉里面的群消息的有个已读未读的功能,发送者刚发出消息时,当 ...

  2. 面试题:群聊消息的已读未读设计

    点击上方"Java之间",选择"置顶或者星标" 你关注的就是我关心的! 作者:小猿学习笔记 一朋友和我讨论他前段时间面试某大公司的一题目 : 企业IM比如企业微 ...

  3. im即时通讯开发:IM群聊消息的已读回执功能

    我们平时在使用即时通讯应用时候,每当发出一条聊天消息,都希望对方尽快看到,并尽快回复,但对方到底有没有真的看到?我却并不知道. 一个残酷的现实是,很多时候对方其实是早就已经看到了这条消息,但出出种种原 ...

  4. IM消息重试机制Java实现_IM群聊消息的已读回执功能该怎么实现?

    本文引用了架构师之路公众号作者沈剑的文章,内容有改动,感谢原作者. 1.前言我们平时在使用即时通讯应用时候,每当发出一条聊天消息,都希望对方尽快看到,并尽快回复,但对方到底有没有真的看到?我却并不知道 ...

  5. IM即时通讯开发群聊消息的已读回执功能该怎么实现?

    我们平时在使用即时通讯应用时候,每当发出一条聊天消息,都希望对方尽快看到,并尽快回复,但对方到底有没有真的看到?我却并不知道.一个残酷的现实是,很多时候对方其实是早就已经看到了这条消息,但出出种种原因 ...

  6. 大公司面试考细节,设计群聊消息的已读未读功能你说说怎么做?

    一朋友和我讨论他前段时间面试某大公司的一题目 : 企业IM比如企业微信.钉钉里面的群消息的有个已读未读的功能,发送者刚发出消息时,当前群里其他群成员都是未读状态,陆陆续续有人看了这个消息,这时候消息的 ...

  7. IM群聊消息的已读未读功能在存储空间方面的实现思路探讨

    1.引言 IM系统中,特别是在企业应用场景下,消息的已读未读状态是一个强需求. 以阿里的钉钉为例,钉钉的产品定位是用于商务交流,其"强制已读回执"功能,让职场人无法再"假 ...

  8. 标记已读如何实现Java_javamail标记gmail消息为已读

    注意:答案后添加: 谢谢..是的,我已经尝试了Flag.SEEN为true并保存更改..我也读过读取的getContent标记.我试图在循环通过消息的for语句中使用它.但是在下一个循环中,我从文件夹 ...

  9. boss直聘改回系统头像_BOSS 直聘找工作,消息却已读不回?| 在线求职5条避坑指南...

    前几天在半撇私塾的求职群里,一个同学反馈:在 BOSS 直聘求职的时候,为什么总是被「已读不回」呢?就连逛豆瓣的上班小组,都能遇到这样的反馈: 为什么会出现「已读不回」的情况呢?关于这个问题的答案,在 ...

最新文章

  1. C#.Net 如何动态加载与卸载程序集(.dll或者.exe)6-----在不卸载程序域的前提下替换程序集文件。...
  2. resultmap为list_MyBatis源码:原来 resultMap 解析完是这样
  3. 全球及中国微型风扇行业营销前景及发展趋势建议报告2022-2027年
  4. MySQL 的 RowNum 实现
  5. garmin USB: linux USB host驱动
  6. notify()唤醒线程,不会立即释放锁对象,需要等到当前同步代码块都执行完后才能释放锁对象
  7. IronPython项目有了新负责人
  8. Java用TCP手写聊天室 可以 私聊版加群聊版
  9. 带有Java和Axis2的JSON Web服务
  10. C#中的多文档的使用
  11. 高斯消元法的c语言编程,列主元高斯消元法的C语言编程
  12. VirtualBox的vdi文件复制
  13. 首次安装pytorch--实测可用
  14. linux上调用短信接口,短信猫接口程序Gnokii For Linux安装
  15. 统信UOS应用商店十月活动
  16. 东莞比较好的java培训学校,先收藏了
  17. eclipse打开报错:Failed to load the JNI shared library
  18. 12.2 做一个读书的读书人——《逆袭大学》连载
  19. MySQL安装----最详细的教程(测试木头人)
  20. 四大网络功能 HP演绎教育PC智能魔方

热门文章

  1. Bar上平仓后满足开仓条件不再开仓
  2. MySQL交叉表:纵向数据显示为横向
  3. 培训机构财务管理系统的管理模式与价值
  4. form表单文件上传
  5. 文件归类整理,教你一个文件夹分配一个文件
  6. 2020高德技术年刊来了!18万字总结智慧出行最佳技术实践
  7. 背包算法java算法
  8. 网页源码加密JavaScript程序,有效压缩和加密JS、Html、Css页面数据
  9. AfxMessageBox与MessageBox函数
  10. Python 小项目 密码生成器