本项目旨在为多个微信公众号提供中控服务, 包含以下服务内容:
- 校验后台签名配置
- 处理微信公众号消息
- 获取access_token
- 获取jssdk签名
- 自定义菜单
本项目采用的技术选型为:
- 开发语言 nodejs
- 开发框架 eggjs
- 内存数据库 redis
本篇文章主要从以下4个方面来实现这个中控服务:
- eggjs插件和配置
- 定时任务获取token等信息
- 路由定义和controller层接收并处理参数
- service层实现
以下为具体的实现步骤:
一、eggjs插件和配置
添加egg-redis和xml2js依赖库, 并开启egg-redis插件


配置解析微信公众号传递的xml数据

配置redis

配置多个微信公众号的菜单, appId, appSecret 以及 redis中accessToken和jssdk的key

二、定时任务获取token等信息

三、路由定义和controller层接收并处理参数
路由定义

controller层接收并处理参数

四、service层实现



extend/help.js文件内容如下:
