Files
shz-backend/docs/cms-news-info-api.md

111 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 新闻资讯公开查询 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
}
}
```