@indexea/sdk
Version:
Indexea JavaScript SDK (indexea.com)
876 lines (710 loc) • 35 kB
text/typescript
/* tslint:disable */
/* eslint-disable */
/**
* Indexea OpenAPI
* 这是 Indexea 搜索服务平台的 OpenAPI,用于描述平台的所有接口信息,你可以通过这个页面来了解和在线验证平台的所有接口信息。 ### Errors 本 API 使用标准的 HTTP 状态码来指示操作成功或者失败,如果失败将会在 body 中以 JSON 格式提供详细的错误信息,如下所示: ``` { \"error\": 404, \"message\": \"page not found\" } ```
*
* The version of the OpenAPI document: 1.0.0
* Contact: indexea.com@gmail.com
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import * as runtime from '../runtime';
import type {
AutoCompleteItem,
QueryActionBean,
SearchWord,
} from '../models';
import {
AutoCompleteItemFromJSON,
AutoCompleteItemToJSON,
QueryActionBeanFromJSON,
QueryActionBeanToJSON,
SearchWordFromJSON,
SearchWordToJSON,
} from '../models';
export interface SearchClickRequest {
widget: string;
actionId: string;
docId: string;
xToken?: string;
userid?: string;
}
export interface SearchHistoriesRequest {
widget: string;
strategy: SearchHistoriesStrategyEnum;
size: number;
xToken?: string;
userid?: string;
query?: number;
}
export interface SearchLogsRequest {
app: string;
indices?: Array<number>;
scope?: SearchLogsScopeEnum;
widget?: number;
query?: number;
recomm?: number;
startDate?: Date;
endDate?: Date;
from?: number;
size?: number;
}
export interface SearchQueryClickRequest {
query: string;
actionId: string;
docId: string;
xToken?: string;
userid?: string;
}
export interface SearchQueryHistoriesRequest {
query: string;
strategy: SearchQueryHistoriesStrategyEnum;
size: number;
xToken?: string;
userid?: string;
}
export interface SearchQueryHotWordsRequest {
query: string;
scope: SearchQueryHotWordsScopeEnum;
count: number;
xToken?: string;
userid?: string;
}
export interface SearchQueryRepeatScrollRequest {
query: string;
id: string;
xToken?: string;
userid?: string;
}
export interface SearchQueryScrollRequest {
query: string;
xToken?: string;
userid?: string;
size?: number;
q?: string;
params?: { [key: string]: string; };
}
export interface SearchQuerySearchRequest {
query: string;
xToken?: string;
userid?: string;
q?: string;
from?: number;
size?: number;
params?: { [key: string]: string; };
}
export interface SearchWidgetAutoCompleteRequest {
widget: string;
q: string;
size: number;
xToken?: string;
userid?: string;
query?: number;
}
export interface SearchWidgetHotWordsRequest {
widget: string;
xToken?: string;
userid?: string;
query?: number;
scope?: SearchWidgetHotWordsScopeEnum;
count?: number;
}
export interface SearchWidgetSearchRequest {
widget: string;
xToken?: string;
userid?: string;
original?: string;
query?: number;
q?: string;
from?: number;
size?: number;
params?: { [key: string]: string; };
}
/**
*
*/
export class SearchApi extends runtime.BaseAPI {
/**
* 该接口主要用于记录用户对搜索结果的点击行为
* 搜索结果点击行为收集
*/
async searchClickRaw(requestParameters: SearchClickRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<boolean>> {
if (requestParameters.widget === null || requestParameters.widget === undefined) {
throw new runtime.RequiredError('widget','Required parameter requestParameters.widget was null or undefined when calling searchClick.');
}
if (requestParameters.actionId === null || requestParameters.actionId === undefined) {
throw new runtime.RequiredError('actionId','Required parameter requestParameters.actionId was null or undefined when calling searchClick.');
}
if (requestParameters.docId === null || requestParameters.docId === undefined) {
throw new runtime.RequiredError('docId','Required parameter requestParameters.docId was null or undefined when calling searchClick.');
}
const queryParameters: any = {};
if (requestParameters.actionId !== undefined) {
queryParameters['action_id'] = requestParameters.actionId;
}
if (requestParameters.docId !== undefined) {
queryParameters['doc_id'] = requestParameters.docId;
}
const headerParameters: runtime.HTTPHeaders = {};
if (requestParameters.xToken !== undefined && requestParameters.xToken !== null) {
headerParameters['x-token'] = String(requestParameters.xToken);
}
if (requestParameters.userid !== undefined && requestParameters.userid !== null) {
headerParameters['userid'] = String(requestParameters.userid);
}
const response = await this.request({
path: `/search/widget/{widget}/click`.replace(`{${"widget"}}`, encodeURIComponent(String(requestParameters.widget))),
method: 'POST',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.TextApiResponse(response) as any;
}
/**
* 该接口主要用于记录用户对搜索结果的点击行为
* 搜索结果点击行为收集
*/
async searchClick(requestParameters: SearchClickRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<boolean> {
const response = await this.searchClickRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* 获取当前搜索用户的最新搜索记录
*/
async searchHistoriesRaw(requestParameters: SearchHistoriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<string>>> {
if (requestParameters.widget === null || requestParameters.widget === undefined) {
throw new runtime.RequiredError('widget','Required parameter requestParameters.widget was null or undefined when calling searchHistories.');
}
if (requestParameters.strategy === null || requestParameters.strategy === undefined) {
throw new runtime.RequiredError('strategy','Required parameter requestParameters.strategy was null or undefined when calling searchHistories.');
}
if (requestParameters.size === null || requestParameters.size === undefined) {
throw new runtime.RequiredError('size','Required parameter requestParameters.size was null or undefined when calling searchHistories.');
}
const queryParameters: any = {};
if (requestParameters.strategy !== undefined) {
queryParameters['strategy'] = requestParameters.strategy;
}
if (requestParameters.query !== undefined) {
queryParameters['query'] = requestParameters.query;
}
if (requestParameters.size !== undefined) {
queryParameters['size'] = requestParameters.size;
}
const headerParameters: runtime.HTTPHeaders = {};
if (requestParameters.xToken !== undefined && requestParameters.xToken !== null) {
headerParameters['x-token'] = String(requestParameters.xToken);
}
if (requestParameters.userid !== undefined && requestParameters.userid !== null) {
headerParameters['userid'] = String(requestParameters.userid);
}
const response = await this.request({
path: `/search/widget/{widget}/histories`.replace(`{${"widget"}}`, encodeURIComponent(String(requestParameters.widget))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse<any>(response);
}
/**
* 获取当前搜索用户的最新搜索记录
*/
async searchHistories(requestParameters: SearchHistoriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<string>> {
const response = await this.searchHistoriesRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* 该接口主要用于获取搜索明细
* 获取搜索日志
*/
async searchLogsRaw(requestParameters: SearchLogsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<QueryActionBean>>> {
if (requestParameters.app === null || requestParameters.app === undefined) {
throw new runtime.RequiredError('app','Required parameter requestParameters.app was null or undefined when calling searchLogs.');
}
const queryParameters: any = {};
if (requestParameters.indices) {
queryParameters['indices'] = requestParameters.indices;
}
if (requestParameters.scope !== undefined) {
queryParameters['scope'] = requestParameters.scope;
}
if (requestParameters.widget !== undefined) {
queryParameters['widget'] = requestParameters.widget;
}
if (requestParameters.query !== undefined) {
queryParameters['query'] = requestParameters.query;
}
if (requestParameters.recomm !== undefined) {
queryParameters['recomm'] = requestParameters.recomm;
}
if (requestParameters.startDate !== undefined) {
queryParameters['start_date'] = (requestParameters.startDate as any).toISOString().substr(0,10);
}
if (requestParameters.endDate !== undefined) {
queryParameters['end_date'] = (requestParameters.endDate as any).toISOString().substr(0,10);
}
if (requestParameters.from !== undefined) {
queryParameters['from'] = requestParameters.from;
}
if (requestParameters.size !== undefined) {
queryParameters['size'] = requestParameters.size;
}
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.accessToken) {
const token = this.configuration.accessToken;
const tokenString = await token("TokenAuth", []);
if (tokenString) {
headerParameters["Authorization"] = `Bearer ${tokenString}`;
}
}
const response = await this.request({
path: `/apps/{app}/logs-searchs`.replace(`{${"app"}}`, encodeURIComponent(String(requestParameters.app))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(QueryActionBeanFromJSON));
}
/**
* 该接口主要用于获取搜索明细
* 获取搜索日志
*/
async searchLogs(requestParameters: SearchLogsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<QueryActionBean>> {
const response = await this.searchLogsRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* 该接口主要用于记录用户对搜索结果的点击行为
* 搜索结果点击行为收集
*/
async searchQueryClickRaw(requestParameters: SearchQueryClickRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<boolean>> {
if (requestParameters.query === null || requestParameters.query === undefined) {
throw new runtime.RequiredError('query','Required parameter requestParameters.query was null or undefined when calling searchQueryClick.');
}
if (requestParameters.actionId === null || requestParameters.actionId === undefined) {
throw new runtime.RequiredError('actionId','Required parameter requestParameters.actionId was null or undefined when calling searchQueryClick.');
}
if (requestParameters.docId === null || requestParameters.docId === undefined) {
throw new runtime.RequiredError('docId','Required parameter requestParameters.docId was null or undefined when calling searchQueryClick.');
}
const queryParameters: any = {};
if (requestParameters.actionId !== undefined) {
queryParameters['action_id'] = requestParameters.actionId;
}
if (requestParameters.docId !== undefined) {
queryParameters['doc_id'] = requestParameters.docId;
}
const headerParameters: runtime.HTTPHeaders = {};
if (requestParameters.xToken !== undefined && requestParameters.xToken !== null) {
headerParameters['x-token'] = String(requestParameters.xToken);
}
if (requestParameters.userid !== undefined && requestParameters.userid !== null) {
headerParameters['userid'] = String(requestParameters.userid);
}
const response = await this.request({
path: `/search/query/{query}/click`.replace(`{${"query"}}`, encodeURIComponent(String(requestParameters.query))),
method: 'POST',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.TextApiResponse(response) as any;
}
/**
* 该接口主要用于记录用户对搜索结果的点击行为
* 搜索结果点击行为收集
*/
async searchQueryClick(requestParameters: SearchQueryClickRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<boolean> {
const response = await this.searchQueryClickRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* 获取当前搜索用户的最新搜索记录
*/
async searchQueryHistoriesRaw(requestParameters: SearchQueryHistoriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<string>>> {
if (requestParameters.query === null || requestParameters.query === undefined) {
throw new runtime.RequiredError('query','Required parameter requestParameters.query was null or undefined when calling searchQueryHistories.');
}
if (requestParameters.strategy === null || requestParameters.strategy === undefined) {
throw new runtime.RequiredError('strategy','Required parameter requestParameters.strategy was null or undefined when calling searchQueryHistories.');
}
if (requestParameters.size === null || requestParameters.size === undefined) {
throw new runtime.RequiredError('size','Required parameter requestParameters.size was null or undefined when calling searchQueryHistories.');
}
const queryParameters: any = {};
if (requestParameters.strategy !== undefined) {
queryParameters['strategy'] = requestParameters.strategy;
}
if (requestParameters.size !== undefined) {
queryParameters['size'] = requestParameters.size;
}
const headerParameters: runtime.HTTPHeaders = {};
if (requestParameters.xToken !== undefined && requestParameters.xToken !== null) {
headerParameters['x-token'] = String(requestParameters.xToken);
}
if (requestParameters.userid !== undefined && requestParameters.userid !== null) {
headerParameters['userid'] = String(requestParameters.userid);
}
const response = await this.request({
path: `/search/query/{query}/histories`.replace(`{${"query"}}`, encodeURIComponent(String(requestParameters.query))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse<any>(response);
}
/**
* 获取当前搜索用户的最新搜索记录
*/
async searchQueryHistories(requestParameters: SearchQueryHistoriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<string>> {
const response = await this.searchQueryHistoriesRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* 获取查询相关热词
*/
async searchQueryHotWordsRaw(requestParameters: SearchQueryHotWordsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<SearchWord>>> {
if (requestParameters.query === null || requestParameters.query === undefined) {
throw new runtime.RequiredError('query','Required parameter requestParameters.query was null or undefined when calling searchQueryHotWords.');
}
if (requestParameters.scope === null || requestParameters.scope === undefined) {
throw new runtime.RequiredError('scope','Required parameter requestParameters.scope was null or undefined when calling searchQueryHotWords.');
}
if (requestParameters.count === null || requestParameters.count === undefined) {
throw new runtime.RequiredError('count','Required parameter requestParameters.count was null or undefined when calling searchQueryHotWords.');
}
const queryParameters: any = {};
if (requestParameters.scope !== undefined) {
queryParameters['scope'] = requestParameters.scope;
}
if (requestParameters.count !== undefined) {
queryParameters['count'] = requestParameters.count;
}
const headerParameters: runtime.HTTPHeaders = {};
if (requestParameters.xToken !== undefined && requestParameters.xToken !== null) {
headerParameters['x-token'] = String(requestParameters.xToken);
}
if (requestParameters.userid !== undefined && requestParameters.userid !== null) {
headerParameters['userid'] = String(requestParameters.userid);
}
const response = await this.request({
path: `/search/query/{query}/hotwords`.replace(`{${"query"}}`, encodeURIComponent(String(requestParameters.query))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(SearchWordFromJSON));
}
/**
* 获取查询相关热词
*/
async searchQueryHotWords(requestParameters: SearchQueryHotWordsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<SearchWord>> {
const response = await this.searchQueryHotWordsRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* 先调用 search.queryScroll 获取 scroll_id 值以及第一批结果记录,然后使用 scroll_id 值调用该接口获取下一批结果记录,请注意该值的有效期是 1 分钟
* 读取滚动搜索结果
*/
async searchQueryRepeatScrollRaw(requestParameters: SearchQueryRepeatScrollRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<object>> {
if (requestParameters.query === null || requestParameters.query === undefined) {
throw new runtime.RequiredError('query','Required parameter requestParameters.query was null or undefined when calling searchQueryRepeatScroll.');
}
if (requestParameters.id === null || requestParameters.id === undefined) {
throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling searchQueryRepeatScroll.');
}
const queryParameters: any = {};
if (requestParameters.id !== undefined) {
queryParameters['id'] = requestParameters.id;
}
const headerParameters: runtime.HTTPHeaders = {};
if (requestParameters.xToken !== undefined && requestParameters.xToken !== null) {
headerParameters['x-token'] = String(requestParameters.xToken);
}
if (requestParameters.userid !== undefined && requestParameters.userid !== null) {
headerParameters['userid'] = String(requestParameters.userid);
}
const response = await this.request({
path: `/search/scroll/{query}`.replace(`{${"query"}}`, encodeURIComponent(String(requestParameters.query))),
method: 'POST',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse<any>(response);
}
/**
* 先调用 search.queryScroll 获取 scroll_id 值以及第一批结果记录,然后使用 scroll_id 值调用该接口获取下一批结果记录,请注意该值的有效期是 1 分钟
* 读取滚动搜索结果
*/
async searchQueryRepeatScroll(requestParameters: SearchQueryRepeatScrollRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<object> {
const response = await this.searchQueryRepeatScrollRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* 用于读取超过 10000 条记录的搜索结果,当需要读取大批量查询结果时请采用此接口获得 scroll_id 值,然后再用 POST 方法 queryRepeatScroll 读取剩余的其他结果,每批次的读取间隔不能超过 1 分钟
* 基于查询的滚动搜索
*/
async searchQueryScrollRaw(requestParameters: SearchQueryScrollRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<object>> {
if (requestParameters.query === null || requestParameters.query === undefined) {
throw new runtime.RequiredError('query','Required parameter requestParameters.query was null or undefined when calling searchQueryScroll.');
}
const queryParameters: any = {};
if (requestParameters.size !== undefined) {
queryParameters['size'] = requestParameters.size;
}
if (requestParameters.q !== undefined) {
queryParameters['q'] = requestParameters.q;
}
if (requestParameters.params !== undefined) {
queryParameters['params'] = requestParameters.params;
}
const headerParameters: runtime.HTTPHeaders = {};
if (requestParameters.xToken !== undefined && requestParameters.xToken !== null) {
headerParameters['x-token'] = String(requestParameters.xToken);
}
if (requestParameters.userid !== undefined && requestParameters.userid !== null) {
headerParameters['userid'] = String(requestParameters.userid);
}
const response = await this.request({
path: `/search/scroll/{query}`.replace(`{${"query"}}`, encodeURIComponent(String(requestParameters.query))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse<any>(response);
}
/**
* 用于读取超过 10000 条记录的搜索结果,当需要读取大批量查询结果时请采用此接口获得 scroll_id 值,然后再用 POST 方法 queryRepeatScroll 读取剩余的其他结果,每批次的读取间隔不能超过 1 分钟
* 基于查询的滚动搜索
*/
async searchQueryScroll(requestParameters: SearchQueryScrollRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<object> {
const response = await this.searchQueryScrollRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* 该接口主要用于公开搜索,如果查询是公开的就不需要授权
* 基于查询的公开搜索
*/
async searchQuerySearchRaw(requestParameters: SearchQuerySearchRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<object>> {
if (requestParameters.query === null || requestParameters.query === undefined) {
throw new runtime.RequiredError('query','Required parameter requestParameters.query was null or undefined when calling searchQuerySearch.');
}
const queryParameters: any = {};
if (requestParameters.q !== undefined) {
queryParameters['q'] = requestParameters.q;
}
if (requestParameters.from !== undefined) {
queryParameters['from'] = requestParameters.from;
}
if (requestParameters.size !== undefined) {
queryParameters['size'] = requestParameters.size;
}
if (requestParameters.params !== undefined) {
queryParameters['params'] = requestParameters.params;
}
const headerParameters: runtime.HTTPHeaders = {};
if (requestParameters.xToken !== undefined && requestParameters.xToken !== null) {
headerParameters['x-token'] = String(requestParameters.xToken);
}
if (requestParameters.userid !== undefined && requestParameters.userid !== null) {
headerParameters['userid'] = String(requestParameters.userid);
}
const response = await this.request({
path: `/search/query/{query}`.replace(`{${"query"}}`, encodeURIComponent(String(requestParameters.query))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse<any>(response);
}
/**
* 该接口主要用于公开搜索,如果查询是公开的就不需要授权
* 基于查询的公开搜索
*/
async searchQuerySearch(requestParameters: SearchQuerySearchRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<object> {
const response = await this.searchQuerySearchRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* 该接口主要为搜索输入框提供自动完成的功能
* 基于组件的搜索词自动完成
*/
async searchWidgetAutoCompleteRaw(requestParameters: SearchWidgetAutoCompleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<AutoCompleteItem>>> {
if (requestParameters.widget === null || requestParameters.widget === undefined) {
throw new runtime.RequiredError('widget','Required parameter requestParameters.widget was null or undefined when calling searchWidgetAutoComplete.');
}
if (requestParameters.q === null || requestParameters.q === undefined) {
throw new runtime.RequiredError('q','Required parameter requestParameters.q was null or undefined when calling searchWidgetAutoComplete.');
}
if (requestParameters.size === null || requestParameters.size === undefined) {
throw new runtime.RequiredError('size','Required parameter requestParameters.size was null or undefined when calling searchWidgetAutoComplete.');
}
const queryParameters: any = {};
if (requestParameters.query !== undefined) {
queryParameters['query'] = requestParameters.query;
}
if (requestParameters.q !== undefined) {
queryParameters['q'] = requestParameters.q;
}
if (requestParameters.size !== undefined) {
queryParameters['size'] = requestParameters.size;
}
const headerParameters: runtime.HTTPHeaders = {};
if (requestParameters.xToken !== undefined && requestParameters.xToken !== null) {
headerParameters['x-token'] = String(requestParameters.xToken);
}
if (requestParameters.userid !== undefined && requestParameters.userid !== null) {
headerParameters['userid'] = String(requestParameters.userid);
}
const response = await this.request({
path: `/search/widget/{widget}/autocomplete`.replace(`{${"widget"}}`, encodeURIComponent(String(requestParameters.widget))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(AutoCompleteItemFromJSON));
}
/**
* 该接口主要为搜索输入框提供自动完成的功能
* 基于组件的搜索词自动完成
*/
async searchWidgetAutoComplete(requestParameters: SearchWidgetAutoCompleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<AutoCompleteItem>> {
const response = await this.searchWidgetAutoCompleteRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* 获取组件搜索的相关热词
*/
async searchWidgetHotWordsRaw(requestParameters: SearchWidgetHotWordsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<SearchWord>>> {
if (requestParameters.widget === null || requestParameters.widget === undefined) {
throw new runtime.RequiredError('widget','Required parameter requestParameters.widget was null or undefined when calling searchWidgetHotWords.');
}
const queryParameters: any = {};
if (requestParameters.query !== undefined) {
queryParameters['query'] = requestParameters.query;
}
if (requestParameters.scope !== undefined) {
queryParameters['scope'] = requestParameters.scope;
}
if (requestParameters.count !== undefined) {
queryParameters['count'] = requestParameters.count;
}
const headerParameters: runtime.HTTPHeaders = {};
if (requestParameters.xToken !== undefined && requestParameters.xToken !== null) {
headerParameters['x-token'] = String(requestParameters.xToken);
}
if (requestParameters.userid !== undefined && requestParameters.userid !== null) {
headerParameters['userid'] = String(requestParameters.userid);
}
const response = await this.request({
path: `/search/widget/{widget}/hotwords`.replace(`{${"widget"}}`, encodeURIComponent(String(requestParameters.widget))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(SearchWordFromJSON));
}
/**
* 获取组件搜索的相关热词
*/
async searchWidgetHotWords(requestParameters: SearchWidgetHotWordsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<SearchWord>> {
const response = await this.searchWidgetHotWordsRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* 该接口主要为UI组件提供公开搜索
* 基于组件的公开搜索
*/
async searchWidgetSearchRaw(requestParameters: SearchWidgetSearchRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<object>> {
if (requestParameters.widget === null || requestParameters.widget === undefined) {
throw new runtime.RequiredError('widget','Required parameter requestParameters.widget was null or undefined when calling searchWidgetSearch.');
}
const queryParameters: any = {};
if (requestParameters.query !== undefined) {
queryParameters['query'] = requestParameters.query;
}
if (requestParameters.q !== undefined) {
queryParameters['q'] = requestParameters.q;
}
if (requestParameters.from !== undefined) {
queryParameters['from'] = requestParameters.from;
}
if (requestParameters.size !== undefined) {
queryParameters['size'] = requestParameters.size;
}
if (requestParameters.params !== undefined) {
queryParameters['params'] = requestParameters.params;
}
const headerParameters: runtime.HTTPHeaders = {};
if (requestParameters.xToken !== undefined && requestParameters.xToken !== null) {
headerParameters['x-token'] = String(requestParameters.xToken);
}
if (requestParameters.userid !== undefined && requestParameters.userid !== null) {
headerParameters['userid'] = String(requestParameters.userid);
}
if (requestParameters.original !== undefined && requestParameters.original !== null) {
headerParameters['original'] = String(requestParameters.original);
}
const response = await this.request({
path: `/search/widget/{widget}`.replace(`{${"widget"}}`, encodeURIComponent(String(requestParameters.widget))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse<any>(response);
}
/**
* 该接口主要为UI组件提供公开搜索
* 基于组件的公开搜索
*/
async searchWidgetSearch(requestParameters: SearchWidgetSearchRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<object> {
const response = await this.searchWidgetSearchRaw(requestParameters, initOverrides);
return await response.value();
}
}
/**
* @export
*/
export const SearchHistoriesStrategyEnum = {
Recent: 'recent',
Popular: 'popular'
} as const;
export type SearchHistoriesStrategyEnum = typeof SearchHistoriesStrategyEnum[keyof typeof SearchHistoriesStrategyEnum];
/**
* @export
*/
export const SearchLogsScopeEnum = {
All: 'all',
Search: 'search',
Recomm: 'recomm'
} as const;
export type SearchLogsScopeEnum = typeof SearchLogsScopeEnum[keyof typeof SearchLogsScopeEnum];
/**
* @export
*/
export const SearchQueryHistoriesStrategyEnum = {
Recent: 'recent',
Popular: 'popular'
} as const;
export type SearchQueryHistoriesStrategyEnum = typeof SearchQueryHistoriesStrategyEnum[keyof typeof SearchQueryHistoriesStrategyEnum];
/**
* @export
*/
export const SearchQueryHotWordsScopeEnum = {
Month: 'month',
Year: 'year',
All: 'all'
} as const;
export type SearchQueryHotWordsScopeEnum = typeof SearchQueryHotWordsScopeEnum[keyof typeof SearchQueryHotWordsScopeEnum];
/**
* @export
*/
export const SearchWidgetHotWordsScopeEnum = {
Month: 'month',
Year: 'year',
All: 'all',
Custom: 'custom'
} as const;
export type SearchWidgetHotWordsScopeEnum = typeof SearchWidgetHotWordsScopeEnum[keyof typeof SearchWidgetHotWordsScopeEnum];