111 lines
2.8 KiB
Markdown
111 lines
2.8 KiB
Markdown
# 新闻资讯公开查询 API
|
||
|
||
## 约定
|
||
|
||
- 后端接口基础地址:`/api`;生产环境经 Nginx 对外暴露为 `/api/shihezi`,例如列表实际地址为 `/api/shihezi/app/newsInfo/list`。
|
||
- 以下接口均无需登录。
|
||
- 接口只返回已上架且未删除的新闻资讯,`status=0` 表示上架。
|
||
- `module` 保存业务字典 `news_module` 的 `dict_value`,返回的 `moduleName` 为对应的 `dict_label`。
|
||
- `content` 为富文本 HTML;列表接口不返回正文,详情接口返回完整正文。
|
||
- 列表接口返回分页结构:`{ code, msg, total, rows }`;详情接口返回标准 RuoYi 结构。
|
||
|
||
## 1. 查询已上架新闻资讯列表
|
||
|
||
```http
|
||
GET /api/app/newsInfo/list
|
||
```
|
||
|
||
### 请求参数
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `pageNum` | integer | 否 | 页码,默认 `1` |
|
||
| `pageSize` | integer | 否 | 每页条数,默认 `10` |
|
||
| `keyword` | string | 否 | 全文关键字,使用 `LIKE '%keyword%'` 同时匹配标题和正文 |
|
||
| `module` | string | 否 | `news_module` 业务字典值 |
|
||
|
||
服务端会强制使用 `status=0`,调用方不能通过参数查询下架资讯。
|
||
|
||
### 请求示例
|
||
|
||
查询标题或正文中包含“面试”的已上架资讯:
|
||
|
||
```http
|
||
GET /api/app/newsInfo/list?pageNum=1&pageSize=10&keyword=%E9%9D%A2%E8%AF%95
|
||
```
|
||
|
||
查询指定模块中标题或正文包含“简历”的已上架资讯:
|
||
|
||
```http
|
||
GET /api/app/newsInfo/list?pageNum=1&pageSize=10&keyword=%E7%AE%80%E5%8E%86&module=resume_guide
|
||
```
|
||
|
||
### 响应示例
|
||
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"msg": "查询成功",
|
||
"total": 1,
|
||
"rows": [
|
||
{
|
||
"id": 1,
|
||
"module": "interview_tips",
|
||
"moduleName": "面试技巧",
|
||
"title": "结构化面试准备指南",
|
||
"status": "0",
|
||
"createTime": "2026-07-20 15:00:00",
|
||
"updateTime": null
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
`keyword` 查询使用数据库 `LIKE`,匹配范围为:
|
||
|
||
```sql
|
||
news.title LIKE '%' || :keyword || '%'
|
||
OR news.content LIKE '%' || :keyword || '%'
|
||
```
|
||
|
||
正文是富文本 HTML,关键字会在正文 HTML 字符串中进行匹配。
|
||
|
||
## 2. 查询已上架新闻资讯详情
|
||
|
||
```http
|
||
GET /api/app/newsInfo/{id}
|
||
```
|
||
|
||
路径参数:
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `id` | long | 是 | 新闻资讯 ID |
|
||
|
||
只有同时满足“未删除、已上架”的记录才会返回;下架或不存在时,`data` 为 `null`。
|
||
|
||
### 请求示例
|
||
|
||
```http
|
||
GET /api/app/newsInfo/1
|
||
```
|
||
|
||
### 响应示例
|
||
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"msg": "操作成功",
|
||
"data": {
|
||
"id": 1,
|
||
"module": "interview_tips",
|
||
"moduleName": "面试技巧",
|
||
"title": "结构化面试准备指南",
|
||
"content": "<h2>准备重点</h2><p><strong>先了解岗位要求。</strong></p>",
|
||
"status": "0",
|
||
"createTime": "2026-07-20 15:00:00",
|
||
"updateTime": null
|
||
}
|
||
}
|
||
```
|