Flutter电商相关功能插件dd_taoke_sdk的使用
Flutter电商相关功能插件dd_taoke_sdk的使用
购物app通用接口 flutter 版本
仅供学习使用,可以直接运行例子。
新版本
- 新增京东9块9包邮列表
- 新增京东商品详情
- 新增京东大牌折扣列表
- 新增京东实时榜单列表
- 新增京粉推荐商品查询
- 新增京东关键字搜索
1. 初始化
在 main
函数中添加如下代码:
DdTaokeUtil.instance.init('https://itbug.shop', '443', proxy: '', debug: false);
- 参数说明:
- 第一个参数为 API 的基础地址。
- 第二个参数为端口号。
proxy
可以设置代理,为空则不使用代理。debug
设置为true
时会在控制台打印服务器返回的数据,设置为false
则隐藏。
2. 使用
以下是一个完整的示例代码,展示了如何使用 dd_taoke_sdk
插件实现多种电商功能。
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:dd_taoke_sdk/dd_taoke_sdk.dart';
void main() {
// 初始化 SDK
DdTaokeUtil.instance.init('http://localhost', '80', proxy: '', debug: true);
runApp(GetMaterialApp(
debugShowCheckedModeBanner: false,
home: MyApp(),
));
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('接口'),
actions: [
IconButton(
icon: Icon(Icons.list),
onPressed: () {
Get.to(() => HotDayPage());
})
],
),
body: SingleChildScrollView(
child: Wrap(
spacing: 12,
runSpacing: 12,
children: [
MyButton('超级分类', onTap: () async {
final resut = await DdTaokeSdk.instance.getCategorys();
toJsonView(resut);
}),
MyButton('轮播图', onTap: () async {
final resut = await DdTaokeSdk.instance.getCarousel();
toJsonView(resut);
}),
MyButton('品牌列表', onTap: () async {
final result = await DdTaokeSdk.instance.getBrandList(param: BrandListParam(cid: '2', pageId: '1', pageSize: '20'));
toJsonView(result);
}),
MyButton('商品列表', onTap: () async {
final result = await DdTaokeSdk.instance.getProducts(param: ProductListParam(pageId: '1'));
toJsonView(result);
}),
MyButton('商品详情', onTap: () async {
final result = await DdTaokeSdk.instance.getProductDetail(param: ProductDetailParam(id: '32731926'));
toJsonView(result);
}),
MyButton('获取品牌商品', onTap: () async {
final result = await DdTaokeSdk.instance.getBrandDetail(param: BrandProductParam(brandId: '7951745', pageSize: '20', pageId: '1'));
toJsonView(result);
}),
MyButton('获取详情页面所需数据', onTap: () async {
final result = await DdTaokeSdk.instance.getDetailBaseData(productId: '32448990');
toJsonView(result);
}),
MyButton('高效转链', onTap: () async {
await Get.dialog<String>(InputDialog(title: '请输入淘宝商品id')).then((value) async {
if (!GetUtils.isNullOrBlank(value)) {
final result = await DdTaokeSdk.instance.getCouponsDetail(taobaoGoodsId: value);
toJsonView(result);
}
});
}),
MyButton('高佣精选商品', onTap: () async {
final result = await DdTaokeSdk.instance.getHighCommissionProducts(param: HighCommissionParam(pageId: '1', pageSize: '20'));
toJsonView(result);
}),
MyButton('获取商品的推广素材数据', onTap: () async {
final result = await DdTaokeSdk.instance.getProductMaterial(productId: '32448990');
toJsonView(result);
}),
MyButton('获取热搜榜', onTap: () async {
final result = await DdTaokeSdk.instance.getHotSearchWorlds();
toJsonView(result);
}),
MyButton('获取线报列表', onTap: () async {
final result = await DdTaokeSdk.instance.getSpeiderList(param: SpeiderParam(pageId: '2', pageSize: '10', topic: '1'));
toJsonView(result);
}),
MyButton('超级搜索', onTap: () async {
final result = await DdTaokeSdk.instance.superSearch(
param: SuperSearchParam(keyWords: '辣条', pageSize: '1', type: '0', pageId: '1'));
toJsonView(result);
}),
MyButton('淘宝官方活动(一元购)', onTap: () async {
final result = await DdTaokeSdk.instance.getTaobaoOnepriceProducts(param: TaobaoOnePriceParam(pageId: '1'));
toJsonView(result);
}),
MyButton('朋友圈文案商品', onTap: () async {
final result = await DdTaokeSdk.instance.getWechat(param: WechatParam(pageId: '1', pageSize: '10'));
toJsonView(result);
}),
MyButton('获取榜单商品', onTap: () async {
final result = await DdTaokeSdk.instance.getTopProducts(param: TopParam(pageId: '1', rankType: '1'));
toJsonView(result);
}),
MyButton('九块九包邮', onTap: () async {
final result = await DdTaokeSdk.instance.getNineNineProducts(param: NineNineParam(pageId: '1', nineCid: '-1', pageSize: '20'));
toJsonView(result);
}),
MyButton('获取评论(暂无返回数据)', onTap: () async {
final result = await DdTaokeSdk.instance.getProductComments(param: CommentParam(id: '32731926'));
toJsonView(result);
}),
MyButton('店铺转链', onTap: () async {
final result = await DdTaokeSdk.instance.shopConvert(param: ShopConvertParam(sellerId: '', shopName: null, pid: null));
toJsonView(result);
}),
MyButton('获取细分类目商品', onTap: () async {
final result = await DdTaokeSdk.instance.getSubdivisionProducts(subdivisionId: '249');
toJsonView(result);
}),
MyButton('折上折', onTap: () async {
final result = await DdTaokeSdk.instance.getDiscountTwoProduct(param: DiscountTwoParam(pageId: '1', pageSize: '10', sort: DdSort.defaultSort));
toJsonView(result);
}),
MyButton('每日半价', onTap: () async {
final result = await DdTaokeSdk.instance.getHalfdayProducts();
toJsonView(result);
}),
MyButton('获取商品历史价格', onTap: () async {
final result = await DdTaokeSdk.instance.getProductHistoryPrice(productId: '32731926');
toJsonView(result);
}),
MyButton('直播好货', onTap: () async {
final result = await DdTaokeSdk.instance.getLiveDataProducts();
toJsonView(result);
}),
MyButton('每日爆品', onTap: () async {
final result = await DdTaokeSdk.instance.getHotDayProduct(param: HotdayParam(pageId: '1', pageSize: '10'));
toJsonView(result);
}),
MyButton('咚咚抢', onTap: () async {
final result = await DdTaokeSdk.instance.getDdq();
toJsonView(result);
}),
MyButton('获取线报(时间段抢购)', onTap: () async {
final result = await DdTaokeSdk.instance.getSpeiderListWithTime(param: SpeiderParam());
toJsonView(result);
}),
MyButton('活动转链', onTap: () async {
final activityId = await Get.dialog<String>(InputDialog(title: '请输入活动id'));
if (activityId != null) {
final result = await DdTaokeSdk.instance.getActivityLink(ActivityLinkParam(promotionSceneId: activityId));
toJsonView(result);
}
}),
MyButton('搜索建议', onTap: () async {
final resul = await DdTaokeSdk.instance.getSuggest();
print(resul.length);
}),
MyButton('登录', onTap: () async {
final result = DdTaokeUtil.instance.post('/api/login', data: {'username': 'admin', 'password': '123456'});
toJsonView(result);
}),
MyButton('京东9块9', onTap: () async {
final products = await DdTaokeSdk.instance.jdNinesList(5, 20, 0);
toJsonView(products);
}),
MyButton('京东产品详情', onTap: () async {
final products = await DdTaokeSdk.instance.jdDetail('10327875287');
toJsonView(products);
}),
MyButton('京东实时榜单', onTap: () async {
final products = await DdTaokeSdk.instance.jdPhb(20, 20);
toJsonView(products);
}),
MyButton('京东大牌折扣商品', onTap: () async {
final products = await DdTaokeSdk.instance.jdDpzk(1, 20);
toJsonView(products);
}),
MyButton('用户注册测试', onTap: () {
PublicApi.req.register('test', '111', '头像url');
}),
MyButton('登录测试', onTap: () {
PublicApi.req.login('test', '11122', tokenHandle: (token) {
print('登录获取的token是:$token');
}, loginFail: (msg) {
print('登录失败:$msg');
});
}),
MyButton('获取系统预设头像', onTap: () async {
final result = await PublicApi.req.getAvaPics();
toJsonView(result);
}),
MyButton('创建游戏房间', onTap: () {
PublicApi.req.createRoom(46, '梁典典进');
}),
MyButton('获取全部的游戏房间', onTap: () async {
final result = await PublicApi.req.getAllRoom();
print('获取到房间数量:${result.length}');
}),
MyButton('获取当前在线总人数', onTap: () {
PublicApi.req.getInlineUserCount();
})
],
),
),
);
}
}
更多关于Flutter电商相关功能插件dd_taoke_sdk的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter电商相关功能插件dd_taoke_sdk的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
dd_taoke_sdk
是一个用于 Flutter 的电商相关功能插件,通常用于集成淘宝客、京东联盟等电商平台的 API,实现商品搜索、订单管理、佣金计算等功能。以下是如何在 Flutter 项目中使用 dd_taoke_sdk
的基本步骤:
1. 添加依赖
首先,在 pubspec.yaml
文件中添加 dd_taoke_sdk
的依赖:
dependencies:
flutter:
sdk: flutter
dd_taoke_sdk: ^版本号 # 请替换为最新版本号
然后运行 flutter pub get
来安装依赖。
2. 初始化 SDK
在使用 dd_taoke_sdk
之前,通常需要先初始化 SDK。你可以在 main.dart
或某个初始化函数中进行初始化:
import 'package:dd_taoke_sdk/dd_taoke_sdk.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// 初始化 SDK
await DdTaokeSdk.init(
appKey: 'your_app_key', // 你的 App Key
appSecret: 'your_app_secret', // 你的 App Secret
pid: 'your_pid', // 你的推广位 ID
);
runApp(MyApp());
}
3. 使用 SDK 功能
dd_taoke_sdk
提供了多种功能,例如商品搜索、订单查询、佣金计算等。以下是一些常见的使用示例:
3.1 商品搜索
你可以使用 searchGoods
方法来搜索商品:
import 'package:dd_taoke_sdk/dd_taoke_sdk.dart';
void searchGoods() async {
try {
final result = await DdTaokeSdk.searchGoods(
keyword: '手机', // 搜索关键词
page: 1, // 页码
pageSize: 10, // 每页数量
);
print('搜索结果: $result');
} catch (e) {
print('搜索失败: $e');
}
}
3.2 订单查询
你可以使用 getOrders
方法来查询订单:
import 'package:dd_taoke_sdk/dd_taoke_sdk.dart';
void getOrders() async {
try {
final result = await DdTaokeSdk.getOrders(
startTime: '2023-01-01 00:00:00', // 开始时间
endTime: '2023-01-31 23:59:59', // 结束时间
page: 1, // 页码
pageSize: 10, // 每页数量
);
print('订单查询结果: $result');
} catch (e) {
print('订单查询失败: $e');
}
}
3.3 佣金计算
你可以使用 calculateCommission
方法来计算佣金:
import 'package:dd_taoke_sdk/dd_taoke_sdk.dart';
void calculateCommission() async {
try {
final result = await DdTaokeSdk.calculateCommission(
itemId: '123456', // 商品 ID
price: 100.0, // 商品价格
);
print('佣金计算结果: $result');
} catch (e) {
print('佣金计算失败: $e');
}
}
4. 处理回调
某些功能可能需要处理回调,例如订单状态变更通知。你可以通过设置回调来处理这些事件:
import 'package:dd_taoke_sdk/dd_taoke_sdk.dart';
void setCallback() {
DdTaokeSdk.setOrderCallback((order) {
print('订单状态变更: $order');
});
}