# 群成员身份标签与权限管理功能文档

## 文档说明
本文档描述群聊中**群成员身份标签、分类管理、权限控制、消息通知**相关的功能逻辑，不涉及字段/表结构设计，仅面向功能实现。

---

## 一、群成员身份标签系统

### 1.1 身份标签类型
系统支持以下身份标签：
- **创建者**：群创建者（通常也是群主）
- **管理员**：被群主任命的管理员
- **服务商家**：提供服务的商家/师傅
- **商品商家**：提供商品的商家
- **消费者**：普通消费者
- **发单人**：经常发单的用户
- **接单人**：经常接单的用户
- **群成员**：普通群成员
- **VIP客户**：VIP客户

### 1.2 标签分配流程
- **入群时自选标签**
  - 用户加入群时，系统提供两个初始选项：
    - **非商家**
    - **商家**
  - 用户选择一个作为初始身份标识。
- **群主/管理员最终确认**
  - 群主或管理员可以在群成员资料中：
    - 查看用户自选的标签。
    - 从系统标签库中选择一个标签，覆盖或确认用户的标签。
    - 后续可以随时修改成员的标签。
- **标签对外展示**
  - 标签会显示在群成员资料、群成员列表等位置，作为该成员在群内的“对外身份”。

### 1.3 群成员资料栏位
- **群成员资料页包含7个栏位**：
  - 每个栏位可以放置一个名称/备注。
  - 这些栏位对所有身份/标签的群员都开放使用。
  - 用途：方便所有群员查看和识别成员信息。

---

## 二、群成员分类/分组系统

### 2.1 分类概念
- **分类定义**
  - 群内成员可以按照“分类”进行组织，每个分类可以理解为“分组”或“分仓”。
  - 系统支持创建 **1~7个分类**。
  - 每个分类可以自定义命名（例如“1类”、“2类”，或自定义别名如“核心商家组”、“普通客户组”等）。
- **分类与标签的关系**
  - 分类与身份标签是**独立的两套体系**：
    - 一个成员可以拥有一个身份标签（如“服务商家”）。
    - 同时，该成员可以被放入任意一个分类中（如“1类”）。
    - 标签不影响分类归属，分类也不影响标签展示。

### 2.2 分类操作
- **成员分类归属**
  - 任何成员可以被放入任意一个分类中。
  - 例如：可以将某个“服务商家”放入“1类”，也可以将某个“消费者”放入“1类”。
  - 成员可以只属于一个分类，也可以不属于任何分类（显示在“未分类”或“全部”中）。
- **按分类查看成员**
  - 群主与管理员可以：
    - 按分类查看成员列表。
    - 按标签查看成员列表。
    - 按“分类+标签”组合筛选查看。
- **普通群成员查看**
  - 普通群成员在群名单中：
    - 可以按“全部”及“标签身份”查看成员信息。
    - 不能按分类查看（分类信息对普通成员不展示）。

### 2.3 分类消息发送
- **管理员按分类发消息**
  - 管理员可以：
    - 选择向某个分类的所有成员发送消息（其他分类看不到）。
    - 选择向某个分类中的单个成员发送消息。
  - 用途：主要用于群管理员进行精细化运营和定向通知。

---

## 三、管理员任命与权限体系

### 3.1 管理员任命
- **任命流程**
  - 群主可以任命任意群成员为管理员。
  - 任命时可以：
    - 标注该管理员的“岗位名称”（例如“客服主管”、“运营专员”等）。
    - 有岗位名称的管理员会在“服务团队消息专列”中显示。
- **订单交付权限（独立于管理员）**
  - 订单交付栏的权限与管理员身份独立：
    - 群主可以勾选某些成员（不一定是管理员）拥有“订单交付权限”。
    - 拥有交付权限的人可以在订单交付栏中发布交付信息。

### 3.2 管理员权限列表
群主在任命管理员时，可以勾选该管理员拥有的权限项。管理员在哪个分类中不影响其权限范围。

#### 权限1：按类发群信息
- 管理员可以向指定分类的所有成员发送群消息（其他分类看不到）。

#### 权限2：禁言与消息可见性控制
- **禁言功能（实际为“审核可见”）**
  - 管理员可以按分类或单个成员设置“禁言”。
  - 被禁言的成员：
    - 仍然可以发送消息，但消息默认**仅管理员可见 + 自己可见**。
    - 管理员可以在后台审核这些消息，勾选后才会展示到群聊页面。
    - 严格来说这不是传统“禁言”，而是“审核可见”机制。
- **消息可见性设置**
  - 管理员可以：
    - 按分类设置：该类群员发的消息仅该类成员可见，或仅管理员可见。
    - 按单个成员设置：该成员发的消息仅管理员可见（在群内形成独立通道，对其他人无感）。
- **特殊规则**
  - 被禁言的成员仍然可以发送商品链接到群（商品链接不受禁言限制）。
  - 管理员查看消息的规则：
    - 如果管理员属于某个分类，只能看到该类群员发的信息。
    - 如果管理员在“全部”分类中，可以看到所有分类群员发的信息。
- **管理员@解禁**
  - 管理员可以@被禁言的成员，临时解禁3小时。

#### 权限3：禁止接单
- 管理员可以按分类或单个成员设置“禁止点击接单键”。
- 被禁止的成员无法接取群消息中的订单。

#### 权限4：禁止发单
- 管理员可以按分类或单个成员设置“禁止点击发单键”。
- 被禁止的成员无法使用发单功能（包括类目发单）。

#### 权限5：禁止互加好友
- 管理员可以按分类或单个成员设置“禁止互加好友”。
- 被禁止的成员：
  - 别人无法添加他为好友。
  - 他也无法添加别人为好友。
- **特殊规则**
  - 即使被禁止加好友，双方仍然可以：
    - 在服务团队聊天中直接对话（通过服务团队入口）。

#### 权限6：屏蔽群内信息
- 管理员可以按分类或单个成员设置“屏蔽群内信息”。
- 被屏蔽的成员：
  - 看不到群内在发的消息。
  - **但订单仍然可见可接**（屏蔽消息，不屏蔽订单展示）。

#### 权限7：禁止发圈信息
- 管理员可以按分类或单个成员设置“禁止发圈信息”。
- 被禁止的成员无法在商家圈/动态圈中发布内容。

#### 权限8：审核成员入群
- 管理员可以审核新成员的入群申请。

#### 权限9：删除成员与撤回消息
- 管理员可以：
  - 删除群成员（将成员移出群）。
  - 撤回群成员的消息：
    - 可以撤回任意成员的一条消息。
    - 可以彻底删除消息（删除后不可见，不可恢复）。

#### 权限10：分类分标签发公告
- 管理员可以：
  - 按分类发送公告。
  - 按标签发送公告。
  - 按“分类+标签”组合发送公告。

---

## 四、群主专属权限

### 4.1 群名设置
- 群主可以修改群名称。

### 4.2 群转让
- 群主可以将群主身份转让给其他成员。

### 4.3 开通入群申请
- 群主可以开启/关闭“入群申请”功能。
- 开启后，新成员需要申请才能加入群。

### 4.4 待接单显示规则（待定）
- 群主可以设置“待接单是否仅显示本群的订单”（此功能待定，可能不实现）。

---

## 五、群消息通知机制

### 5.1 消息通知基础规则

#### 未打开登录页面的通知策略
- 用户未打开登录页面（APP未打开）时：
  - 系统每 **5分钟** 聚合一次新消息，发送一条通知。
  - 通知内容：显示所有群的新消息汇总（例如“您有X条新消息”）。
  - 用户打开APP后，不再发送聚合通知。

#### 群外消息计数
- 在群列表页面（群外）：
  - 每个群名旁边显示该群的消息数量角标。
  - APP端统一使用角标显示。

### 5.2 群消息免打扰设置

#### 免打扰选项
每个群成员可以为自己设置该群的“免打扰”策略，选项包括：
- **仅1小时1条**：1小时内只通知一次。
- **仅1天1条**：1天内只通知一次。
- **仅3天1条**：3天内只通知一次。
- **仅10天1条**：10天内只通知一次。

#### 免打扰与通知队列的关系
- 系统维护多个通知队列：
  - **5分钟通知队列**：默认队列，每5分钟通知一次。
  - **1小时通知队列**：设置了“1小时1条”的用户进入此队列。
  - **1天通知队列**：设置了“1天1条”的用户进入此队列。
  - **3天通知队列**：设置了“3天1条”的用户进入此队列。
  - **10天通知队列**：设置了“10天1条”的用户进入此队列。
- 用户设置免打扰后：
  - 从“5分钟队列”中剔除，进入对应的免打扰队列。
  - 例如：设置“1小时1条”后，每1小时聚合通知一次（而不是每5分钟）。

#### 通知时间窗口
- **5分钟队列与1小时队列**：
  - 晚上7点后不通知。
  - 早上8点后才开始通知。
- **1天队列、3天队列、10天队列**：
  - 通知时间点可以设定在12点，或错开时间点（例如1天队列12点，3天队列14点，10天队列16点），以减少大量通知同时推送。

#### 用户类型与免打扰选择
- **经营者（商家/师傅）**：
  - 更多选择“5分钟通知”或“1小时通知”（需要及时响应）。
- **客户（消费者）**：
  - 更多选择“3天通知”或“10天通知”（降低打扰频率）。

### 5.3 @通知机制

#### @通知规则
- **无论用户是否设置免打扰**，被@时：
  - 使用**手机上方消息栏**直接通知（不进入队列等待）。
  - 通知带有声音提醒（用户可以自定义声音）。
  - 不等待5分钟/1小时等时间窗口，立即推送。

#### @通知展示位置
- @通知显示在手机顶部通知栏（系统级通知）。

---

## 六、消息通知总结

### 6.1 通知队列体系
系统维护以下通知队列：
1. **5分钟通知队列**（默认）
   - 时间窗口：早上8点 ~ 晚上7点。
   - 每5分钟聚合通知一次。
2. **1小时通知队列**
   - 时间窗口：早上8点 ~ 晚上7点。
   - 每1小时聚合通知一次。
3. **1天通知队列**
   - 在指定时间点（例如12点）通知一次。
4. **3天通知队列**
   - 在指定时间点（例如14点）通知一次。
5. **10天通知队列**
   - 在指定时间点（例如16点）通知一次。

### 6.2 特殊通知（不受队列限制）
- **@通知**：
  - 立即推送，使用手机顶部通知栏。
  - 带声音提醒。
  - 不受免打扰设置影响。

### 6.3 通知聚合规则
- **未打开APP时**：
  - 所有群的新消息统一聚合为一条通知（例如“您有X条新消息”）。
  - 按用户所属队列的时间窗口进行通知。
- **打开APP后**：
  - 不再发送聚合通知。
  - 用户可以在APP内查看各群的具体消息。

---

## 七、功能总结

### 7.1 身份标签与分类
- 9种身份标签，入群时自选，群主/管理员可最终确认和修改。
- 支持1~7个分类，分类与标签独立，成员可被放入任意分类。

### 7.2 管理员权限
- 10个权限点，群主可灵活配置每个管理员的权限。
- 订单交付权限独立于管理员身份。

### 7.3 消息通知
- 5个通知队列（5分钟/1小时/1天/3天/10天），用户可自由选择。
- @通知立即推送，不受免打扰影响。
- 时间窗口控制，避免夜间打扰。

---

## 八、待定事项
- 待接单是否仅显示本群的订单（功能待定）。

---

**文档版本**：v1.0  
**最后更新**：2024年

