import { api } from '@/api/index' import type { TbGuestDTO } from '@/types/sys/guest' import type { LoginParam, LoginDomain } from '@/types/auth/auth' import type { ResultDomain, PageRequest } from '@/types' /** * 来客 API * 通过 Gateway (8180) 访问 System Service * 路由规则:/urban-lifeline/system/** → system-service */ export const guestAPI = { baseUrl: '/urban-lifeline/system/guest', /** * 创建来客 */ async createGuest(guest: TbGuestDTO): Promise> { const response = await api.post(`${this.baseUrl}`, guest) return response.data }, /** * 更新来客 */ async updateGuest(guest: TbGuestDTO): Promise> { const response = await api.put(`${this.baseUrl}`, guest) return response.data }, /** * 删除来客 */ async deleteGuest(userId: string): Promise> { const response = await api.delete(`${this.baseUrl}`, { params: { userId } }) return response.data }, /** * 根据微信ID查询来客 */ async selectGuestByWechat(wechatId: string): Promise> { const response = await api.get(`${this.baseUrl}/wechat/${wechatId}`) return response.data }, /** * 获取来客列表 */ async listGuest(filter?: TbGuestDTO): Promise> { const response = await api.get(`${this.baseUrl}/list`, { params: filter }) return response.data }, /** * 分页查询来客 */ async pageGuest(pageRequest: PageRequest): Promise> { const response = await api.post(`${this.baseUrl}/page`, pageRequest) return response.data }, /** * 微信小程序用户识别登录 * 优先尝试员工登录,失败则自动注册/查询来客 * @param loginParam 登录参数(wechatId或phone必填) * @returns LoginDomain 包含用户信息和token */ async identify(loginParam: LoginParam): Promise> { const response = await api.post(`${this.baseUrl}/identify`, loginParam) return response.data } }