2025-07-10 13:58:28 +08:00
|
|
|
|
// 使用 $fetch 替代 axios,更好地处理 SSR
|
2025-07-10 01:27:35 +08:00
|
|
|
|
export const useResourceApi = () => {
|
2025-07-10 13:58:28 +08:00
|
|
|
|
const config = useRuntimeConfig()
|
|
|
|
|
|
|
2025-07-10 15:07:29 +08:00
|
|
|
|
const getAuthHeaders = () => {
|
2025-07-10 21:14:17 +08:00
|
|
|
|
const userStore = useUserStore()
|
|
|
|
|
|
return userStore.authHeaders
|
2025-07-10 15:07:29 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-07-10 01:27:35 +08:00
|
|
|
|
const getResources = async (params?: any) => {
|
2025-07-10 13:58:28 +08:00
|
|
|
|
return await $fetch('/resources', {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
2025-07-10 15:07:29 +08:00
|
|
|
|
params,
|
|
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
2025-07-10 01:27:35 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const getResource = async (id: number) => {
|
2025-07-10 13:58:28 +08:00
|
|
|
|
return await $fetch(`/resources/${id}`, {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
2025-07-10 15:07:29 +08:00
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
2025-07-10 01:27:35 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const createResource = async (data: any) => {
|
2025-07-10 13:58:28 +08:00
|
|
|
|
return await $fetch('/resources', {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
|
|
|
|
|
method: 'POST',
|
2025-07-10 15:07:29 +08:00
|
|
|
|
body: data,
|
|
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
2025-07-10 01:27:35 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const updateResource = async (id: number, data: any) => {
|
2025-07-10 13:58:28 +08:00
|
|
|
|
return await $fetch(`/resources/${id}`, {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
|
|
|
|
|
method: 'PUT',
|
2025-07-10 15:07:29 +08:00
|
|
|
|
body: data,
|
|
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
2025-07-10 01:27:35 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const deleteResource = async (id: number) => {
|
2025-07-10 13:58:28 +08:00
|
|
|
|
return await $fetch(`/resources/${id}`, {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
2025-07-10 15:07:29 +08:00
|
|
|
|
method: 'DELETE',
|
|
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
2025-07-10 01:27:35 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const searchResources = async (params: any) => {
|
2025-07-10 13:58:28 +08:00
|
|
|
|
return await $fetch('/search', {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
2025-07-10 15:07:29 +08:00
|
|
|
|
params,
|
|
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const getResourcesByPan = async (panId: number, params?: any) => {
|
|
|
|
|
|
return await $fetch('/resources', {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
2025-07-10 15:07:29 +08:00
|
|
|
|
params: { ...params, pan_id: panId },
|
|
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
2025-07-10 01:27:35 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
|
getResources,
|
|
|
|
|
|
getResource,
|
|
|
|
|
|
createResource,
|
|
|
|
|
|
updateResource,
|
|
|
|
|
|
deleteResource,
|
|
|
|
|
|
searchResources,
|
2025-07-10 13:58:28 +08:00
|
|
|
|
getResourcesByPan,
|
2025-07-10 01:27:35 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-07-10 15:07:29 +08:00
|
|
|
|
// 认证相关API
|
|
|
|
|
|
export const useAuthApi = () => {
|
|
|
|
|
|
const config = useRuntimeConfig()
|
|
|
|
|
|
|
|
|
|
|
|
const login = async (data: any) => {
|
|
|
|
|
|
return await $fetch('/auth/login', {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
|
|
|
|
|
method: 'POST',
|
|
|
|
|
|
body: data
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const register = async (data: any) => {
|
|
|
|
|
|
return await $fetch('/auth/register', {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
|
|
|
|
|
method: 'POST',
|
|
|
|
|
|
body: data
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const getProfile = async () => {
|
|
|
|
|
|
const token = localStorage.getItem('token')
|
|
|
|
|
|
return await $fetch('/auth/profile', {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
|
|
|
|
|
headers: token ? { Authorization: `Bearer ${token}` } : {}
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
|
login,
|
|
|
|
|
|
register,
|
|
|
|
|
|
getProfile,
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-07-10 01:27:35 +08:00
|
|
|
|
// 分类相关API
|
|
|
|
|
|
export const useCategoryApi = () => {
|
2025-07-10 13:58:28 +08:00
|
|
|
|
const config = useRuntimeConfig()
|
|
|
|
|
|
|
2025-07-10 15:07:29 +08:00
|
|
|
|
const getAuthHeaders = () => {
|
2025-07-10 21:14:17 +08:00
|
|
|
|
const userStore = useUserStore()
|
|
|
|
|
|
return userStore.authHeaders
|
2025-07-10 15:07:29 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-07-10 01:27:35 +08:00
|
|
|
|
const getCategories = async () => {
|
2025-07-10 13:58:28 +08:00
|
|
|
|
return await $fetch('/categories', {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
2025-07-10 15:07:29 +08:00
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
2025-07-10 01:27:35 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const createCategory = async (data: any) => {
|
2025-07-10 13:58:28 +08:00
|
|
|
|
return await $fetch('/categories', {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
|
|
|
|
|
method: 'POST',
|
2025-07-10 15:07:29 +08:00
|
|
|
|
body: data,
|
|
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
2025-07-10 01:27:35 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const updateCategory = async (id: number, data: any) => {
|
2025-07-10 13:58:28 +08:00
|
|
|
|
return await $fetch(`/categories/${id}`, {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
|
|
|
|
|
method: 'PUT',
|
2025-07-10 15:07:29 +08:00
|
|
|
|
body: data,
|
|
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
2025-07-10 01:27:35 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const deleteCategory = async (id: number) => {
|
2025-07-10 13:58:28 +08:00
|
|
|
|
return await $fetch(`/categories/${id}`, {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
2025-07-10 15:07:29 +08:00
|
|
|
|
method: 'DELETE',
|
|
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
2025-07-10 01:27:35 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
|
getCategories,
|
|
|
|
|
|
createCategory,
|
|
|
|
|
|
updateCategory,
|
|
|
|
|
|
deleteCategory,
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-07-10 13:58:28 +08:00
|
|
|
|
// 平台相关API
|
|
|
|
|
|
export const usePanApi = () => {
|
|
|
|
|
|
const config = useRuntimeConfig()
|
|
|
|
|
|
|
2025-07-10 15:07:29 +08:00
|
|
|
|
const getAuthHeaders = () => {
|
2025-07-10 21:14:17 +08:00
|
|
|
|
const userStore = useUserStore()
|
|
|
|
|
|
return userStore.authHeaders
|
2025-07-10 15:07:29 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-07-10 13:58:28 +08:00
|
|
|
|
const getPans = async () => {
|
|
|
|
|
|
return await $fetch('/pans', {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
2025-07-10 15:07:29 +08:00
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const getPan = async (id: number) => {
|
|
|
|
|
|
return await $fetch(`/pans/${id}`, {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
2025-07-10 15:07:29 +08:00
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const createPan = async (data: any) => {
|
|
|
|
|
|
return await $fetch('/pans', {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
|
|
|
|
|
method: 'POST',
|
2025-07-10 15:07:29 +08:00
|
|
|
|
body: data,
|
|
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const updatePan = async (id: number, data: any) => {
|
|
|
|
|
|
return await $fetch(`/pans/${id}`, {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
|
|
|
|
|
method: 'PUT',
|
2025-07-10 15:07:29 +08:00
|
|
|
|
body: data,
|
|
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const deletePan = async (id: number) => {
|
|
|
|
|
|
return await $fetch(`/pans/${id}`, {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
2025-07-10 15:07:29 +08:00
|
|
|
|
method: 'DELETE',
|
|
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
|
getPans,
|
|
|
|
|
|
getPan,
|
|
|
|
|
|
createPan,
|
|
|
|
|
|
updatePan,
|
|
|
|
|
|
deletePan,
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Cookie相关API
|
|
|
|
|
|
export const useCksApi = () => {
|
|
|
|
|
|
const config = useRuntimeConfig()
|
|
|
|
|
|
|
2025-07-10 15:07:29 +08:00
|
|
|
|
const getAuthHeaders = () => {
|
2025-07-10 21:14:17 +08:00
|
|
|
|
const userStore = useUserStore()
|
|
|
|
|
|
return userStore.authHeaders
|
2025-07-10 15:07:29 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-07-10 13:58:28 +08:00
|
|
|
|
const getCks = async (params?: any) => {
|
|
|
|
|
|
return await $fetch('/cks', {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
2025-07-10 15:07:29 +08:00
|
|
|
|
params,
|
|
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const getCksByID = async (id: number) => {
|
|
|
|
|
|
return await $fetch(`/cks/${id}`, {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
2025-07-10 15:07:29 +08:00
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const createCks = async (data: any) => {
|
|
|
|
|
|
return await $fetch('/cks', {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
|
|
|
|
|
method: 'POST',
|
2025-07-10 15:07:29 +08:00
|
|
|
|
body: data,
|
|
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const updateCks = async (id: number, data: any) => {
|
|
|
|
|
|
return await $fetch(`/cks/${id}`, {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
|
|
|
|
|
method: 'PUT',
|
2025-07-10 15:07:29 +08:00
|
|
|
|
body: data,
|
|
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const deleteCks = async (id: number) => {
|
|
|
|
|
|
return await $fetch(`/cks/${id}`, {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
2025-07-10 15:07:29 +08:00
|
|
|
|
method: 'DELETE',
|
|
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
|
getCks,
|
|
|
|
|
|
getCksByID,
|
|
|
|
|
|
createCks,
|
|
|
|
|
|
updateCks,
|
|
|
|
|
|
deleteCks,
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 标签相关API
|
|
|
|
|
|
export const useTagApi = () => {
|
|
|
|
|
|
const config = useRuntimeConfig()
|
|
|
|
|
|
|
2025-07-10 15:07:29 +08:00
|
|
|
|
const getAuthHeaders = () => {
|
2025-07-10 21:14:17 +08:00
|
|
|
|
const userStore = useUserStore()
|
|
|
|
|
|
return userStore.authHeaders
|
2025-07-10 15:07:29 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-07-10 13:58:28 +08:00
|
|
|
|
const getTags = async () => {
|
|
|
|
|
|
return await $fetch('/tags', {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
2025-07-10 15:07:29 +08:00
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const getTag = async (id: number) => {
|
|
|
|
|
|
return await $fetch(`/tags/${id}`, {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
2025-07-10 15:07:29 +08:00
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const createTag = async (data: any) => {
|
|
|
|
|
|
return await $fetch('/tags', {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
|
|
|
|
|
method: 'POST',
|
2025-07-10 15:07:29 +08:00
|
|
|
|
body: data,
|
|
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const updateTag = async (id: number, data: any) => {
|
|
|
|
|
|
return await $fetch(`/tags/${id}`, {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
|
|
|
|
|
method: 'PUT',
|
2025-07-10 15:07:29 +08:00
|
|
|
|
body: data,
|
|
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const deleteTag = async (id: number) => {
|
|
|
|
|
|
return await $fetch(`/tags/${id}`, {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
2025-07-10 15:07:29 +08:00
|
|
|
|
method: 'DELETE',
|
|
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const getResourceTags = async (resourceId: number) => {
|
|
|
|
|
|
return await $fetch(`/resources/${resourceId}/tags`, {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
2025-07-10 15:07:29 +08:00
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
|
getTags,
|
|
|
|
|
|
getTag,
|
|
|
|
|
|
createTag,
|
|
|
|
|
|
updateTag,
|
|
|
|
|
|
deleteTag,
|
|
|
|
|
|
getResourceTags,
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 待处理资源相关API
|
|
|
|
|
|
export const useReadyResourceApi = () => {
|
|
|
|
|
|
const config = useRuntimeConfig()
|
|
|
|
|
|
|
2025-07-10 15:07:29 +08:00
|
|
|
|
const getAuthHeaders = () => {
|
2025-07-10 21:14:17 +08:00
|
|
|
|
const userStore = useUserStore()
|
|
|
|
|
|
return userStore.authHeaders
|
2025-07-10 15:07:29 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-07-11 00:49:41 +08:00
|
|
|
|
const getReadyResources = async (params?: any) => {
|
2025-07-10 13:58:28 +08:00
|
|
|
|
return await $fetch('/ready-resources', {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
2025-07-11 00:49:41 +08:00
|
|
|
|
params,
|
2025-07-10 15:07:29 +08:00
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const createReadyResource = async (data: any) => {
|
|
|
|
|
|
return await $fetch('/ready-resources', {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
|
|
|
|
|
method: 'POST',
|
2025-07-10 15:07:29 +08:00
|
|
|
|
body: data,
|
|
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const batchCreateReadyResources = async (data: any) => {
|
|
|
|
|
|
return await $fetch('/ready-resources/batch', {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
|
|
|
|
|
method: 'POST',
|
2025-07-10 15:07:29 +08:00
|
|
|
|
body: data,
|
|
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const createReadyResourcesFromText = async (text: string) => {
|
2025-07-10 15:07:29 +08:00
|
|
|
|
const formData = new FormData()
|
|
|
|
|
|
formData.append('text', text)
|
|
|
|
|
|
|
2025-07-10 13:58:28 +08:00
|
|
|
|
return await $fetch('/ready-resources/text', {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
|
|
|
|
|
method: 'POST',
|
2025-07-10 15:07:29 +08:00
|
|
|
|
body: formData,
|
|
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const deleteReadyResource = async (id: number) => {
|
|
|
|
|
|
return await $fetch(`/ready-resources/${id}`, {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
2025-07-10 15:07:29 +08:00
|
|
|
|
method: 'DELETE',
|
|
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const clearReadyResources = async () => {
|
|
|
|
|
|
return await $fetch('/ready-resources', {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
2025-07-10 15:07:29 +08:00
|
|
|
|
method: 'DELETE',
|
|
|
|
|
|
headers: getAuthHeaders() as Record<string, string>
|
2025-07-10 13:58:28 +08:00
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
|
getReadyResources,
|
|
|
|
|
|
createReadyResource,
|
|
|
|
|
|
batchCreateReadyResources,
|
|
|
|
|
|
createReadyResourcesFromText,
|
|
|
|
|
|
deleteReadyResource,
|
|
|
|
|
|
clearReadyResources,
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-07-10 15:07:29 +08:00
|
|
|
|
// 统计相关API
|
2025-07-10 01:27:35 +08:00
|
|
|
|
export const useStatsApi = () => {
|
2025-07-10 13:58:28 +08:00
|
|
|
|
const config = useRuntimeConfig()
|
|
|
|
|
|
|
2025-07-10 01:27:35 +08:00
|
|
|
|
const getStats = async () => {
|
2025-07-10 13:58:28 +08:00
|
|
|
|
return await $fetch('/stats', {
|
|
|
|
|
|
baseURL: config.public.apiBase,
|
|
|
|
|
|
})
|
2025-07-10 01:27:35 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
|
getStats,
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|