签入版本

This commit is contained in:
小蚂蚁云
2026-10-20 21:53:26 +08:00
parent 5cc3da657c
commit b33799aa63
427 changed files with 32547 additions and 1 deletions
@@ -0,0 +1,51 @@
# 6.8 公告与链接管理
:::tip 概述
内容域还有两个租户级模块:通知公告(goframe_notice)与友情链接(goframe_link)。公告带状态开关,友链无状态列——两者均为标准 CRUD 的典型代表。
:::
## 通知公告(goframe_notice,/api/notice)
```text
七件套 + PUT /api/notice/status(sys:notice:status)
sys:notice:{page|list|detail|add|update|delete|batchDelete|status}
```
| 特征 | 说明 |
|------|------|
| status | 1-正常 2-禁用(注释枚举,字典驱动 {field}Text) |
| 租户级 | 各租户独立公告 |
| 文件字段 | 支持附件(FileFields 模式) |
| 富文本 | 内容字段可按 ContentFields 声明(如启用富文本编辑) |
## 友情链接(goframe_link,/api/link)
```text
七件套(无 status 接口)
sys:link:{page|list|detail|add|update|delete|batchDelete}
```
| 特征 | 说明 |
|------|------|
| 无 status 列 | 表结构无状态字段,不声明 Status 接口 |
| 租户级 | 各租户独立友链 |
| URL 字段 | website/site/url 等列不作模糊筛选列(生成器 isUrlField 判定) |
## 标准 CRUD 模式的教学价值
两个模块都是"最小差异"的标准形态——新模块开发可直接对照:
```text
差异只体现在:
* SerializeMaps(status → notice_status)
* LikeFields/EqFields 筛选声明
* FileFields/ContentFields(如有文件/富文本列)
* 有无 Status 接口(看表有无 status 列)
其余七件套结构与 example 模块完全一致(见第 3 章)。
```
## 管理建议
+ 公告状态用于"草稿/下架"语义(禁用后前端不展示)
+ 友链删除无守卫(软删可恢复);批量删除支持勾选操作
+ 两者均为租户级——平台统一公告场景需在租户维度分别维护(或扩展平台共享行 tenant_id=0,需业务确认)