SDK
Android

Android

导入工程

第一步: 在项目的根编译脚本(build.gradle)中加入JitPack库

allprojects {
    repositories {
        maven { url "https://jitpack.io" }
        // ...
    }
}

第二步: 在项目的应用目录编译脚本(build.gradle)中加入SDK依赖

dependencies {
    implementation 'com.github.TimeHut:THShop_Android:V1.0'
}

初始化SDK

在应用的BaseApplication的onCreate()方法中初始化SDK:

PixMatrix.init(application, sdkKey); // sdkKey从管理后台中获取

启动商城首页

通过Intent方法启动商城Web首页

startActivity(new Intent(context, PMWebActivity.class));

与SDK交互

上传商品制作的图片

当用户点击SDK界面中添加自定义图片按钮,SDK会通过 EventBus 发送以下事件:

class PMSelectImgsEvent(val fromWhere: String,
                          val selectedIds: ArrayList<String>?= null, // 已经选择过的照片id
                          val minImageCount:Int = 1, // 最少照片数量
                          val maxImageCount:Int = 1)  // 最大照片数量

客户端处理好图片后通过 EventBus 发送以下结构事件回调给 SDK:

class PMSelectImgsCallback(val fromWhere: String, val images: Array<PMPhoto>)

PMPhoto 结构为

class PMPhoto {
    var id: String? = null
    var type: String? = null
    var service: String? = null
    var picture: String? = null
    var pictureLite: String? = null
    var picture_width = 0
    var picture_height = 0
    var content: String? = null
    var taken_at_gmt: Long = 0
    var latitude = 0.0
    var longitude = 0.0
}

用户反馈

当用户点击 SDK 界面中的用户反馈按钮,SDK会通过 EventBus 发送以下事件:

class PMFeedbackEvent(val fromWhere: String)

自定义接口

app可通过直接调用内部接口实现自定义功能及界面

  • 获取商品列表
PMServerFactory.INSTANCE.getProducts(callback);
  • 获取单个商品详情
PMServerFactory.INSTANCE.getProduct(id, callback);
  • 获取购物车内容
PMServerFactory.INSTANCE.getShoppingCart(callback);
  • 加入购物车
PMServerFactory.INSTANCE.addItemToShoppingCart(variantId, customizableId, quantity, callback);
  • 删除购物车内容
PMServerFactory.INSTANCE.deleteItemsFromShoppingCart(data, callback);
class Data(val ids: ArrayList<Long>)
  • 获取订单
PMServerFactory.INSTANCE.getOrders(callback);
  • 获取订单详情
PMServerFactory.INSTANCE.getOrder(id, callback);
  • 删除订单
PMServerFactory.INSTANCE.deleteOrder(id, callback);
  • 创建订单
PMServerFactory.INSTANCE.buildOrder(list, callback);
  • 提交订单
PMServerFactory.INSTANCE.submitOrder(list, list2, callback);
  • 支付订单
PMServerFactory.INSTANCE.payOrder(id, payType, callback);