【生活满是幸福|技能进修】补全计划③配置服务
生****福 · 生****福 发布于2017-12-27 11:01 浏览:1149 回复:1

    配置服务需要五步走:配置生成Key的环境、重新生成Key、复制Public key到技能平台、修改Bot.js、启动服务。

    1、配置生成Key环境

    一般情况这一步不需要处理,不过保险起见走一下也不会耽误多长时间。

    安装openssl中途需要 输入 y 确认一下

 [root@instance-88t9746j personal-income-tax]# yum install openssl
 Loaded plugins: langpacks, versionlock
 Resolving Dependencies
 --> Running transaction check
 ---> Package openssl.x86_64 1:1.0.1e-60.el7_3.1 will be updated
 ---> Package openssl.x86_64 1:1.0.2k-8.el7 will be an update
 --> Processing Dependency: openssl-libs(x86-64) = 1:1.0.2k-8.el7 for package: 1:openssl-1.0.2k-8.el7.x86_64
 --> Processing Dependency: libcrypto.so.10(OPENSSL_1.0.2)(64bit) for package: 1:openssl-1.0.2k-8.el7.x86_64
 --> Running transaction check
 ---> Package openssl-libs.x86_64 1:1.0.1e-60.el7_3.1 will be updated
 ---> Package openssl-libs.x86_64 1:1.0.2k-8.el7 will be an update
 --> Finished Dependency Resolution

 Dependencies Resolved

 ==========================================================================================
  Package                Arch             Version                     Repository      Size
 ==========================================================================================
 Updating:
  openssl                x86_64           1:1.0.2k-8.el7              base           492 k
 Updating for dependencies:
  openssl-libs           x86_64           1:1.0.2k-8.el7              base           1.2 M

 Transaction Summary
 ==========================================================================================
 Upgrade  1 Package (+1 Dependent package)

 Total download size: 1.7 M
 Is this ok [y/d/N]: y
 Downloading packages:
 Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
 (1/2): openssl-1.0.2k-8.el7.x86_64.rpm                             | 492 kB  00:00:00     
 (2/2): openssl-libs-1.0.2k-8.el7.x86_64.rpm                        | 1.2 MB  00:00:00     
 ------------------------------------------------------------------------------------------
 Total                                                     5.4 MB/s | 1.7 MB  00:00:00     
 Running transaction check
 Running transaction test
 Transaction test succeeded
 Running transaction
   Updating   : 1:openssl-libs-1.0.2k-8.el7.x86_64                                     1/4 
   Updating   : 1:openssl-1.0.2k-8.el7.x86_64                                          2/4 
   Cleanup    : 1:openssl-1.0.1e-60.el7_3.1.x86_64                                     3/4 
   Cleanup    : 1:openssl-libs-1.0.1e-60.el7_3.1.x86_64                                4/4 
   Verifying  : 1:openssl-libs-1.0.2k-8.el7.x86_64                                     1/4 
   Verifying  : 1:openssl-1.0.2k-8.el7.x86_64                                          2/4 
   Verifying  : 1:openssl-1.0.1e-60.el7_3.1.x86_64                                     3/4 
   Verifying  : 1:openssl-libs-1.0.1e-60.el7_3.1.x86_64                                4/4 

 Updated:
   openssl.x86_64 1:1.0.2k-8.el7                                                           

 Dependency Updated:
   openssl-libs.x86_64 1:1.0.2k-8.el7                                                      

 Complete!

   2、重新生成Key

    安全起见先备份原有的,就算坏了也可以重新再来。要有一个经常备份的好习惯

    当然目前这两个key基本上可以删除了,不过留着也不影响其他的。还是留着吧。

 [root@instance-88t9746j personal-income-tax]# mv rsa_private_key.pem rsa_private_key.pem.bk 
 [root@instance-88t9746j personal-income-tax]# mv rsa_public_key.pem rsa_public_key.pem.bk

    备份好了,开始生成新Key了

 [root@instance-88t9746j personal-income-tax]# openssl genrsa -out rsa_private_key.pem 1024 
 Generating RSA private key, 1024 bit long modulus
 ...........++++++
 ...................++++++
 e is 65537 (0x10001)
 [root@instance-88t9746j personal-income-tax]# ls
 Bot.js       control.sh  rsa_private_key.pem     rsa_public_key.pem.bk
 bot-request  index.js    rsa_private_key.pem.bk  test.sh
 [root@instance-88t9746j personal-income-tax]# openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
 writing RSA key
 [root@instance-88t9746j personal-income-tax]# ls
 Bot.js       control.sh  rsa_private_key.pem     rsa_public_key.pem     test.sh
 bot-request  index.js    rsa_private_key.pem.bk  rsa_public_key.pem.bk

    3.复制Public key到技能平台

 [root@instance-88t9746j personal-income-tax]# nano rsa_public_key.pem

    

TIM截图20171227105439.png

    复制Public Key 到 Public Key文本内点击保存。

    

TIM截图20171227105627.png

    部署地址就是百度云的公网 IP + 端口

   公网IP在百度云可以查看

TIM截图20171227105913.png

    端口就是index.js最下面监听的端口

    

TIM截图20171227110050.png


    4.根据自己的Bot修改,demo中的Bot文件即可。这是我修改的留言Bot,暂时还不完善。

var BaseBot = require('./../../index');

class Bot extends BaseBot{
    constructor (postData) {
        super(postData);

		
		this.addLaunchHandler(()=>{
            return {
                outputSpeech: '欢迎使用留言!'
            };
        });
		
        this.addSessionEndedHandler(() => {
            this.endSession();
            return {
                outputSpeech: '谢谢使用留言',
            };
        });

        this.addIntentHandler('pers.wtt.msg.help', () => {

            return {
                 outputSpeech: '很高兴为你服务,1、创建留言:对小黑板儿说 创建留言。2、查看留言:对小黑板儿说 有留言吗。3、删除留言:对小黑板儿说 删除留言。'
            };
           
        });

        this.addIntentHandler('pers.wtt.msg.query', () => {

            let card = new Bot.Card.TextCard('正在为您查找留言信息');
            return {
                card: card,
                outputSpeech: '正在为您查找留言信息'
            };
           
        });

        this.addIntentHandler('pers.wtt.msg.operate', () => {
            let operate = this.getSlot('operate');

            if (!operate) {
                let card = new Bot.Card.TextCard('你要做什么操作呢');
                this.nlu.ask('operate');
                return {
                    card: card,
                    outputSpeech: '你要做什么操作'
                };
            }else{
                if(operate=='添加'||operate=='增加'||operate=='新增'||operate=='创建'){
					// let directive = new Bot.Directive.MsgOperate.Operate("ADD");
                    // let directive = new Bot.Directive.AudioPlayer.Stop();
                    //如果槽位不为空
                    let text = '请说出留言内容';
                    let card = new Bot.Card.TextCard(text);
                    return {
                        card: card,
                       outputSpeech: ''+ text +''
                    };
					
                }else if(operate=='删除'){
                    //如果槽位不为空
                    let text = '留言信息已经删除';
                    let card = new Bot.Card.TextCard(text);

					// 如果有异步操作,可以返回一个promise
					return new Promise(function(resolve, reject){
						resolve({
							card : card,
							outputSpeech: ''+ text +''
						});
					});
                }

            }
        });
	
    }
}

module.exports = Bot;


修改后 用xshell上传即可。

    命令

 rm Bot.js
 rz

    上传之前需要删除原来的文件,否则会提示上传失败。选择Bot文件上传。

    5.启动服务

    执行

 node index.js

    启动服务,看到如下内容表示已经启动成功

    

TIM截图20171227104139.png


点赞  ( 0 )
收藏
评论(1)
共1条回复 最后由l****u回复于2017-12-27 12:01
#2l****u回复于2017-12-27 12:01:08

學習了

0
TOP