item_get - 根据ID取聚美优品商品详情

该博客主要介绍如何通过item_get API来获取聚美优品平台上的商品详细信息,包括测试网址和操作指南。

item_get - 根据ID取聚美优品商品详情

在这里插入图片描述

测试网址:点击注册联系客服

Result Object:
---------------------------------------
{
	"item": {
		"num_iid": "4290722",
		"title": "古奇天伦 尖头高跟鞋女士春季新款女鞋子 时尚舒适",
		"desc_short": "古奇天伦 尖头高跟鞋女士春季新款女鞋子 时尚舒适",
		"price": "188",
		"orginal_price": "376",
		"nick": "孜孜贸易 (营业执照)",
		"detail_url": "http://item.jumei.com/4290722.html",
		"pic_url": "http://p0.jmstatic.com/product/004/290/4290722_std/4290722_pop_375_500_1.jpg",
		"desc": "\n                        <p><img src=\"http://p0.jmstatic.com//jpartner/ueditor/partner/41cf30f202040cc8c50d9a51ca39b968.jpg\" title=\"1524714466401704.jpg\"//><img src=\"http://p0.jmstatic.com//jpartner/ueditor/partner/948e3eca183564f5ac56aafe6f0559c7.jpg\" title=\"1524714466456527.jpg\"//><img src=\"http://p0.jmstatic.com//jpartner/ueditor/partner/7533f3699227d0f006c0f03680f656d6.jpg\" title=\"1524714466836665.jpg\"//><img src=\"http://p0.jmstatic.com//jpartner/ueditor/partner/1fede7f875ed66329d71ce842ad71aa4.jpg\" title=\"1524714467729900.jpg\"//><img src=\"http://p0.jmstatic.com//jpartner/ueditor/partner/8043212a138de7be142a14aa37d621d6.jpg\" title=\"1524714467118669.jpg\"//><img src=\"http://p0.jmstatic.com//jpartner/ueditor/partner/2fc39a588e2fbbb2f4b64a3f39ef6493.jpg\" title=\"1524714468937704.jpg\"//><img src=\"http://p0.jmstatic.com//jpartner/ueditor/partner/6f638e3bbb78f3faeefcb2629ff0d842.jpg\" title=\"1524714468112033.jpg\"//><img src=\"http://p0.jmstatic.com//jpartner/ueditor/partner/f2b10c613d434706abf8ec844ed9ecb4.jpg\" title=\"1524714469699427.jpg\"/></p>&nbsp;                    ",
		"item_imgs": {
			"item_img": [
				{
					"url": "http://p0.jmstatic.com/product/004/290/4290722_std/4290722_pop_375_500_1.jpg"
				},
				{
					"url": "http://p0.jmstatic.com/product/004/290/4290722_std/4290722_pop_375_500_2.jpg"
				},
				{
					"url": "http://p0.jmstatic.com/product/004/290/4290722_std/4290722_pop_375_500_3.jpg"
				},
				{
					"url": "http://p0.jmstatic.com/product/004/290/4290722_std/4290722_pop_375_500_4.jpg"
				},
				{
					"url": "http://p0.jmstatic.com/product/004/290/4290722_std/4290722_pop_375_500_5.jpg"
				},
				{
					"url": "http://p0.jmstatic.com/product/004/290/4290722_std/4290722_pop_375_500_6.jpg"
				},
				{
					"url": "http://p0.jmstatic.com/product/004/290/4290722_std/4290722_pop_375_500_7.jpg"
				},
				{
					"url": "http://p0.jmstatic.com/product/004/290/4290722_std/4290722_pop_375_500_8.jpg"
				},
				{
					"url": "http://p0.jmstatic.com/product/004/290/4290722_std/4290722_pop_375_500_9.jpg"
				}
			]
		},
		"cid": "757",
		"sales": 2,
		"shop_id": "85",
		"baoyou": "单商家订单满159元包邮",
		"num": 919,
		"skus": {
			"sku": [
				{
					"price": "188",
					"orginal_price": "376",
					"properties": "0:0",
					"properties_name": "0:0:米色:34",
					"quantity": 65,
					"sku_id": "df4290722197036086"
				},
				{
					"price": "188",
					"orginal_price": "376",
					"properties": "0:1",
					"properties_name": "0:1:米色:35",
					"quantity": 66,
					"sku_id": "df4290722197036089"
				},
				{
					"price": "188",
					"orginal_price": "376",
					"properties": "0:2",
					"properties_name": "0:2:米色:36",
					"quantity": 66,
					"sku_id": "df4290722197036092"
				},
				{
					"price": "188",
					"orginal_price": "376",
					"properties": "0:3",
					"properties_name": "0:3:米色:37",
					"quantity": 65,
					"sku_id": "df4290722197036095"
				},
				{
					"price": "188",
					"orginal_price": "376",
					"properties": "0:4",
					"properties_name": "0:4:米色:38",
					"quantity": 66,
					"sku_id": "df4290722197036099"
				},
				{
					"price": "188",
					"orginal_price": "376",
					"properties": "0:5",
					"properties_name": "0:5:米色:39",
					"quantity": 65,
					"sku_id": "df4290722197036104"
				},
				{
					"price": "188",
					"orginal_price": "376",
					"properties": "0:6",
					"properties_name": "0:6:米色:40",
					"quantity": 66,
					"sku_id": "df4290722197036108"
				},
				{
					"price": "188",
					"orginal_price": "376",
					"properties": "0:7",
					"properties_name": "0:7:紫色:34",
					"quantity": 66,
					"sku_id": "df4290722197036112"
				},
				{
					"price": "188",
					"orginal_price": "376",
					"properties": "0:8",
					"properties_name": "0:8:紫色:35",
					"quantity": 65,
					"sku_id": "df4290722197036116"
				},
				{
					"price": "188",
					"orginal_price": "376",
					"properties": "0:9",
					"properties_name": "0:9:紫色:36",
					"quantity": 66,
					"sku_id": "df4290722197036120"
				},
				{
					"price": "188",
					"orginal_price": "376",
					"properties": "0:10",
					"properties_name": "0:10:紫色:37",
					"quantity": 65,
					"sku_id": "df4290722197036123"
				},
				{
					"price": "188",
					"orginal_price": "376",
					"properties": "0:11",
					"properties_name": "0:11:紫色:38",
					"quantity": 66,
					"sku_id": "df4290722197036126"
				},
				{
					"price": "188",
					"orginal_price": "376",
					"properties": "0:12",
					"properties_name": "0:12:紫色:39",
					"quantity": 66,
					"sku_id": "df4290722197036130"
				},
				{
					"price": "188",
					"orginal_price": "376",
					"properties": "0:13",
					"properties_name": "0:13:紫色:40",
					"quantity": 66,
					"sku_id": "df4290722197036132"
				}
			]
		},
		"props_list": {
			"0:0": "米色:34",
			"0:1": "米色:35",
			"0:2": "米色:36",
			"0:3": "米色:37",
			"0:4": "米色:38",
			"0:5": "米色:39",
			"0:6": "米色:40",
			"0:7": "紫色:34",
			"0:8": "紫色:35",
			"0:9": "紫色:36",
			"0:10": "紫色:37",
			"0:11": "紫色:38",
			"0:12": "紫色:39",
			"0:13": "紫色:40"
		},
		"props_name": "0:0:米色:34;0:1:米色:35;0:2:米色:36;0:3:米色:37;0:4:米色:38;0:5:米色:39;0:6:米色:40;0:7:紫色:34;0:8:紫色:35;0:9:紫色:36;0:10:紫色:37;0:11:紫色:38;0:12:紫色:39;0:13:紫色:40;",
		"prop_imgs": {
			"prop_img": [
				{
					"properties": "0:0",
					"url": "http://p5.jmstatic.com/product/197/036/df4290722197036086_std/s_df4290722197036086_800_800.jpg"
				},
				{
					"properties": "0:1",
					"url": "http://p3.jmstatic.com/product/197/036/df4290722197036089_std/s_df4290722197036089_800_800.jpg"
				},
				{
					"properties": "0:2",
					"url": "http://p3.jmstatic.com/product/197/036/df4290722197036092_std/s_df4290722197036092_800_800.jpg"
				},
				{
					"properties": "0:3",
					"url": "http://p2.jmstatic.com/product/197/036/df4290722197036095_std/s_df4290722197036095_800_800.jpg"
				},
				{
					"properties": "0:4",
					"url": "http://p4.jmstatic.com/product/197/036/df4290722197036099_std/s_df4290722197036099_800_800.jpg"
				},
				{
					"properties": "0:5",
					"url": "http://p5.jmstatic.com/product/197/036/df4290722197036104_std/s_df4290722197036104_800_800.jpg"
				},
				{
					"properties": "0:6",
					"url": "http://p0.jmstatic.com/product/197/036/df4290722197036108_std/s_df4290722197036108_800_800.jpg"
				},
				{
					"properties": "0:7",
					"url": "http://p5.jmstatic.com/product/197/036/df4290722197036112_std/s_df4290722197036112_800_800.jpg"
				},
				{
					"properties": "0:8",
					"url": "http://p1.jmstatic.com/product/197/036/df4290722197036116_std/s_df4290722197036116_800_800.jpg"
				},
				{
					"properties": "0:9",
					"url": "http://p3.jmstatic.com/product/197/036/df4290722197036120_std/s_df4290722197036120_800_800.jpg"
				},
				{
					"properties": "0:10",
					"url": "http://p2.jmstatic.com/product/197/036/df4290722197036123_std/s_df4290722197036123_800_800.jpg"
				},
				{
					"properties": "0:11",
					"url": "http://p0.jmstatic.com/product/197/036/df4290722197036126_std/s_df4290722197036126_800_800.jpg"
				},
				{
					"properties": "0:12",
					"url": "http://p5.jmstatic.com/product/197/036/df4290722197036130_std/s_df4290722197036130_800_800.jpg"
				},
				{
					"properties": "0:13",
					"url": "http://p2.jmstatic.com/product/197/036/df4290722197036132_std/s_df4290722197036132_800_800.jpg"
				}
			]
		},
		"seller_info": {
			"nick": "孜孜贸易 (营业执照)",
			"city": "",
			"level": "1",
			"shop_type": "pop_mall",
			"user_num_id": "85",
			"zhuy": "http://www.jumeiglobal.com/Page/Specification?merchant_id=85"
		},
		"props": [
			{
				"name": "商品名称:",
				"value": "尖头高跟鞋女士春季新款女鞋子"
			},
			{
				"name": "品牌:",
				"value": "古奇天伦(GUCIHEAVEN)"
			},
			{
				"name": "分类:",
				"value": "时尚单鞋"
			},
			{
				"name": "退货政策:",
				"value": "本商品支持7天无条件退货(拆封后不支持)"
			},
			{
				"name": "换货政策:",
				"value": "本商品不支持换货"
			},
			{
				"name": "面料:",
				"value": "PU"
			},
			{
				"name": "内里:",
				"value": "PU"
			},
			{
				"name": "中底:",
				"value": "PU"
			},
			{
				"name": "大底:",
				"value": "TPU"
			}
		],
		"props_img": {
			"0:0": "http://p5.jmstatic.com/product/197/036/df4290722197036086_std/s_df4290722197036086_800_800.jpg",
			"0:1": "http://p3.jmstatic.com/product/197/036/df4290722197036089_std/s_df4290722197036089_800_800.jpg",
			"0:2": "http://p3.jmstatic.com/product/197/036/df4290722197036092_std/s_df4290722197036092_800_800.jpg",
			"0:3": "http://p2.jmstatic.com/product/197/036/df4290722197036095_std/s_df4290722197036095_800_800.jpg",
			"0:4": "http://p4.jmstatic.com/product/197/036/df4290722197036099_std/s_df4290722197036099_800_800.jpg",
			"0:5": "http://p5.jmstatic.com/product/197/036/df4290722197036104_std/s_df4290722197036104_800_800.jpg",
			"0:6": "http://p0.jmstatic.com/product/197/036/df4290722197036108_std/s_df4290722197036108_800_800.jpg",
			"0:7": "http://p5.jmstatic.com/product/197/036/df4290722197036112_std/s_df4290722197036112_800_800.jpg",
			"0:8": "http://p1.jmstatic.com/product/197/036/df4290722197036116_std/s_df4290722197036116_800_800.jpg",
			"0:9": "http://p3.jmstatic.com/product/197/036/df4290722197036120_std/s_df4290722197036120_800_800.jpg",
			"0:10": "http://p2.jmstatic.com/product/197/036/df4290722197036123_std/s_df4290722197036123_800_800.jpg",
			"0:11": "http://p0.jmstatic.com/product/197/036/df4290722197036126_std/s_df4290722197036126_800_800.jpg",
			"0:12": "http://p5.jmstatic.com/product/197/036/df4290722197036130_std/s_df4290722197036130_800_800.jpg",
			"0:13": "http://p2.jmstatic.com/product/197/036/df4290722197036132_std/s_df4290722197036132_800_800.jpg"
		},
		"desc_img": [
			"http://p0.jmstatic.com//jpartner/ueditor/partner/41cf30f202040cc8c50d9a51ca39b968.jpg",
			"http://p0.jmstatic.com//jpartner/ueditor/partner/948e3eca183564f5ac56aafe6f0559c7.jpg",
			"http://p0.jmstatic.com//jpartner/ueditor/partner/7533f3699227d0f006c0f03680f656d6.jpg",
			"http://p0.jmstatic.com//jpartner/ueditor/partner/1fede7f875ed66329d71ce842ad71aa4.jpg",
			"http://p0.jmstatic.com//jpartner/ueditor/partner/8043212a138de7be142a14aa37d621d6.jpg",
			"http://p0.jmstatic.com//jpartner/ueditor/partner/2fc39a588e2fbbb2f4b64a3f39ef6493.jpg",
			"http://p0.jmstatic.com//jpartner/ueditor/partner/6f638e3bbb78f3faeefcb2629ff0d842.jpg",
			"http://p0.jmstatic.com//jpartner/ueditor/partner/f2b10c613d434706abf8ec844ed9ecb4.jpg"
		],
		"shop_item": [],
		"relate_items": []
	},
	"secache": "6299c47e6c96a6fa0dbbfcf10b3eb746",
	"secache_time": 1600050118,
	"secache_date": "2020-09-14 10:21:58",
	"translate_status": "",
	"translate_time": 0,
	"language": {
		"default_lang": "cn",
		"current_lang": "cn"
	},
	"error": "",
	"reason": "",
	"error_code": "0000",
	"cache": 0,
	"api_info": "today: max:",
	"execution_time": 0.401,
	"server_time": "Beijing/2020-09-14 10:21:58",
	"call_args": {
		"num_iid": "4290722"
	},
	"api_type": "jumei",
	"translate_language": "zh-CN",
	"translate_engine": "baidu",
	"server_memory": "2.67MB",
	"request_id": "15f5ed3c63a579"
}
static char* oplus_ftm_item_entry_cb(at_cmd *test_item_struct, char* test_result) 1335 { 1336 item_t *items; 1337 struct ftm_module *mod; 1338 struct ftm_param param; 1339 int item_id = 0, i = 0; 1340 char result[3][16] = {"NOT TEST", "OK", "FAIL"}; 1341 1342 LOGD(TAG "Entry %s\n", __FUNCTION__); 1343 1344 if((test_item_struct == NULL) || (test_result == NULL)) 1345 { 1346 return NULL; 1347 } 1348 1349 items = get_item_list(); 1350 item_id = oplus_cmd_hdlr[test_item_struct->index].item_id; 1351 1352 mod = ftm_get_module(item_id); 1353 if (!mod) { 1354 LOGD(TAG "can't find this module\n"); 1355 return NULL; 1356 } 1357 //item_testing = 1; 1358 if (mod && mod->visible) 1359 { 1360 LOGD(TAG "Before ftm_entry()\n"); 1361 param.name = get_item_name(items, item_id); 1362 param.test_type = test_item_struct->test_type; 1363 ftm_entry(item_id, &param); 1364 } 1365 1366 LOGD(TAG "oplus cmd_hdlr[index].item_id=%d, item_str:%s\n", 1367 item_id, 1368 oplus_cmd_hdlr[test_item_struct->index].cmd_string); 1369 1370 strcpy(test_result, result[mod->test_result]); 1371 if (return_data.common.id == mod->id){ 1372 // compatible with the current test 1373 if (mod->id != ITEM_EADC 1374 && mod->id != ITEM_GET_EMMC 1375 && mod->id != ITEM_GET_CPU 1376 && mod->id != ITEM_GET_DDR 1377 && mod->id != ITEM_DOWNLOAD_STATUS_CHECK 1378 && mod->id != ITEM_LCDSN 1379 && mod->id != ITEM_OLEDSN 1380 && mod->id != ITEM_SECUREBOOT_TEST) 1381 { 1382 strcat(test_result, ": "); 1383 } 1384 1385 strcat(test_result, return_data.common.resut_info); 1386 strcat(test_result, "\r\n"); 1387 } 1388 else{ 1389 strcat(test_result, "\r\n"); 1390 } 1391 1392 1393 LOGD(TAG "result[mod->test_result]=%s\n", result[mod->test_result]); 1394 1395 return test_result; 1396 }
07-30
你提供的函数: ```c static char* oplus_ftm_item_entry_cb(at_cmd *test_item_struct, char* test_result) ``` 这是一个典型的 **Android FTM(Factory Test Mode)模块中的 AT 指令回调函数**,用于在收到特定 AT 指令时触发某个模块的测试流程,并将测试结果写入 `test_result` 缓冲区。 --- ## ✅ 一、函数作用解析 ### 函数签名: ```c static char* oplus_ftm_item_entry_cb(at_cmd *test_item_struct, char* test_result) ``` - `static`:表示该函数只在当前文件中可见(作用域限制) - `at_cmd *test_item_struct`:AT 指令结构体,包含指令参数(如索引、测试类型等) - `char* test_result`:用于返回测试结果的缓冲区 --- ## ✅ 二、函数流程详解 ### 1. 定义变量 ```c item_t *items; struct ftm_module *mod; struct ftm_param param; int item_id = 0, i = 0; char result[3][16] = {"NOT TEST", "OK", "FAIL"}; ``` - `result` 数组用于保存测试状态字符串 - `item_id` 表示当前测试项的 ID - `mod` 是指向 FTM 模块结构体的指针 --- ### 2. 检查参数合法性 ```c if((test_item_struct == NULL) || (test_result == NULL)) { return NULL; } ``` 防止空指针访问,提高程序健壮性。 --- ### 3. 获测试项列表和模块 ```c items = get_item_list(); item_id = oplus_cmd_hdlr[test_item_struct->index].item_id; mod = ftm_get_module(item_id); ``` - `get_item_list()` 获所有测试项的列表 - `oplus_cmd_hdlr` 是一个全局的 AT 指令处理表 - `ftm_get_module(item_id)` 根据 item_id对应的模块结构体 --- ### 4. 调用模块的 `ftm_entry` 函数执行测试 ```c if (mod && mod->visible) { param.name = get_item_name(items, item_id); param.test_type = test_item_struct->test_type; ftm_entry(item_id, &param); } ``` - `ftm_entry` 是 FTM 模块的入口函数,会调用具体模块的测试逻辑(如 Wi-Fi 打开、蓝牙测试等) --- ### 5. 构建测试结果字符串 ```c strcpy(test_result, result[mod->test_result]); ``` 将测试结果(如 "OK" 或 "FAIL")复制到 `test_result` 缓冲区。 --- ### 6. 特殊结果拼接(如 SN、容量等) ```c if (return_data.common.id == mod->id){ if (mod->id != ITEM_EADC && ... ) { strcat(test_result, ": "); } strcat(test_result, return_data.common.resut_info); strcat(test_result, "\r\n"); } else { strcat(test_result, "\r\n"); } ``` - 对某些模块(如 EMMC、CPU、LCD SN 等),需要附加更多信息(如序列号、容量等) - `return_data` 是一个全局结构体,保存了模块返回的数据 --- ### 7. 返回结果指针 ```c return test_result; ``` --- ## ✅ 三、函数结构图(伪代码) ```text oplus_ftm_item_entry_cb(test_item_struct, test_result) │ ├── 检查参数是否为空 ├── 获 item_id 和模块 mod ├── 如果模块存在且可见 │ └── 调用 ftm_entry 执行测试 ├── 设置测试结果字符串("OK"/"FAIL"/"NOT TEST") ├── 如果有额外返回数据,追加到 test_result └── 返回 test_result ``` --- ## ✅ 四、使用场景 这个函数通常被注册为某个 AT 指令的处理回调,例如: ```c {23, ITEM_WIFI_OPEN, "AT^OPEN_WIFI", (hdlr)oplus_ftm_item_entry_cb}, ``` 当用户发送 `AT^OPEN_WIFI` 指令时,系统会调用 `oplus_ftm_item_entry_cb`,并传入对应的 `at_cmd` 结构体和 `test_result` 缓冲区。 --- ## ✅ 五、示例输出 假设模块测试成功: ```text OK ``` 如果是 ITEM_EMMC 模块,并返回容量信息: ```text OK: 64GB ``` --- ## ✅ 六、潜在优化点 1. **缓冲区安全**:`strcpy` 和 `strcat` 存在溢出风险,建议使用 `strncpy`、`strncat` 2. **错误处理增强**:可以添加日志记录失败原因 3. **线程安全**:如果在多线程环境下使用,`return_data` 可能需要加锁保护 --- ##
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值