商品功能
获取商品数据 minigameApi.getProductsData(params)
基于"人货场"的理念,在初始化时传入了"场",在此通过传入"人"即游戏用户信息来获取"货"即货架商品信息,用于在游戏中展示。
Promise 方式:
// 获取商品数据
minigameApi.getProductsData({
game_openid: '1018553529511732',
role_id: '1555629938',
server_id: 'server_001'
})
.then(data => {
console.log('获取商品数据成功:', data);
// data 包含: { products: ProductItem[] }
})
.catch(error => {
console.log('获取商品数据失败:', error);
});
// 使用 async/await
async function handleGetProducts() {
try {
const result = await minigameApi.getProductsData({
game_openid: '1018553529511732',
role_id: '1555629938',
server_id: 'server_001'
});
console.log('商品数据:', result.products);
} catch (error) {
console.log('获取商品失败:', error);
}
}
参数说明
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| game_openid | string | 是 | 游戏用户 ID |
| role_id | string | 是 | 角色 ID |
| server_id | string | 否 | 游戏分区ID |
ProductItem 类型
interface ProductItem {
product_id: string; // midasbuy 内部的物品 ID
game_product_id: string; // 业务侧的物品 ID
quantity: number; // 游戏币或道具数量 (结合物品类型)
product_type: 'currency' | 'item'; // 物品类型:currency(游戏币) 或 item(道具)
product_icon: string; // 物品图片URL
name: string; // 物品名称
price_info: {
price: string; // 当前价格,如:'69.99'
original_price: string; // 原价,如:'77.99'
currency: string; // 币种,如:'HKD'
display_price: string; // 展示价格(含币种),如:'69.99 HKD'
display_original_price: string; // 展示原价(含币种),如:'77.99 HKD'
};
bonus: {
virtual_currency_quantity: number; // 赠送游戏币数量
virtual_item_list: { // 赠送道具物品列表
product_id: string; // 赠送的道具对应的 midasbuy 内部的物品 ID
game_product_id: string; // 赠送的道具对应的业务侧的物品 ID
name: string; // 赠送道具名称
quantity: number; // 赠送道具数量
icon: string; // 赠送道具图片URL
}[];
};
meta: any; // 货架处理前的源数据,一般无需关注
}
product_id和game_product_id一般是一一对应的
ProductItem示例:
const exampleProduct: ProductItem = {
product_id: "600_coins_vip",
game_product_id: "600_coins",
quantity: 600,
product_type: "currency",
product_icon: "https://cdn.midasbuy.com/images/apps/pubgm/1599546041426W8hmErMS.png",
name: "600 UnknownCash",
price_info: {
price: "69.99",
original_price: "77.99",
currency: "HKD",
display_price: "69.99 HKD",
display_original_price: "77.99 HKD"
},
bonus: {
virtual_currency_quantity: 60,
virtual_item_list: [
{
product_id: "MP_DEFAULT_MOBILE_COIN",
game_product_id: "MP_DEFAULT_MOBILE_COIN",
name: "Event Voucher (Use in event)",
quantity: 1,
icon: "https://cdn.midasbuy.com/images/4113%20%281%29.2c5fa435.png"
}
]
},
meta: { /* 原始货架数据 */ }
};
meta是货架处理前的源数据,一般无需关注。类型参考 https://midasbuy-develop.pages.woa.com/master/%E5%BE%AE%E6%9C%8D%E5%8A%A1%E4%BB%8B%E7%BB%8D/%E8%B4%A7%E6%9E%B6%E6%9C%8D%E5%8A%A1/3.%20%E5%8D%8F%E8%AE%AE%E8%AE%BE%E8%AE%A1/%E8%B4%A7%E6%9E%B6%E6%9C%8D%E5%8A%A1%E5%8D%8F%E8%AE%AE/#shelfproduct
ProductsResult 类型
interface ProductsResult {
products: ProductItem[]; // 商品项目数组
}