由于测试账号权限下的JS-SDK功能基本全部测试完毕,其他开发步骤与普通移动端开发流程相同,微信网页开发到此告一段落~进入正题:
现在大家好像把微信网页的开发和公众号服务的开发都归为微信公众号的开发(第一类),我个人暂时分为两类。现在开始公众号服务开发。
个人定义:用户想要的功能点由用户发送给订阅账号(个人账号)的文本内容决定,称为公众号服务开发。 【纯属胡说八道,别在意】
开始开发:
1、登录“微信公众平台”-“基础配置”-点击开启服务器配置【需要的参数如下】
填写参数
2、填好数字上面的参数后,写一个server-side接口就OK了(目的:对开发者服务器进行认证)。
访问文档在这里:用力点我微信公众平人数多服务器会崩溃吗,读一遍就明白了。
这里是用 Node.js 实现的。实现过程简单易懂。比微信网页开发坑少很多,几乎没有坑:
Nginx 反向代理到本地设置:
注:本次开发和微信网页开发已经渗透到本地。详情见我的另一篇文章:
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~~~
编写验证码后,返回微信公众平台-填写服务器配置,点击“提交”微信公众平人数多服务器会崩溃吗,提示如下:
验证成功~~~