使用springboot进行微信公众号开发的准备!

官方文档:

2、服务号、订阅号的区别

订阅号: 为媒体和个人提供一种新的信息传播方式,构建与读者之间更好的沟通与管理模式。 个人可以申请

认证的服务号和订阅号功能更加强大,但手续相对可能也比较麻烦。

扫码登录即可

登录成功,进入此页面

4、准备域名

ngrok下载网址:

ngrok后端登录网址:

解压之后进入此文件夹,找到对应的程序。

开通ngrok账号

只有online状态才是连接成功的,其它情况代表连接不成功

5、appID、appsecret、URL、Token、access_token介绍

appID、appsecret是系统自动生成的,作用: 获取access_token时要用

access_token是后期一些高级功能需要获取的一个凭证,比如说 自定义菜单类、发送模板消息、素材管理等等,都需要使用到access_token

对请求开始检验,URL和Token才能填写成功

检验步骤: 1)将token、timestamp、nonce三个参数进行字典序排序 2)将三个参数字符串拼接成一个字符串进行sha1加密

Utils.java 工具类中进行字典序列排序以及加密、检验操作

public class Utils {


    public static final String TOKEN="aabbccdd";    //TOKEN就是自己填写的

    /*
   * 验证签名
   * */
    public static boolean check(String timestamp, String nonce, String signature) {

        //1、将token、timestamp、nonce进行字典排序
        String[] strs = new String[]{TOKEN, timestamp, nonce};
        Arrays.sort(strs);

        //2、将三个参数字符串拼接成一个字符串进行sha1加密
        String str = strs[0] + strs[1] + strs[2];
        String mysignature = sha1(str);

        //返回对比结果
        return mysignature.equalsIgnoreCase(signature);
    }

    /*
     * 加密方法
     * */
    private static String sha1(String src) {

        try {
            //获取一个加密对象
            MessageDigest md = MessageDigest.getInstance("sha1");
            //加密
            byte[] digest = md.digest(src.getBytes());
            char[] chars = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f};
            StringBuffer sb = new StringBuffer();
            //处理结果集
            for (byte b : digest) {
                sb.append(chars[(b >> 4) & 15]);
                sb.append(chars[b & 15]);
            }
            return sb.toString();
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        return null;
    }
}

TestweixinController.java

目标效果

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