增加网站管理功能

This commit is contained in:
2026-09-17 23:00:06 +08:00
parent 1224735aa8
commit 67e819c629
98 changed files with 8711 additions and 2254 deletions
+75 -51
View File
@@ -1,37 +1,42 @@
// 文章管理相关API
import request from "@/utils/request";
// 获取文章列表
// ==================== 官网管理 - 文章 / 分类(平台端) ====================
// 数据表:yz_platform_website_article / yz_platform_website_category
// 建表 SQL:go/docs/sql/create_platform_website.sql
// ---------- 文章 ----------
// 文章列表(分页):keyword / cate / status / startDate / endDate / page / pageSize
export function listArticles(params) {
return request({
url: `/platform/articlesList`,
url: "/platform/website/article/list",
method: "get",
params,
});
}
// 获取文章所有文章
// 全部文章(不分页,供选择/关联使用)
export function listAllArticles(params) {
return request({
url: `/platform/allarticles`,
url: "/platform/website/article/all",
method: "get",
params,
});
}
// 获取文章详情
// 文章详情(含标签ID列表 tags)
export function getArticle(id) {
return request({
url: `/platform/articles/${id}`,
url: `/platform/website/article/${id}`,
method: "get",
});
}
// 创建文章
// 新增文章
export function createArticle(data) {
return request({
url: '/platform/createarticle',
method: 'post',
url: "/platform/website/article",
method: "post",
data,
});
}
@@ -39,8 +44,8 @@ export function createArticle(data) {
// 编辑文章
export function editArticle(id, data) {
return request({
url: `/platform/editarticle/${id}`,
method: 'post',
url: `/platform/website/article/${id}`,
method: "post",
data,
});
}
@@ -48,105 +53,124 @@ export function editArticle(id, data) {
// 删除文章
export function deleteArticle(id) {
return request({
url: `/platform/deletearticle/${id}`,
url: `/platform/website/article/${id}`,
method: "delete",
});
}
// 发布文章
export function publishArticle(id,uid) {
// 回收站列表(已软删除的文章):keyword / page / pageSize
export function recycleArticles(params) {
return request({
url: `/platform/publisharticle/${id}`,
method: 'post',
data: {
uid
}
url: "/platform/website/article/recycle",
method: "get",
params,
});
}
// 下架文章
// 从回收站恢复文章
export function restoreArticle(id) {
return request({
url: `/platform/website/article/${id}/restore`,
method: "post",
});
}
// 彻底删除文章(仅限回收站中的记录,不可恢复)
export function purgeArticle(id) {
return request({
url: `/platform/website/article/${id}/purge`,
method: "delete",
});
}
// 发布文章(uid 选填,用于记录发布人)
export function publishArticle(id, uid) {
return request({
url: `/platform/website/article/${id}/publish`,
method: "post",
data: { uid },
});
}
// 下架文章(状态置为「已隐藏」)
export function unPublishArticle(id) {
return request({
url: `/platform/unPublisharticle/${id}`,
method: 'post'
url: `/platform/website/article/${id}/unpublish`,
method: "post",
});
}
// 文章推荐
// 文章推荐 / 取消推荐
export function articleRecommend(id) {
return request({
url: `/platform/articleRecommend/${id}`,
method: 'post'
url: `/platform/website/article/${id}/recommend`,
method: "post",
});
}
// 取消文章推荐
export function unArticleRecommend(id) {
return request({
url: `/platform/unArticleRecommend/${id}`,
method: 'post'
url: `/platform/website/article/${id}/unrecommend`,
method: "post",
});
}
// 文章置顶
// 文章置顶 / 取消置顶
export function articleTop(id) {
return request({
url: `/platform/articleTop/${id}`,
method: 'post'
url: `/platform/website/article/${id}/top`,
method: "post",
});
}
// 取消文章置顶
export function unArticleTop(id) {
return request({
url: `/platform/unArticleTop/${id}`,
method: 'post'
url: `/platform/website/article/${id}/untop`,
method: "post",
});
}
// ---------- 分类 ----------
////////////////////////////分类相关////////////////////////////
// 获取所有分类列表
// 全量分类(前端自行组树,支持 keyword)
export function allCategories(params) {
return request({
url: `/platform/allcategories`,
url: "/platform/website/category/all",
method: "get",
params,
});
}
// 获取分类列表
// 分类分页列表
export function listCategories(params) {
return request({
url: `/platform/categories`,
url: "/platform/website/category/list",
method: "get",
params,
});
}
// 获取分类详情
// 分类详情
export function getCategory(id) {
return request({
url: `/platform/categories/${id}`,
url: `/platform/website/category/${id}`,
method: "get",
});
}
// 创建分类
// 新增分类
export function createCategory(data) {
return request({
url: `/platform/createCategory`,
url: "/platform/website/category",
method: "post",
data,
});
}
// 更新分类
// 编辑分类
export function editCategory(id, data) {
return request({
url: `/platform/editCategory/${id}`,
url: `/platform/website/category/${id}`,
method: "post",
data,
});
@@ -155,7 +179,7 @@ export function editCategory(id, data) {
// 删除分类
export function deleteCategory(id) {
return request({
url: `/platform/categories/${id}`,
url: `/platform/website/category/${id}`,
method: "delete",
});
}
@@ -163,8 +187,8 @@ export function deleteCategory(id) {
// 更新分类状态
export function updateCategoryStatus(id, status) {
return request({
url: `/platform/categories/${id}/status`,
url: `/platform/website/category/${id}/status`,
method: "patch",
data: { status },
});
}
}
+57
View File
@@ -0,0 +1,57 @@
import request from "@/utils/request";
// ==================== 官网管理 - 评论管理(平台端) ====================
// 数据表:yz_platform_website_comment
// status:0 待审核,1 已通过,2 已拒绝
// 评论列表(分页):keyword / status / article_id / page / pageSize
export function listComments(params) {
return request({
url: "/platform/website/comment/list",
method: "get",
params,
});
}
// 评论详情
export function getComment(id) {
return request({
url: `/platform/website/comment/${id}`,
method: "get",
});
}
// 审核评论(status:1 通过 / 2 拒绝)
export function auditComment(id, status) {
return request({
url: `/platform/website/comment/${id}/audit`,
method: "post",
data: { status },
});
}
// 回复评论
export function replyComment(id, reply) {
return request({
url: `/platform/website/comment/${id}/reply`,
method: "post",
data: { reply },
});
}
// 删除评论
export function deleteComment(id) {
return request({
url: `/platform/website/comment/${id}`,
method: "delete",
});
}
// 批量删除评论
export function batchDeleteComments(ids) {
return request({
url: "/platform/website/comment/batchdelete",
method: "post",
data: { ids },
});
}
+36 -32
View File
@@ -1,77 +1,81 @@
import request from '@/utils/request'
import request from "@/utils/request";
// ==================== 官网管理 - 友情链接(平台端) ====================
// 数据表:yz_platform_website_link
// 建表 SQL:go/docs/sql/create_platform_website.sql
/**
* 获取友情链接列表
* @param {Object} params - 查询参数
* 获取友情链接列表(分页)
* @param {Object} params page / pageSize / keyword / status
* @returns {Promise}
*/
export function getFriendlinkList(params) {
return request({
url: '/platform/friendlinks',
method: 'get',
params
})
url: "/platform/website/link/list",
method: "get",
params,
});
}
/**
* 获取所有友情链接(下拉选择用)
* 获取所有启用中的友情链接
* @returns {Promise}
*/
export function getAllFriendlinks() {
return request({
url: '/platform/friendlinks/all',
method: 'get'
})
url: "/platform/website/link/all",
method: "get",
});
}
/**
* 添加友情链接
* @param {Object} data - 链接数据
* @param {Object} data 链接数据
* @returns {Promise}
*/
export function addFriendlink(data) {
return request({
url: '/platform/friendlinks',
method: 'post',
data
})
url: "/platform/website/link",
method: "post",
data,
});
}
/**
* 更新友情链接
* @param {number} id - 链接ID
* @param {Object} data - 链接数据
* 更新友情链接(支持只传部分字段,如 {status:1})
* @param {number} id 链接ID
* @param {Object} data 链接数据
* @returns {Promise}
*/
export function updateFriendlink(id, data) {
return request({
url: `/platform/friendlinks/${id}`,
method: 'put',
data
})
url: `/platform/website/link/${id}`,
method: "put",
data,
});
}
/**
* 删除友情链接
* @param {number} id - 链接ID
* @param {number} id 链接ID
* @returns {Promise}
*/
export function deleteFriendlink(id) {
return request({
url: `/platform/friendlinks/${id}`,
method: 'delete'
})
url: `/platform/website/link/${id}`,
method: "delete",
});
}
/**
* 批量删除友情链接
* @param {Array} ids - 链接ID数组
* @param {Array} ids 链接ID数组
* @returns {Promise}
*/
export function batchDeleteFriendlinks(ids) {
return request({
url: '/platform/friendlinks/batchdelete',
method: 'post',
data: { ids }
})
url: "/platform/website/link/batchdelete",
method: "post",
data: { ids },
});
}
+20 -20
View File
@@ -1,55 +1,55 @@
import request from "@/utils/request";
// ==================== 官网管理 - 导航菜单(平台端) ====================
// 数据表:yz_platform_website_nav
// 建表 SQL:go/docs/sql/create_platform_website.sql
/**
* 获取所有前端导航
* 获取全部导航菜单(平铺返回,前端按 pid 组树)
* @returns {Promise}
*/
export function getFrontMenus() {
return request({
url: "/platform/frontmenus",
url: "/platform/website/nav/list",
method: "get",
});
}
/**
* 创建前端导航
* @param {Object} frontMenuData 前端导航数据
* 创建导航菜单
* @param {Object} data 菜单数据
* @returns {Promise}
*/
export function createFrontMenu(formData, options = {}) {
export function createFrontMenu(data) {
return request({
url: "/platform/createfrontmenu",
url: "/platform/website/nav",
method: "post",
data: formData,
headers: {
"Content-Type": "multipart/form-data"
}
data,
});
}
/**
* 编辑前端导航
* @param {number|string} id 前端导航ID
* @param {Object} frontMenuData 更新的数据
* 编辑导航菜单
* @param {number|string} id 菜单ID
* @param {Object} data 更新的数据
* @returns {Promise}
*/
export function editFrontMenu(id, frontMenuData) {
export function editFrontMenu(id, data) {
return request({
url: `/platform/editfrontmenu/${id}`,
url: `/platform/website/nav/${id}`,
method: "post",
data: frontMenuData,
data,
});
}
/**
* 删除前端导航
* @param {number|string} id 前端导航ID
* 删除导航菜单
* @param {number|string} id 菜单ID
* @returns {Promise}
*/
export function deleteFrontMenu(id) {
return request({
url: `/platform/deletefrontmenu/${id}`,
url: `/platform/website/nav/${id}`,
method: "delete",
});
}
+28 -13
View File
@@ -1,40 +1,56 @@
import request from "@/utils/request";
// ==================== 官网管理 - 单页管理(平台端) ====================
// 数据表:yz_platform_website_page
// 建表 SQL:go/docs/sql/create_platform_website.sql
/**
* 获取所有单页
* 获取全部单页
* @returns {Promise}
*/
export function getOnePages() {
return request({
url: "/platform/allonepages",
url: "/platform/website/page/all",
method: "get",
});
}
/**
* 单页详情
* @param {number|string} id 单页ID
* @returns {Promise}
*/
export function getOnePage(id) {
return request({
url: `/platform/website/page/${id}`,
method: "get",
});
}
/**
* 创建单页
* @param {Object} onePageData 单页数据
* @param {Object} data 单页数据
* @returns {Promise}
*/
export function createOnePage(formData) {
export function createOnePage(data) {
return request({
url: "/platform/createonepage",
url: "/platform/website/page",
method: "post",
data: formData,
data,
});
}
/**
* 编辑单页
* @param {number|string} id 单页ID
* @param {Object} onePageData 更新的数据
* @param {Object} data 更新的数据
* @returns {Promise}
*/
export function editOnePage(id, onePageData) {
export function editOnePage(id, data) {
return request({
url: `/platform/editonepage/${id}`,
url: `/platform/website/page/${id}`,
method: "post",
data: onePageData,
data,
});
}
@@ -45,13 +61,13 @@ export function editOnePage(id, onePageData) {
*/
export function deleteOnePage(id) {
return request({
url: `/platform/deleteonepage/${id}`,
url: `/platform/website/page/${id}`,
method: "delete",
});
}
/**
* 根据路径获取单页(前端使用)
* 租户官网前台:根据路径获取单页(公开接口,非平台管理)
* @param {string} path 路由路径
* @returns {Promise}
*/
@@ -61,4 +77,3 @@ export function getOnePageByPath(path) {
method: "get",
});
}
+66
View File
@@ -0,0 +1,66 @@
import request from "@/utils/request";
// ==================== 官网管理 - 标签管理(平台端) ====================
// 数据表:yz_platform_website_tag(+ 关联表 yz_platform_website_article_tag)
// 建表 SQL:go/docs/sql/create_platform_website.sql
// 标签列表(分页):keyword / status / page / pageSize
export function listTags(params) {
return request({
url: "/platform/website/tag/list",
method: "get",
params,
});
}
// 全部标签(不分页,供文章编辑选择)
export function allTags(params) {
return request({
url: "/platform/website/tag/all",
method: "get",
params,
});
}
// 标签详情
export function getTag(id) {
return request({
url: `/platform/website/tag/${id}`,
method: "get",
});
}
// 新增标签
export function createTag(data) {
return request({
url: "/platform/website/tag",
method: "post",
data,
});
}
// 编辑标签
export function editTag(id, data) {
return request({
url: `/platform/website/tag/${id}`,
method: "post",
data,
});
}
// 删除标签
export function deleteTag(id) {
return request({
url: `/platform/website/tag/${id}`,
method: "delete",
});
}
// 更新标签状态(1 启用 / 0 禁用)
export function updateTagStatus(id, status) {
return request({
url: `/platform/website/tag/${id}/status`,
method: "patch",
data: { status },
});
}