egg 配置微信公众号

egg框架很强大,上周末突发奇想,用来作为微信公众号后台怎么样?想到就开干。

首先,要开发必须要先配置好才行,这里先讲一下怎么配。

  1. 首先你要有一个公众号,去申请,或者弄一个测试的公众号,地址 https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421137522
  2. 搞到公众号后,就可以配置公众号基本设置了,
  3. 然后大概的步骤可以参照微信官方的文档进行,https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421135319
  4. 在egg的具体代码
 1 // config/config.default.js
 2 'use strict';
 3 
 4 module.exports = appInfo => {
 5   const config = exports = {};
 6 
 7   // use for cookie sign key, should change to your own and keep security
 8   config.keys = appInfo.name + '_1511005864199_129';
 9 
10   // add your config here
11   config.wechat_config = {
12     token: 'XXXXXX',
13     appid: 'XXXXXXX',
14     encodingAESKey: 'XXXXXX'
15  };
16   return config;
17 };
18 
19 // controller/home.js
20 'use strict';
21 const Controller = require('egg').Controller;
22 var sha1 = require('sha1')
23 class HomeController extends Controller {
24     async index() {
25         var obj = this.ctx.query
26         var token = this.ctx.app.config.wechat_config.token,
27         timestamp = obj.timestamp,
28         nonce = obj.nonce,
29         echostr = obj.echostr,
30         signature = obj.signature,
31         str = [token, timestamp, nonce].sort().join(''),
32         sha = sha1(str);
33         if(sha === signature){
34             this.ctx.body = echostr + ''
35         }
36     }
37 }
38 
39 module.exports = HomeController;

这些代码都是基于egg脚手架搭建出来,其中需要安装一个依赖,sha1,用来加密的,其他东西就不用装了,照着代码来就好了。

注:12、13、14行的参数填写你自己的,可以在微信公众号后台登录进去查看到。

原文地址:https://www.cnblogs.com/sizhou/p/7868238.html