微信公众号开发基本流程



一、注册公众号

我们前期开发测试只需要注册个人订阅号即可,真正开发使用的是开发者工具里的测试号,具体下面会说。


二、了解公众号管理页面

如配置消息回复、自定义菜单、发布文章等: 这个时候我们可能会想:这些功能好像非技术人员都能随意操作,那么还需要我们技术人员去开发吗?

至于服务器配置中的选项代表什么意思、如何填写,我们下面再讲。


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

1.开发者文档

2.在线接口调试工具

3.web开发者工具

4.公众平台测试账号


四、细读开发者文档

文档地址:

这里我就不多罗嗦了,大家看文档去吧!下面我会描述一些重点内容的实际操作情况以及代码,请确保你已经浏览过文档。


五、开发流程重点解析


1.开发环境准备

而我们一般都是内网开发,整个内网只有一个对外域名,所以这时就需要 内网穿透 ,为我们每个开发人员配置各自开发机器的域名。

那如何进行内网穿透呢?你首先可以找下你们的网管,看他能不能帮你解决,如果不能,那就安装内网穿透工具,我们自己动手!

我选择的内网穿透工具是natapp,这个有免费版、收费版,免费版的域名会随机变化,而收费版可以拥有固定域名,建议选择收费版,9元每月并不贵;大家可以对照natapp的文档安装使用,并不难。 这样我们本地开发环境就拥有自己的域名啦!然后就可以在测试号管理页面配置本地访问地址URL了。

2.服务器基本配置

这里附上该接口的Java代码:


3.存取access_token参数



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

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

答:在文档的 用户管理 - 获取用户基本信息(UnionID机制) 模块可以看到的确有获取用户基本信息接口: 可以看到,这个接口只需要提供openid或者unionid,即可直接获取用户基本信息。那么问题来了,openid(unionid)又是如何获取呢?

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

第一种方式:

第二种方式:

这种方式就是通过网页授权机制主动出击!详情见下文。

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

答:主要有两种机制,对应两种scope:

以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面)。

光看这两句解释你可能有一堆疑问,我们逐一分析:

两种机制的前面授权步骤相同,大概如下:

在此说下,我们项目是通过snsapi_base静默授权的,其中redirect_uri配置的是前端项目首页地址(前后端分离),并将构造的这个链接封装起来,直接配置在自定义菜单里,那么用户点击菜单,就直接重定向到前端项目,然后前端获取code参数调用后端获取openid接口,将获取的openid缓存到客户端,以便后面使用。

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

答:需要! 如果是测试号,需要在 测试号管理 - 体验接口权限表 - 网页服务 - 网页帐号 点击 修改。 在这里配置的是回调页面即redirect_uri的域名!

而且正式号其他配置的地方也和测试号不一样,比如多了IP白名单、域名根路径下的txt验证文件,这个稍微摸索下应该没啥问题的。


经验分享 程序员 微信小程序 职场和发展