编辑代码

//引入request模块,用于网络请求
const rq = require('request-promise');


AIUI.create("v2.1",  async function(aiui,  err){
    var requestObject = aiui.getRequest().getObject();
    console.log(requestObject);
    var response = aiui.getResponse();
    console.log(response);
    var updatedIntent = aiui.getUpdatedIntent();
    console.log(updatedIntent);
    // 判断请求类型
    var requestType =requestObject.request.type;
    console.log("技能请求类型为:" + requestType);
    if(requestType === "LaunchRequest"){
        // 会话保持活动状态
        response.withShouldEndSession(false);
        response.setOutputSpeech("很高兴再次和你相遇");
    } else if(requestType === "IntentRequest"){
        // 会话保持活动状态
        response.withShouldEndSession(false);

        // 获取当前意图名
        intentName = requestObject.request.intent.name;
        console.log("本次意图来自:" + intentName);
        switch(intentName){
            case 'blood_pressure_voice':
                //判断填槽状态是否已完成
                console.log("本次:");

                //获取槽值之后,调用信源查询
                // text = requestObject.request.query.original;
                //     var requestParams = {
                //         "city":'西安',
                //         "key":"bd640cbd2ac06fe89f0e25c334c56e17"
                //     }
                //获取信源结果
                console.log("次:");
                var res =  await renderData();
                //打印信源结果
                console.log(res);
                // if (res.error_code == 0 && res.result){
                //     var realtime = res.result.realtime;
                //     response.setOutputSpeech(cityValue + '目前天气' + realtime.info + ',温度' + realtime.temperature + '度' );
                // } else {
                //     response.setOutputSpeech('信源查询失败啦,请稍后再试吧');
                // }
                
                break;
            default:
                response.setOutputSpeech("这是一条来自IntentRequest未知意图的 answer");
                break;
        }
    } else if(requestType === "SessionEndedRequest"){
        response.withShouldEndSession(true);
        response.setOutputSpeech("退出技能啦,期待再次和你相遇");
    }
    console.log("提交");
    aiui.commit();
})

async function renderData() {
    console.log("0");
    return new Promise(async function(resolve, reject){
        console.log("1");
        let res = await getContent();
        console.log("2");
        return resolve(res);
    })
}

//获取信源结果
function getContent() {
    //信源地址
    console.log("4");
    var temp = "user_text=哈哈哈&user_id=1cd2a65c829349b1a7b1753600e24785";
    console.log("5");
    var result = new String();
    console.log("6");
    
    // var resultBuffer = encodingConvert.convert(temp, "GBK","UTF8");
    // console.log("The resultBuffer is:",resultBuffer);

    var apiUrl = 'http://efsmxz.natappfree.cc/bot?'+temp;
    console.log('7');
    var options = {
        uri: apiUrl,
        method: 'POST',
        json: true,
        timeout: 15000  //设置http请求超时时间
    };
    console.log('8');
    return rq(options).then((res) => {
        console.log('0');
        return res;
    }).catch((err) => {
        console.log(err);
        console.log('1');
        return {
            "error_code":'-1',
            "reason":"网络异常或者请求超时"
        }
    });

}