由于测试账号权限下的JS-SDK功能基本全部测试完成,其他开发步骤与普通移动端开发过程一样,因此微信网页开发告一段落~
进入正题:
现在貌似大伙们把微信网页开发 与 公众号服务开发都归于 微信公众号(一类) 开发,我个人暂且分为两类。现在开始 公众号服务开发。
个人定义:在通过用户向 订阅号(个人号) 发送的文本内容,来判断用户想要的功能点,称公众号服务开发。【这个纯属瞎扯,无需在意】
开始开发:
1、登录’微信公众平台‘——’基本配置‘——点击 启用 服务器配置【需要的参数如下】
填写参数
2、填写号上面的参数后,再写一个服务端的接口就OK了(目的:验证开发者服务器)。
接入说明文档在这里:用力点我,没几行描述,看一遍就懂。
这里用Node.js实现,实现过程简单易懂,比微信网页开发坑少了很多,几乎没坑:
Nginx反向代理到本地的设置:
注意: 此次开发同微信网页开发已穿透到本地。详见我的另一篇文章:https://www.jianshu.com/p/4c9f295fb84c
location /wx/ {
proxy_pass http://127.0.0.1:9080/; # 暂是代理到9080穿透本地,原为9001
}
service.js入口文件代码,没几行。。。
const express = require('express')
const app = express()
const wxgongzh = require('./routers/wxgongzh')
// 微信公众号服务
app.use('/wxgongzh', wxgongzh)
app.listen(9080, () => {
console.log('服务启动成功:http://localhost:9080')
})
主要实现微信验证开者服务器的代码:
const router = require('express').Router()
const sha1 = require('sha1')
const wxConfig = require('../config/wxConfig')
router.get('/', (req, res) => {
console.log(req.query)
let { signature, echostr, timestamp, nonce } = req.query
let { token } = wxConfig
// 做字典序排序(将token、timestamp、nonce三个参数进行字典序排序)
let tempArr = [token, timestamp, nonce]
tempArr.sort() // sort排序会直接改变原数组,至此字典序排序完成
// 进行sha1加密
let selfSignature = sha1(tempArr.join(''))
console.log(signature)
console.log(selfSignature)
// 如果自己进行加密后的signature与微信请求过来的signature相同,则把 ‘echostr’ 字段返回回去即可验证成功
if(selfSignature === signature) res.send(echostr)
if(selfSignature !== signature) res.send('失败')
})
module.exports = router
建立验证完成了,可以开心的进行功能上的开发了,biubiubiu~~~
用于验证的代码编写完成后,再回到微信公众平台——填写服务器配置,点击 “提交”,提示如下即可:

网友评论