注册账号登录
晚起是病,得治
一切改变来自行动
关注

last_find_posts_at字段的作用


在后端也没查到使用到该字段的地方

2条评论 / 7条回复

这是记录用户最近一次查询关注feed的日期,用于判断是否有新的关注feed,然后显示小红点提醒。

https://github.com/54sword/xiaoduyu.com/blob/master/src/app/redux/actions/tips.ts#L123

-------

好在你这一问,发现了这是一个bug,这块代码逻辑不应该在posts里面,应该在feed里面,因为关注是feed,感谢!

8月16日1 人赞
回复

虽然我还一脸懵,不过能发现bug也算没白使劲😂

回复

哈哈,大概逻辑就是,用最后一次查询日期与最新的一个帖子的日期,做大小对比,判断是否有新帖子,然后给用户提醒。


limit != 1,这里是判断是查询单条还是查列表,这里只记录查询列表的日期。

-----

你截图这部分的代码,现在已经废弃,这周末会有新代码更新。

8月16日2 人赞
回复

我现在follow的版本不是你的最新版本。我看到你说的这个逻辑在客户端有实现。

客户端的socket监听 new-posts事件,然后触发newpoststips方法,添加红点提醒。

但是我看服务端的触发new-posts事件是在api的v1版本中,用户在addposts时。graphql中,触发的代码被注释了,这是怎么回事呢?

我看新版本中,你是提取出一个单独的feed流,这部分逻辑是不是有改变?

8月18日
回复

new-posts socket通知已经废弃了,使用了其他的逻辑来替代了它,现在的逻辑是在客户端使用首页最新一条posts与服务器最新一条的posts,做日期对比,然后显示新帖子小红点。

https://github.com/54sword/xiaoduyu.com/blob/master/src/app/redux/actions/tips.ts#L88


new-feed 发送逻辑代码在这个位置,再添加feed到数据的时候,广播给在线的会员,主动拉取。

https://github.com/54sword/api.xiaoduyu.com/blob/master/src/schemas/feed.ts#L20

8月18日1 人赞
回复

我大概看明白了,新版本将原来posts里面的method: 'user_follow'这种查询模式单独拿出来了,放到feed里面了,然后原来的socket的new-posts方法被new-feed替代,是不是这样?

8月18日
回复

是的,早前的版本,关注功能只会展示用户的帖子,因此可以直接在posts表里面查询。

后来希望可以展示用户的评论,所以增加了feed表,相关的逻辑就迁移到这边了。

8月18日1 人赞
回复

enen 明白了   这个浏览器端的Web Notification桌面推送吓我一跳

8月18日
回复

哈哈,如果网站是打开中,那么通知是即时性的。

关闭网站后就收不到推送通知了。

8月18日
回复
晚起是病,得治
一切改变来自行动
关注私信
1
关注
4
粉丝
31
帖子