开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
收藏
订阅更新
我的文档
设置
支付宝 iot 小程序是一种实现 iot 设备(如:蜻蜓机具)二次开发的方法。iot 小程序开放了一系列的 api 和组件,开发者可以利用这些 api 和组件开发适合自己门店需求的小程序,并通过 iot 设备呈现。
本文主要介绍如何使用 iot 小程序的 收银台刷脸核身语音播报连接打印机 这几个 api 开发一个多功能的 iot 小程序。 查看示例代码,点击右上角 下载 即可获取 iot 小程序多功能代码包。

案例介绍
作为一个门店,基本的需求就是收银,那么需要给蜻蜓设备添加一个 收银功能。
当消费者是门店会员时,需要验证身份获取会员权益,那么可以通过给蜻蜓设备添加一个 刷脸核身 功能实现。
消费结算后需要打印小票,蜻蜓设备可以添加 连接打印机 的功能。
另外蜻蜓设备附加 语音播报 功能,对于自助结账的场景下可以让用户有个良好的消费体验。
功能介绍
收银功能:iot 小程序通过调用 收银台 my.ix.startapp(启动收银台)api,使小程序接入收银功能,推送小程序到蜻蜓设备上。
刷脸核身: iot 小程序通过调用 刷脸核身 my.ix.faceverify api,使小程序可以通过刷脸来验证用户身份,推送到蜻蜓设备上后可以唤起蜻蜓设备的前端摄像头进行刷脸。
连接打印机:iot 小程序通过调用 查询连接打印机 my.ix.queryprinter api,使小程序可以监听打印机状态,若蜻蜓设备连接打印机,则可以通过 my.ix.printer 打印小票 api(本案例未实现)向打印机发送打印指令。
播放自定义语音:iot 小程序通过调用 语音播报 api,使小程序附加了合成电子语音并播放语音的功能,通过蜻蜓设备的喇叭可以播放语音。
功能实现
如下 herbox 所示蜻蜓设备推送小程序后界面呈现 收银功能刷脸核身播放自定义语音连接打印机 四个功能的按钮,点击每个按钮执行对应的功能,点击 下载 即可获取 iot 小程序多功能代码包。
示例代码
可查看:
说明:本案例对于以上功能的实现仅限于 iot 小程序前端实现,若涉及到服务端请开发者自行开发;本案例开发的功能仅作为示例。
前提条件
完成 开发机绑定小程序 appid
获取模板
开发者在打开 小程序开发者工具(ide)时,选择 支付宝 iot,选择 iot 小程序模板,即可进入 iot 小程序的开发模板,如下图所示。
新建iot小程序.png

开发原理介绍
通用逻辑
1. 在 index.js 中定义数据 将所有 button 的值定义在 buttonlist 中。
2. 在 index.axml 中遍历 buttonlist 一次生成对应 button。
3. 点击按钮时会触发点击事件 iconhandle
4. 小程序会在 iconhandle 函数中根据用户点击按钮的 type 属性,选择对应的功能实现。例如:点击 刷脸核身 按钮,则其 type 属性为 face 会调用 smilepay() 实现功能。
收银功能
功能实现
1. 在 index.js 中初始化收银台细节信息,设置显示细节参数 showdetailboard 的值为 false。demo 中将收银信息定义在 cashierdetail 中,实际开发请根据实际情况生成。
2. 点击 唤起收银台 按钮,触发点击事件 iconhandle(可查看 通用逻辑)。在 iconhandle() 函数中将 showdetailboard 赋值为 true 显示收银细节。商家可以选择是否需要发送付款码,确定信息后点击 启动收银台 按钮 触发点击事件 callcashier
3. 触发点击事件后 callcashier() 函数会将 showdetailboard 赋值为 false 即隐藏收银细节,且该函数中封装了 jsapi my.ix.startapp 传入指定参数可以唤起收银台。且会根据商家是否选择发送付款码选择是否调用 sendcode() 函数,该函数封装了jsapi my.ix.writehid 用于发送付款码。
4. demo 中收银信息显示隐藏逻辑:
在 index.axml 中动态添加一个 classname 表示内容是否被选中,即 showdetailboard 参数为 true or false
showdetailboardtrue 时会按照 index.acss 中定义好的格式渲染收银细节窗口大小等样式,当 showdetailboardfalse 时,class 属性中不会有 'active' 值此时不会出现收银细节窗口。以此来控制交易信息细节的出现和隐藏。
服务端实现
服务端订单支付处理请根据实际使用场景调用下列接口,具体实现请开发者自行设计:
(统一收单交易创建接口)
(统一收单交易关闭接口)
alipay.trade.precreate(统一收单线下交易预创建)
alipay.trade.pay(统一收单交易支付接口)
(统一收单交易查询)
(统一收单交易撤销接口)
刷脸核身
点击 刷脸核身 按钮,触发点击事件会调用 smilepay() 函数(可查看 通用逻辑),该函数封装了 jsapi my.ix.faceverify 用于实现刷脸核身功能。
播放自定义语音
点击 播放自定义语音 按钮,触发点击事件然后会调用 voice() 函数(可查看 通用逻辑),该函数封装了 jsapi 用于播放自定义语音。使用者可以调整 speechword 参数的值以此来自定义语音提示内容。
连接打印机
点击 连接打印机 按钮触发点击事件,然后会调用 printer() 函数(可查看 通用逻辑),该函数封装了 jsapi my.ix.queryprinter 用于查询连接的打印机,成功后会使用 jsapi my.ix.printer 向打印机传递打印指令。
内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 2022 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图