duapi
Version:
A CLI for 得物(毒) api 查询
34 lines (31 loc) • 2.17 kB
JavaScript
var exec = require("./exec");
var getQueryStr = require("./getQuery");
const sign = require("./sign");
export async function searchApi(title) {
const queryStr = getQueryStr({
title: title || "aj",
page: 0,
limit: 20,
showHot: -1,
sortType: 1,
sortMode: 1,
unionId: "",
});
let cmdStr = `curl -H 'Host: app.poizon.com' -H 'accept: */*' -H 'content-type: application/x-www-form-urlencoded' -H 'referer: https://servicewechat.com/wx3c12cdd0ae8b1a7b/117/page-frame.html' -H 'appid: wxapp' -H 'appversion: 4.4.0' -H 'wxapp-login-token: 3f885cf3|5805b23362561089694d1976c3f2ea84|1843f86c|13d7302d' -H 'accept-language: zh-cn' -H 'user-agent: Mozilla/5.0 (iPhone; CPU iPhone OS 13_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/7.0.12(0x17000c2f) NetType/WIFI Language/zh_CN' --compressed 'https://app.poizon.com/api/v1/h5/search/fire/search/list?${queryStr}'`;
const { stdout, stderr } = await exec(cmdStr);
return await new Promise((resolve, reject) => {
resolve(JSON.parse(stdout).data.productList);
});
}
export async function detailApi(spuId) {
let signId = sign({
spuId: spuId,
productSourceName: "",
propertyValueId: "0",
});
let cmdStr = `curl -H 'Host: app.poizon.com' -H 'content-type: application/json' -H 'appid: wxapp' -H 'accept: */*' -H 'appversion: 4.4.0' -H 'accept-language: zh-cn' -H 'user-agent: Mozilla/5.0 (iPhone; CPU iPhone OS 13_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/7.0.11(0x17000b21) NetType/WIFI Language/zh_CN' -H 'referer: https://servicewechat.com/wx3c12cdd0ae8b1a7b/94/page-frame.html' -H 'wxapp-login-token: c6058174|42eeb0c170d1846326a53866ff9f254f|441cd128|b022d0b4' --data-binary '{"sign":"${signId}","spuId":"${spuId}","productSourceName":"","propertyValueId":"0"}' --compressed 'https://app.poizon.com/api/v1/h5/index/fire/flow/product/detail'`; //https://app.poizon.com/api/v1/h5/index/fire/flow/product/detail
const { stdout, stderr } = await exec(cmdStr);
return await new Promise((resolve, reject) => {
resolve(JSON.parse(stdout).data.saleProperties.list);
});
}