Files
biji/biji-qianduan/src/api/CommonApi.js
ikmkj 1491cfc330 feat(recycle-bin): 实现回收站功能
- 在数据库中添加逻辑删除字段和相关索引- 新增回收站相关实体类和接口
- 实现回收站列表查询、项目恢复、永久删除和清空回收站等功能
- 前端集成回收站接口,支持回收站页面操作
2025-07-31 23:09:58 +08:00

133 lines
3.6 KiB
JavaScript

import axiosApi from '@/utils/axios.js'
export const groupingId = (data) => axiosApi.get(`/api/markdown/grouping/${data}`)
// 获取所有分组
export const groupingAll = (data) => axiosApi.get(`/api/groupings?parentId=${data}`);
// 获取所有Markdown文件
export const markdownAll = () => axiosApi.get(`/api/markdown`);
// 预览markdown文件
export const Preview = (id) => axiosApi.get(`/api/markdown/${id}`);
// 创建分类分组
export const addGroupings = (group) => {
return axiosApi.post('/api/groupings', group);
}
//更新Markdown文件
export const updateMarkdown = (data) => {
return axiosApi.post(`/api/markdown/updateMarkdown`, data)
}
// 批量删除图片
export const deleteImages = (list) => {
const formData = new FormData()
formData.append('urls', list)
return axiosApi.post('/api/images/batch', formData, {
headers: {
'Content-Type': 'multipart/form-data'
}
})
}
// 上传图片
export const uploadImage = (file) => {
const formData = new FormData()
if (file) formData.append('file', file)
return axiosApi.post('/api/images?markdownId', formData, {
headers: {
'Content-Type': 'multipart/form-data'
}
})
}
// 删除Markdown文件
export const deleteMarkdown = (id) => axiosApi.post(`/api/markdown/delete?id=${id}`);
// 根据分组ID获取Markdown文件列表
export const markdownList = (groupingId) => axiosApi.get(`/api/markdown/grouping/${groupingId}`);
// 登录
export const login = (data) => {
const formData = new FormData()
formData.append('username', data.username)
formData.append('password', data.password)
return axiosApi.post('/api/user/login', formData, {
headers: {
'Content-Type': 'multipart/form-data'
}
})
}
// 搜索
export const searchMarkdown = (keyword) => axiosApi.get(`/api/markdown/search?keyword=${keyword}`);
// 注册
export const register = (data) => {
const formData = new FormData()
formData.append('username', data.username)
formData.append('password', data.password)
return axiosApi.post('/api/user/register', formData, {
headers: {
'Content-Type': 'multipart/form-data'
}
})
}
// 更新分组名称
export const updateGroupingName = (id, newName) => {
return axiosApi.put(`/api/groupings/${id}`, { grouping: newName });
}
// 删除分组
export const deleteGrouping = (id) => axiosApi.delete(`/api/groupings/${id}`);
// 更新Markdown文件标题
export const updateMarkdownTitle = (id, newTitle) => {
return axiosApi.put(`/api/markdown/${id}/title`, newTitle, {
headers: {
'Content-Type': 'text/plain'
}
});
}
// 获取最近更新的笔记
export const getRecentFiles = () => axiosApi.get('/api/markdown/recent');
// MD5哈希
export const MD5 = (data, file) => {
const formData = new FormData()
if (data) formData.append('input', data)
if (file) formData.append('file', file)
return axiosApi.post('/api/common/md5', formData, {
headers: {
'Content-Type': 'multipart/form-data'
}
})
}
// 获取回收站内容
export const getTrash = () => axiosApi.get('/api/trash');
// 恢复项目
export const restoreTrashItem = (id, type) => axiosApi.post(`/api/trash/restore/${type}/${id}`);
// 彻底删除
export const permanentlyDeleteItem = (id, type) => axiosApi.delete(`/api/trash/permanently/${type}/${id}`);
// 清空回收站
export const cleanTrash = () => axiosApi.delete('/api/trash/clean');
// 验证Token
export const validateToken = () => axiosApi.post('/api/user/validate-token');