Skip to content

Latest commit

 

History

History
64 lines (18 loc) · 3.31 KB

149.md

File metadata and controls

64 lines (18 loc) · 3.31 KB

149、微信朋友圈是如何对好友显示权限进行控制的?

发送朋友圈的时候,可以通过几种方式进行谁可以看你这条朋友圈的权限的控制,你发的时候可以选择屏蔽谁,对哪个标签下的人开放

这条朋友圈的权限到了后台之后,会有一个离线批处理的程序跑起来,对最近发的一波朋友圈都找他们的朋友圈的权限的设置看一下,此时就会对你允许看到的好友,此时就在他们的时间线里插入这条朋友圈数据,那么这样的话,只有你允许的好友的时间线里才有你这条朋友圈

比如说王五发的朋友圈16931可以允许张三和李四看到,设置了一个标签组,标签名称是老铁三人组,里面就正好有张三和李四

张三 发表朋友圈的时间戳 朋友圈16931 王五

张三 发表朋友圈的时间戳 朋友圈16384 李四

李四 发表朋友圈的时间戳 朋友圈16931 王五

在redis里可以设置张三的朋友圈是有变动的一个状态,在上次拉取朋友圈的时间点之后的一些朋友圈都从时间线表里拉取出来,刷朋友圈的时候,如果说你的网速要是不太好的话,你会发现这样一个场景

就是你最新的一些朋友发的朋友圈是显示出来了,但是视频和图片都是一片灰色,仅仅能看到他的文字和其他的一些东西,比如说点赞之类的,图片和视频死活看不到,都是一片灰色,反正我自己网速不好的时候经常看到这样的情况

假设王五之前发了一条朋友圈,设置李四可以看到的,李四之前确实是看到了这条朋友圈的,但是有个问题,王五后来跟李四吵了一架,关系变得非常的不好,王五就对李四设置了一个朋友圈的权限,就是自己的朋友圈不允许李四看到,甚至可能会直接拉黑/删除李四这个好友,这个就够狠了

你设置自己的朋友圈对所有朋友都是仅仅三天之内可见

就是说你跟李四之间的朋友圈的权限总设置或者是朋友之间的关系,有了变化,或者是你的自己的朋友圈对外展示的总权限有了变化,此时每次如果有变动,那么这些设置,包括你对每个朋友的朋友圈权限的设置,跟朋友的关系,自己的朋友圈的总权限,这些设置都会统统的缓存起来

包括缓存在你自己的客户端本地,也可以缓存在你的朋友的客户端本地

但是你可能随时会拉黑、删除某个人,或者是突然设置对那个人朋友圈不可见,或者是突然你自己设置了朋友圈三天可见什么的,所以你设置的这些东西,都会被缓存起来,每次你好友刷朋友圈,查看自己的时间线表的时候,都会检查你的某条朋友圈根据你的一些行为,是否还对他可见

李四会关注王五的各种朋友圈权限和朋友关系的一个变化,一旦说有变化了,可以缓存到自己的本地,下次在客户端里再次刷新朋友圈的时候,客户端对于王五的朋友圈会和王五的各种权限设置结合起来判断一下

李四能否看到王五的这条朋友圈

一般那些操作很少做的,所以做的时候更新一下缓存就行了

一般问题不大