资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

微信公众号开发和网页开发的区别

来源:无锡微信公众号开发 | 2020-05-26 19:21:04        浏览:1212

现在貌似大家把微信网页开发与公众号服务开发都归于微信公众号(一类) 开发,我个人暂且分为两类。

个人定义:在通过用户向 订阅号(个人号) 发送的文本内容,来判断用户想要的功能点,称公众号服务开发。

【微信公众号开发的基本流程】

大家可以参考如下的流程目录:

一、注册公众号

二、了解公众号管理页面

三、必备开发者工具的使用

1.开发者文档

2.在线接口调试工具

3.web开发者工具

4.公众平台测试账号

四、细读开发者文档
微信公众号开发
五、开发流程重点解析

1.开发环境准备

2.服务器基本配置

3.存取access_token参数

4.公众号消息管理

5.获取openid以及网页授权(重难点)

(1)先明确为什么需要网页授权?我们的目的是什么?

(2)既然目的是获取用户基本信息,微信不是提供了专门的接口吗?非要网页授权?

微信平台提供了两种方式获取用户的openid

(3)网页授权有哪几种机制?分别是怎样实现?应用于什么场景?

(4)想要进行网页授权,我们需要在公众平台配置什么吗?

————————————————

微信公众号网站【正式开发】

1、登录’微信公众平台‘——’基本配置‘——点击 启用 服务器配置【需要的参数如下】

2、填写号上面的参数后,再写一个服务端的接口就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.querylet { 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

建立验证完成了,可以开心的进行功能上的开发了。

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

逾十年 建站经验

多一份参考,总有益处

免费获得专属《网站建设策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

全国统一服务热线:0510-85873959 / 24小时接听