Flutter电商相关功能插件dd_taoke_sdk的使用

发布于 1周前 作者 sinazl 来自 Flutter

Flutter电商相关功能插件dd_taoke_sdk的使用

购物app通用接口 flutter 版本

仅供学习使用,可以直接运行例子。

pub

新版本

  • 新增京东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

1 回复

更多关于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');
  });
}
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!