Rokid开发者社区skill之【历史上的今天】之简介+玩法+设计+实现+心得
{
"name": "month",
"type": "ROKID.NUMBER_ZH"
},
{
"name": "day",
"type": "ROKID.NUMBER_ZH"
}
{
"name": "oneday",
"type": "ROKID.DAY_ZH"
}
编写"HISTORY_DAY":function(){
try{
var res = "xxx"; // 需要若琪读出的文字内容
this.emit(":tts",{ tts: res }); // 正常完成意图函数时callback
this.callback(null);
}catch(e){
this.callback(e); // 报错时callback错误
}
}
"HISTORY_DAY":function(){
try{
var oneday = Rokid.param.request.content.slots.oneday;
var monthori = Rokid.param.request.content.slots.month;
var dayori = Rokid.param.request.content.slots.day;
var monthurl = '';
var dayurl = '';
if (oneday){
var dd = new Date();
dd.setDate(dd.getDate() + onedaydictText[oneday]);
monthori = dd.getMonth()+;
dayori = dd.getDate();
monthurl = formatMonth(monthori);
dayurl = formatDay(dayori);
} else{
monthurl = formatMonth(monthori);
dayurl = formatDay(dayori);
}
result = Rokid.sync_request('GET','https://baike.baidu.com/cms/home/eventsOnHistory/' + monthurl + '.json');
result = Rokid.resHandler(result);
var hdori = result[monthurl][monthurl+dayurl];
var hdorilen = hdori.length;
var res = '好的,为您播报' + monthori + '月' + dayori + '号' + '的历史。';
for (var index = hdorilen-; index >= ; index --){
var yearori = hdori[index].year;
var yearstr = '';
if (parseInt(yearori) >= ) {
yearstr = yearori + '年';
}else{
yearstr = '公元前' + Math.abs(yearori) + '年';
}
var title = hdori[index].title.replace(/<.*?>/ig,"").replace("\n","").replace("。","");
res += yearstr + title + '。';
}
res += monthori + '月' + dayori + '号' + '的历史已为您播报完毕,请问您还想了解几月几号的历史呢?';
this.emit(":tts",{ tts: res });
this.callback(null);
}catch(e){
this.callback(e);
}
}

Rokid开发者社区skill之【历史上的今天】之简介+玩法+设计+实现+心得的更多相关文章
- Rokid开发者社区skill之【历史上的今天】
技能名称:历史上的今天 入口词:打开历史上的今天 语音交互:(有些是先写上) { "intents": [ { "intent": "PAUSE_HI ...
- sae-v2ex 一个运行在SAE上的类似v2ex的轻型python论坛 - 技术讨论 - 云计算开发者社区 - Powered by Discuz!
sae-v2ex 一个运行在SAE上的类似v2ex的轻型python论坛 - 技术讨论 - 云计算开发者社区 - Powered by Discuz! sae-v2ex 一个运行在SAE上的类似v2e ...
- 为什么开发者热衷在Stack Overflow上查阅API文档?
摘要:一项新研究跟踪了Android开发者的访问历史,发现开发者多达二分之一的文档是从Stack Overflow上获取到的,而Stack Overflow上的示例也多于官方指南,开发者通过搜索更多时 ...
- 国内首个微信小程序开发者社区www.mntuku.cn
微信小程序开发者社区-微信小程序开发教程-微信小程序最新资讯 - www.mntuku.cn .本站作为专业的微信小程序开发者社区为大家提供:微信小程序开发者交流平台,微信小程序开发教程,微信小程序定 ...
- 移动端IM开发者必读(二):史上最全移动弱网络优化方法总结
1.前言 本文接上篇<移动端IM开发者必读(一):通俗易懂,理解移动网络的“弱”和“慢”>,关于移动网络的主要特性,在上篇中已进行过详细地阐述,本文将针对上篇中提到的特性,结合我们的实践经 ...
- go, iris , nuxt, 服务端渲染等技术在helloworld开发者社区中的应用与实践
大家好,helloworld.net 上线已经有近半年的时间了,转眼过的好快,在这半年的时间里,迭代了近10多个版本,优化了很多的体验,交互上的不足之处,同时也上线了我们的安卓 app, 苹果的因为还 ...
- Linux历史上线程的3种实现模型
一.概述 这里以Linux为例.Linux历史上,最开始使用的线程是LinuxThreads,但Li ...
- UWP Windows历史上最漂亮的UWP框架出炉!!!
UWP Windows历史上最漂亮的UWP框架出炉!!! 本框架基于微软的开源项目WTS开发,并在其基础上增加了FDS(流畅设计元素,高光.亚克力等).多语言系统.沉浸式体验(扩展内容到标题栏) 同时 ...
- 未来-IOT-Aliyun:阿里云 IOT - 开发者社区
ylbtech-未来-IOT-Aliyun:阿里云 IOT - 开发者社区 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 1. https://dev.iot. ...
随机推荐
- exception java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment
exception java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironmen ...
- tar压缩解压
把所有jpg文件和temp文件夹压缩到 jpg.tar.gz 压缩文件中 tar -czvf jpg.tar.gz *.jpg temp 把jpg.tar.gz 解压缩当前文件中 tar -xzv ...
- PmExceptionMapper.xml 20160712
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-/ ...
- 深入PHP内核之全局变量
在阅读PHP源码的时候,会遇到很多诸如:CG(),EG() ,PG(),FG()这样的宏,如果不了解这些宏的意义,会给理解源码造成很大困难 EG().这个宏可以用来访问符号表,函数,资源信息和常量 C ...
- k8s内核参数调优
cat /etc/sysctl.conf kernel.core_uses_pid=1 kernel.pid_max=4194303 kernel.ctrl-alt-del=1 # kernel.co ...
- docker login harbor出现的报错Error response from daemon: Get https://172.16.1.99/v1/users/: dial tcp 172.16.1.99:443: getsockopt: connection refused解决方法
出现的问题 [root@master01 ~]# docker login 172.16.1.99 Username: admin Password: Error response from daem ...
- 【转载】MyEclipse使用指南(精简版)
1.安装 2.注册 3.配置 window ----> preferences (1)配置 JDK java--->Installed JREs --> Add ---> JR ...
- iOS中的#import和class区别
在ios中我们经常会在.h和.m中引入一些类啊等等一般用的是#import来进行声明,你们可能也见到在.h文件进用@class来声明的,那么#import和@class进行声明 到底有什么的区别呢?下 ...
- PHP API中,MYSQL与MYSQLI的持久连接区别
转载自:http://www.cnxct.com/some-differences-between-mysql-and-mysqli-of-persistent-connection/ 很久很久以前, ...
- java提高篇之详解内部类
可以将一个类的定义放在另一个类的定义内部,这就是内部类. 内部类是一个非常有用的特性但又比较难理解使用的特性(鄙人到现在都没有怎么使用过内部类,对内部类也只是略知一二). 第一次见面 内部类我们从外面 ...