1.2.2 • Published 2 months ago
shushangyun-masdk v1.2.2
shushangyun-masdk
数商云MA 小程序端sdk
- 触发功能
- 投放功能
安装
- 安装依赖:进到项目根目录运行以下命令
npm install --save shushangyun-masdk
- 使用用微信开发者工具点击【工具】菜单中的【构建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
:webviewindex.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后,自行处理
})