微信公众号开发环境搭建的那些事

在这里插入图片描述
导读
小伙伴们,在前面的博客中.我们做了微信公众号开发的准备工作.今天我们来搭架微信公众号项目,并且将本地项目通过穿透工具和微信服务器调通.

一.搭架微信公众号项目

在我的微信开发中好用的开源项目这篇文章中,我介绍了一款开源的微信开发SDK。我们的项目就是基于文中所提到的demo项目来搭建。

由于时间缘故,在这里我们就不花时间来介绍项目搭架的步骤。我已经将项目搭建好传到码云,请大家下载即可。

项目地址:https://gitee.com/milogenius/milogenius-wechat

在这里插入图片描述
项目下载完毕,目录结构如下图:
在这里插入图片描述
接下来,我们需要在application.yml配置文件中,配置自己微信测试公众号的相关信息。
在这里插入图片描述
注明:假如没有自己的测试公众号,可以阅读申请微信公众账号测试号这篇文章,申请自己的测试公众号,然后获得微信公众号的相关信息。
在这里插入图片描述
综上所述,我们的微信公众号项目搭建完毕,然后启动项目。

二.启动cpolar穿透工具

在这里插入图片描述
大家在application.yml配置文件中可以发现,我们项目的端口是9998,因此我们需要开启穿透工具的9998端口号。

开启命令:
cpolar http 9998

注明:如果你还没有安装cpolar穿透工具,请参见我的另一篇博客windows下安装cpolar

我们开看看正常启动的界面:
在这里插入图片描述

三.微信测试公众号配置相关信息

我们知道,当我们开发机联调外网,通过一些操作,就可以调用微信的接口获取想要的信息。那么微信服务器如何调用我方服务器?大家都知道我们开发机一般都是内网,微信服务器无法直接调用我们的服务,这个难题在我们利用穿透工具之后迎刃而解。现在打通了网络,但是我们要告诉微信服务器去请求谁,这就是我们接下来要做的配置。

1.接口配置信息

微信公众号项目认证入口类WxPortalController

@RestController
@RequestMapping("/wx/portal/{appid}")
public class WxPortalController {
    private final Logger logger = LoggerFactory.getLogger(this.getClass());

    private WxMpService wxService;

    private WxMpMessageRouter messageRouter;

    @Autowired
    public WxPortalController(WxMpService wxService, WxMpMessageRouter messageRouter) {
        this.wxService = wxService;
        this.messageRouter = messageRouter;
    }

    @GetMapping(produces = "text/plain;charset=utf-8")
    public String authGet(@PathVariable String appid,
                          @RequestParam(name = "signature", required = false) String signature,
                          @RequestParam(name = "timestamp", required = false) String timestamp,
                          @RequestParam(name = "nonce", required = false) String nonce,
                          @RequestParam(name = "echostr", required = false) String echostr) {

        this.logger.info("\n接收到来自微信服务器的认证消息:[{}, {}, {}, {}]", signature,
            timestamp, nonce, echostr);
        if (StringUtils.isAnyBlank(signature, timestamp, nonce, echostr)) {
            throw new IllegalArgumentException("请求参数非法,请核实!");
        }

        if (!this.wxService.switchover(appid)) {
            throw new IllegalArgumentException(String.format("未找到对应appid=[%s]的配置,请核实!", appid));
        }

        if (wxService.checkSignature(timestamp, nonce, signature)) {
            return echostr;
        }

        return "非法请求";
    }

通过查看认证入口类,我们可以获得配置的路径

域名/wechat/wx/portal/测试公众号的appid

例如:https://6dd0c0b1.cpolar.io/wechat/wx/portal/wx5862395d992d

接下来,我们将路径配置到测试公众号相关位置(token随便填)之后,点击认证。

假如失败,会如下图所示:
在这里插入图片描述
如果我们出现上述情况,多点几次认证,就会成功,可能和穿透工具不稳定有关。
假如成功,会如下图所示;
在这里插入图片描述
配置完成如下图所示:
在这里插入图片描述

2.JS接口安全域名

配置方式同上:
在这里插入图片描述

3.网页授权获取用户基本信息

在这里插入图片描述
友情提示:这里配置域名不带https://,请大家格外注意。

四.总结

通过上面的步骤,我们就完成了微信公众号项目的搭建和本地服务器与微信服务器网络策略的调试,接下来,我们就可以学习微信公众号的各个功能。

返回专栏目录
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值