小程序API
精灵小程序是在支付宝小程序的基础上,增加了语音、视觉等能力。小程序基础的API,请参考:支付宝小程序的API
以下是天猫精灵扩展的API:
playTTS
- API: my.tg.playTTS
- 功能:播放TTS
- 入参:
属性 |
类型 |
必填 |
说明 |
content |
String |
是 |
tts播报的内容, string类型 |
openMic |
Boolean |
否 |
是否在播报结束后开麦,默认false |
my.tg.playTTS({
content: '请问你要选第几个',
openMic: true
});
nlpRequest
- API: my.tg.nlpRequest
- 功能:模拟语音请求
- 入参:
属性 |
类型 |
必填 |
说明 |
text |
String |
是 |
模拟语音请求的内容 |
my.tg.nlpRequest({
text: "今天天气",
});
hideNavigationBar
- API:my.call(‘hideNavigationBar’)
- 功能:隐藏顶部导航栏
showNavigationBar
- API: my.call(‘showNavigationBar’)
- 功能:显示顶部导航栏
sendKeyEvent
- API: my.call(“sendKeyEvent”)
- 功能:模拟物理按键
- 入参:
属性 |
类型 |
必填 |
说明 |
keyCode |
String |
是 |
键值,当前仅支持BACK、HOME两种键值 |
my.call("sendKeyEvent", {"keyCode": "BACK"})
useSystemSkill
- API: my.call(“useSystemSkill”)
- 功能:使用系统自带技能
- 入参:
属性 |
类型 |
必填 |
说明 |
skillName |
String |
是 |
系统内置技能的名字,目前可选值有:chat |
当前系统内置的技能说明:
skillName |
说明 |
chat |
沉寂式对话模式,将拦截所有的语音指令,不会跳出当前的技能。 对于“退出”“返回”这些指令,小程序自行可自行使用sendKeyEvent 来处理 |
- 在Page的onShow方法中,设置技能配置
Page({
onShow() {
my.call('useSystemSkill', {
skillName: 'chat'
})
},
});
- 在page的onVoiceEvent中语音操作的指令:
Page({
onShow() {
my.call('useSystemSkill', {
skillName: 'chat',
})
},
//默认的语音指令回调
onVoiceEvent(event){
my.alert({content: "onVoiceEvent = " + JSON.stringify(event)});
},
});
- 假设此时用户说“天猫精灵,凤和日丽", ?onVoiceEvent回调中的event的数据格式如下,其中的query就是原生的ASR
{
"command":"NluResult",
"domain":"AliGenie.Text",
"param":{
"domain":"小程序技能chat",
"intent":"sys.fallback",
"query":"风和日丽",
"slots":[]
}
}
useCustomSkill
- API: my.call(“useCustomSkill”)
- 功能:使用自定义技能
- 入参:
属性 |
类型 |
必填 |
说明 |
skillName |
String |
否 |
技能的名字,默认值为小程序的appid |
secretKey |
String |
是 |
技能的secretKey,从技能开放平台创建的技能中获取 |
pageId |
String |
否 |
指定页面id,和技能开放平台中的页面意图配置相匹配,会优先使用页面绑定的意图 |
- 在Page的onShow方法中,设置技能配置
Page({
onShow() {
my.call('useCustomSkill', {
secretKey: 'your secretKey',
pageId: 'pages/index/index'
})
},
});
startNativeApp
- API: my.call(‘startNativeApp’)
- 功能:启动Native应用
- 参数
属性 |
类型 |
必填 |
说明 |
uri |
String |
否 |
启动 Activity 的 Uri |
action |
String |
否 |
启动Activity时,设置的action参数,默认为“android.intent.action.VIEW” |
param |
String |
否 |
传给要启动的Activity的Intent extra参数. 子参数将通过 putExtra 方式添加进 Intent 中,可通过 getStringExtra()方法获取,(注意: 所有子参数类型必须都是 String 类型) |
my.call('startNativeApp', {
// 通过URI的方式 start Activity: 启动通讯录
uri: 'genie://com.alibaba.ailabs.genie.contacts/page/home',
param: {// 可选,传入intent中的extra中的参数,注意必须为String类型
"extra1": "value1",
"interger": "1",
"extra2": "Hello native app",
}
},
function(result) {
my.alert({
content: JSON.stringify(result)
})
})
getGenieDeviceInfo
my.call('getGenieDeviceInfo', function(result) {
my.alert({
content: JSON.stringify(result)
})
})
{
"code":"0",
"data":{
"uuid":"real uuid" // 设备uuid
},
"msg":"Success"
}
FAQ
关于此文档暂时还没有FAQ