mirror of
https://github.com/halo-dev/docs.git
synced 2026-01-14 07:02:53 +08:00
docs: fix some correct document formatting using autocorrect (#493)
Fix some correct document formatting using [autocorrect](https://github.com/huacnlee/autocorrect) ```release-note None ```
This commit is contained in:
@@ -253,13 +253,13 @@ Halo 默认会为每个自定义模型建立以下几个索引,因此不需要
|
||||
- 必须以字母数字字符开头和结尾。
|
||||
- 可以包含 `-`、`.`、`_` 和`字母数字`字符。
|
||||
|
||||
通用规范:
|
||||
通用规范:
|
||||
|
||||
- 避免使用容易引起混淆或误解的键名。
|
||||
- 尽量保持简洁明了,易于理解。
|
||||
- 使用易于记忆和识别的单词或缩写。
|
||||
|
||||
一致性和清晰性:
|
||||
一致性和清晰性:
|
||||
|
||||
- 在整个项目或组织中保持一致的命名约定。
|
||||
- labels 应直观地反映其代表的信息或用途。
|
||||
@@ -356,7 +356,7 @@ RouterFunction<ServerResponse> route = route()
|
||||
|
||||
这样开发者可以灵活定义符合业务需求的 APIs,方便地扩展插件的功能。
|
||||
|
||||
自定义 APIs 与自动生成的 APIs 一样,都应该遵循以下规范:
|
||||
自定义 APIs 与自动生成的 APIs 一样,都应该遵循以下规范:
|
||||
|
||||
`/apis/<group>/<version>/<extension>/{extensionname}/<subextension>`
|
||||
|
||||
@@ -631,7 +631,7 @@ public static BindingResult validate(Object target, String objectName,
|
||||
}
|
||||
```
|
||||
|
||||
参考文档:
|
||||
参考文档:
|
||||
|
||||
- [RequestBodyValidationException](https://github.com/halo-dev/halo/blob/25086ee3e63f0c8b6ed380140a068c44404ef2b2/application/src/main/java/run/halo/app/infra/exception/RequestBodyValidationException.java)
|
||||
- [Bean Validation](https://beanvalidation.org/)
|
||||
|
||||
@@ -5,7 +5,7 @@ description: 了解如何在登录时如何允许 Halo 做登录逻辑的增强
|
||||
|
||||
## 背景
|
||||
|
||||
在 Halo 中,插件可以实现多种登录方式,例如LDAP、第三方登录等。然而,灵活的登录方式也带来了以下问题:
|
||||
在 Halo 中,插件可以实现多种登录方式,例如 LDAP、第三方登录等。然而,灵活的登录方式也带来了以下问题:
|
||||
|
||||
1. 登录逻辑难以统一:例如登录成功后需要进行额外处理,这需要插件自行实现。
|
||||
2. Halo 或其他插件无法知晓登录状态:无法记录登录日志等额外处理。
|
||||
|
||||
@@ -284,7 +284,7 @@ Halo 提供了 `NotificationReasonEmitter` 接口,开发者可以通过它轻
|
||||
- `reasonType`:事件类型的名称,对应于 `ReasonType` 的 `metadata.name` 字段。
|
||||
- `reasonData`:事件数据的构建器,用于构建 `Reason` 实例的属性。
|
||||
|
||||
Reason 数据的构建器有以下属性:
|
||||
Reason 数据的构建器有以下属性:
|
||||
|
||||
```java
|
||||
public class ReasonPayloadBuilder {
|
||||
|
||||
@@ -15,7 +15,7 @@ description: 了解如何为自定义模型编写控制器
|
||||
这是一个描述控制器作用的例子:房间里的温度自动调节器。
|
||||
|
||||
当你设置了温度,告诉了温度自动调节器你的期望状态(Desired State)。
|
||||
房间的实际温度是当前状态(Current State)。 通过对设备的开关控制,温度自动调节器让其当前状态接近期望状态,未到达期望状态则继续调节,直到达到期望状态。
|
||||
房间的实际温度是当前状态(Current State)。通过对设备的开关控制,温度自动调节器让其当前状态接近期望状态,未到达期望状态则继续调节,直到达到期望状态。
|
||||
|
||||
在 Halo 中控制器的运行部分已经有一个默认实现,你只需要编写控制器的调谐的逻辑也就是 [控制器概述](../../../core/framework.md#controller) 中的所说的 Reconciler 即可。
|
||||
|
||||
@@ -164,10 +164,10 @@ record Result(boolean reEnqueue, Duration retryAfter) {}
|
||||
|
||||
### 场景:事件管理系统
|
||||
|
||||
创建一个名为 ”EventTracker“ 的自定义模型,用于管理和追踪组织内的各种事件。这些事件可以是会议、研讨会、社交聚会或任何其他类型的组织活动。
|
||||
“EventTracker“ 自定义模型将提供一个框架,用于记录事件的详细信息,如时间、地点、参与者和状态。
|
||||
创建一个名为”EventTracker“的自定义模型,用于管理和追踪组织内的各种事件。这些事件可以是会议、研讨会、社交聚会或任何其他类型的组织活动。
|
||||
“EventTracker“自定义模型将提供一个框架,用于记录事件的详细信息,如时间、地点、参与者和状态。
|
||||
|
||||
由于这里的重点是控制器,因此我们将忽略自定义模型的详细信息,只关注控制器的实现,一个可能的 “EventTracker” 数据结构如下:
|
||||
由于这里的重点是控制器,因此我们将忽略自定义模型的详细信息,只关注控制器的实现,一个可能的“EventTracker”数据结构如下:
|
||||
|
||||
```yaml
|
||||
apiVersion: tracker.halo.run/v1alpha1
|
||||
|
||||
@@ -25,7 +25,7 @@ description: 了解如何使用静态资源代理来访问插件中的静态资
|
||||
```
|
||||
|
||||
插件启动后会根据 `/plugins/{plugin-name}/assets/**` 规则生成访问路径,
|
||||
因此该 `ReverseProxy` 的访问路径为: `/plugins/my-plugin/assets/res/halo.jpg`。
|
||||
因此该 `ReverseProxy` 的访问路径为:`/plugins/my-plugin/assets/res/halo.jpg`。
|
||||
|
||||
- `rules` 下可以添加多组规则。
|
||||
- `path` 为路径前缀。
|
||||
|
||||
@@ -37,10 +37,10 @@ public class MyWebSocketEndpoint implements WebSocketEndpoint {
|
||||
}
|
||||
```
|
||||
|
||||
当插件安装成功后,可以通过路径 `/apis/my-plugin.halowrite.com/v1alpha1/resources` 访问。 示例如下:
|
||||
当插件安装成功后,可以通过路径 `/apis/my-plugin.halowrite.com/v1alpha1/resources` 访问。示例如下:
|
||||
|
||||
```bash
|
||||
websocat --basic-auth admin:admin ws://127.0.0.1:8090/apis/my-plugin.halowrite.com/v1alpha1/resources
|
||||
```
|
||||
|
||||
需要注意的是, 插件中实现的 WebSocket 相关的 API 仍然受当前权限系统约束。
|
||||
需要注意的是,插件中实现的 WebSocket 相关的 API 仍然受当前权限系统约束。
|
||||
|
||||
@@ -30,10 +30,10 @@ const groupName = ref('my-test-group')
|
||||
| `meta` | Record\<string, unknown\> | undefined | 可选,要发送的额外元数据。 |
|
||||
| `autoProceed` | boolean | false | 可选,在某些操作后自动继续。 |
|
||||
| `allowedMetaFields` | string[] | undefined | 可选,指定允许的元数据字段。 |
|
||||
| `endpoint` | string | 无,必填 | 数据发送到的端点URL。 |
|
||||
| `endpoint` | string | 无,必填 | 数据发送到的端点 URL。 |
|
||||
| `name` | string | file | 可选,用于上传的表单字段的名称。 |
|
||||
| `note` | string | undefined | 可选,任何备注或描述。 |
|
||||
| `method` | "GET" \| "POST" \| "PUT" \| "HEAD" \| "get" \| "post" \| "put" | post | 可选,用于请求的HTTP方法。 |
|
||||
| `method` | "GET" \| "POST" \| "PUT" \| "HEAD" \| "get" \| "post" \| "put" | post | 可选,用于请求的 HTTP 方法。 |
|
||||
| `disabled` | boolean | false | 可选,如果为真,则禁用组件。 |
|
||||
| `width` | string | 750px | 可选,组件的宽度。 |
|
||||
| `height` | string | 550px | 可选,组件的高度。 |
|
||||
|
||||
Reference in New Issue
Block a user