文档中心 > 店铺动态卡片-开发指引

一、申请权益插件


到插件市场申请权益中心插件,申请的应用选择消费者端应用。



二、申请权限包


申请 商家应用-权益中心插件权限包(提交工单申请,需要提供消费者端appid)。


三、前置页面配置


校验入口:https://smf.taobao.com/investment/verify.htm

输入申请的消费者端应用的appID。



配置页面配置好需要展示的权益类型,券类型以及奖池类型后,点击完成配置。


请注意:

针对优惠券的权益配置部分,目前支持【店铺券-全网自动推广】 【商品券-全网自动推广】【店铺券-商家抽奖平台】 【店铺券-购物小程序专享券】 【商品券-购物小程序专享券】等渠道,其中全网自动推广渠道券为默认会在相应渠道透出的,所有消费者可见。其他渠道券为不会自动透出,发送给特定消费者才可见,其中推荐使用购物小程序专属渠道。



四、代码开发


在商家端应用里提供权益插件的访问入口。


1.app.json文件配置


"plugins": {
  "myPlugin": {
      "version": "0.0.12",  
      "provider": "3000000002026202"  
    }  
},


2.引用插件页面的相关代码


/*axml代码,跳转插件方式*/ 跳转到插件页面: 
跳转方式1: 
<view class="nav" onTap="navigateToPlugin">To Plugin Page (using my.navigate)</view>  
跳转方式2: 
<navigator url="plugin://myPlugin/orightindex-page" class="nav">To Plugin Page (using navigator)</navigator>   
/*js代码*/ 
//引入插件 
var plugin = requirePlugin("myPlugin"); 
//这个bridge用于和插件进行数据通信 
const bridge = {
  bizCode: "业务身份", 
//此处输入想配置的业务身份(消费者端appid)  
//这个方法用于获取插件中用户选择的奖池ID  
  getCheckBenefitID({ ename, poolID }) {
     console.log(poolID, ename); //此处可以使用云数据库接口或者云函数接口获取ename,用于后续接口调用  
  } 
} 
Page({
  data: {},
  onLoad() {  plugin.setBridge(bridge);  }, 
  onReady() {  },  //这个方法用于跳转到插件页面   
  navigateToPlugin() {
     my.navigateTo({  url: 'plugin://myPlugin/orightindex-page',  });  
  } 
});


五、使用插件,创建权益及奖池


IDE中生成对应的商家端预览码,商家账号登录PC千牛客户端中使用小程序,使用插件创建权益及奖池。

PC千牛预览: 点击查看


1.创建权益


2.创建奖池


3.勾选奖池,或取ename


勾选这个单选按钮后,会自动触发页面中的getCheckBenefitID方法,在这个方法中做逻辑处理,获取ename。


六、抽奖接口调用,消费者进行抽奖


alibaba.benefit.draw

抽奖奖池,进入链接查看详细接口文档:点击查看

Tips:

①(ename)奖池ename在勾选奖池时可以获得。

② 该接口需获取到C端用户的授权才能使用,需要在配套的C端手淘商家应用内调用my.authorize获取scope.benefitSend,由用户授权,之后调用alibaba.benefit.draw才能抽奖成功。


消费者端应用代码:

1.初始化云sdk, 请参考文档: 点击查看

2.用户授权,接口调用。


/*axml代码*/ 
<view>  <button size="default" type="primary" onTap="draw">draw</button> </view>  
/*js代码*/ 
const { cloud } = getApp(); 
Page({
  data: {},
  onLoad(query) {
  // 页面加载  // 先进行用户授权,scopes为 scope.benefitSend  
     my.authorize({
        scopes:'scope.benefitSend',
        success:res=>{
           my.alert({  title:'success',  content:JSON.stringify(res) })  
        }  
     })  
  },  
  async draw(){
     try {
        const result = await cloud.topApi.invoke({
          api: 'alibaba.benefit.draw',
          data:{'ename':'传入插件中获取的奖池ename','app_name':'promotioncenter-消费者端appid'}  
        });  
        my.alert({  content: 'success ' + JSON.stringify(result)  });  
     } catch (e) {  my.alert({ content: 'error ' + e.message })  }  
  }
});


FAQ

关于此文档暂时还没有FAQ
返回
顶部