我的前一篇文章**微信程序开发系列教程(一)**开发环境搭建 已经介绍了微信服务器的开发环境搭建。本文作为开发系列的第二篇文章,介绍如何给您的微信订阅号开发一个最简单的问答服务,非常好玩。

这个系列的完整代码在我的github上:

https://github.com/i042416/wechat

本文实现的场景

您的订阅号粉丝向订阅号发送消息,会得到一个和发送消息一模一样的文字回复,并且在前面加上了“Add by Jerry:”的前缀。

没有什么意思,对吧?因为现在这个订阅号的微信消息服务器是我们自己开发的了,因此在消息服务器上接收到粉丝发送的文本后,我们可以实现一些有趣的逻辑。比如调用一些人工智能的图灵API,同订阅号的粉丝进行聊天,像下面这样:

下面是详细步骤。

1. 打开我github项目里的server.js文件:

实现如下代码。这个server.js是整个消息服务器的入口了,routesEngine的作用是针对微信平台发送到消息服务器的不同请求,进行对应处理。当然具体实现在文件夹jerryapp/routes下面的index.js里。

var express = require('express');var routesEngine = require('./jerryapp/routes/index.js');var app = express();routesEngine(app);app.listen(process.env.PORT || 3000, function () {console.log('Listening on port, process.cwd(): ' + process.cwd() );});

2. 现在我们就开始实现index.js。当粉丝的文字请求发送到消息服务器时,调用自己实现的nodejs module "echoService"进行处理。

var request = require('request');var echoService = require("../service/echo.js");module.exports = function (app) {app.route('/').post(function(req,res){echoService(req, res);});};

打开echo.js看看实现:

从下图第6行能看到加在回复前的前缀"Add by Jerry:"。

具有人工智能的图灵服务

如果不想给您的订阅号粉丝回复呆板的"Add by Jerry:", 那就在index.js里把ecoService注释掉,用图灵API代替吧。如下图29行所示。

图灵API的调用实现位于tuning.js,实际上就是消费了一个通过RestFul API暴露出来的人工智能服务:

url如下:

www.tuling123.com/openapi/api?key=de4ae9269c7438c33de5806562a35cac&info=

我们只用把订阅号粉丝在微信App里发送的文本粘贴到上述url末尾,调用该API就能得到图灵API分析应答结果。以成都天气预报为例:

访问www.tuling123.com可以了解更多该图灵机器人的细节。

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

微信程序开发系列教程(二)微信订阅号+人工智能问答服务相关推荐

  1. 微信程序开发系列教程(一)开发环境搭建

    1. 您得从微信官方平台注册一个微信订阅号: https://mp.weixin.qq.com 2. 这个教程使用nodejs开发微信订阅号对应的消息服务器,因此需要具备基本的nodejs开发技能. ...

  2. 微信小程序开发系列教程三:微信小程序的调试方法

    微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 这个教程的前两篇文章,介绍了如何用下图所示的微信开发者工具自动生成一个Hel ...

  3. C#微信公众号开发系列教程二(新手接入指南)

    此系列前面已经更新了两篇博文了,都是微信开发的前期准备工作,现在切入正题,本篇讲解新手接入的步骤与方法,大神可直接跳过,也欢迎大神吐槽. 微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教 ...

  4. 微信小程序开发系列七:微信小程序的页面跳转

    微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 微信小程序开发系列四:微信小程序 ...

  5. 微信小程序开发系列六:微信框架API的调用

    微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 微信小程序开发系列四:微信小程序 ...

  6. 微信小程序开发系列五:微信小程序中如何响应用户输入事件

    微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 微信小程序开发系列四:微信小程序 ...

  7. 微信小程序开发系列四:微信小程序之控制器的初始化逻辑

    微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 这个教程的前两篇文章,介绍了如何 ...

  8. 微信小程序开发系列 (四) :微信小程序的页面跳转路由设计

    笔者由于工作需要,曾经参加过一个微信小程序同 SAP 系统集成的项目,因此从零开始学习了微信小程序的开发知识.这里通过系列文章把自己所学分享出来,希望对相关学习者有所帮助. 本教程前面三篇文章: 微信 ...

  9. 微信小程序开发系列一:微信小程序的申请和开发环境的搭建

    我最近也刚刚开始微信小程序的开发,想把我自学的一些心得写出来分享给大家. 这是第一篇,从零开始学习微信小程序开发.主要是小程序的注册和开发环境的搭建. 首先我们要在下列网址申请一个属于自己的微信小程序 ...

最新文章

  1. 查询x,y之间的素数
  2. Linux怎么对当前目录提权,linux提权方法(不断总结更新)
  3. java相对目录_java相对目录和绝对目录解析
  4. 美术师关于自己的报酬与工作的看法
  5. mysql安装提示language错误_MySQL 安装 CMake Error CMAKE_CXX_COMPILER not set
  6. Web学习之跨域问题及解决方案
  7. 初识react(二) 实现一个简版的html+redux.js的demo
  8. Eclipes导入的项目中的中文都是乱码的解决办法
  9. 为什么SpringBoot的jar可以直接运行
  10. 包含对象的json格式_如何把JSON数据格式转换为Python的类对象?
  11. 13.计蒜客ACM题库.A1147 结果填空:礼物盒
  12. Win11进桌面闪屏,亲测恢复正常
  13. EM算法原理解释及公式推导
  14. 拉格朗日乘数法怎么判断极大极小_用拉格朗日乘数法求出极值后如何判断其是极大值还是极小值?...
  15. android studio umake,Android Studio中NDK开发傻瓜教程(CMake)
  16. COPYPASTE: AN AUGMENTATION METHOD FOR SPEECH EMOTION RECOGNITION -论文阅读
  17. python3爬虫实战一: 爬取豆瓣最新上映电影及画出词云分布
  18. 无忧·企业文档自助配置完成单点登录配置,对接企业原有组织架构
  19. 国际大会演讲ppt_2008年上半年会议演讲时间表
  20. 留学日本专业比较: 理工科、文科、与研究

热门文章

  1. 牛客网练习赛36 Ribbit的数列 分块
  2. RoundedCorners
  3. XMind8破解版安装
  4. 灰太狼大王讲java之抽象类
  5. Esri中国虾神卢拜年贴
  6. 剑指 Offer 24. 反转链表java
  7. MATLAB 2014a与 VS2013 配置过程
  8. 实用工具系列 - FileZilla安装下载与使用
  9. react-antd table树形数据默认展开行实现以及自定义图标实现及踩坑(defaultExpandedRowKeys,expandedRowKeys)
  10. 用友U9V28应用中设置sa密码问题