Files
admin/src/actions/article.ts
2026-06-09 16:37:40 +08:00

48 lines
1.2 KiB
TypeScript

"use server"
import type { PageRecord } from "@/lib/api"
import type { Article, UploadImageResult } from "@/models/article"
import { callByUser, callByUserUpload } from "./base"
export async function getArticlePage(params: { page: number; size: number }) {
return callByUser<PageRecord<Article>>("/api/admin/article/page", params)
}
export async function getArticle(id: number) {
return callByUser<Article>("/api/admin/article/get", { id })
}
export async function createArticle(data: {
title: string
group_id: number
content?: string
sort?: number
status?: number
}) {
return callByUser<Article>("/api/admin/article/create", data)
}
export async function updateArticle(data: {
id: number
title?: string
content?: string
group_id?: number
sort?: number
status?: number
}) {
return callByUser<Article>("/api/admin/article/update", data)
}
export async function removeArticle(id: number) {
return callByUser<void>("/api/admin/article/remove", { id })
}
export async function uploadArticleImage(file: File) {
const formData = new FormData()
formData.append("file", file)
return callByUserUpload<UploadImageResult>(
"/api/admin/article/upload",
formData,
)
}