/** * API接口统一管理 */ import { get, post } from '../utils/request.uts' /** * 获取轮播图 (临时从配置获取,后续可从后端获取) */ export const getBanners = () => { // 由于后端暂时没有轮播图API,先返回固定数据 return Promise.resolve({ code: 0, message: 'success', data: [ { id: '1', image: '/static/mock/banner1.svg', title: '专业沙发翻新服务', link: '/pages/service/index' }, { id: '2', image: '/static/mock/banner2.svg', title: '十年品质保证', link: '/pages/about/index' }, { id: '3', image: '/static/mock/banner3.svg', title: '免费上门评估', link: '/pages/booking/index' } ] }) } /** * 获取案例列表 */ export const getCaseList = (params ?: UTSJSONObject) => { // 后端使用page和limit参数,需要转换 const queryParams : UTSJSONObject = { page: params ? (params['page'] || 1) : 1, limit: params ? (params['pageSize'] || params['limit'] || 10) : 10, status: 'published' // 只获取已发布的案例 } // 如果有分类且不是all,则添加serviceType参数 if (params && params['category'] && params['category'] != 'all') { queryParams['serviceType'] = params['category'] } return get('/cases', queryParams) } /** * 获取案例详情 */ export const getCaseDetail = (id : string) => { return get(`/cases/${id}`) } /** * 获取热门案例 (临时使用前4条案例) */ export const getHotCases = () => { return get('/cases', { limit: 4, status: 'published' } as UTSJSONObject) } /** * 获取服务流程 (使用服务列表替代) */ export const getServiceProcess = () => { return get('/services') } /** * 获取有效服务列表 */ export const getActiveServices = () => { return get('/services/active') } /** * 获取公司信息(暂时返回固定数据,后续可对接后端) */ export const getCompanyInfo = () => { return Promise.resolve({ code: 0, message: 'success', data: { name: '优艺家沙发翻新', slogan: '让旧沙发焕发新生', description: '优艺家专注沙发翻新服务10余年,拥有专业的技术团队和丰富的经验。我们提供各类沙发翻新、维修、清洁服务,让您的旧沙发重新焕发光彩。', phone: '400-888-8888', wechat: 'youyijia2024', address: '北京市朝阳区XX路XX号', workTime: '周一至周日 9:00-18:00', features: [ { title: '专业团队', desc: '10年以上经验的专业师傅' }, { title: '品质保证', desc: '使用优质材料,质保一年' }, { title: '免费上门', desc: '免费上门测量和评估' }, { title: '快速交付', desc: '3-7天完成翻新服务' } ] } }) } /** * 提交预约 */ export const submitBooking = (data : UTSJSONObject) => { return post('/booking', data) } /** * 获取我的预约列表 */ export const getMyBookings = (params ?: UTSJSONObject) => { const queryParams = params ? { page: params['page'] || 1, limit: params['limit'] || 10, status: params['status'] } : {} return get('/booking/my', queryParams as UTSJSONObject) } /** * 获取预约详情 */ export const getBookingDetail = (id : string) => { return get(`/booking/${id}`) } /** * 取消预约 */ export const cancelBooking = (id : string) => { return post(`/booking/${id}/cancel`, {} as UTSJSONObject) } /** * 获取用户信息 */ export const getUserInfo = () => { return get('/users/profile') } /** * 微信登录 */ export const wechatLogin = (code : string) => { return post('/auth/wechat/login', { code: code } as UTSJSONObject) } /** * 微信手机号登录 */ export const wechatPhoneLogin = (code : string, encryptedData : string, iv : string) => { return post('/auth/wechat/phone', { code: code, encryptedData: encryptedData, iv: iv } as UTSJSONObject) } /** * 获取用户收藏列表 */ export const getFavorites = () => { return get('/user/favorites') } /** * 添加收藏 */ export const addFavorite = (caseId : string) => { return post('/user/favorites', { caseId: caseId } as UTSJSONObject) } /** * 取消收藏 */ export const removeFavorite = (caseId : string) => { return post('/user/favorites/remove', { caseId: caseId } as UTSJSONObject) } /** * 获取预约记录 */ export const getBookingList = () => { return get('/user/bookings') }