import httpService from './httpService' import type { ApiResponse } from './httpService' // 用户接口 export interface PublishBallData { title: string // 球局标题 image_list: Array[] // 球局封面 start_time: string, end_time: string play_type: string // 玩法类型 price: number | string // 价格 venue_id?: number | null // 场地id location_name?: string // 场地名称 location?: string // 场地地址 latitude?: string // 纬度 longitude?: string // 经度 court_type?: string // 场地类型 1: 室内 2: 室外 court_surface?: string // 场地表面 1: 硬地 2: 红土 3: 草地 venue_description_tag?: Array[] // 场地描述标签 venue_description?: string // 场地描述 venue_image_list?: Array[] // 场地图片 max_players: number // 人数要求 current_players: number // 人数要求 skill_level_min: number // 水平要求(NTRP) skill_level_max: number // 水平要求(NTRP) description: string // 备注 description_tag: Array[] // 备注标签 is_substitute_supported: boolean // 是否支持替补 is_wechat_contact: boolean // 是否需要微信联系 wechat_contact?: string // 微信联系 } // 响应接口 export interface Response { code: string message: string data: any } // 响应接口 export interface StadiumListResponse { rows: Stadium[] } export interface Stadium { id?: string name: string address?: string istance?: string longitude?: number latitude?: number } // 发布球局类 class PublishService { // 发布 async createPersonal(data: PublishBallData): Promise> { return httpService.post('/games/create', data, { showLoading: true, loadingText: '发布中...' }) } // 获取球场列表 async getStadiumList(data: { seachOption: { latitude: number, longitude: number }}): Promise> { return httpService.post('/venues/list', data, { showLoading: false }) } } // 导出认证服务实例 export default new PublishService()