# 前端 API 请求函数文档 ## 一、首页相关 API ### 1. 获取访问排行列表 * 函数:`getVisitTopList()` * 功能:获取按访问量和更新时间降序排列的前 6 条新闻列表 * 参数:无 * 请求方式:GET * 请求地址:`/newsList?_sort=visitNum,updateTime&_order=desc,desc&_limit=6` ### 2. 获取点赞排行列表 * 函数:`getLikeTopList()` * 功能:获取按点赞数和更新时间降序排列的前 6 条新闻列表 * 参数:无 * 请求方式:GET * 请求地址:`/newsList?_sort=likeNum,updateTime&_order=desc,desc&_limit=6` ## 二、菜单相关 API ### 1. (超级)管理员获取菜单 * 函数:`getMenu()` * 功能:获取带有子菜单且权限为 1 的菜单列表 * 参数:无 * 请求方式:GET * 请求地址:`/menu?_embed=children&permission=1` ### 2. 普通用户获取菜单 * 函数:`getMenuForUser()` * 功能:获取 id 为 1 和 4 且带有子菜单且权限为 1 的菜单列表 * 参数:无 * 请求方式:GET * 请求地址:`/menu?id=1&id=4&_embed=children&permission=1` ## 三、登录相关 API ### 1. 登录 * 函数:`login(userName='',password='')` * 功能:根据用户名和密码进行登录验证 * 参数: * `userName`:用户名,字符串类型,默认值为空 * `password`:密码,字符串类型,默认值为空 * 请求方式:GET * 请求地址:`/usersList?userName=${userName}&password=${password}` ## 四、权限管理相关 API ### 1. 获取权限列表 * 函数:`getCompetenceList()` * 功能:获取带有子菜单的权限列表 * 参数:无 * 请求方式:GET * 请求地址:`/menu?_embed=children` ### 2. 权限列表父级菜单配置开关 * 函数:`patchPermissionTrigger(id,permission)` * 功能:修改父级菜单的权限状态 * 参数: * `id`:父级菜单唯一标识 * `permission`:权限标识,1 表示打开,0 表示关闭 * 请求方式:PATCH * 请求地址:`/menu/${id},{permission}` ### 3. 权限列表子级菜单配置开关 * 函数:`patchChildPermissionTrigger(id,permission)` * 功能:修改子级菜单的权限状态 * 参数: * `id`:子级菜单唯一标识 * `permission`:权限标识,1 表示打开,0 表示关闭 * 请求方式:PATCH * 请求地址:`/children/${id},{permission}` ## 五、新闻分类相关 API ### 1. 获取新闻分类列表 * 函数:`getNewsSortList()` * 功能:获取按排序字段升序排列的新闻分类列表 * 参数:无 * 请求方式:GET * 请求地址:`/newsSort?_sort=order&_order=asc` ### 2. 新闻分类状态更改 * 函数:`updateNewsSortState({id,state})` * 功能:修改新闻分类的状态 * 参数: * `id`:新闻分类 id * `state`:新闻分类的新状态 * 请求方式:PATCH * 请求地址:`/newsSort/${id}` ### 3. 添加新闻分类 * 函数:`addNewsSort({id,name,state,order})` * 功能:新增新闻分类 * 参数: * `id`:分类 id * `name`:分类名称 * `state`:分类状态 * `order`:排序序号 * 请求方式:POST * 请求地址:`/newsSort` ### 4. 删除新闻分类 * 函数:`delNewsSort(id)` * 功能:删除指定 id 的新闻分类 * 参数:`id`:新闻分类 id * 请求方式:DELETE * 请求地址:`/newsSort/${id}` ## 六、新闻管理相关 API ### 1. 撰写新闻 - 新增 * 函数:`saveNews(params)` * 功能:新增一篇新闻 * 参数:`params`:包含新闻标题、内容等信息的对象 * 说明:函数内部会为新闻添加 id、创建时间、更新时间、状态、用户 id、发布时间(初始为空)、访问量(初始为 0)、点赞数(初始为 0)等信息 * 请求方式:POST * 请求地址:`/newsList` ### 2. 我的新闻 - 默认查询 * 函数:`getNewsList()` * 功能:查询当前用户的新闻列表,按更新时间降序排列 * 参数:无 * 请求方式:GET * 请求地址:`/newsList?userId=${id}&_sort=updateTime&_order=desc`(其中 id 为当前登录用户 id) ### 3. 条件查询 * 函数:`getNewsListBylimit(params)` * 功能:根据标题、分类、状态等条件查询当前用户的新闻列表 * 参数:`params`:包含 title(标题)、sort(分类)、state(状态)的对象 * 请求方式:GET * 请求地址:`/newsList?userId=${id}${str}`(其中 id 为当前登录用户 id,str 为根据参数拼接的查询字符串) ### 4. 新闻详情 * 函数:`getNewsDetail(id='')` * 功能:获取指定 id 的新闻详情 * 参数:`id`:新闻 id,默认值为空 * 请求方式:GET * 请求地址:`/newsList?id=${id}` ### 5. 删除新闻 * 函数:`delNews(id)` * 功能:删除指定 id 的新闻 * 参数:`id`:新闻 id * 请求方式:DELETE * 请求地址:`/newsList/${id}` ### 6. 修改新闻状态 * 函数:`updateNewsState({id,state})` * 功能:修改新闻的状态,若状态改为 400,会设置发布时间为当前时间 * 参数: * `id`:新闻 id * `state`:新闻的新状态 * 请求方式:PATCH * 请求地址:`/newsList/${id}` ### 7. 保存新闻 * 函数:`updateNewsContent({id,title,sort,content})` * 功能:更新新闻的标题、分类、内容,并更新更新时间 * 参数: * `id`:新闻 id * `title`:新闻标题 * `sort`:新闻分类 * `content`:新闻内容 * 请求方式:PATCH * 请求地址:`/newsList/${id}` ## 七、审核管理相关 API ### 1. 审核列表 - 查询 * 函数:`getVerifyList()` * 功能:查询状态为 200、300、999 的新闻列表 * 参数:无 * 请求方式:GET * 请求地址:`/newsList?state=200&state=300&state=999` ### 2. 审核列表 - 条件查询 * 函数:`getVerifyListBylimit(params)` * 功能:根据标题、分类、作者等条件查询状态为 200、300、999 的新闻列表 * 参数:`params`:包含 title(标题)、sort(分类)、author(作者,1 表示当前用户)的对象 * 请求方式:GET * 请求地址:`/newsList?state=200&state=300&state=999${str}`(其中 str 为根据参数拼接的查询字符串) ## 八、用户管理相关 API ### 1. 用户列表 - 查询 * 函数:`getUserList(params={})` * 功能:根据 id、用户名、状态、身份等条件查询用户列表 * 参数:`params`:包含 id(用户 id)、userName(用户名)、state(状态)、identity(身份)的对象 * 请求方式:GET * 请求地址:`/usersList?${str}`(其中 str 为根据参数拼接的查询字符串) ### 2. 用户列表 - 用户信息修改 * 函数:`updateUserInfo({id,userName,password,state,identity})` * 功能:修改用户的用户名、密码、状态、身份信息 * 参数: * `id`:用户 id * `userName`:用户名 * `password`:密码 * `state`:状态 * `identity`:身份 * 请求方式:PATCH * 请求地址:`/usersList/${id}` ### 3. 用户列表 - 添加用户 * 函数:`addNewUser({userName,password,identity})` * 功能:新增用户,初始状态为 1 * 参数: * `userName`:用户名 * `password`:密码 * `identity`:身份 * 说明:函数内部会为用户生成 id * 请求方式:POST * 请求地址:`/usersList` ### 4. 用户列表 - 删除用户 * 函数:`delUser(id)` * 功能:删除指定 id 的用户 * 参数:`id`:用户 id * 请求方式:DELETE * 请求地址:`/usersList/${id}` ### 5. 用户列表 - 添加用户 - 校验用户名是否重复 * 函数:`checkSameUserName(userName)` * 功能:检查指定的用户名是否已存在 * 参数:`userName`:待校验的用户名 * 请求方式:GET * 请求地址:`/usersList?userName=${userName}` ## 九、发布管理相关 API ### 1. 发布列表 - 查询 * 函数:`getPublishList({title,sort,state,author})` * 功能:根据标题、分类、状态、作者等条件查询发布的新闻列表,默认查询状态为 300、400、500 的新闻 * 参数:`params`:包含 title(标题)、sort(分类)、state(状态)、author(作者,1 表示当前用户)的对象 * 请求方式:GET * 请求地址:`/newsList${str}`(其中 str 为根据参数拼接的查询字符串) ## 十、游客页相关 API ### 1. 游客页 - 新闻查询 * 函数:`getPublishNews()` * 功能:查询状态为 400 的新闻列表,按更新时间降序排列 * 参数:无 * 请求方式:GET * 请求地址:`/newsList?state=400&_sort=updateTime&_order=desc` ### 2. 游客页 - 新闻浏览数量增加 + 1 * 函数:`updateNewsVisitNum({id,visitNum})` * 功能:将指定新闻的访问量加 1 * 参数: * `id`:新闻 id * `visitNum`:当前访问量 * 请求方式:PATCH * 请求地址:`/newsList/${id}` ### 3. 游客页 - 新闻点赞 * 函数:`newslikeStar({id,likeNum})` * 功能:将指定新闻的点赞数加 1 * 参数: * `id`:新闻 id * `likeNum`:当前点赞数 * 请求方式:PATCH * 请求地址:`/newsList/${id}` ### 4. 游客页 - 新闻取消点赞 * 函数:`newsCancelLike({id,likeNum})` * 功能:将指定新闻的点赞数减 1 * 参数: * `id`:新闻 id * `likeNum`:当前点赞数 * 请求方式:PATCH * 请求地址:`/newsList/${id}` > (注:文档部分内容可能由 AI 生成)