合作页面的内容

This commit is contained in:
李琦
2026-01-16 08:29:57 +08:00
parent df10ec9678
commit e99560ba87
14 changed files with 1474 additions and 57 deletions

View File

@@ -961,3 +961,156 @@ export const deleteAboutProfile = async (id: number): Promise<void> => {
throw error
}
}
// 客户评价相关类型
export interface Testimonial {
id: number
content: string
author: string
role: string
avatar: string
rating: number
createdAt: string
updatedAt: string
}
// 合作伙伴相关类型
export interface Partner {
id: number
name: string
logo: string
description: string
website: string
createdAt: string
updatedAt: string
}
// 客户评价API
export const fetchTestimonials = async (): Promise<Testimonial[]> => {
try {
const response = await fetch(`${API_BASE}/testimonials`)
if (!response.ok) {
const errorData = await response.json()
throw new Error(errorData.error || '获取客户评价失败')
}
return await response.json()
} catch (error) {
console.error('Fetch testimonials error:', error)
throw error
}
}
export const createTestimonial = async (data: Omit<Testimonial, 'id' | 'createdAt' | 'updatedAt'>): Promise<void> => {
try {
const response = await fetch(`${API_BASE}/admin/testimonials`, {
method: 'POST',
headers: getAuthHeaders(),
body: JSON.stringify(data)
})
if (!response.ok) {
const errorData = await response.json()
throw new Error(errorData.error || '创建客户评价失败')
}
} catch (error) {
console.error('Create testimonial error:', error)
throw error
}
}
export const updateTestimonial = async (id: number, data: Omit<Testimonial, 'id' | 'createdAt' | 'updatedAt'>): Promise<void> => {
try {
const response = await fetch(`${API_BASE}/admin/testimonials/${id}`, {
method: 'PUT',
headers: getAuthHeaders(),
body: JSON.stringify(data)
})
if (!response.ok) {
const errorData = await response.json()
throw new Error(errorData.error || '更新客户评价失败')
}
} catch (error) {
console.error('Update testimonial error:', error)
throw error
}
}
export const deleteTestimonial = async (id: number): Promise<void> => {
try {
const response = await fetch(`${API_BASE}/admin/testimonials/${id}`, {
method: 'DELETE',
headers: getAuthHeaders()
})
if (!response.ok) {
const errorData = await response.json()
throw new Error(errorData.error || '删除客户评价失败')
}
} catch (error) {
console.error('Delete testimonial error:', error)
throw error
}
}
// 合作伙伴API
export const fetchPartners = async (): Promise<Partner[]> => {
try {
const response = await fetch(`${API_BASE}/partners`)
if (!response.ok) {
const errorData = await response.json()
throw new Error(errorData.error || '获取合作伙伴失败')
}
return await response.json()
} catch (error) {
console.error('Fetch partners error:', error)
throw error
}
}
export const createPartner = async (data: Omit<Partner, 'id' | 'createdAt' | 'updatedAt'>): Promise<void> => {
try {
const response = await fetch(`${API_BASE}/admin/partners`, {
method: 'POST',
headers: getAuthHeaders(),
body: JSON.stringify(data)
})
if (!response.ok) {
const errorData = await response.json()
throw new Error(errorData.error || '创建合作伙伴失败')
}
} catch (error) {
console.error('Create partner error:', error)
throw error
}
}
export const updatePartner = async (id: number, data: Omit<Partner, 'id' | 'createdAt' | 'updatedAt'>): Promise<void> => {
try {
const response = await fetch(`${API_BASE}/admin/partners/${id}`, {
method: 'PUT',
headers: getAuthHeaders(),
body: JSON.stringify(data)
})
if (!response.ok) {
const errorData = await response.json()
throw new Error(errorData.error || '更新合作伙伴失败')
}
} catch (error) {
console.error('Update partner error:', error)
throw error
}
}
export const deletePartner = async (id: number): Promise<void> => {
try {
const response = await fetch(`${API_BASE}/admin/partners/${id}`, {
method: 'DELETE',
headers: getAuthHeaders()
})
if (!response.ok) {
const errorData = await response.json()
throw new Error(errorData.error || '删除合作伙伴失败')
}
} catch (error) {
console.error('Delete partner error:', error)
throw error
}
}