qs_xinchun2026_h5/api/api.js

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)
}
}