spiral / writeaway
Writeaway编辑器的PHP API服务器
Requires
- php: >=8.0
- ext-imagick: *
- doctrine/collections: ^1.6
- spiral/cycle-bridge: ^1.0
- spiral/framework: ^2.9
- spiral/helpers: ^1.0
Requires (Dev)
- laminas/laminas-diactoros: ^2.4
- phpunit/phpunit: ^9.5
- spiral/code-style: ^1.0
- spiral/roadrunner: ^1.9
This package is auto-updated.
Last update: 2024-09-16 19:21:47 UTC
README
许可证
MIT许可证(MIT)。请参阅LICENSE获取更多信息。由Spiral Scout维护。
待办事项
- 为公共服务添加测试
用法
- 在App中注册
WriteawayBootloader
请注意,它必须在
RouterBootloader之后注册。
- 实现
MetaProviderInterface - 如果您想添加重置命令,可以添加
WriteawayCommandBootloader。
请注意,它使用
TokenizerBootloader,因此必须在CommandsBootloader之前注册。
- 如果您想使用现成的视图包,可以添加
WriteawayViewsBootloader。
API端点
列出图像
GET 或 POST writeaway:images:list 获取所有可用图像的完整列表。
示例响应
{
"status": 200,
"data": [
{
"id": "unique-id",
"src": "image1.png"
},
{
"id": "unique-id",
"thumbnailSrc": "image2-th.png",
"src": "image2.png"
}
]
}
可能的图像字段
上传图像
POST writeaway:images:upload 上传图像文件。
示例请求
image - FormData文件
示例响应
{
"status": 200,
"data": [
{
"id": "unique-id",
"src": "image1.png"
}
]
}
有关可能的图像字段,请参阅上一个端点。
删除图像
POST 或 DELETE writeaway:images:delete 删除特定图像。
示例请求
{
"id": "unique-id"
}
示例响应
{
"status": 200
}
获取片段
GET 或 POST writeaway:pieces:get 通过其id和type获取特定片段。
示例请求
{
"id": "unique-id",
"type": "piece-type"
}
如果没有找到片段,将创建一个新的。`id`是所有片段中的唯一值。
示例响应
{
"status": 200,
"data": {
"id": "unique-id",
"type": "piece-type",
"data": {
"key": "value",
"key...": "value..."
}
}
}
如果发生验证错误,示例响应将是
{
"status": 400,
"errors": {
"field-name": "error-message",
"field-name...": "error-message..."
}
}
批量获取片段
GET 或 POST writeaway:pieces:bulk 通过其id和type获取特定片段。
示例请求
{
"pieces": [
{
"id": "unique-id",
"type": "piece-type"
},
{
"id": "unique-id",
"type": "piece-type"
}
]
}
示例响应
{
"status": 200,
"data": [
{
"id": "unique-id",
"type": "piece-type",
"data": {
"key": "value",
"key...": "value..."
}
},
{
"id": "unique-id",
"type": "piece-type",
"data": {
"key": "value",
"key...": "value..."
}
}
]
}
找不到的片段将被忽略。
如果发生验证错误,示例响应将是
{
"status": 400,
"errors": {
"field-name": "error-message",
"field-name...": "error-message..."
}
}
保存片段
POST writeaway:pieces:save 通过其id和type保存特定片段。
示例请求
{
"id": "unique-id",
"type": "piece-type",
"data": {
"key": "value",
"key...": "value..."
}
}
如果没有找到片段,将创建一个新的。`id`是所有片段中的唯一值。
示例响应
{
"status": 200,
"data": {
"id": "unique-id",
"type": "piece-type",
"data": {
"key": "value",
"key...": "value..."
}
}
}
如果发生验证错误,示例响应将是
{
"status": 400,
"errors": {
"field-name": "error-message",
"field-name...": "error-message..."
}
}
组件
元数据
元数据是一种用于表示当前片段编辑器的结构。虽然此包对真实应用操作者一无所知,但提供了\Spiral\Writeaway\Service\Meta\ProviderInterface接口 - 开发者可以将其绑定到更丰富的实现,这样元数据将包含真实用户的id、标签和时间。示例
{
"id": "some user id",
"label": "some user label, such as name",
"time": "current date time string"
}