use ztk_rust_sdk::{JdHotGoodsRequest, SearchGoodsRequest, ZtkClient, ZtkResult};
const APPKEY: &str = "";
const SID: &str = "60211";
const PID: &str = "";
#[tokio::main]
async fn main() -> ZtkResult<()> {
println!("=== 多平台搜索内存条示例 ===\n");
let client = ZtkClient::new(APPKEY).build()?;
println!("✓ 客户端创建成功\n");
println!("【淘宝平台】全网搜索内存条...");
search_taobao(&client).await?;
println!("\n{}\n", "=".repeat(60));
println!("【京东平台】搜索内存条...");
search_jd(&client).await?;
println!("\n=== 搜索完成 ===");
Ok(())
}
async fn search_taobao(client: &ZtkClient) -> ZtkResult<()> {
let request = SearchGoodsRequest::new(SID, PID)
.keyword("内存条")
.page(1)
.page_size(5)
.sort("sale_num_desc") .filter(2);
match client.taobao().search_goods(request).await {
Ok(response) => {
println!("状态码: {}", response.status);
if let Some(goods_list) = response.content {
if goods_list.is_empty() {
println!("未找到商品");
} else {
println!("找到 {} 个商品:\n", goods_list.len());
for (i, goods) in goods_list.iter().enumerate() {
println!(
"{}. {}",
i + 1,
goods.title.as_deref().unwrap_or("未知商品")
);
println!(" 原价: ¥{}", goods.size.as_deref().unwrap_or("--"));
println!(
" 券后价: ¥{}",
goods.quanhou_jiage.as_deref().unwrap_or("--")
);
println!(" 佣金比例: {}%", goods.tkrate3.as_deref().unwrap_or("--"));
println!(" 店铺: {}", goods.nick.as_deref().unwrap_or("--"));
println!(" 销量: {}", goods.volume.as_deref().unwrap_or("--"));
println!();
}
}
} else {
println!("未找到商品");
}
}
Err(e) => {
println!("搜索失败: {}", e);
println!("\n提示: 请确保 SID 和 PID 参数正确");
println!("- SID: 淘客账号授权 ID,在折淘客平台获取");
println!("- PID: 淘客推广位 ID,格式为 mm_xxx_xxx_xxx");
}
}
Ok(())
}
async fn search_jd(client: &ZtkClient) -> ZtkResult<()> {
let request = JdHotGoodsRequest::new()
.keyword("内存条")
.page_index(1)
.page_size(5)
.goods_type(7);
match client.jd().hot_goods(request).await {
Ok(response) => {
println!("状态码: {}", response.status);
if let Some(goods_list) = response.content {
if goods_list.is_empty() {
println!("未找到商品");
} else {
println!("找到 {} 个商品:\n", goods_list.len());
for (i, goods) in goods_list.iter().enumerate() {
println!(
"{}. {}",
i + 1,
goods.short_name.as_deref().unwrap_or("未知商品")
);
if let Some(price) = goods.goods_price {
println!(" 原价: ¥{:.2}", price);
}
if let Some(discount_price) = goods.discount_price_after {
println!(" 券后价: ¥{:.2}", discount_price);
}
if let Some(commission) = goods.commissionshare {
println!(" 佣金比例: {:.2}%", commission);
}
if let Some(url) = &goods.goods_link {
println!(" 链接: {}", url);
}
println!();
}
}
} else {
println!("未找到商品");
}
}
Err(e) => {
println!("搜索失败: {}", e);
}
}
Ok(())
}