史上最强SpringBoot接入微信公众号(测试)整体流程

第一步:申请一个测试的公众号

来吧,动动你的小手点击这个>>>>>>>>>>测试公众号的申请网址:微信测试公众号入口


第二步:进入了界面是下面这个样子滴




如图中标识的三个地方,1、2、3、分别是URL,Token、JS、我们该怎么填呢,不要急,别关闭页面进入第三步


第三步:在你的IDEA编译软件中启动好一个SpingBoot项目,并且写好一个Conller,一定要能在本机当中访问哦

例如:下图我的效果




第一张图是控制层,是为了返数据的,,不用跟我一样,,但是,,你的服务一定要能在浏览器里面可以访问的!!!!!!一定要在浏览器里面可以访问的!!!!!


第四步:需要大佬们掏钱了

购买域名和穿墙代理的两个东西

点我>>>>>>>只要八块钱>>>>>没有打广告>>>>>好用>>>>NATAPP--开启您的内网穿透之旅


买好了没,大佬们,,,要买二级域名哦,,,,都买了,,才八块,,,弄好的界面是这样的吧,,,,




仔细看人家是怎么配置的,然后把你买的域名啥的都按照上面写的指导配置好,就可以映射到你的本机地址上了,,然后再通过域名+接口名访问试试。如图是我自己试验的结果,快看不是localhost了吧






第五步:买好了域名,就-返回---到刚刚--微信的--页面吧,

按照----下图---中说的来



第六步:回到---你的---IDEA---编辑器中

建立一个Controller,,以下是我的Controller,,直接复制代码就好


package com.imcoo.sell.conntroller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;

@RestController
public class Test {

    private String TOKEN = "good";

    
    @GetMapping("/sell/test")
    public String test(@RequestParam("signature") String signature,
                       @RequestParam("timestamp") String timestamp,
                       @RequestParam("nonce") String nonce,
                       @RequestParam("echostr") String echostr) {
        
        //排序
        String sortString = sort(TOKEN, timestamp, nonce);
        //加密
        String myString = sha1(sortString);
        //校验
        if (myString != null && myString != "" && myString.equals(signature)) {
            System.out.println("签名校验通过");
            //如果检验成功原样返回echostr,微信服务器接收到此输出,才会确认检验完成。
            return echostr;
        } else {
            System.out.println("签名校验失败");
            return "";
        }
    }

    public String sort(String token, String timestamp, String nonce) {
        String[] strArray = {token, timestamp, nonce};
        Arrays.sort(strArray);
        StringBuilder sb = new StringBuilder();
        for (String str : strArray) {
            sb.append(str);
        }

        return sb.toString();
    }

    public String sha1(String str) {
        try {
            MessageDigest digest = MessageDigest.getInstance("SHA-1");
            digest.update(str.getBytes());
            byte messageDigest[] = digest.digest();
            // Create Hex String
            StringBuffer hexString = new StringBuffer();
            // 字节数组转换为 十六进制 数
            for (int i = 0; i < messageDigest.length; i++) {
                String shaHex = Integer.toHexString(messageDigest[i] & 0xFF);
                if (shaHex.length() < 2) {
                    hexString.append(0);
                }
                hexString.append(shaHex);
            }
            return hexString.toString();

        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        return "";
    }

}


按照上面的写好这个Controller,,然后重启!!!重启!!!


第七步:回到微信公众号的哪个界面,,,点击提交,,看看是不是可以成功了呢


第八步:填写你的二级域名在那个js框中,,,记得------不带http://!!!!--------不带http://!!!!------不带http://!!!!



完毕!!!!!!!!!





猜你喜欢

转载自blog.csdn.net/lovePaul77/article/details/78556059