import Token from './token' import config from '../config' import { request_get } from '../request' const { ali1688_api_key, ali1688_jsv, ali1688_v, } = config class Ali1688Searcher extends Token { constructor(options?) { super(options) } get goods_search_url() { return 'https://search.1688.com/service/imageSearchOfferResultViewService'; } get search_headers() { return { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36', referer: 'https://s.1688.com/', 'Content-Type': 'application/x-www-form-urlencoded' } } getSearchParams({ imageId, requestId, sessionId, sortField, sortType, beginPage, pageSize }) { return { tab: 'imageSearch', imageId, imageIdList: imageId, sortField: sortField || 'normal', sortType: sortType || 'desc', spm: '', imageAddress: '', beginPage: beginPage || 1, pageSize: pageSize || 40, pageName: 'image', '_bx-v': '1.1.20', requestId, sessionId } } async imageSearchResult({ imageId, requestId, sessionId, sortField, sortType, beginPage, pageSize }: any) { await this.token_request() const params = this.getSearchParams({ imageId, requestId, sessionId, sortField, sortType, beginPage, pageSize }) const headers = this.search_headers const response = await request_get(this.goods_search_url, params, headers) return [response.data, imageId] } } export default Ali1688Searcher;