node 微信公众号开发(二)—— 服务器配置

  最近想用 node 写一个微信公众号的项目,建议全程 https,这里记录一下怎么在微信公众号平台设置服务器及对应开发。

一、开发内容

  在刚刚搭建的基础框架中开发,router/index.js中写入如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/**
* 模块化处理router
*/
const Router = require('koa-router')
const sha1 = require('sha1')
const appConfig = require('../app.config')

const router = new Router()

/**
* 启动路由
* allowedMethods, 在所有路由中间件最后调用, 此时根据 ctx.status 设置 response 响应头
*/
module.exports = app => {
// 验证消息的确来自微信服务器
router.get('/', ctx => {
const { openid } = ctx.query
if (openid) { // 用户给公众号发消息
return ctx.body = ''
}
const { signature, timestamp, nonce, echostr } = ctx.query
let str = [appConfig.Token, timestamp, nonce].sort().join('') // 按字典排序,拼接字符串
let sha = sha1(str)
ctx.body = (sha === signature) ? echostr : ''
})

app.use(router.routes(), router.allowedMethods())
}

二、服务器配置

  如上图在微信公众号管理平台 -> 开发 -> 基本设置 -> 服务器配置中设置参数,注意Token字段需要与 app.config.js 中的Token保持一致。记得启用服务器配置。配置后用户发给公众号的信息也会调用刚刚设置的服务器 URL,我这边暂时不对消息做处理,可依据 官方文档建议,先返回空字符串。

以上

随笔标题:node 微信公众号开发(二)—— 服务器配置

随笔作者:刘先玉

发布时间:2020年12月11日 - 10:36:43

最后更新:2020年12月11日 - 10:36:43

原文链接:https://liuxianyu.cn/article/node-wechat-server.html