diff --git a/docs/developer-guide/app-store/app-review-guidelines.md b/docs/developer-guide/app-store/app-review-guidelines.md new file mode 100644 index 00000000..6128879a --- /dev/null +++ b/docs/developer-guide/app-store/app-review-guidelines.md @@ -0,0 +1,343 @@ +--- +title: 应用市场审核指南 +description: Halo 应用市场上架审核的规则和自查清单 +--- + +> 版本:`review-guidelines-v2026.05.31` +> +> 生效日期:2026-05-31 +> +> 运营主体:凌霞(深圳)软件有限公司 + +本指南中的「应用」指 Halo 插件和主题。 + +本指南面向准备在应用市场上架应用的开发者。提交审核前,请使用本指南自查应用、上架资料、版本制品、隐私说明和用户支持是否满足要求。 + +审核被拒时,审核人员会直接引用本指南中的条款编号,例如「请参考 2.1」或「请参考 3.1」。开发者应按对应条款完成整改后重新提交。 + +当前自助审核流程主要覆盖新应用首次上架。已发布应用的资料维护、后续版本发布和重大更新仍应符合本指南;运营方可基于风险、投诉、重大变更或平台策略要求重新审核、暂停分发或下架。 + +## 提交前检查 + +提交审核前,请确认: + +- 应用可在声明兼容的 Halo 版本中完成安装、启用、配置、使用、禁用和卸载 +- 应用名称、简介、详情、图标、截图和外部链接真实准确 +- 新应用仍处于草稿状态,且首次提交审核前仅保留一个初始草稿版本 +- 版本号符合 Semantic Versioning 规范,Halo 兼容范围是合法的 Semantic Versioning range,且没有首尾空白 +- 版本说明、依赖要求和升级说明完整且准确 +- 版本至少包含一个上传完成的制品;插件通常应提交可安装的 JAR 包,主题通常应提交可安装的 ZIP 包 +- 应用不包含恶意代码、后门、隐藏远程执行、未披露数据收集或高危安全缺陷 +- 涉及用户数据、站点内容、订单、许可证、日志或第三方服务时,已提供清晰说明 +- 已按免费应用提交;如依赖第三方付费服务、外部授权或功能限制,已准确披露 +- 开源许可证、第三方资源、商标、图片、字体、图标和模板授权清晰 +- 支持链接可访问,且你能响应审核反馈、用户反馈和安全问题 +- 已理解提交后平台会保存审核快照;审核期间如需修改应用、版本、说明或制品,应取消审核、等待驳回后重新提交,或按审核意见处理 + +## 1. 安全 + +### 1.1 恶意行为 + +应用不得包含恶意代码、后门、木马、挖矿程序、勒索软件、凭据窃取工具、隐藏管理员账户或其他破坏性逻辑。违反此条款的应用**将被拒绝**,相关开发者**可能被终止开发者资格**。 + +### 1.2 未授权数据访问 + +应用不得在未经用户明确授权的情况下读取、修改、删除、导出、上传或共享用户数据、站点内容、配置、订单、许可证或日志。违反此条款的应用**将被拒绝或下架**。 + +### 1.3 平台安全绕过 + +应用不得绕过 Halo 权限模型、应用市场授权机制、支付流程、许可证校验、审核流程或平台安全限制。违反此条款的应用**将被拒绝**,情节严重的**将被下架并终止开发者资格**。 + +### 1.4 远程执行与动态加载 + +应用不得包含未披露的远程执行能力、动态执行不可信代码、远程加载核心业务代码或隐藏功能开关。违反此条款的应用**将被拒绝**。 + +### 1.5 高危安全漏洞 + +存在明显可利用的高危漏洞(包括但不限于命令注入、SQL 注入、模板注入、路径穿越、SSRF、危险反序列化、任意文件读写或权限绕过)的应用**将被拒绝**。开发者应在提交前完成安全自查。 + +### 1.6 敏感信息硬编码 + +应用不得将密钥、私钥、访问令牌、支付凭据、生产环境密码或其他敏感信息硬编码进公开制品。违反此条款的应用**将被拒绝**。 + +### 1.7 违法行为 + +应用不得鼓励或协助用户实施违法行为,包括但不限于诈骗、赌博、恶意引流、仿冒官方或诱导交易。涉及此类内容的应用**将被拒绝并下架**。 + +## 2. 性能 + +### 2.1 应用完整性 + +提交审核的应用必须是完整、可运行、可验证的版本。以下情况**将被拒绝**: + +- 核心功能不可用,安装后无法完成主要使用路径 +- 提交的是空壳、占位、纯广告、跳转页、演示残留或尚未完成的测试版本 +- 必要的后端服务、第三方服务、授权服务或示例数据在审核期间不可用 +- 需要登录、授权、外部服务或特殊配置,但未提供审核所需的说明、测试账号、演示模式或测试环境 +- 应用崩溃、导致 Halo 后台不可用、明显影响站点访问或无法正常卸载 +- 新应用首次提交审核前没有初始草稿版本,存在多个初始草稿版本,或版本没有上传完成的制品 +- 审核期间应用、README、版本说明或制品与提交时的审核快照不一致,且未按流程重新提交 + +### 2.2 准确的上架信息 + +上架信息必须准确反映应用的实际功能、限制和使用成本。以下情况**将被拒绝**: + +- 名称、简介、详情、截图或图标与实际功能不符 +- 冒充 Halo 官方、应用市场官方、其他开发者、其他产品或不存在的合作关系 +- 使用误导性宣传,包括夸大效果、伪造下载量、伪造评价、隐藏限制或暗示不存在的官方认证 +- 截图仅展示封面图、营销图、登录页或与应用无关的画面,而非真实界面 +- 外部链接不可访问,或与文档、源码、支持、隐私说明、演示或产品主页无关 +- 未在版本说明中披露重大变化、权限变化、数据处理变化、外部付费服务变化或授权限制变化 + +### 2.3 兼容性 + +应用必须与声明的 Halo 版本范围兼容。以下情况**将被拒绝**: + +- 在声明兼容的 Halo 版本中无法安装、启用或运行 +- 版本号不符合 Semantic Versioning 规范,或 Halo 兼容范围不是合法的 Semantic Versioning range +- 版本号或 Halo 兼容范围包含首尾空白,导致平台无法准确解析 +- 明显破坏 Halo 管理后台、影响其他插件或主题的基本功能 +- 禁用或卸载后留下继续运行的任务、代理、脚本或外部调用 + +### 2.4 性能与稳定性 + +应用不得明显降低 Halo 站点性能或稳定性。以下情况**将被拒绝**: + +- 在页面请求、后台任务、事件监听或定时任务中执行高成本阻塞操作 +- 无限制轮询、批量请求、重复索引、重复扫描或创建大量后台任务 +- 未设置超时、重试上限、缓存或降级策略的外部请求 +- 大量写入日志、数据库、文件系统或缓存 +- 与其他插件、主题或 Halo 核心能力产生明显冲突 + +## 3. 商业 + +### 3.1 付费与交易 + +当前开发者自助上架流程仅支持免费应用。以下情况**将被拒绝**: + +- 应用设置为应用市场内付费商品,或要求应用市场代收、结算或分账 +- 免费应用隐藏必须付费才能使用的核心条件,或诱导用户安装后再购买开发者私下许可证、激活码、订阅或服务 +- 通过隐藏入口、私下交易、外部授权或技术绕过规避应用市场审核、交易、订单、许可证或统计流程 +- 将平台用于历史已购、官方运营、专业版授权或特定合作场景的订单、支付、许可证、优惠能力描述为已向开发者自助付费上架开放 + +### 3.2 外部付费服务与授权 + +应用依赖第三方付费服务、API 调用费用、订阅费用或自有商业授权的,必须在上架说明中明确告知服务提供方、费用承担方、功能限制、取消方式和支持渠道。 + +**不得**将第三方费用或开发者自有商业授权描述为应用市场内购、平台代收费用或平台许可证。违反此条款的应用**将被拒绝**。 + +### 3.3 其他商业模式问题 + +以下情况**将被拒绝**: + +- 应用的主要目的是展示广告或进行营销,而非提供实际功能 +- 应用通过欺骗性定价、隐藏费用或难以取消的订阅诱导用户付费 +- 利用应用市场分发机制进行刷量、刷评价或操纵排名 + +## 4. 设计 + +### 4.1 功能与用户体验 + +应用应清晰解决特定问题,并提供可验证的功能。以下情况**将被拒绝**: + +- 功能与上架描述严重不符 +- 启用后在未说明的情况下改变 Halo 核心行为、系统设置、用户权限、站点内容或其他插件数据 +- 缺少必要配置项,或配置项没有合理默认值和使用说明 +- 关键操作缺少确认、反馈或错误提示 +- 表单校验不清楚,允许用户提交无效配置 + +### 4.2 最小功能 + +应用必须具备足够的实用功能。以下情况**将被拒绝**: + +- 功能过于简单,无法作为独立应用提供价值 +- 是已有应用的简单复制,未提供差异化功能或体验 +- 主要功能依赖外部网页或第三方应用,自身仅作为容器或跳转入口 + +### 4.3 插件 + +插件拥有后端代码、权限、接口、事件监听、数据库访问、文件访问或后台页面,会接受更严格的安全和权限审查。 + +#### 4.3.1 权限与访问控制 + +插件申请的权限应与功能匹配,并遵循最小必要原则。以下情况**将被拒绝**: + +- 申请远超功能需要的角色、接口或资源权限 +- 自定义接口未进行身份认证、权限校验或资源归属校验 +- 普通用户可访问管理员能力、开发者能力、订单数据、许可证数据或其他敏感资源 +- 通过前端隐藏按钮代替后端权限控制 +- 未说明为什么需要高风险权限 + +#### 4.3.2 数据访问与存储 + +插件访问用户数据、站点内容、订单、许可证、配置、附件或日志时,应有明确边界。以下情况**将被拒绝**: + +- 读取与功能无关的数据 +- 未经授权导出、同步或上传站点数据 +- 在日志、缓存、URL、异常消息或公开页面中泄露敏感信息 +- 存储明文密码、密钥、令牌、私钥或支付凭据 +- 缺少数据迁移、备份、删除或卸载后的清理说明 + +#### 4.3.3 网络请求与外部服务 + +插件如连接外部服务,应在上架说明或隐私说明中披露服务名称、用途和数据流向。以下情况**将被拒绝**: + +- 未披露的遥测、统计、崩溃上报、广告、AI 服务或远程配置 +- 外部请求没有超时、重试上限、错误处理或降级策略 +- 将站点内容、用户数据、订单、许可证或访问日志发送到第三方但未说明 +- 通过远程服务动态下发核心代码或绕过审核 + +#### 4.3.4 安装、升级与卸载 + +插件应正确处理生命周期。以下情况**将被拒绝**: + +- 安装和启用破坏已有数据 +- 升级时不兼容旧配置和旧数据,且未提供迁移逻辑 +- 禁用后未停止定时任务、事件监听、外部同步和后台处理 +- 卸载或删除数据时误删用户内容,且未提供明确提示 +- 失败时无法回滚或给出可操作的错误信息 + +#### 4.3.5 构建、依赖与制品 + +插件制品应可验证、可安装、可维护。以下情况**将被拒绝**: + +- 制品无法安装、缺少必要元数据或与声明版本不兼容 +- 依赖包含已知高危漏洞且没有说明缓解措施 +- 打包了无关的大文件、私有文件、源码凭据、测试密钥或本地配置 +- 使用混淆、加密或动态下载阻碍合理审核 +- 插件要求修改 Halo 核心文件或手动替换系统依赖 + +### 4.4 主题 + +主题主要影响站点前台展示、模板渲染、用户生成内容呈现、外部资源加载和访问体验。 + +#### 4.4.1 主题完整性 + +主题必须提供完整、可用、可预览的站点体验。以下情况**将被拒绝**: + +- 无法正确渲染首页、文章详情页、单页面、分类页、标签页或归档页 +- 搜索页或空结果状态显示异常 +- 404、错误页或兜底状态缺失或异常 +- 评论、分页、导航、附件、封面图等常见内容渲染异常 + +#### 4.4.2 内容渲染安全 + +主题必须安全渲染用户生成内容和站点内容。以下情况**将被拒绝**: + +- 未正确转义用户输入,导致 XSS 或 HTML 注入 +- 在模板中直接执行不可信脚本 +- 不安全地拼接 URL、样式、脚本或模板变量 +- 通过主题模板泄露管理员信息、草稿内容、私密内容或未公开资源 +- 评论、搜索、归档、标签等页面存在明显安全风险 + +#### 4.4.3 响应式与可访问性 + +主题应在常见设备上可阅读、可导航、可操作。以下情况**将被拒绝**: + +- 移动端内容溢出、按钮不可点、导航不可用或正文被遮挡 +- 文本和背景对比度过低 +- 图片缺少必要替代文本或布局导致明显跳动 +- 键盘无法访问主要导航、搜索、菜单或表单 +- 使用过度动画、闪烁或自动播放影响阅读 + +#### 4.4.4 性能与外部资源 + +主题不应明显拖慢站点访问。以下情况**将被拒绝**: + +- 图片、字体、脚本和样式未合理压缩和按需加载 +- 未在上架说明中披露外部 CDN、字体、统计、广告或评论服务 +- 加载与主题功能无关的大型脚本、追踪脚本或广告资源 +- 外部资源不可用时,主题无法保持基础内容可访问 + +#### 4.4.5 主题设置与兼容性 + +主题设置应清晰、稳定、可恢复。以下情况**将被拒绝**: + +- 主题配置项缺少合理默认值 +- 配置错误导致站点完全不可访问 +- 与声明的 Halo 版本不兼容 +- 要求用户修改 Halo 核心文件 +- 主题切换或卸载后破坏站点内容 + +#### 4.4.6 品牌、素材与版权 + +主题中的素材应具备合法来源。以下情况**将被拒绝**: + +- 未授权使用第三方图片、字体、图标、模板、设计稿或品牌资源 +- 冒充官方主题、其他开发者主题或知名商业产品 +- 演示数据包含未经授权的个人信息、真实用户内容或第三方商业内容 +- 声称支持某品牌、平台、服务或合作关系但不能提供证明 + +### 4.5 后台页面 + +插件提供 Console 或用户中心页面时,应满足以下要求。以下情况**将被拒绝**: + +- 页面风格与 Halo 管理后台严重不一致,导致用户困惑 +- 展示未授权数据,或依赖前端隐藏实现安全边界 +- 移动端或窄屏下出现明显遮挡、错位或不可操作 + +## 5. 法律 + +### 5.1 隐私 + +收集、存储、传输、处理或共享用户数据的应用,必须在隐私说明中清晰披露: + +- 收集的数据类型(用户信息、站点内容、访问日志、订单、许可证、配置、设备信息或第三方账户信息) +- 数据用途 +- 数据保存位置和保存期限 +- 是否传输到第三方服务,以及第三方服务的名称和用途 +- 用户关闭、删除、导出、解绑或撤销授权的方式 +- 是否存在遥测、统计、崩溃上报、广告、推荐、AI 分析或跨站追踪 + +应用不得进行未披露的数据收集、隐蔽遥测、超范围处理、出售用户数据或未经授权向第三方传输数据。违反此条款的应用**将被拒绝或下架**。 + +### 5.2 知识产权 + +应用及上架材料应具备合法来源和发布授权。以下情况**将被拒绝**: + +- 代码、图片、字体、图标、模板、文案、模型、数据或第三方资源缺少合法授权 +- 开源许可证标注不准确,或未履行署名、源码提供、许可证传递、版权声明保留等义务 +- 未经授权使用 Halo 官方标识、第三方商标、产品名称或容易混淆的视觉元素 +- 声称官方、认证、合作、推荐、兼容或赞助,但不能提供可验证证明 + +### 5.3 内容合规 + +应用及其上架资料不得包含违法违规、侵权或明显不适合应用市场展示的内容。以下情况**将被拒绝**: + +- 侵犯版权、商标权、专利权、商业秘密、肖像权、隐私权或其他合法权益的内容 +- 诈骗、赌博、恶意引流、仿冒官方、诱导交易或规避平台规则的内容 +- 仇恨、歧视、骚扰、色情、暴力、违法交易、恶意政治操纵或其他违反公共利益的内容 +- 未经授权使用他人品牌、图标、截图、字体、图片、模板或文案 + +### 5.4 开发者信息 + +开发者应提供真实、可联系的开发者信息。以下情况**将被拒绝**: + +- 支持链接、文档或联系方式不可用 +- 长期不响应重大缺陷、安全漏洞、兼容性问题或用户投诉 +- 应用停止维护但仍继续向用户收费、依赖不可用的外部付费服务或继续宣称兼容当前 Halo 版本 +- 下架或停止维护时未提供必要的迁移、备份或替代说明 + +## 重新提交与申诉 + +如果应用被拒绝,请按审核意见引用的条款逐项整改。重新提交时建议说明: + +- 已修复的问题 +- 对应的指南条款 +- 修改的文件、功能或配置 +- 如何复现和验证 +- 如审核包曾在提交后发生变化,请说明已取消或重新提交,并确保新的审核快照与当前资源一致 + +如果你认为审核决定存在错误,可在收到拒绝通知后 30 日内提交申诉。申诉应包含具体的事实、证据、授权材料或技术说明。紧急处置措施不影响你后续提交申诉的权利。 + +运营方可以基于公共利益、重大安全风险、法律要求、权利人投诉或用户保护需要,先采取临时处置措施,再处理补充材料或申诉。 + +## 指南更新 + +本指南会根据 Halo 版本、应用市场策略、安全形势、法律法规和审核经验持续更新。应用已经通过审核,并不代表后续版本或已上架版本永久符合要求。 + +当指南更新后,后续提交的新应用、新版本、重大更新或重新上架申请,应符合当前版本指南。 + +## 联系方式 + +审核咨询、安全漏洞报告、侵权投诉、隐私或合规投诉可发送邮件至 hi@halo.run;工单或反馈可通过 [GitHub Discussions](https://github.com/orgs/lxware-dev/discussions) 提交。 diff --git a/docs/developer-guide/app-store/publish-app.md b/docs/developer-guide/app-store/publish-app.md new file mode 100644 index 00000000..7c002835 --- /dev/null +++ b/docs/developer-guide/app-store/publish-app.md @@ -0,0 +1,57 @@ +--- +title: 发布应用 +description: 了解如何在 Halo 应用市场创建应用并提交审核 +--- + +Halo 官方应用市场支持开发者自助创建应用并提交首次上架审核。当前自助上架流程主要面向免费插件和主题;付费上架、平台代收、结算、分账等能力暂未开放。 + +## 申请成为开发者 + +上架应用前,你需要使用已完成邮箱验证的 Halo 官网账号申请成为应用市场开发者。申请时需要填写开发者资料,并阅读和同意当前开发者协议。申请通过后,你可以进入开发者中心创建和管理自己的应用。 + +如果申请被驳回,可以根据审核意见修改资料后重新提交。待审核的开发者申请可以取消,取消后也可以重新提交。 + +## 首次上架流程 + +首次上架应用需要经过应用级审核。建议按以下顺序准备: + +1. 在开发者中心创建应用,填写应用类型、名称、简介、Logo、截图、README、许可证、外部链接、开源仓库或支持地址等上架信息。 +2. 创建首个版本,填写版本号、Halo 兼容范围和版本说明。版本号应符合 Semantic Versioning 规范,Halo 兼容范围应是合法的 Semantic Versioning range。 +3. 上传版本制品。插件通常应上传可安装的 JAR 包,主题通常应上传可安装的 ZIP 包。 +4. 对照[应用市场审核指南](./app-review-guidelines.md)完成提交前自查。 +5. 提交审核,阅读并同意应用上架协议;如应用需要测试账号、演示环境、特殊安装步骤或重新提交说明,可以在提交说明中补充。 + +首次提交审核前,应用应仍处于草稿状态,并且仅保留一个初始草稿版本。该版本至少需要包含一个上传完成的制品。 + +## 审核期间 + +提交审核后,平台会保存提交当时的应用信息、README、初始版本、版本说明、制品和协议确认信息作为审核快照。审核期间如需修改应用、版本、说明或制品,应取消审核、等待驳回后重新提交,或按审核意见处理。 + +审核通过后,应用会发布到应用市场。审核被拒时,审核意见可能引用[应用市场审核指南](./app-review-guidelines.md)中的条款编号,你需要按对应条款整改后重新提交。即使应用已经通过审核,后续版本、重大更新或出现风险、投诉时,仍可能被重新审核、暂停分发或下架。 + +## 上架要求 + +在你决定上架到 Halo 应用市场前,请确保已经完成以下要求: + +1. 插件必须正确设置 `plugin.yaml` 中的 logo 字段,不能是插件开发模板中默认的 Halo 图标。 +2. 主题和插件的描述文件中必须正确设置 `homepage`、`issues`、`license` 字段,详细解释: + 1. `homepage`:应用的主页,可以填写为 GitHub 仓库地址或者 Halo 应用市场的应用详情页地址。 + 2. `issues`:应用的反馈地址,可以填写为 GitHub 仓库的 issues 地址。 + 3. `license`:应用的发行许可证。 +3. 应用必须编写介绍和使用文档。 +4. 应用如果是基于其他程序开发的,需要保证许可证兼容。 +5. 应用的截图、说明、外部链接、隐私说明、第三方服务说明和商业限制应真实准确,并与应用实际功能保持一致。 +6. 应用不得包含恶意代码、未披露数据收集、隐藏远程执行、高危安全漏洞或违法违规内容。 + +更多审核规则请查阅[应用市场审核指南](./app-review-guidelines.md)。 + +## 后续版本和自动发布 + +应用首次审核通过后,开发者可以为自己拥有的应用发布后续版本。后续版本仍应符合[应用市场审核指南](./app-review-guidelines.md),但当前流程不会为每个后续版本创建独立审核记录。 + +如果你希望在 GitHub 发布 Release 后自动同步到应用市场,可以修改 CI / CD 工作流: + +1. 移除 `skip-appstore-release: true` 配置,或者设置为 `false`。 +2. 在 `with` 中添加 `app-id` 配置,值为应用市场的应用 ID。 +3. 在 Halo 官网的个人中心创建一个新的[个人令牌](https://www.halo.run/uc/profile?tab=pat),勾选 **应用市场开发者 > 版本管理**。 +4. 在 GitHub 仓库的设置 -> `Secrets and variables` 中新建一个 Secret,名称为 `HALO_PAT`,值为你在 Halo 官网创建的个人令牌。 diff --git a/docs/developer-guide/appendix/publish-app.md b/docs/developer-guide/appendix/publish-app.md index 904ebbcf..bf5a85c9 100644 --- a/docs/developer-guide/appendix/publish-app.md +++ b/docs/developer-guide/appendix/publish-app.md @@ -104,32 +104,7 @@ jobs: ## 发布到应用市场 -Halo 的官方应用市场接受新应用的提交,但由于应用市场仅支持作者自行管理应用以及版本,还不支持自助新建应用并发布,所以发布到应用市场需要按照以下流程: - -1. 向 [halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) 发起一个 PR 提交应用的信息,并勾选 **上架到 Halo 应用市场**。 -2. Halo 官方人员会审核你的应用信息,审核通过后会上架到应用市场。 -3. 如果你需要自行管理应用以及版本,可以在 PR 描述信息中提供 [Halo 官网](https://www.halo.run/)的用户名,我们会在应用发布之后将管理权限授予你。 - -### 要求 - -在你决定上架到 Halo 应用市场前,请确保已经完成以下要求: - -1. 插件必须正确设置 `plugin.yaml` 中的 logo 字段,不能是插件开发模板中默认的 Halo 图标。 -2. 主题和插件的描述文件中必须正确设置 `homepage`、`issues`、`license` 字段,详细解释: - 1. `homepage`:应用的主页,可以填写为 GitHub 仓库地址或者 Halo 应用市场的应用详情页地址。 - 2. `issues`:应用的反馈地址,可以填写为 GitHub 仓库的 issues 地址。 - 3. `license`:应用的发行许可证。 -3. 应用必须编写介绍和使用文档。 -4. 应用如果是基于其他程序开发的,需要保证许可证兼容。 - -### 自动发布 - -当你有了应用的管理权限之后,你可以修改上述 CI / CD 工作流,以实现在 GitHub 发布 Release 之后自动同步到应用市场,以下是具体步骤: - -1. 移除 `skip-appstore-release: true` 配置,或者设置为 `false`。 -2. 在 `with` 中添加 `app-id` 配置,值为应用市场的应用 ID。 -3. 在 Halo 官网的个人中心创建一个新的[个人令牌](https://www.halo.run/uc/profile?tab=pat),勾选 **应用市场开发者 > 版本管理**。 -4. 在 GitHub 仓库的设置 -> `Secrets and variables` 中新建一个 Secret,名称为 `HALO_PAT`,值为你在 Halo 官网创建的个人令牌。 +Halo 官方应用市场支持开发者自助创建应用并提交首次上架审核。具体流程请查阅[应用市场 / 发布应用](../app-store/publish-app.md),提交前请对照[应用市场审核指南](../app-store/app-review-guidelines.md)完成自查。 ## 版本控制 {#version-control} diff --git a/sidebars.js b/sidebars.js index 9fc6db7b..d4d7deb8 100644 --- a/sidebars.js +++ b/sidebars.js @@ -453,6 +453,17 @@ module.exports = { "developer-guide/restful-api/api-client", ], }, + { + type: "category", + label: "应用市场", + link: { + type: "generated-index", + }, + items: [ + "developer-guide/app-store/publish-app", + "developer-guide/app-store/app-review-guidelines", + ], + }, "developer-guide/form-schema", "developer-guide/annotations-form", { diff --git a/versioned_docs/version-2.24/developer-guide/app-store/app-review-guidelines.md b/versioned_docs/version-2.24/developer-guide/app-store/app-review-guidelines.md new file mode 100644 index 00000000..6128879a --- /dev/null +++ b/versioned_docs/version-2.24/developer-guide/app-store/app-review-guidelines.md @@ -0,0 +1,343 @@ +--- +title: 应用市场审核指南 +description: Halo 应用市场上架审核的规则和自查清单 +--- + +> 版本:`review-guidelines-v2026.05.31` +> +> 生效日期:2026-05-31 +> +> 运营主体:凌霞(深圳)软件有限公司 + +本指南中的「应用」指 Halo 插件和主题。 + +本指南面向准备在应用市场上架应用的开发者。提交审核前,请使用本指南自查应用、上架资料、版本制品、隐私说明和用户支持是否满足要求。 + +审核被拒时,审核人员会直接引用本指南中的条款编号,例如「请参考 2.1」或「请参考 3.1」。开发者应按对应条款完成整改后重新提交。 + +当前自助审核流程主要覆盖新应用首次上架。已发布应用的资料维护、后续版本发布和重大更新仍应符合本指南;运营方可基于风险、投诉、重大变更或平台策略要求重新审核、暂停分发或下架。 + +## 提交前检查 + +提交审核前,请确认: + +- 应用可在声明兼容的 Halo 版本中完成安装、启用、配置、使用、禁用和卸载 +- 应用名称、简介、详情、图标、截图和外部链接真实准确 +- 新应用仍处于草稿状态,且首次提交审核前仅保留一个初始草稿版本 +- 版本号符合 Semantic Versioning 规范,Halo 兼容范围是合法的 Semantic Versioning range,且没有首尾空白 +- 版本说明、依赖要求和升级说明完整且准确 +- 版本至少包含一个上传完成的制品;插件通常应提交可安装的 JAR 包,主题通常应提交可安装的 ZIP 包 +- 应用不包含恶意代码、后门、隐藏远程执行、未披露数据收集或高危安全缺陷 +- 涉及用户数据、站点内容、订单、许可证、日志或第三方服务时,已提供清晰说明 +- 已按免费应用提交;如依赖第三方付费服务、外部授权或功能限制,已准确披露 +- 开源许可证、第三方资源、商标、图片、字体、图标和模板授权清晰 +- 支持链接可访问,且你能响应审核反馈、用户反馈和安全问题 +- 已理解提交后平台会保存审核快照;审核期间如需修改应用、版本、说明或制品,应取消审核、等待驳回后重新提交,或按审核意见处理 + +## 1. 安全 + +### 1.1 恶意行为 + +应用不得包含恶意代码、后门、木马、挖矿程序、勒索软件、凭据窃取工具、隐藏管理员账户或其他破坏性逻辑。违反此条款的应用**将被拒绝**,相关开发者**可能被终止开发者资格**。 + +### 1.2 未授权数据访问 + +应用不得在未经用户明确授权的情况下读取、修改、删除、导出、上传或共享用户数据、站点内容、配置、订单、许可证或日志。违反此条款的应用**将被拒绝或下架**。 + +### 1.3 平台安全绕过 + +应用不得绕过 Halo 权限模型、应用市场授权机制、支付流程、许可证校验、审核流程或平台安全限制。违反此条款的应用**将被拒绝**,情节严重的**将被下架并终止开发者资格**。 + +### 1.4 远程执行与动态加载 + +应用不得包含未披露的远程执行能力、动态执行不可信代码、远程加载核心业务代码或隐藏功能开关。违反此条款的应用**将被拒绝**。 + +### 1.5 高危安全漏洞 + +存在明显可利用的高危漏洞(包括但不限于命令注入、SQL 注入、模板注入、路径穿越、SSRF、危险反序列化、任意文件读写或权限绕过)的应用**将被拒绝**。开发者应在提交前完成安全自查。 + +### 1.6 敏感信息硬编码 + +应用不得将密钥、私钥、访问令牌、支付凭据、生产环境密码或其他敏感信息硬编码进公开制品。违反此条款的应用**将被拒绝**。 + +### 1.7 违法行为 + +应用不得鼓励或协助用户实施违法行为,包括但不限于诈骗、赌博、恶意引流、仿冒官方或诱导交易。涉及此类内容的应用**将被拒绝并下架**。 + +## 2. 性能 + +### 2.1 应用完整性 + +提交审核的应用必须是完整、可运行、可验证的版本。以下情况**将被拒绝**: + +- 核心功能不可用,安装后无法完成主要使用路径 +- 提交的是空壳、占位、纯广告、跳转页、演示残留或尚未完成的测试版本 +- 必要的后端服务、第三方服务、授权服务或示例数据在审核期间不可用 +- 需要登录、授权、外部服务或特殊配置,但未提供审核所需的说明、测试账号、演示模式或测试环境 +- 应用崩溃、导致 Halo 后台不可用、明显影响站点访问或无法正常卸载 +- 新应用首次提交审核前没有初始草稿版本,存在多个初始草稿版本,或版本没有上传完成的制品 +- 审核期间应用、README、版本说明或制品与提交时的审核快照不一致,且未按流程重新提交 + +### 2.2 准确的上架信息 + +上架信息必须准确反映应用的实际功能、限制和使用成本。以下情况**将被拒绝**: + +- 名称、简介、详情、截图或图标与实际功能不符 +- 冒充 Halo 官方、应用市场官方、其他开发者、其他产品或不存在的合作关系 +- 使用误导性宣传,包括夸大效果、伪造下载量、伪造评价、隐藏限制或暗示不存在的官方认证 +- 截图仅展示封面图、营销图、登录页或与应用无关的画面,而非真实界面 +- 外部链接不可访问,或与文档、源码、支持、隐私说明、演示或产品主页无关 +- 未在版本说明中披露重大变化、权限变化、数据处理变化、外部付费服务变化或授权限制变化 + +### 2.3 兼容性 + +应用必须与声明的 Halo 版本范围兼容。以下情况**将被拒绝**: + +- 在声明兼容的 Halo 版本中无法安装、启用或运行 +- 版本号不符合 Semantic Versioning 规范,或 Halo 兼容范围不是合法的 Semantic Versioning range +- 版本号或 Halo 兼容范围包含首尾空白,导致平台无法准确解析 +- 明显破坏 Halo 管理后台、影响其他插件或主题的基本功能 +- 禁用或卸载后留下继续运行的任务、代理、脚本或外部调用 + +### 2.4 性能与稳定性 + +应用不得明显降低 Halo 站点性能或稳定性。以下情况**将被拒绝**: + +- 在页面请求、后台任务、事件监听或定时任务中执行高成本阻塞操作 +- 无限制轮询、批量请求、重复索引、重复扫描或创建大量后台任务 +- 未设置超时、重试上限、缓存或降级策略的外部请求 +- 大量写入日志、数据库、文件系统或缓存 +- 与其他插件、主题或 Halo 核心能力产生明显冲突 + +## 3. 商业 + +### 3.1 付费与交易 + +当前开发者自助上架流程仅支持免费应用。以下情况**将被拒绝**: + +- 应用设置为应用市场内付费商品,或要求应用市场代收、结算或分账 +- 免费应用隐藏必须付费才能使用的核心条件,或诱导用户安装后再购买开发者私下许可证、激活码、订阅或服务 +- 通过隐藏入口、私下交易、外部授权或技术绕过规避应用市场审核、交易、订单、许可证或统计流程 +- 将平台用于历史已购、官方运营、专业版授权或特定合作场景的订单、支付、许可证、优惠能力描述为已向开发者自助付费上架开放 + +### 3.2 外部付费服务与授权 + +应用依赖第三方付费服务、API 调用费用、订阅费用或自有商业授权的,必须在上架说明中明确告知服务提供方、费用承担方、功能限制、取消方式和支持渠道。 + +**不得**将第三方费用或开发者自有商业授权描述为应用市场内购、平台代收费用或平台许可证。违反此条款的应用**将被拒绝**。 + +### 3.3 其他商业模式问题 + +以下情况**将被拒绝**: + +- 应用的主要目的是展示广告或进行营销,而非提供实际功能 +- 应用通过欺骗性定价、隐藏费用或难以取消的订阅诱导用户付费 +- 利用应用市场分发机制进行刷量、刷评价或操纵排名 + +## 4. 设计 + +### 4.1 功能与用户体验 + +应用应清晰解决特定问题,并提供可验证的功能。以下情况**将被拒绝**: + +- 功能与上架描述严重不符 +- 启用后在未说明的情况下改变 Halo 核心行为、系统设置、用户权限、站点内容或其他插件数据 +- 缺少必要配置项,或配置项没有合理默认值和使用说明 +- 关键操作缺少确认、反馈或错误提示 +- 表单校验不清楚,允许用户提交无效配置 + +### 4.2 最小功能 + +应用必须具备足够的实用功能。以下情况**将被拒绝**: + +- 功能过于简单,无法作为独立应用提供价值 +- 是已有应用的简单复制,未提供差异化功能或体验 +- 主要功能依赖外部网页或第三方应用,自身仅作为容器或跳转入口 + +### 4.3 插件 + +插件拥有后端代码、权限、接口、事件监听、数据库访问、文件访问或后台页面,会接受更严格的安全和权限审查。 + +#### 4.3.1 权限与访问控制 + +插件申请的权限应与功能匹配,并遵循最小必要原则。以下情况**将被拒绝**: + +- 申请远超功能需要的角色、接口或资源权限 +- 自定义接口未进行身份认证、权限校验或资源归属校验 +- 普通用户可访问管理员能力、开发者能力、订单数据、许可证数据或其他敏感资源 +- 通过前端隐藏按钮代替后端权限控制 +- 未说明为什么需要高风险权限 + +#### 4.3.2 数据访问与存储 + +插件访问用户数据、站点内容、订单、许可证、配置、附件或日志时,应有明确边界。以下情况**将被拒绝**: + +- 读取与功能无关的数据 +- 未经授权导出、同步或上传站点数据 +- 在日志、缓存、URL、异常消息或公开页面中泄露敏感信息 +- 存储明文密码、密钥、令牌、私钥或支付凭据 +- 缺少数据迁移、备份、删除或卸载后的清理说明 + +#### 4.3.3 网络请求与外部服务 + +插件如连接外部服务,应在上架说明或隐私说明中披露服务名称、用途和数据流向。以下情况**将被拒绝**: + +- 未披露的遥测、统计、崩溃上报、广告、AI 服务或远程配置 +- 外部请求没有超时、重试上限、错误处理或降级策略 +- 将站点内容、用户数据、订单、许可证或访问日志发送到第三方但未说明 +- 通过远程服务动态下发核心代码或绕过审核 + +#### 4.3.4 安装、升级与卸载 + +插件应正确处理生命周期。以下情况**将被拒绝**: + +- 安装和启用破坏已有数据 +- 升级时不兼容旧配置和旧数据,且未提供迁移逻辑 +- 禁用后未停止定时任务、事件监听、外部同步和后台处理 +- 卸载或删除数据时误删用户内容,且未提供明确提示 +- 失败时无法回滚或给出可操作的错误信息 + +#### 4.3.5 构建、依赖与制品 + +插件制品应可验证、可安装、可维护。以下情况**将被拒绝**: + +- 制品无法安装、缺少必要元数据或与声明版本不兼容 +- 依赖包含已知高危漏洞且没有说明缓解措施 +- 打包了无关的大文件、私有文件、源码凭据、测试密钥或本地配置 +- 使用混淆、加密或动态下载阻碍合理审核 +- 插件要求修改 Halo 核心文件或手动替换系统依赖 + +### 4.4 主题 + +主题主要影响站点前台展示、模板渲染、用户生成内容呈现、外部资源加载和访问体验。 + +#### 4.4.1 主题完整性 + +主题必须提供完整、可用、可预览的站点体验。以下情况**将被拒绝**: + +- 无法正确渲染首页、文章详情页、单页面、分类页、标签页或归档页 +- 搜索页或空结果状态显示异常 +- 404、错误页或兜底状态缺失或异常 +- 评论、分页、导航、附件、封面图等常见内容渲染异常 + +#### 4.4.2 内容渲染安全 + +主题必须安全渲染用户生成内容和站点内容。以下情况**将被拒绝**: + +- 未正确转义用户输入,导致 XSS 或 HTML 注入 +- 在模板中直接执行不可信脚本 +- 不安全地拼接 URL、样式、脚本或模板变量 +- 通过主题模板泄露管理员信息、草稿内容、私密内容或未公开资源 +- 评论、搜索、归档、标签等页面存在明显安全风险 + +#### 4.4.3 响应式与可访问性 + +主题应在常见设备上可阅读、可导航、可操作。以下情况**将被拒绝**: + +- 移动端内容溢出、按钮不可点、导航不可用或正文被遮挡 +- 文本和背景对比度过低 +- 图片缺少必要替代文本或布局导致明显跳动 +- 键盘无法访问主要导航、搜索、菜单或表单 +- 使用过度动画、闪烁或自动播放影响阅读 + +#### 4.4.4 性能与外部资源 + +主题不应明显拖慢站点访问。以下情况**将被拒绝**: + +- 图片、字体、脚本和样式未合理压缩和按需加载 +- 未在上架说明中披露外部 CDN、字体、统计、广告或评论服务 +- 加载与主题功能无关的大型脚本、追踪脚本或广告资源 +- 外部资源不可用时,主题无法保持基础内容可访问 + +#### 4.4.5 主题设置与兼容性 + +主题设置应清晰、稳定、可恢复。以下情况**将被拒绝**: + +- 主题配置项缺少合理默认值 +- 配置错误导致站点完全不可访问 +- 与声明的 Halo 版本不兼容 +- 要求用户修改 Halo 核心文件 +- 主题切换或卸载后破坏站点内容 + +#### 4.4.6 品牌、素材与版权 + +主题中的素材应具备合法来源。以下情况**将被拒绝**: + +- 未授权使用第三方图片、字体、图标、模板、设计稿或品牌资源 +- 冒充官方主题、其他开发者主题或知名商业产品 +- 演示数据包含未经授权的个人信息、真实用户内容或第三方商业内容 +- 声称支持某品牌、平台、服务或合作关系但不能提供证明 + +### 4.5 后台页面 + +插件提供 Console 或用户中心页面时,应满足以下要求。以下情况**将被拒绝**: + +- 页面风格与 Halo 管理后台严重不一致,导致用户困惑 +- 展示未授权数据,或依赖前端隐藏实现安全边界 +- 移动端或窄屏下出现明显遮挡、错位或不可操作 + +## 5. 法律 + +### 5.1 隐私 + +收集、存储、传输、处理或共享用户数据的应用,必须在隐私说明中清晰披露: + +- 收集的数据类型(用户信息、站点内容、访问日志、订单、许可证、配置、设备信息或第三方账户信息) +- 数据用途 +- 数据保存位置和保存期限 +- 是否传输到第三方服务,以及第三方服务的名称和用途 +- 用户关闭、删除、导出、解绑或撤销授权的方式 +- 是否存在遥测、统计、崩溃上报、广告、推荐、AI 分析或跨站追踪 + +应用不得进行未披露的数据收集、隐蔽遥测、超范围处理、出售用户数据或未经授权向第三方传输数据。违反此条款的应用**将被拒绝或下架**。 + +### 5.2 知识产权 + +应用及上架材料应具备合法来源和发布授权。以下情况**将被拒绝**: + +- 代码、图片、字体、图标、模板、文案、模型、数据或第三方资源缺少合法授权 +- 开源许可证标注不准确,或未履行署名、源码提供、许可证传递、版权声明保留等义务 +- 未经授权使用 Halo 官方标识、第三方商标、产品名称或容易混淆的视觉元素 +- 声称官方、认证、合作、推荐、兼容或赞助,但不能提供可验证证明 + +### 5.3 内容合规 + +应用及其上架资料不得包含违法违规、侵权或明显不适合应用市场展示的内容。以下情况**将被拒绝**: + +- 侵犯版权、商标权、专利权、商业秘密、肖像权、隐私权或其他合法权益的内容 +- 诈骗、赌博、恶意引流、仿冒官方、诱导交易或规避平台规则的内容 +- 仇恨、歧视、骚扰、色情、暴力、违法交易、恶意政治操纵或其他违反公共利益的内容 +- 未经授权使用他人品牌、图标、截图、字体、图片、模板或文案 + +### 5.4 开发者信息 + +开发者应提供真实、可联系的开发者信息。以下情况**将被拒绝**: + +- 支持链接、文档或联系方式不可用 +- 长期不响应重大缺陷、安全漏洞、兼容性问题或用户投诉 +- 应用停止维护但仍继续向用户收费、依赖不可用的外部付费服务或继续宣称兼容当前 Halo 版本 +- 下架或停止维护时未提供必要的迁移、备份或替代说明 + +## 重新提交与申诉 + +如果应用被拒绝,请按审核意见引用的条款逐项整改。重新提交时建议说明: + +- 已修复的问题 +- 对应的指南条款 +- 修改的文件、功能或配置 +- 如何复现和验证 +- 如审核包曾在提交后发生变化,请说明已取消或重新提交,并确保新的审核快照与当前资源一致 + +如果你认为审核决定存在错误,可在收到拒绝通知后 30 日内提交申诉。申诉应包含具体的事实、证据、授权材料或技术说明。紧急处置措施不影响你后续提交申诉的权利。 + +运营方可以基于公共利益、重大安全风险、法律要求、权利人投诉或用户保护需要,先采取临时处置措施,再处理补充材料或申诉。 + +## 指南更新 + +本指南会根据 Halo 版本、应用市场策略、安全形势、法律法规和审核经验持续更新。应用已经通过审核,并不代表后续版本或已上架版本永久符合要求。 + +当指南更新后,后续提交的新应用、新版本、重大更新或重新上架申请,应符合当前版本指南。 + +## 联系方式 + +审核咨询、安全漏洞报告、侵权投诉、隐私或合规投诉可发送邮件至 hi@halo.run;工单或反馈可通过 [GitHub Discussions](https://github.com/orgs/lxware-dev/discussions) 提交。 diff --git a/versioned_docs/version-2.24/developer-guide/app-store/publish-app.md b/versioned_docs/version-2.24/developer-guide/app-store/publish-app.md new file mode 100644 index 00000000..7c002835 --- /dev/null +++ b/versioned_docs/version-2.24/developer-guide/app-store/publish-app.md @@ -0,0 +1,57 @@ +--- +title: 发布应用 +description: 了解如何在 Halo 应用市场创建应用并提交审核 +--- + +Halo 官方应用市场支持开发者自助创建应用并提交首次上架审核。当前自助上架流程主要面向免费插件和主题;付费上架、平台代收、结算、分账等能力暂未开放。 + +## 申请成为开发者 + +上架应用前,你需要使用已完成邮箱验证的 Halo 官网账号申请成为应用市场开发者。申请时需要填写开发者资料,并阅读和同意当前开发者协议。申请通过后,你可以进入开发者中心创建和管理自己的应用。 + +如果申请被驳回,可以根据审核意见修改资料后重新提交。待审核的开发者申请可以取消,取消后也可以重新提交。 + +## 首次上架流程 + +首次上架应用需要经过应用级审核。建议按以下顺序准备: + +1. 在开发者中心创建应用,填写应用类型、名称、简介、Logo、截图、README、许可证、外部链接、开源仓库或支持地址等上架信息。 +2. 创建首个版本,填写版本号、Halo 兼容范围和版本说明。版本号应符合 Semantic Versioning 规范,Halo 兼容范围应是合法的 Semantic Versioning range。 +3. 上传版本制品。插件通常应上传可安装的 JAR 包,主题通常应上传可安装的 ZIP 包。 +4. 对照[应用市场审核指南](./app-review-guidelines.md)完成提交前自查。 +5. 提交审核,阅读并同意应用上架协议;如应用需要测试账号、演示环境、特殊安装步骤或重新提交说明,可以在提交说明中补充。 + +首次提交审核前,应用应仍处于草稿状态,并且仅保留一个初始草稿版本。该版本至少需要包含一个上传完成的制品。 + +## 审核期间 + +提交审核后,平台会保存提交当时的应用信息、README、初始版本、版本说明、制品和协议确认信息作为审核快照。审核期间如需修改应用、版本、说明或制品,应取消审核、等待驳回后重新提交,或按审核意见处理。 + +审核通过后,应用会发布到应用市场。审核被拒时,审核意见可能引用[应用市场审核指南](./app-review-guidelines.md)中的条款编号,你需要按对应条款整改后重新提交。即使应用已经通过审核,后续版本、重大更新或出现风险、投诉时,仍可能被重新审核、暂停分发或下架。 + +## 上架要求 + +在你决定上架到 Halo 应用市场前,请确保已经完成以下要求: + +1. 插件必须正确设置 `plugin.yaml` 中的 logo 字段,不能是插件开发模板中默认的 Halo 图标。 +2. 主题和插件的描述文件中必须正确设置 `homepage`、`issues`、`license` 字段,详细解释: + 1. `homepage`:应用的主页,可以填写为 GitHub 仓库地址或者 Halo 应用市场的应用详情页地址。 + 2. `issues`:应用的反馈地址,可以填写为 GitHub 仓库的 issues 地址。 + 3. `license`:应用的发行许可证。 +3. 应用必须编写介绍和使用文档。 +4. 应用如果是基于其他程序开发的,需要保证许可证兼容。 +5. 应用的截图、说明、外部链接、隐私说明、第三方服务说明和商业限制应真实准确,并与应用实际功能保持一致。 +6. 应用不得包含恶意代码、未披露数据收集、隐藏远程执行、高危安全漏洞或违法违规内容。 + +更多审核规则请查阅[应用市场审核指南](./app-review-guidelines.md)。 + +## 后续版本和自动发布 + +应用首次审核通过后,开发者可以为自己拥有的应用发布后续版本。后续版本仍应符合[应用市场审核指南](./app-review-guidelines.md),但当前流程不会为每个后续版本创建独立审核记录。 + +如果你希望在 GitHub 发布 Release 后自动同步到应用市场,可以修改 CI / CD 工作流: + +1. 移除 `skip-appstore-release: true` 配置,或者设置为 `false`。 +2. 在 `with` 中添加 `app-id` 配置,值为应用市场的应用 ID。 +3. 在 Halo 官网的个人中心创建一个新的[个人令牌](https://www.halo.run/uc/profile?tab=pat),勾选 **应用市场开发者 > 版本管理**。 +4. 在 GitHub 仓库的设置 -> `Secrets and variables` 中新建一个 Secret,名称为 `HALO_PAT`,值为你在 Halo 官网创建的个人令牌。 diff --git a/versioned_docs/version-2.24/developer-guide/appendix/publish-app.md b/versioned_docs/version-2.24/developer-guide/appendix/publish-app.md index 904ebbcf..bf5a85c9 100644 --- a/versioned_docs/version-2.24/developer-guide/appendix/publish-app.md +++ b/versioned_docs/version-2.24/developer-guide/appendix/publish-app.md @@ -104,32 +104,7 @@ jobs: ## 发布到应用市场 -Halo 的官方应用市场接受新应用的提交,但由于应用市场仅支持作者自行管理应用以及版本,还不支持自助新建应用并发布,所以发布到应用市场需要按照以下流程: - -1. 向 [halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) 发起一个 PR 提交应用的信息,并勾选 **上架到 Halo 应用市场**。 -2. Halo 官方人员会审核你的应用信息,审核通过后会上架到应用市场。 -3. 如果你需要自行管理应用以及版本,可以在 PR 描述信息中提供 [Halo 官网](https://www.halo.run/)的用户名,我们会在应用发布之后将管理权限授予你。 - -### 要求 - -在你决定上架到 Halo 应用市场前,请确保已经完成以下要求: - -1. 插件必须正确设置 `plugin.yaml` 中的 logo 字段,不能是插件开发模板中默认的 Halo 图标。 -2. 主题和插件的描述文件中必须正确设置 `homepage`、`issues`、`license` 字段,详细解释: - 1. `homepage`:应用的主页,可以填写为 GitHub 仓库地址或者 Halo 应用市场的应用详情页地址。 - 2. `issues`:应用的反馈地址,可以填写为 GitHub 仓库的 issues 地址。 - 3. `license`:应用的发行许可证。 -3. 应用必须编写介绍和使用文档。 -4. 应用如果是基于其他程序开发的,需要保证许可证兼容。 - -### 自动发布 - -当你有了应用的管理权限之后,你可以修改上述 CI / CD 工作流,以实现在 GitHub 发布 Release 之后自动同步到应用市场,以下是具体步骤: - -1. 移除 `skip-appstore-release: true` 配置,或者设置为 `false`。 -2. 在 `with` 中添加 `app-id` 配置,值为应用市场的应用 ID。 -3. 在 Halo 官网的个人中心创建一个新的[个人令牌](https://www.halo.run/uc/profile?tab=pat),勾选 **应用市场开发者 > 版本管理**。 -4. 在 GitHub 仓库的设置 -> `Secrets and variables` 中新建一个 Secret,名称为 `HALO_PAT`,值为你在 Halo 官网创建的个人令牌。 +Halo 官方应用市场支持开发者自助创建应用并提交首次上架审核。具体流程请查阅[应用市场 / 发布应用](../app-store/publish-app.md),提交前请对照[应用市场审核指南](../app-store/app-review-guidelines.md)完成自查。 ## 版本控制 {#version-control} diff --git a/versioned_sidebars/version-2.24-sidebars.json b/versioned_sidebars/version-2.24-sidebars.json index 57c11fd6..64c0151d 100644 --- a/versioned_sidebars/version-2.24-sidebars.json +++ b/versioned_sidebars/version-2.24-sidebars.json @@ -431,6 +431,17 @@ "developer-guide/restful-api/api-client" ] }, + { + "type": "category", + "label": "应用市场", + "link": { + "type": "generated-index" + }, + "items": [ + "developer-guide/app-store/publish-app", + "developer-guide/app-store/app-review-guidelines" + ] + }, "developer-guide/form-schema", "developer-guide/annotations-form", {