# S11 · 物业通知编写发布与公开阅读

状态：**业务评审草案 v0.3 / draft**。更新日期：2026-10-15。
依据：本轮用户确认，所有人选择小区后都可阅读该小区物业通知；覆盖原 PRD 7.1/8.2 中楼栋定向与住户资格读取限制，原 PRD 待同步。
依赖：S02 小区选择；S03 仅用于物业后台编写/发布/修改权限，不是公开阅读前置。

## 问题与目标

物业把通知发布到所属小区。任何人打开小程序并选择这个小区，就能看到该小区所有已发布通知的列表和详情；无需登录、绑定房屋或证明住在某栋楼。

## 使用者与需求

- 物业发布者：编写、核对并发布自己有管理权限小区的通知。
- 所有人：未登录访客、已登录账号、未绑定账号、业主/租户/家属、到期服务受限或已退租账号，选小区后都能看已发布通知。

## 一期范围

1. 物业后台编写通知、选所属小区并发布。
2. 小程序小区选择，公开通知列表及详情。
3. 发布后全员可读；不设置公开/私密选择、楼栋读者名单或住户身份阅读门槛。
4. 修改/撤回继续由有权物业人员办理；草稿和撤回状态不是已发布通知。

## 业务规则与确认状态

- **本轮用户确认**：所有已发布物业通知都公开。任何人选择小区后即可看，不校验登录状态、房屋绑定、楼栋、业主/租户身份、租期或是否退租。
- **本轮用户确认**：按小区筛选是选择看哪家小区的内容，不是证明阅读资格。一个人没住在该小区、或没有绑定该小区，也能选择并阅读。
- **本轮用户确认**：取消“公开/仅住户”“按楼栋限制谁能读”等设置。通知正文可以写“1 号楼停水”，但其他楼栋和访客仍可以读。
- **查询结果**：列表与详情都只按所选小区和已发布状态返回；不能列表公开、详情再要求登录/绑定。未发布草稿及已撤回内容不作为有效已发布通知展示。
- **后台职责沿用**：有该小区发布权限者可审核并发布自己的草稿，不强制另找第二人。读者公开不扩大员工跨公司/小区编辑、发布或查看后台草稿的权限。
- **内容用途沿用**：停水、施工等时效信息归物业通知；长期公开资料直接放 S13 信息公告牌；S12 公共故障进度公示延期，不在一期同步。
- **推送与阅读分开**：C-07/B2 是否接微信订阅消息仍未定；推送所需授权、未送达或不接入，都不能成为站内公开阅读门槛。
- **AI 增强仍未决**：C-10/B4 保留或延期另议，AI 失败不阻断手工发布；不因本轮公开阅读要求默认实现 AI。
- **业务边界**：公开的是物业编写发布的通知。个人报修回复、投诉、费用确认及租期提醒继续按其自身业务规则管理，不能当作公共通知直接公开。

## 操作前提与业务对象

- 读者只需有可选择的小区，无账号或人员—房屋关系前置；不读取 GPS。
- 发布者登录后台并有目标小区维护权限。
- 发布时指定“通知属于哪个小区”，不选择“哪些人可以看”。

## 用户主流程

| 步骤 | 谁 | 入口 | 操作 | 结果 |
|---|---|---|---|---|
| S11-M01 | 物业编写者 | PC 通知管理 | 填写通知标题、正文及材料，形成草稿 | 未发布不进入公共通知列表；字段细节沿 S11-D01 |
| S11-M02 | 物业发布者 | 通知编辑 | 指定通知所属的有管理权小区 | 确定内容归属，不设置读者身份/楼栋范围 |
| S11-M03 | 有发布权限者 | 发布操作 | 核对内容并发布，可审核自己的稿 | 该小区所有访客都能在已发布列表/详情阅读 |
| S11-M04 | 任何人，包括未登录访客 | 小程序小区选择 | 选择要看的小区 | 不要求登录、绑定房屋或定位验证 |
| S11-M05 | 任何人 | 该小区通知列表/详情 | 打开已发布通知 | 显示同样的已发布内容，不根据住户身份/楼栋/租期隐藏 |
| S11-M06 | 有维护权限者 | 已发布通知管理 | 修改或撤回错误/过时通知 | 内容/状态按后台结果更新；更新历史和旧分享展示细节另定，不引入读者资格审核 |

## 异常与分支处理

| 编号 | 情况 | 处理 | 后续 |
|---|---|---|---|
| S11-E01 | 没有目标小区发布/编辑权限 | 不允许后台写操作 | 由有权物业人员发布；该人作为普通访客仍可读已发布通知 |
| S11-E02 | 未登录、没绑定、不同楼栋或别的小区住户 | 不作为阅读异常，不拦截 | 选择目标小区就可读 |
| S11-E03 | 租期超出额外一个月，或已经明确退租 | 报修等服务仍按 S06 限制，但公共物业通知可读 | 登录或不登录均可选小区阅读 |
| S11-E04 | 微信未授权/发送失败，或一期不接推送 | 不影响通知的发布和公开阅读 | 直接打开小程序选小区看通知 |
| S11-E05 | 打开不存在、尚未发布或已撤回的通知 | 不按有效已发布内容展示；具体失效提示/旧页处理见 S11-D01 | 回列表查看其他已发布通知，不以登录来放行 |
| S11-E06 | AI 不可用或润色有误（若保留增强） | 人工编辑仍可发布 | 物业核对事实，不要求 AI 成功 |

## 待确认与实现边界

公开阅读、无需登录/房屋绑定、无楼栋读者限制本轮已定，旧 R08/R09 受众组合不再是阅读功能前置。

- C-07/B2：微信推送是否实现及其授权/送达能力，独立评审。
- C-10/B4：AI 是否延期或保留，独立评审。
- S11-D01：字段细节、更新/撤回历史、旧分享失效展示；不改变任何人的公共阅读资格。
- S11-D02：红点/已读是交互记录，不要求登录后才能读；是否保存及更新后怎样显示待界面细化。

## 验收标准与完成条件

| 编号 | 给定 | 当 | 则 |
|---|---|---|---|
| S11-AC01 | 一位管理员有小区 A 发布权 | 编写并发布自己的稿 | A 的已发布通知可查，不强制第二个人审核 |
| S11-AC02 | 未登录访客 | 选择 A 并打开通知列表/详情 | 可读 A 全部已发布物业通知，不出现登录/房屋绑定要求 |
| S11-AC03 | 没绑定 A、住在别的楼栋/小区的账号 | 选择 A，读正文写“1 号楼停水”的通知 | 仍可阅读，不按其楼栋或房屋关系过滤内容 |
| S11-AC04 | 已到期服务受限或已退租账号 | 选择 A 阅读已发布通知 | 可读；此前报修停权不能限制公共通知 |
| S11-AC05 | 同一已发布通知 | 未登录、已登录、业主、租户分别请求详情 | 返回同样的公开正文/图片，不存在仅列表可读而详情需绑定的第二门槛 |
| S11-AC06 | 无 B 后台发布权限者 | 尝试在 B 发布，再作为访客读取 B 已发布通知 | 后台发布拒绝，公共阅读允许；不混合这两种权限 |
| S11-AC07 | 公众号/订阅能力未接入或消息发送失败 | 任何人通过站内进入该小区通知 | 仍正常阅读，推送不作为阅读前提 |
| S11-AC08 | 通知尚未发布或已撤回 | 访客直接打开对应详情 | 不展示为有效已发布通知；按批准失效提示处理，登录也不自动把草稿公开 |
| S11-AC09 | 公共通知已发布，租户有个人报价/投诉/租期提醒 | 访客浏览该小区通知 | 可读公共物业通知；个人材料没有因为通知公开而加入公开列表 |

### 本 spec 完成的判断

- 物业编写/发布、任意用户选小区、公共列表及详情贯通。
- 读者侧没有登录、房屋绑定、楼栋/身份/租期筛选，也没有公开/私密可见设置。
- 草稿/撤回是内容状态筛选；后台写权限和个人业务材料边界仍清楚。
- 九条验收有实际结果可核对；推送/AI 等增强不阻塞公开阅读。

## 不在本 spec 内

- 给物业通知设置仅住户可读、特定楼栋/身份可读、退租后不可读。
- 未登录只看摘要、登录或绑定后才看通知详情。
- 因公开阅读而让访客编辑通知、读后台草稿或私人任务资料。
- 强制双人审核、微信保证送达、默认 AI 合规准确。

## 后续开发切片建议

1. 物业发布一条通知，未登录访客选小区后直接看列表和详情。
2. 覆盖未绑定、其他楼栋、超期/退租、其他小区账号读取同样内容；核对后台写入限制和个人材料边界。

## 技术设计边界

公开读取只按选定小区和发布状态查询，不关联登录身份、房屋关系或楼栋读者名单。后台维护接口继续按物业公司/小区授权；推送/已读等个性化逻辑不能加回阅读门槛。

目录与覆盖：[00-拆分总览.md](../specs/00-拆分总览.md)、[16-决策与覆盖矩阵.md](../specs/16-决策与覆盖矩阵.md)、[17-规格完整性检查.md](../specs/17-规格完整性检查.md)。
