微信修改
This commit is contained in:
72
urbanLifelineWeb/packages/shared/src/api/sys/guest.ts
Normal file
72
urbanLifelineWeb/packages/shared/src/api/sys/guest.ts
Normal file
@@ -0,0 +1,72 @@
|
||||
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<ResultDomain<TbGuestDTO>> {
|
||||
const response = await api.post<TbGuestDTO>(`${this.baseUrl}`, guest)
|
||||
return response.data
|
||||
},
|
||||
|
||||
/**
|
||||
* 更新来客
|
||||
*/
|
||||
async updateGuest(guest: TbGuestDTO): Promise<ResultDomain<TbGuestDTO>> {
|
||||
const response = await api.put<TbGuestDTO>(`${this.baseUrl}`, guest)
|
||||
return response.data
|
||||
},
|
||||
|
||||
/**
|
||||
* 删除来客
|
||||
*/
|
||||
async deleteGuest(userId: string): Promise<ResultDomain<TbGuestDTO>> {
|
||||
const response = await api.delete<TbGuestDTO>(`${this.baseUrl}`, { params: { userId } })
|
||||
return response.data
|
||||
},
|
||||
|
||||
/**
|
||||
* 根据微信ID查询来客
|
||||
*/
|
||||
async selectGuestByWechat(wechatId: string): Promise<ResultDomain<TbGuestDTO>> {
|
||||
const response = await api.get<TbGuestDTO>(`${this.baseUrl}/wechat/${wechatId}`)
|
||||
return response.data
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取来客列表
|
||||
*/
|
||||
async listGuest(filter?: TbGuestDTO): Promise<ResultDomain<TbGuestDTO>> {
|
||||
const response = await api.get<TbGuestDTO>(`${this.baseUrl}/list`, { params: filter })
|
||||
return response.data
|
||||
},
|
||||
|
||||
/**
|
||||
* 分页查询来客
|
||||
*/
|
||||
async pageGuest(pageRequest: PageRequest<TbGuestDTO>): Promise<ResultDomain<TbGuestDTO>> {
|
||||
const response = await api.post<TbGuestDTO>(`${this.baseUrl}/page`, pageRequest)
|
||||
return response.data
|
||||
},
|
||||
|
||||
/**
|
||||
* 微信小程序用户识别登录
|
||||
* 优先尝试员工登录,失败则自动注册/查询来客
|
||||
* @param loginParam 登录参数(wechatId或phone必填)
|
||||
* @returns LoginDomain 包含用户信息和token
|
||||
*/
|
||||
async identify(loginParam: LoginParam): Promise<ResultDomain<LoginDomain>> {
|
||||
const response = await api.post<LoginDomain>(`${this.baseUrl}/identify`, loginParam)
|
||||
return response.data
|
||||
}
|
||||
}
|
||||
@@ -4,16 +4,26 @@
|
||||
|
||||
// LoginParam - 登录参数
|
||||
export interface LoginParam {
|
||||
/** 登录用户名或邮箱或手机 */
|
||||
/** 登录用户名 */
|
||||
username?: string
|
||||
/** 登录密码 */
|
||||
password?: string
|
||||
/** 邮箱 */
|
||||
email?: string
|
||||
/** 手机号 */
|
||||
phone?: string
|
||||
/** 微信ID */
|
||||
wechatId?: string
|
||||
/** 验证码类型 */
|
||||
captchaType?: string
|
||||
/** 验证码 */
|
||||
captcha?: string
|
||||
/** 验证码ID */
|
||||
captchaId?: string
|
||||
/** 登录方式:password/captcha/oauth */
|
||||
/** 登录方式:password/captcha/oauth/wechat_miniprogram */
|
||||
loginType?: string
|
||||
/** 是否记住我 */
|
||||
rememberMe?: boolean
|
||||
}
|
||||
|
||||
// LoginDomain - 登录信息
|
||||
|
||||
17
urbanLifelineWeb/packages/shared/src/types/sys/guest.ts
Normal file
17
urbanLifelineWeb/packages/shared/src/types/sys/guest.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
import { BaseDTO } from '@/types/base'
|
||||
|
||||
/**
|
||||
* 来客DTO - 根据后端 TbGuestDTO 转换
|
||||
*/
|
||||
export interface TbGuestDTO extends BaseDTO {
|
||||
/** 来客ID */
|
||||
userId?: string
|
||||
/** 姓名 */
|
||||
name?: string
|
||||
/** 电话 */
|
||||
phone?: string
|
||||
/** 邮箱 */
|
||||
email?: string
|
||||
/** 微信ID */
|
||||
wechatId?: string
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
export * from "./config"
|
||||
export * from "./guest"
|
||||
export * from "./permission"
|
||||
export * from "./user"
|
||||
|
||||
Reference in New Issue
Block a user