74 lines
1.8 KiB
JavaScript
74 lines
1.8 KiB
JavaScript
/**
|
||
* API 统一入口
|
||
* 所有 API 函数都从此文件导入
|
||
*/
|
||
import { post, get } from './request.js'
|
||
|
||
/**
|
||
* 保存用户信息
|
||
* @param {Object} data - 用户数据
|
||
* @param {string} data.name - 用户姓名
|
||
* @param {string} data.phone - 用户手机号码
|
||
* @param {string} data.address - 用户地址
|
||
* @param {string} data.msg - 用户留言
|
||
* @param {string} data.page_visit_uuid - 页面访问UUID
|
||
* @returns {Promise}
|
||
*/
|
||
export const saveUserInfo = (data) => {
|
||
return post('/api/user-info', data)
|
||
}
|
||
|
||
/**
|
||
* 生成对联海报
|
||
* @param {Object} data - 请求数据
|
||
* @param {string} data.title - 两个汉字,用于生成对联(如"新春")
|
||
* @param {string} data.page_visit_uuid - 页面访问UUID,用于关联页面访问记录
|
||
* @returns {Promise} - 返回包含 share_url, poster_id, image_url 的 Promise
|
||
*/
|
||
export const generateCoupletPoster = (data) => {
|
||
return post('/api/couplets', data)
|
||
}
|
||
|
||
/**
|
||
* 记录页面访问
|
||
* @param {Object} data - 访问数据
|
||
* @param {string} data.page - 页面标识
|
||
* @param {string} data.source - 访问来源
|
||
* @param {Object} data.extra - 额外数据
|
||
* @returns {Promise} - 返回包含uuid和scenes数据的Promise
|
||
*/
|
||
export const recordPageVisit = (data = {}) => {
|
||
const defaultData = {
|
||
page: 'index',
|
||
timestamp: Date.now(),
|
||
...data
|
||
}
|
||
|
||
return post('/api/page-visit', defaultData)
|
||
}
|
||
|
||
/**
|
||
* 获取场景列表
|
||
* @returns {Promise} - 返回场景列表数据
|
||
*/
|
||
export const getScenes = () => {
|
||
return get('/api/scenes')
|
||
}
|
||
|
||
/**
|
||
* 获取单个场景详情
|
||
* @param {number} id - 场景ID
|
||
* @returns {Promise} - 返回场景详情数据
|
||
*/
|
||
export const getSceneById = (id) => {
|
||
return get(`/api/scenes/${id}`)
|
||
}
|
||
|
||
export default {
|
||
saveUserInfo,
|
||
generateCoupletPoster,
|
||
recordPageVisit,
|
||
getScenes,
|
||
getSceneById
|
||
}
|