271 lines
4.8 KiB
Markdown
271 lines
4.8 KiB
Markdown
|
|
# PostService
|
|||
|
|
> 文章管理服务
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## countPosts
|
|||
|
|
> 计算文章数量
|
|||
|
|
|
|||
|
|
- 角色:`admin`
|
|||
|
|
- HTTP:`POST https://backend.dooki.cloud/PostService/countPosts`
|
|||
|
|
- RPC:`rpc countPosts(CountPostsRequest) returns (RPCCountResponse);`
|
|||
|
|
|
|||
|
|
**请求对象 (`CountPostsRequest`)**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"postCategoryId": "int64 // 分类ID",
|
|||
|
|
"productCode": "string // 产品代号",
|
|||
|
|
"publishedOnly": "bool // 只列出已发布的"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**响应对象 (`RPCCountResponse`)**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"count": "int64 // 数量"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**调用示例**
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
curl -X POST "https://backend.dooki.cloud/PostService/countPosts" \
|
|||
|
|
-H "Content-Type: application/json" \
|
|||
|
|
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
|
|||
|
|
-d '{
|
|||
|
|
...
|
|||
|
|
}'
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## createPost
|
|||
|
|
> 创建文章
|
|||
|
|
|
|||
|
|
- 角色:`admin`
|
|||
|
|
- HTTP:`POST https://backend.dooki.cloud/PostService/createPost`
|
|||
|
|
- RPC:`rpc createPost(CreatePostRequest) returns (CreatePostResponse);`
|
|||
|
|
|
|||
|
|
**请求对象 (`CreatePostRequest`)**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"postCategoryId": "int64 // 文章分类ID",
|
|||
|
|
"type": "string // 类型:normal, url",
|
|||
|
|
"productCode": "string // 产品代号",
|
|||
|
|
"subject": "string // 标题",
|
|||
|
|
"url": "string // 跳转的URL(type=url)",
|
|||
|
|
"body": "string // 文章内容(type=normal)"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**响应对象 (`CreatePostResponse`)**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"postId": "int64 // 文章ID"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**调用示例**
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
curl -X POST "https://backend.dooki.cloud/PostService/createPost" \
|
|||
|
|
-H "Content-Type: application/json" \
|
|||
|
|
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
|
|||
|
|
-d '{
|
|||
|
|
...
|
|||
|
|
}'
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## deletePost
|
|||
|
|
> 删除文章
|
|||
|
|
|
|||
|
|
- 角色:`admin`
|
|||
|
|
- HTTP:`POST https://backend.dooki.cloud/PostService/deletePost`
|
|||
|
|
- RPC:`rpc deletePost(DeletePostRequest) returns (RPCSuccess);`
|
|||
|
|
|
|||
|
|
**请求对象 (`DeletePostRequest`)**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"postId": "int64 // 文章ID"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**响应对象 (`RPCSuccess`)**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**调用示例**
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
curl -X POST "https://backend.dooki.cloud/PostService/deletePost" \
|
|||
|
|
-H "Content-Type: application/json" \
|
|||
|
|
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
|
|||
|
|
-d '{
|
|||
|
|
...
|
|||
|
|
}'
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## findPost
|
|||
|
|
> 查询单篇文章
|
|||
|
|
|
|||
|
|
- 角色:`admin`, `user`
|
|||
|
|
- HTTP:`POST https://backend.dooki.cloud/PostService/findPost`
|
|||
|
|
- RPC:`rpc findPost(FindPostRequest) returns (FindPostResponse);`
|
|||
|
|
|
|||
|
|
**请求对象 (`FindPostRequest`)**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"postId": "int64 // 文章ID"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**响应对象 (`FindPostResponse`)**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"post": "Post // 文章信息"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**调用示例**
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
curl -X POST "https://backend.dooki.cloud/PostService/findPost" \
|
|||
|
|
-H "Content-Type: application/json" \
|
|||
|
|
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
|
|||
|
|
-d '{
|
|||
|
|
...
|
|||
|
|
}'
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## listPosts
|
|||
|
|
> 列出单页文章
|
|||
|
|
|
|||
|
|
- 角色:`admin`, `user`
|
|||
|
|
- HTTP:`POST https://backend.dooki.cloud/PostService/listPosts`
|
|||
|
|
- RPC:`rpc listPosts(ListPostsRequest) returns (ListPostsResponse);`
|
|||
|
|
|
|||
|
|
**请求对象 (`ListPostsRequest`)**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"offset": "int64 // 读取位置",
|
|||
|
|
"size": "int64 // 数量,通常不能小于0",
|
|||
|
|
"productCode": "string // 产品代号",
|
|||
|
|
"postCategoryId": "int64 // 分类ID",
|
|||
|
|
"postCategoryCode": "string // 分类代号",
|
|||
|
|
"excludingPostCategoryCode": "string // 排除的分类代号",
|
|||
|
|
"publishedOnly": "bool // 只列出已发布的",
|
|||
|
|
"containsBody": "bool // 是否包含文章内容"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**响应对象 (`ListPostsResponse`)**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"posts": "[]Post // 文章列表"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**调用示例**
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
curl -X POST "https://backend.dooki.cloud/PostService/listPosts" \
|
|||
|
|
-H "Content-Type: application/json" \
|
|||
|
|
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
|
|||
|
|
-d '{
|
|||
|
|
...
|
|||
|
|
}'
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## publishPost
|
|||
|
|
> 发布文章
|
|||
|
|
|
|||
|
|
- 角色:`admin`
|
|||
|
|
- HTTP:`POST https://backend.dooki.cloud/PostService/publishPost`
|
|||
|
|
- RPC:`rpc publishPost(PublishPostRequest) returns (RPCSuccess);`
|
|||
|
|
|
|||
|
|
**请求对象 (`PublishPostRequest`)**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"postId": "int64 // 文章ID"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**响应对象 (`RPCSuccess`)**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**调用示例**
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
curl -X POST "https://backend.dooki.cloud/PostService/publishPost" \
|
|||
|
|
-H "Content-Type: application/json" \
|
|||
|
|
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
|
|||
|
|
-d '{
|
|||
|
|
...
|
|||
|
|
}'
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## updatePost
|
|||
|
|
> 修改文章
|
|||
|
|
|
|||
|
|
- 角色:`admin`
|
|||
|
|
- HTTP:`POST https://backend.dooki.cloud/PostService/updatePost`
|
|||
|
|
- RPC:`rpc updatePost(UpdatePostRequest) returns (RPCSuccess);`
|
|||
|
|
|
|||
|
|
**请求对象 (`UpdatePostRequest`)**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"postId": "int64 // 文章ID",
|
|||
|
|
"postCategoryId": "int64 // 文章分类ID",
|
|||
|
|
"productCode": "string // 产品代号",
|
|||
|
|
"subject": "string // 标题",
|
|||
|
|
"type": "string // 类型:normal, url",
|
|||
|
|
"url": "string // 跳转的URL(type=url)",
|
|||
|
|
"body": "string // 文章内容(type=normal)"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**响应对象 (`RPCSuccess`)**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**调用示例**
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
curl -X POST "https://backend.dooki.cloud/PostService/updatePost" \
|
|||
|
|
-H "Content-Type: application/json" \
|
|||
|
|
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
|
|||
|
|
-d '{
|
|||
|
|
...
|
|||
|
|
}'
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|