# Apifox 指南 —— 通知公告(管理) - baseURL: `http://localhost:8080` - 环境变量建议:`base`、`token_admin` - 通用请求头:`Authorization: Bearer {{token_admin}}` ## 推荐集合结构 - 管理端 / 通知公告 - 列表 GET /manage/notice/list - 详情 GET /manage/notice/{id} - 新增/编辑/删除 POST|PUT|DELETE /manage/notice - 发布/撤回 PUT /{id}/publish | /{id}/retract - 置顶 PUT /{id}/pin - 上传附件 POST /manage/upload/oss ## 前置:登录管理员 - POST /login → 提取 `data.token` 为 `token_admin` ## 用例 1:新增(含附件与范围)→ 发布 → 置顶 1) 上传附件(选做) - POST /manage/upload/oss(Form: `file=@/path/a.pdf`)→ 断言 `code == 200` → 提取 `data.url` 为 `attUrl` 2) 新增公告 - POST /manage/notice - Body: ```json { "title": "期末考试安排", "contentHtml": "
请同学们按时参加考试
", "type": 2, "visibleAll": 0, "scopes": [ { "scopeType": 0, "refId": 3 } ], "attachments": [ { "fileName": "安排表.pdf", "fileUrl": "{{attUrl}}", "fileType": "pdf" } ], "expireTime": "2025-12-31 23:59:59" } ``` - 断言:`code == 200`;提取 `data.notice.id || data.id` 为 `nid` 3) 发布:PUT /manage/notice/{{nid}}/publish → `code == 200` 4) 置顶:PUT /manage/notice/{{nid}}/pin(Body:`{ "pinned": true }`)→ `code == 200` ## 用例 2:撤回与编辑 - 撤回:PUT /manage/notice/{{nid}}/retract → `code == 200` - 编辑:PUT /manage/notice(`{ "id": {{nid}}, "title":"期末安排(修订)" }`)→ `code == 200` ## 用例 3:删除 - DELETE /manage/notice/{{nid}} → `code == 200` ## 列表过滤 - GET /manage/notice/list?keyword=考试&status=1&orderBy=publishTime&orderDir=desc → `code == 200` ## 统一断言脚本 - 成功:`status == 200 && body.code == 200` - 列表:`Array.isArray(body.rows) && typeof body.total === 'number'` - 详情:`body.data && body.data.notice` ## 失败断言与定位 - 409:状态冲突(仅草稿/撤回可发布;仅已发布可撤回/置顶) - 404:公告不存在或已删除 - 403:权限不足(缺少 `manage:notice:*`)