const BASE_URL = 'https://farm.evcc.top/seningserver/app/datareport' export class ApiService { constructor(baseURL = BASE_URL) { this.baseURL = baseURL } async request({ url, method = 'GET', data = {}, headers = {} }) { return new Promise((resolve, reject) => { uni.request({ url: this.baseURL + url, method, data, header: { 'Content-Type': 'application/json', ...headers }, success: (res) => { if (res.statusCode >= 200 && res.statusCode < 300) { resolve(res.data) } else { console.error(`[API ERROR] ${method} ${url}`, res) reject(res.data) } }, fail: (err) => { console.error(`[NETWORK ERROR] ${method} ${url}`, err) reject(err) } }) }) } get(url, params = {}) { return this.request({ url, method: 'GET', data: params }) } post(url, data = {}) { return this.request({ url, method: 'POST', data }) } // -------------------------- // 以下是业务接口封装 // -------------------------- touristAdd(jsonData) { return this.post('/tourist/add', jsonData) } touristUpdate(jsonData) { return this.post('/tourist/update', jsonData) } // 获取用户投诉建议列表 advicesAdd(jsonData) { return this.post(`/advices/add`, jsonData) } // 获取用户投诉建议列表 advicesListByUuid(uuid) { return this.get(`/advices/getAllByUuid`, { uuid }) } // 检查是否已有预约 bookingAvailableCount(jsonData) { return this.get(`/booking/availableCount`, jsonData) } // 获取用预约列表 bookingCheck(jsonData) { return this.get(`/booking/checkAlreadyBooked`, jsonData) } bookingAdd(jsonData) { return this.post(`/booking/add`, jsonData) } // 获取用户所有预约列表 bookingListByUuid(uuid) { return this.get(`/booking/getAllByUuid`, { uuid }) } // 取消用户预约 bookingCancel(jsonData) { return this.post(`/booking/update`, jsonData) } // 用户预约核销 bookingUse(jsonData) { return this.post(`/booking/update`, jsonData) } // 景区咨询列表 noticeList() { return this.get(`/notices/getAllNotices`,{}) } } export const apiService = new ApiService()