微信公众号开发第一课(使用ThinkPHP5)(未完)

本文最终效果

因为官方文档一贯符合TX的风格(永远是不尽如人意,永远是新手不友好),致使初次接触公众号时每每不知道该看什么,本文会同时给出操做的目标地址和教程地址,旨在引导读者去看官方文档中的重要部分。
在文章的最开始给出最终实现效果,是为了让读者有一个清晰的目标。html

IMG_0004.PNG

首先能实现如何创建一个正常运行的公众号,并接入开发者的后台服务器。git

IMG_0005.PNG

而后设置公众号的功能按钮和二级菜单。github

IMG_0006.PNG

在点击功能按钮后,跳转到Web系统并实如今Web中的自动登陆。小程序

1、申请公众号

公众号申请地址: 微信公众平台
(接口测试号申请地址:申请接口测试号segmentfault

公众号分为三种:服务号订阅号、接口测试号(小程序不属于公众号)。后端

服务号是用于企业为用户提供服务的(例如银行的查询系统、餐饮业的订餐系统),而且能够和小程序配合使用来实现更多效果。安全

订阅号更多的用于我的开发者发布文章或运营自媒体。订阅号最经常使用的功能就是“推文”,例如,学校的社团、各类组织就能够用订阅号来推送文章。服务器

接口权限说明中给出了服务号和订阅号权限的区别。微信

值得一提的是,服务号须要进行企业认证才能拥有高级接口的使用权,而通常开发者没有能力也没有必要认证服务号。对于使用订阅号的开发者,若是想体验所有的接口,微信专门提供了一种接口测试号,它拥有所有接口权限,但不能正常运营,仅供测试。app

按照正常流程注册便可,不在赘述。

2、接入开发者服务器

扫描登陆后,出现了公众号的基本信息:
(使用接口测试号举例,服务号相似)
image.png

在最醒目的地方给出了appID和appsecret
appID是公众号的惟一标识,secret是用于公众号身份验证的密钥。
image.png

接下来是接口配置信息:
image.png
接口配置信息是接入开发者服务器的重要步骤。

首先要有一台服务器。若是是接口测试号,URL处可使用服务器的IP地址,不然要求服务器必须有域名,URL处使用域名。

URL的格式必须是http或https开头,由于咱们使用ThinkPHP因此须要精确到具体的模块->控制器->方法便可。

Token也是一个用于身份验证的口令。当微信服务器开发者服务器发送信息时, 开发者服务器并不知道此消息是否是来自微信服务器,但若是微信服务器带着Token发送信息,开发者服务器就能够经过口令是否正确来判断消息是否来自微信。此处的Token能够自由填写,初学时用不到Token

填入完毕后,若是后台没有对应的服务,会发生保存失败。缘由是保存接口信息时,微信会向填入的这个地址发送一条验证信息,信息中带有各类参数,其中一个参数是echostr。只要开发者服务器能把echostr原封不动的返回给微信服务器,即视为验证成功。

image.png

接下来就是在服务器上部署一个能够接收验证信息并返回echostr的方法,为了便于理解,咱们不进行校验,直接返回接受到的echostr:

$echoStr = $_GET["echostr"];
echo $echoStr;
exit;

方法的位置须要和刚才URL中的路由一致。

此时就保存成功了。

可是这样是不安全的,由于不管是谁来向开发者服务器发送数据,都会正常返回,实际开发时,可参考接入概述来增长验证。

3、增长公众号“自动回复”功能

因为时间缘由没法所有写完,往后完善,可参考官方文档:
入门指引
image.png

4、实现“自动登陆”

所谓自动登陆,就是用户在经过公众号进入咱们开发的Web系统时,不须要再输入用户名密码,而是直接经过用户的微信号,来判断用户的身份进而实现自动登陆。

请暂时参考我以前的文章:
图解微信”网页受权“自动登陆(附ThinkPHP5.1代码)

还有另外一篇学长编写的Angular先后端分离项目如何企业微信网页认证文中的一些思想值得咱们借鉴。

总结

微信公众号的开发,主要是有选择有取舍的看文档,因为微信的开发文档对于新手不太友好,因此建议初学者在其余教程的引领下学习,这样能够避免没头苍蝇乱撞的状况。
此外,官方文档的另外一个问题,是示例代码不太完整。所以须要从其余文章中找到合适的示例代码并进行研究,这样有助于理解的更深入。

因为刚刚完成期末考试,没有足够的时间,来把这篇文章和以前的文章结合起来,往后会逐渐完善,在此向看了一半的读者们说一声抱歉。

版权声明

本文做者: 河北工业大学梦云智开发团队 - 刘宇轩 新人经验不足,有建议欢迎交流,有错误欢迎轻喷
相关文章
相关标签/搜索