小程序内容更新提示如何实现小红点?

    内容更新后,您需要在入口处添加一个小红点。 这种需求并不罕见,实现起来并不复杂。 有很多实现方案,分别是Web端,App端,Applet端等,实现思路很相似,本文从有无登录态的两种情况介绍了解决问题的完整思路。  


    有登录态

    比较常规的做法是有用户登录态的情况,将用户的已读时间录入至后台的用户数据信息中,当内容更新时,把内容更新时间和用户已读时间做对比,如果用户已读时间早于内容更新时候,在入口处给用户提示小红点,表示有更新内容未读。

小程序内容更新提示如何实现小红点?

    1. 更新数据

    第一步是更新数据,在常规数据字段之外,需要注意新增更新时间字段。这样用户在获取数据时,才方便后台对比数据更新时间和用户已读时间。


    2. 获取数据

    第二步是获取数据,在获取数据的时候,带上 userId,后台在接收到请求之后,查询该用户上次的已读时间,判断该用户是否浏览过最新的内容,也就获取到用户的已读未读状态。


    如果用户最新阅读时间晚于数据最新更新时间,则处于未读状态,接口返回is_read: false,前端拿到该字段后,请求设置已读的接口,后台接收到设置已读的请求后,更新用户数据中的已读时间字段。


    如果用户最新阅读时间晚于数据最新更新时间,则处于已读状态,此时没有内容更新,不提示用户小红点。

小程序内容更新提示如何实现小红点?

    到这里,一个简单的拥有用户登录态的内容更新提示小红点的功能就完成了。


    没有登录态

    当内容需要推送给游客状态的用户时,怎么才能知道该用户是否浏览过最新发布的内容呢?


    1. 更新数据

    更新数据和有登录态的做法一样,新增更新时间字段就可以了。


    2. 获取数据

    获取数据这一步有些不一样,数据更新时间依然是从后台拉取,用户最新阅读时间则是从浏览器本地缓存 localStorage 中获取。用户首次进入内容页时,更新 localStorage 中的readTime 字段,表示用户已读时间。


    再次进入内容页时,将 localStorage 中的已读时间与数据更新时间对比,决定是否更新 localStorage 中的已读时间,这样就可以实现内容更新时提示小红点,内容未更新时不提示了。但是由于没有登录态,是否读过最新内容不是根据用户来决定的,而是根据客户端浏览器决定,适用于弱绑定的场景。

小程序内容更新提示如何实现小红点?

    总结

    本文分享了在内容更新过程中提示小红点的解决方案。 希望本文能使您了解如何进行消息通知-内容更新的实现过程中出现小红点提示。  

我来说两句

0 条评论

推荐阅读

  • 响应式布局CSS媒体查询设备像素比介绍

    构建响应式网站布局最常见的是流体网格,灵活调整大小的站点布局技术,确保用户在使用的幕上获得完整的体验。响应式设计如何展示富媒体图像,可以通过以下几种方法。

    admin
  • 微信小程序对于线下实体店具有哪些红利

    对于一些商业敏感的电子商务公司,如蘑菇街,京东等等,在看到小程序背后巨大的流量红利后,逐渐将产品从原来的公众号或应用程序转移到小程序,并在小程序的帮助下,获得更多利润。

    admin
  • 网站开发中HTTP状态码分类说明

    请求Web服务器会返回HTTP状态码,通知浏览器请求是否成功,是否有错误或需要身份验证。HTTP状态代码是服务器传输响应的重要部分,服务器会自动包含在每个HTTP响应中,如果服务器无法执行客户端请求或无法传输网站信息,会显示对应的状态码。

    admin
  • 非关系型和关系数据库管理系统有哪些

    根据数据的类型,结构,数据模型,数据存储使用,不同的系统需求,所需的架构或查询机制,用于本地存储的动态配置数据的系统,与操作关系数据库完全不同的要求,但是根据分类有非关系型和关系数据库管理系统。

    admin

精选专题