mirror of https://github.com/halo-dev/halo
![]() #### What type of PR is this? /kind bug /area core /milestone 2.20.x #### What this PR does / why we need it: 修复可选插件依赖功能无法正常工作的问题 #### Special notes for your reviewer: 使用以下两个插件测试可选依赖: [测试插件集合.zip](https://github.com/user-attachments/files/17989250/default.zip) 使用以下测试用例进行测试: 测试用例1:plugin-feed 插件提供 RSS 扩展功能 - **前置条件:** 安装并启用 `plugin-feed` 插件。 - **操作步骤:** 访问 `http://localhost:8090/feed/rss.xml`。 - **期望结果:** 返回 `plugin-feed` 提供的 RSS 内容。 --- 测试用例 2: plugin-moments 扩展了 plugin-feed 的 RSS 功能(依赖于 plugin-feed) - **前置条件:** 安装并启用 `plugin-feed` 和 `plugin-moments` 插件。 - **操作步骤:** 访问 `http://localhost:8090/feed/moments/rss.xml`。 - **期望结果:** 返回 `plugin-moments` 提供的 RSS 内容。 --- 测试用例 3: plugin-feed 启用时安装 plugin-moments - **前置条件:** 启用 `plugin-feed` 插件。 - **操作步骤:** 1. 安装 `plugin-moments` 插件。 2. 访问 `http://localhost:8090/feed/moments/rss.xml`。 - **期望结果:** `plugin-moments` 提供的 RSS 路由可访问,并返回正确内容。 --- 测试用例 4: plugin-feed 未启用时安装 plugin-moments - **前置条件:** 未安装或未启用 `plugin-feed` 插件。 - **操作步骤:** 1. 安装并启用 `plugin-moments` 插件。 2. 访问 `http://localhost:8090/feed/moments/rss.xml`。 - **期望结果:** - `plugin-moments` 的 RSS 路由不可访问,返回 404。 - `plugin-moments` 的其他功能正常运行。 --- 测试用例 5: plugin-moments 启用后安装 plugin-feed - **前置条件:** 已安装并启用 `plugin-moments` 插件。 - **操作步骤:** 1. 安装并启用 `plugin-feed` 插件。 2. 访问 `http://localhost:8090/feed/moments/rss.xml`。 - **期望结果:** `plugin-moments` 提供的 RSS 路由可访问,并返回正确内容。 --- 测试用例 6: 停止 plugin-feed 后验证 RSS 路由 - **前置条件:** 已启用 `plugin-feed` 和 `plugin-moments` 插件。 - **操作步骤:** 1. 停止 `plugin-feed` 插件。 2. 访问 `http://localhost:8090/feed/moments/rss.xml`。 - **期望结果:** - `plugin-feed` 停止成功。 - `plugin-moments` 提供的 RSS 路由不可访问,返回 404。 --- 测试用例 7: 重启 Halo 后验证可选依赖插件的启动顺序 - **前置条件:** 已启用 `plugin-feed` 和 `plugin-moments` 插件。 - **操作步骤:** 1. 重启 Halo 服务。 2. 访问 `http://localhost:8090/feed/moments/rss.xml`。 - **期望结果:** - `plugin-moments` 提供的 RSS 路由**始终可访问**。 --- 测试用例 8: 必选依赖插件验证 - **场景 1: 安装 seo 插件时未安装应用市场** - **前置条件:** 未安装 `app-store-integration` 插件。 - **操作步骤:** 安装 `plugin-seo` 插件。 - **期望结果:** 提示需要先安装 `app-store-integration` 插件。 - **场景 2: 停止应用市场插件时 seo 插件仍启用** - **前置条件:** 已启用 `app-store-integration` 和 `plugin-seo` 插件。 - **操作步骤:** 停止 `app-store-integration` 插件。 - **期望结果:** 提示需要先停止 `plugin-seo` 插件。 #### Does this PR introduce a user-facing change? ```release-note 修复可选插件依赖功能无法正常工作的问题 ``` |
||
---|---|---|
.devcontainer | ||
.github | ||
api | ||
api-docs/openapi/v3_0 | ||
application | ||
buildSrc | ||
config/checkstyle | ||
docs | ||
e2e | ||
gradle/wrapper | ||
hack | ||
platform | ||
ui | ||
.dockerignore | ||
.editorconfig | ||
.gitignore | ||
.gitpod.yml | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
Dockerfile | ||
LICENSE | ||
OWNERS | ||
README.md | ||
SECURITY.md | ||
build.gradle | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
settings.gradle |
README.md
Halo [ˈheɪloʊ],强大易用的开源建站工具。
快速开始
如果你的设备有 Docker 环境,可以使用以下命令快速启动一个 Halo 的体验环境:
docker run -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.20
或者点击下方按钮使用 Gitpod 启动一个体验环境:
以上仅作为体验使用,详细部署文档请查阅:https://docs.halo.run/getting-started/install/docker-compose
在线体验
- 环境地址:https://demo.halo.run
- 后台地址:https://demo.halo.run/console
- 用户名:
demo
- 密码:
P@ssw0rd123..
专业版
相比于社区版,Halo 专业版为用户提供了大量增强功能及技术支持服务,增强功能包括短信验证码注册登录、全站私有化、LDAP 登录、三方账号登录及自定义 LOGO 等。 点击查看专业版详细介绍。
生态
可访问 官方应用市场 或 awesome-halo 仓库 查看适用于 Halo 2.x 的主题和插件。
许可证
Halo 使用 GPL-v3.0 协议开源,请遵守开源协议。
赞助
如果 Halo 对你有帮助,欢迎赞助我们,感谢以下赞助者对 Halo 项目的支持:
贡献
参考 CONTRIBUTING。