这是一个对页面操作权限进行设置的功能。
让我试着解释一下这个设置功能:
区分两类人:所有成员和部分特权成员。操作分为:读操作和写操作两类。可以先给这两类用户分配不同的权限,然后再在下面选定特权成员。
写操作是比读操作更高级,有写操作权限的成员显然是可以读的。即,如果“可发文章、评论”项选中,则对应的“可阅读”变为选中的不可操作状态。
特权成员是成员中更高级的一部分人,权限只会比普通成员高,不会比普通成员低。如果对所有成员都开放写权限,那么特权成员就没什么特权了。第二行特权成员的选项应全部选中并且不可操作。如果普通成员有读权限,那么特权成员自然也应该有读权限。实际上此时特权成员只有读权限就没什么“特”的了,应该同时还有写权限。
把上面这种种规则都表现出来后,这里四个复选框的操作就变得很复杂了。假设现在是四个复选框全未选中的状态,第一个操作如果勾选了左上角的复选框,则四个复选框将全部变为选中,并且不可操作。如果第一个操作是勾选右上角的……
我实在不想说了,太累了。恐怕我有耐心写,你也没耐心看了。
太复杂并且太不容易理解了!每次操作后,结果都会出乎意料,勾选这个,其他的也被勾选了,并且有些人不可操作了。为什么?
我们来想想办法,简化一下。实际上这里的四个复选框是一组排列组合。我们来罗列一下所有可能出现的情况:
- 普通成员不可读,特权成员可读;
- 普通成员不可读,特权成员可读、可写;
- 普通成员可读,特权成员可读、可写;
- 普通成员可读、可写,特权成员可读、可写。
可能出现的情况就是这些,再考虑这个页面内容的实际情况,“普通成员不可读,特权成员可读”这种设置没什么实际的用处,去掉。只剩下三项了:
我们直接把这三种情况作为三个单选项放在页面上,就可以了。用户在使用的时候,只要三者选其一就可以了。操作后没有出乎意料的结果,不需要更多的分析、理解。