一、微信公众号介绍
基于广大12亿活跃微信用户群,微信公众号在企业营销中,有着举足轻重的地位。
- 微信开发平台
二、公众号注册
注册地址:https://mp.weixin.qq.com/
- 基本信息:邮箱、邮箱验证码、密码
- 选择类型:个人 | 企业
- 信息登录:个人(基本信息、实名认证—使用微信扫码—此微信也是当前订阅号的管理者)
- 公众号信息:公众号名称、简介、图片
三、开发模式
1、开发模式介绍
2、开发模式准备工作
1)、创建一个SpringBoot项目的web应用
- Spring Web
2)、创建一个controller映射
@RestController
@RequestMapping("/wx")
public class WeiXinController {
@RequestMapping("/test")
public String weixin(){
System.out.println("访问成功======");
return "success";
}
}
3)、页面访问http://localhost:8080/wx/test
4)、我们的第三方应用如果想要通过微信公众平台被微信用户访问,首先要在公众平台完成“校验”
- 第三方服务器提供一个可以访问的链接(
网络地址
) - 微信平台需要请求这个链接
3、使用ngrok实现内网穿透
1)、在www.ngrok.cc注册一个账号
2)、登录账号,开通免费隧道,获取隧道ID(b90edcbfb1f9ea35)
3)、下载客户端
下载地址:https://www.ngrok.cc/download.html
4)、解压后双击bat文件启动,输入隧道id,回车
5)、通过映射地址访问
四、网页开发接入
1、测试帐号
- 由于个人订阅号开放的接口有限,开发人员可选择申请测试帐号进行开发
- 开发文档——开始开发——接口测试号申请
申请地址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
2、填写服务器配置
-
URL:填写我们自己服务器的验证地址
如:http://booy.free.idcfengye.com/wx/test -
TOKEN
自定义如:123123 -
参考:开发文档—开始开发—接入指南
接口配置:
- 验证接口的后台代码:
@RestController
@RequestMapping("/wx")
public class WeiXinController {
@RequestMapping("/test")
public String test(String signature,String timestamp,String nonce,String echostr) throws NoSuchAlgorithmException{
//1、将token、timestamp、nonce三个参数进行字典序排序
String token="123123";
String[] arr = {
token,timestamp,nonce};
Arrays.sort(arr);
//2、将三个参数字符串拼接成一个字符串进行sha1加密
String str1 = arr[0]+arr[1]+arr[2];
//创建MessageDigest实例,获取sha1报文摘要算法(即散列算法)
MessageDigest messageDigest = MessageDigest.getInstance("sha1");
//计算消息sha1摘要
byte[] digest = messageDigest.digest(str1.getBytes());
System.out.println("digest:"+Arrays.toString(digest));
//处理加密结果:分别取到字节的高四位和低四位,转换成16进制
char[] cs = {
'0','1','2','3','4','5','6','7','8','9','a',