🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
* 该功能模块主要包含提醒、闹钟、备忘、记账四个功能,这四个功能都拥有新建、删除、撤销、修改、查询、播报操作,其对应的处理器是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 节-数据同步更新上传操作)。