Skip to content

首页精选与专题 ​

超级管理员在「右上角用户菜单 → 系统配置 → 精选与专题」管理首页推荐。普通用户和访客只看到已发布的内容。

内容如何组织 ​

  • 平台精选是一份按顺序排列的技能清单,不是新增的技能标签,也不改变技能权限。
  • 专题包含名称、简介、可选封面和一组技能。它用于内容策划,不是技能套件,也不提供套件安装能力。
  • 首页专题桌面端每组显示三个,窄屏减少列数,可通过上一组、下一组或横向滚动浏览。「浏览专题」在原专题推荐区域内展开该专题的完整技能集合,替换轮播,不打开弹窗;「返回专题列表」收起内容并恢复轮播。查看技能进入原有详情页,展开区域有高度上限,封面和技能列表可在区域内滚动,返回专题列表入口保持可见。浏览器返回后恢复原专题、筛选、页面位置和专题内部位置。「浏览全部精选」打开推荐列表,技能卡片进入原有技能详情页。独立专题链接仍可直接访问。
  • 技能原有标签继续用于分类筛选;加入精选或专题不会自动添加“精选”标签。

最多配置 12 个专题、24 个精选技能;每个专题最多包含 24 个技能。启用的专题必须有名称和至少一个技能。候选列表仅提供公开、有效、已发布且可下载的技能,不因操作人是超级管理员而包含私有内容。

编辑与发布 ​

  1. 先在配置页查看推荐预览。点击「管理专题」「管理精选」或专题上的编辑图标,进入配置弹窗。
  2. 通过左侧手柄调整顺序。键盘可用空格拿起、方向键移动、空格放下,Esc 取消当前拖动。
  3. 弹窗内的修改暂存在工作副本中。编辑专题、选择技能有独立副本:「取消」「返回」或 Esc 只撤销当前层并返回上一层,不丢失此前的管理排序。「完成」接受本层编辑;管理弹窗的「取消」放弃整次修改,「应用到草稿」才更新页面草稿。
  4. 点击「保存草稿」后可刷新恢复,但访客仍看到原来的推荐。「预览」会先保存尚未保存的草稿,再进入只读预览。
  5. 点击「发布配置」先保存草稿,再确认发布。服务端发布的是已保存的草稿;成功后首页采用新配置,不会发布技能本身或改变审核状态。

保存或发布失败会保留输入。另一位管理员先保存后,旧版本的写入返回 409,页面保留本地修改并要求显式加载最新版本,不覆盖别人的修改。

自定义图片外围的底色沿用所选封面风格,深色模式有对应底色;未选风格时按专题标识稳定匹配。自定义封面完整按原比例显示,标题和简介位于图片外;小图不强制放大,加载失败不影响浏览专题技能。专题区域提供收起入口;不设遮罩或焦点锁定。减少动态时直接显示内容。

封面可选择六种任务插图风格,选择随草稿和发布快照保存;旧配置不需要迁移,会按专题标识稳定回落。也可复用站点图片上传能力,支持 PNG/JPEG、最大 2 MiB,服务端解码、校验并规范化图片。素材上传后即可通过资源地址访问;草稿未发布仅保证推荐配置不公开,不会把素材地址变为私有。

默认推荐与失效内容 ​

未发布过推荐配置时,系统从实际安装、属于预设发布账号的 @global 技能中生成默认推荐。未安装或不可公开展示的技能不会出现。仅保存草稿仍保留默认首页;第一次成功发布后改为使用明确的发布快照。发布空配置会清空推荐,不会再次恢复预设内容。

系统升级为原先没有标签的指定预设技能初始化一个普通分类标签;已存在的标签及自定义翻译不覆盖。后续首次导入预设技能也会初始化标签。管理员删除标签后,重启或版本升级不会自动补回。

每次读取公开推荐时,系统重新检查技能资格。技能变为私有、隐藏、不可下载或所在空间归档后,其卡片立即从接口结果中排除;没有可展示技能的专题也不会公开标题或计数。草稿保留失效技能的引用,管理员可在管理弹窗中移除;包含失效引用的配置不能发布。

部署与接口 ​

本功能复用现有 PostgreSQL system_setting 表,使用独立的 site.recommendations 配置项保存草稿和发布快照,并通过版本号防止并发覆盖。升级时由 Flyway 执行 V123,不需要新增环境变量或服务。原有站点信息、登录、头像审核、通知等设置保留各自的保存生效方式。

接口用途
GET /api/v1/site-recommendations公开专题摘要和精选列表,不含草稿
GET /api/v1/site-recommendations/topics/{topicId}公开专题的完整技能列表;不可用时返回 404
GET /api/v1/admin/system-config/recommendations超级管理员读取草稿、发布配置及可展示技能信息
PUT /api/v1/admin/system-config/recommendations保存 {version, draft}
POST /api/v1/admin/system-config/recommendations/publish用 {version} 发布服务器已保存的草稿
GET /api/v1/admin/system-config/recommendations/candidates按 q、可选的已有标签 label、从 0 开始的 page、size 查询公开候选

浏览器写入继续遵循现有会话和 CSRF 规则。公开响应使用 Cache-Control: no-store;客户端的查询缓存会在本会话成功发布后失效,其他已打开页面在重新查询时取得最新内容。

人工验收建议:编辑并取消一次,确认草稿不变;应用并保存一次,用访客窗口确认首页不变;预览后发布,确认专题和技能跳转;再用两个管理员窗口同时保存,确认旧窗口收到冲突且输入仍保留。

版权所有 © 科大讯飞股份有限公司