import { get, post, del } from './axios' import { Config } from '../types/IntelligentSearchPanel' import { IS_DEV } from '../config' import { GetSimilarQueryResponseData, PostSearchCandidatesResponseData, SearchFilterItem, GetSavedSearchParamsResponseData, } from '../types/searchSelect' let baseUrl: string let highlight: boolean export function init(config: Config) { const { tenant, env: _env, baseUrl: _baseUrl, highlight: _highlight } = config if (IS_DEV) { baseUrl = `/api/intelligent-search` highlight = true } else { const env = _env === 'localtest' ? 'mesoor' : _env || 'mesoor' baseUrl = _baseUrl ? _baseUrl : `https://${tenant}.${env}.com/api/intelligent-search` highlight = _highlight || false } } /** * @description 获取相似查询 */ export function getSimilarQuery(q: string) { return get(`${baseUrl}/similar_q`, { q, }) } /** * @description 搜索简历 */ export function postSearchCandidates({ mode, type, data, }: { mode: string type: string data: { page: number size: number filter?: SearchFilterItem[] q: string idFilter?: string } }) { return post( `${baseUrl}/search?type=${mode}&search_type=${type}&if_highlight=${highlight}`, data ) } /** * @description 获取保存的搜索条件 */ export function getSavedSearchParams() { return get(`${baseUrl}/save`) } /** * @description 保存搜索条件 */ export function postSaveSearchParams(params: { q: string; filter: SearchFilterItem[] }) { return post(`${baseUrl}/save`, { ...params, page: 0 }) } /** * @description 删除搜索条件 */ export function delSavedSearchParams(id: number) { return del(`${baseUrl}/save/${id}`) }