shushangyun-masdk

1.2.2 • Public • Published

shushangyun-masdk

数商云MA 小程序端sdk

  • 触发功能
  • 投放功能

安装

  1. 安装依赖:进到项目根目录运行以下命令
npm install --save shushangyun-masdk
  1. 使用用微信开发者工具点击【工具】菜单中的【构建npm】 相关文档请查看:https://developers.weixin.qq.com/miniprogram/dev/devtools/npm.html

提示:如果提示找不到目录的错误,可以先在项目根目录运行 npm init命令

以上步骤如果正常执行,则可以看到项目会多了一个 miniprogram_npm/shushangyun-masdk的文件夹,结构如下:

|--shushangyun-masdk
|   |--components
|       |--banner.js
|       |--banner.json
|       |--banner.wxml
|       |--banner.wxss
|       |--trigger.js
|       |--trigger.json
|       |--trigger.wxml
|       |--trigger.wxss
|   |--pages
|       |--webview.js
|       |--webview.json
|       |--webview.wxml
|       |--webview.wxss
|   |--inxex.js

sdk包里有两个Comonent: banner和trigger,还有一个Page:webview

index.js是sdk的核心文件

使用

可以查看miniprogram_dev目录里的demo,注意:demo中的app.json文件中的配置与正式使用的目录结构不同,正式使用请参考下面的配置

1.在项目的app.json中引用组件和配置页面

"pages":[ //在pages数组中增加下面一行
    ...
    "miniprogram_npm/shushangyun-masdk/pages/webview"
 ],
"usingComponents": { //在usingCompnents对象中加下以下两行
    ...
     "banner":"miniprogram_npm/shushangyun-masdk/components/banner",
     "trigger":"miniprogram_npm/shushangyun-masdk/components/trigger"
 }

2.初始化sdk, 建议在项目的app.js中引入sdk核心文件并初始化(即一打开小程序就初始化)

//引入sdk文件,并把它加进App对象中。在其他页面中想要引入sdk,可以同样使用以下方式
const masdk = require('shushangyun-masdk');


App({
    data: {},
    onLaunch: function() {

        //初始化sdk,应该在小程序打开的时候就初始化。
        masdk.init({
            appKey:"",//应用key,必填
            appSecret:"",//应用secret,必填
            debug:true,//是否开启debug模式,选填,默认为fasle
            domain:null,//服务器地址,一般不用配置此项,此项只针对私有化部署客户       webviewUrl:null,//用来打开活动的页面,选填,默认值是组件提供的webview页面:miniprogram_npm/shushangyun-masdk/pages/webview,如果有需要,此项指针对需要使用自己定义的页面去打开活动的开发者
        })

        //登录一个测试用户
        //上传用户信息,这个方法应该在用户登录之后调用,此例子直接在onLaunch方法里调用了。正式使用时应该在登录用户(获取到用户信息)时使用
        masdk.infosUser({
          userid: "user12345",
          sex: "男",
          province: "广东省"
        });

      }
})

3.使用触发功能(trigger)和投放功能(banner)

在需要用到触发功能的页面中引入sdk,比如demo页面。

demo.js代码:

const masdk = require('shushangyun-masdk');

Page({

  data: {
    param: {},//触发返回的数据
    debug: [],
    swiperOptoins: { //投放组件轮播图的配置,配置项请参考小程序的swiper组件
      indicatorDots: true,
      displayMultipleItems: 1
    }
  },

  onShow: function () {
  },

  triggerDemo(){

    //调用sdk的trigger方法
    masdk.trigger({
      userid: '1', //触发用户id
      eventKey: 'datu'//事件key
    }).then((res)=> {
      this.setData({
        param: res.data //触发成功后,把返回的数据赋值给param参数(wxml文件引入trigger组件传入此参数)
      })
    })
  }
})

demo.wxml代码

<button size="mini" type="primary" plain="true" bindtap="triggerDemo">触发Demo</button>


<!--banner组件设置的地方就会显示投放的数据-->
<banner position-key="abc" swiper-options="{{swiperOptoins}}" default-image="/public/down.png"/>


<!--引入这个trigger组件显示触发图标-->
<trigger param="{{param}}"/>

触发和投放的高级用法

除上了面的用法之外,某些开发者需要个性化的处理投放和触发结果。这种情况可以直接使用sdk的方法来获取投放和触发的数据,然后自行处理数据。

1.触发接口的调用:

    //和普通用法基本一致。只是不使用sdk提供的trigger组件。
    masdk.trigger({
        userid: '1', //触发用户id
        eventKey: 'datu'//事件key
    }).then((res)=> {
        //在这里拿到res.data后,自行处理
    })

2.投放接口的调用:

    masdk.banner({
        userid: '1', //触发用户id
        positionKey: 'banner'
    }).then((res)=> {
        //在这里拿到res.data后,自行处理
    })

sdk各个方法参数说明:

方法名 参数 类型 是否必填 说明
init appKey string 应用key
appSecret string 应用secret
debug boolean 是否开启debug模式,如果设置为true,调用接口时,接口返回的数据中会带有debug字段,提供一些调试信息
domain string 服务器域名。针对私有部署商家指向到自己的服务器,一般商家不用设置
init() 方法用于初始化sdk,参数是sdk的相关配置。因应在使用sdk其他功能前调用
infosUser userid string 用户的唯一标识,支持数字加字母组合的字符串,不支持中文和特殊字符等
其他 string,int等 用户表中的其他字段:比如email,mobile等等,具体字段,每个商家都可能不同,根据创建的用户表字段来定
infosUser() 方法用来登录当前用户,并把当前用户同步到ma系统。应该在小程序获取到用户数据时调用
trigger userid string 用户唯一标识,如果在调用triger方法前调用过infosUser,则可以不传此参数
eventKey string 事件key
conditions object 触发条件的参数,key-value格式。例如:{"age":18,"price":100}
trigger() 方法用来触发相关活动,在需要的地方调用。比如登录成功后,支付成功后等等
banner userid string 用户唯一标识,如果在调用triger方法前调用过infosUser,则可以不传此参数
positionKey string 位置key
conditions object 投放条件的参数,key-value格式。例如:{"age":18,"price":100}
banner() 一般情况下不需要直接调用本方法,直接使用banner组件即可

Readme

Keywords

none

Package Sidebar

Install

npm i shushangyun-masdk

Weekly Downloads

3

Version

1.2.2

License

MIT

Unpacked Size

87.1 kB

Total Files

33

Last publish

Collaborators

  • shushangyun