微信公众号开发之后台服务开发流程(一)

由于测试账号权限下的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~~~

用于验证的代码编写完成后,再回到微信公众平台——填写服务器配置,点击 “提交”,提示如下即可:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章