注册公众号 微信开发原理
做微信开发,首先去微信公众平台申请账号
点击注册
根据需求选择账号类型(这里我选的是”订阅号“) 完成注册后我们直接登录
进入到这个界面后我们已经完成一个公众号的注册了,并能正常使用,可以自行测试左边的功能区 只是这个账号权限较低,很多功能不能实现 点击左边功能区“设置”----“公众号设置”可生成关于该公众的二维码,关注该公众号
多余的功能我没有介绍,这里主要记录开发的内容
微信开发原理
学习任何一种东西我们有必要去了解他的原理,就像学习框架,我们得了解它的 MVC
一样 我们先来看一个案例- - -微信自动回复 如果我们没有使用开发模式,我们设置自动回复消息 如图:
这里我们设置了关键词回复,并且执行半匹配,半匹配即匹配用户输入的内容包含‘hello’,全匹配即匹配用户输入的内容必须为‘hello’ 当用户对公众号输入hello的时候会自动回复“你好”。
那么他执行的大概过程是什么呢?这里我们简单画一下图
他的大概过程应该是这样的,客户端发送消息给微信服务器,微信服务器收到消息后,进行判断,处理,发现满足自动回复的某条规则,那么返回对应规则的文本
那如果我们想自己开发这一部分功能怎么办?
如果我们自己开发,自己写这一部分逻辑,那么我们的逻辑代码肯定是要存储在服务器上面的,这样才能实现在线访问,要实现这个功能,我们肯定得需要一个个人的服务器,既然这样,我们还得重新画一下“原理图“
既然涉及到个人服务器,那我们是不是要去申请一个服务器,还要域名什么的,不但麻烦,而且服务器每个月还要交钱,问题是没钱怎么办? 在这里我给大家介绍一种获得免费”服务器”的办法
这里我们就不购买服务器了,而是通过一种端口映射的方式,将本地环境当作一个服务器 大概过程就是第三方服务给你一个二级域名,并且这个域名是能在线访问的,我们在本地环境通过设置使这个域名指向我们的‘127.0.0.1’,80端口(微信开发接入只支持80和443端口) 这样即能实现在线访问了,通过端口映射的方式其本地环境成为“个人服务器”
这种服务方有很多 如花生壳,net123等,但是花生壳使用80端口要付费,接下来我就以net123做演示
1.打开net123官网
第一次进入需注册,注册登录后,点击端口映射仔细阅读他的文档 成为他的用户后我们点击软件下载
这里我们是windows开发,选择“windows”下载使用
我们第一次安装,选择整合运行环境安装包,下载地址 下载安装后打开软件登录
点击添加映射
配置完点击保存即可
这里我们得到一个域名,找到php的httpd-vhosts.conf文件 将我们得到的域名指向项目目录
代码语言:javascript复制<VirtualHost *:80>
DocumentRoot "D:wamp64wwwWechat"
ServerName 590c1c9e.nat123.cc
</VirtualHost>
这样我们就能在浏览器输入地址访问了
完成个人服务器的配置后,我们需将我们得到的域名配置到微信服务器 微信公众平台点击“开发者工具”----“公众平台测试账号”(因为我们自己的号权限较低,开发时我们使用微信为我们提供的测试账号)
登录测试账号后,阅读开发文档 “开始开发”----“接入指南” 要使微信服务器于我们本地服务器认识,我们在本地做服务器验证
代码语言:javascript复制<?php
//服务器验证
//接收参数
if(!empty($_GET)){
$signature = $_GET['signature'];
$token ='Yoona';//这里键入自定义Token值
$timestamp = $_GET['timestamp'];
$nonce = $_GET['nonce'];
$echostr = $_GET['echostr'];
//1.将token,timestamps,nonce三个参数进行字典序排序
$arr = array($token,$timestamp,$nonce);
sort($arr,SORT_STRING);
//2.将三个参数字符串拼接成一个字符串进行sha1
$str = implode($arr);
$str = sha1($str);
//3.开发者获得加密后的字符串可与signature对比,标识该请求来源于信息
if($str == $signature){
//判断是否是微信服务器发送的get请求。
echo $echostr;
}
接下来为我们设置端口映射的Url,Token自定义一个值,点击提交显示配置成功,我们就可以在本地环境开发了