朋友圈的权限研究、最后有个实现朋友圈的实现的推测(全网最全)
分组可见、怎么知道对方是否删除自己、朋友圈的设计之推模式、仅聊天、不让他看、不看他、三天可见、一月可见、半年可见
一、概述
(研究时间2022年6月,iOS微信版本是8.0.22,安卓8.0.23。不保证微信的逻辑会小调整,但基本上大体逻辑涉及到底层调整是不怎么改的,所以如下的研究具有较强时效性的参考作用)
文章有点长,耐心看下来会了解很多的细节。
你在朋友圈发post,哪些人能看见哪些看不见?如果让你写一个微信朋友圈你会如何设计?本文研究这些问题。
经过观察,控制是否能看到对方朋友圈post的权限配置可以归为两类,一类是动态控制,一列是静态控制。动态控制修改后立即生效,静态控制对已发布的POST不起作用。
举个例子,你把某好友改为仅聊天,那他之前能看到的 post 会立即看不到,这个改动是立即生效且影响到以前发布过的post,这是动态控制;
又如你发的 post 仅对某个分组可见,然后这个分组加了新好友,新好友是看不见这条post的,因为按照分组发post时,哪些人能看见此post已经固定下来了,分组的设置便是静态控制。
注意:我们查看朋友圈,有两个地方,第一就是自己的朋友圈时间轴,查看所有朋友的朋友圈汇成的一条时间轴;第二就是点击进入某个人查看他的时间轴(某个人的时间轴),这两者是有点区别的,需要注意。
二、细节
1、分组
分组是一种静态控制的规则
1.1 仅对某个分组可见
发post的时候选择仅对某个分组可见,则最终仅仅会针对你发post的那一刻这个分组里的人可见。即发post的时候就固定下来的了!
例如发了一条post(为了表述方便,起个名字:a),选择仅针对G分组可见(发post的时候该分组含o、p、q三人)。实际上,该操作会转化为对o、p、q可见,不管后来这个分组怎么增减成员甚至删除分组,都是针对o、p、q。
比如把p踢出分组还依然可见到a,把r加入G依然不可见到a
1.2 指定某个分组不可见
跟 1.1
一样,假设针对G不可见发了a,发a的时候G成员有o、p、q,则永远就是这三个不可见,不管G后来怎么增减成员甚至分组删除,都是剔除掉o、p、q。
2、仅聊天(Chats Only)
修改会立即生效的,是动态控制的规则。假设A和B是朋友,B设置了A为仅聊天,则B以前发的所有posts对于A都立即变成不可见。
(对方主页和自己的时间线都看不见,已验证)
3、不看他(Hide Hist Posts)
只是在朋友圈的时间轴中看不到对方发的posts,但是点击他的头像进入对方的朋友圈还是可以看到的