56 lines
1.5 KiB
JavaScript
56 lines
1.5 KiB
JavaScript
import axios from 'axios'
|
|
|
|
const API_BASE_URL = import.meta.env.PROD ? '' : 'http://localhost:8080'
|
|
|
|
const api = axios.create({
|
|
baseURL: API_BASE_URL,
|
|
timeout: 60000,
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
}
|
|
})
|
|
|
|
export const generatePoster = async (posterData) => {
|
|
try {
|
|
const response = await api.post('/api/posters', posterData)
|
|
return response.data
|
|
} catch (error) {
|
|
throw new Error(error.response?.data?.error || '生成海报失败')
|
|
}
|
|
}
|
|
|
|
export const getPoster = async (posterId) => {
|
|
try {
|
|
const response = await api.get(`/api/posters/${posterId}`)
|
|
return response.data
|
|
} catch (error) {
|
|
throw new Error(error.response?.data?.error || '获取海报失败')
|
|
}
|
|
}
|
|
|
|
export const generateCoupletPoster = async (coupletData) => {
|
|
try {
|
|
const response = await api.post('/api/couplets', coupletData)
|
|
return response.data
|
|
} catch (error) {
|
|
throw new Error(error.response?.data?.error || '生成对联海报失败')
|
|
}
|
|
}
|
|
|
|
export const saveUserInfo = async (userInfo) => {
|
|
try {
|
|
const response = await api.post('/api/user-info', userInfo)
|
|
return response.data
|
|
} catch (error) {
|
|
throw new Error(error.response?.data?.error || '保存用户信息失败')
|
|
}
|
|
}
|
|
|
|
export const recordPageVisit = async (pageVisitData) => {
|
|
try {
|
|
const response = await api.post('/api/page-visit', pageVisitData)
|
|
return response.data
|
|
} catch (error) {
|
|
console.error('Failed to record page visit:', error)
|
|
}
|
|
} |