* 该功能模块主要包含提醒、闹钟、备忘、记账四个功能,这四个功能都拥有新建、删除、撤销、修改、查询、播报操作,其对应的处理器是AssistProcessor和AssistPresenter。
* 开发者可以根据robot应答内容中的动作id区分是哪个功能,然后通过action指令确定是什么操作。
以闹钟为例:
~~~
输入:中午12点半叫我起床
输出:
{
"actions": [
{
"action": "CREATE",
"target": {
"created": 1499221259243,
"frequency": 0,
"id": 309,
"item": "闹钟",
"recyle": 0,
"remindTime": 1499229000200,
"scheduler": [
{
"interval": 0,
"when": 1499229000200
}
],
"sid": "595c4d0bb2765b718de3cfb9",
"terminalId": "df28f1f276ba5baa9d51d8d066bb61c1",
"timestamp": 1499221259243,
"valid": 1
}
}
],
"motions": [
...
],
"outc": "0",
"rtext": "好的,中午12点半叫您",
"synthetise": "",
"ttext": "删除这个闹钟/改为下午3点/将工作日改为周末/念一下/关闭这个闹钟"
}
语义解释:新建(action指令:CREATE)一个时间是12:30(when=1499229000200)且仅一次(interval=0)的闹钟(动作id=309)。
~~~
* 页面效果图:
![](https://box.kancloud.cn/94d8e73697d07854c0ec1c3ebb2a4766_198x355.png)--![](https://box.kancloud.cn/07d2d6fb0b6598306e45fabc41c68c08_197x355.png)
* 特别的,新建备忘时,需要将语音识别切换到无限时识别模式,进行长时间的备忘内容录入。并且在取消或完成备忘创建时,需要切换回讯飞正常识别模式,保证后续对话正常。AssistPresenter中设置识别模式的方法如下:
~~~
/**
* 参数设置参照第3.2节-语音识别模块
*/
public void switchRecordMode(boolean mode, int long_record_mode)
~~~
* 数据同步说明,在本功能模块主要是进行某个功能数据的增删改查操作。如果是对话发起,则是robot服务器端先进行数据的更新,然后再回复客户端,此时客户端只需显示视图并更新数据,不需要同步;而如果是通过视图手动触发操作,则是本地客户端先进行数据的更新,此时服务器端尚未得知数据已更新,所以需要同步上传,通知服务器端更新数据(具体同步上传操作见第 3.1 节-数据同步更新上传操作)。