前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >服务号开发入门

服务号开发入门

作者头像
灬沙师弟
发布2023-09-06 08:19:32
2050
发布2023-09-06 08:19:32
举报
文章被收录于专栏:Java面试教程

前言:

了不起学弟:了不起学长,最近在学习服务号开发,感觉很难啊,文档有些都看不明白啊。。。

了不起:看不懂正常,你不熟悉肯定看不懂的,我给你讲讲这块,服务号接入的大概流程吧。

正文:

首先我们引入正常的依赖,同时我这边使用的框架是

代码语言:javascript
复制
        <dependency>
          <groupId>com.github.binarywang</groupId>
          <artifactId>weixin-java-mp</artifactId>
          <version>4.5.0</version>
      </dependency>
      

再配置文件中加

代码语言:javascript
复制
wx:
  mp:
    app-id: 
    secret: 
    token:  # 配置消息回调地址接入公众号时需要的token
    aes-key: 
    

引入配置类

代码语言:javascript
复制
@Component
public class WxInitConfig {

    @Value("${wx.mp.app-id}")
    private String appid;

    @Value("${wx.mp.aes-key}")
    private String aesKey;

    @Value("${wx.mp.secret}")
    private String secret;
    @Value("${wx.mp.token}")
    private String token;

    @Bean
    public WxMpService wxMpService() {
        WxMpDefaultConfigImpl config = new WxMpDefaultConfigImpl();
        config.setAppId(appid);
        config.setSecret(secret);
        config.setToken(token);
        WxMpService wxMpService = new WxMpServiceImpl();
        wxMpService.setWxMpConfigStorage(config);
        return wxMpService;
    }

    @Bean
    public WxMpConfigStorage wxMpConfigStorage() {
        WxMpDefaultConfigImpl configStorage = new WxMpDefaultConfigImpl();
        // 设置微信公众号appId
        configStorage.setAppId(appid);
        // 设置微信公众号appSecret
        configStorage.setSecret(secret);
        // 设置微信公众号的token
        configStorage.setToken(token);
        // 设置微信公众号的EncodingAESKey
        configStorage.setAesKey(aesKey);

        return configStorage;
    }
}

添加校验签名接口

代码语言:javascript
复制
    @GetMapping("send")
    public long configAccess(String signature, String timestamp, String nonce, Long echostr) {
        // 校验签名
        if (!wxMpService.checkSignature(timestamp, nonce, signature)) {

            logger.error("签名校验 ===》 非法请求");
            // 消息签名不正确,说明不是公众平台发过来的消息
            return 0;
        }
        logger.error("签名校验 ===》 验证成功");
        // 返回echostr
        return echostr;
    }
    

编写路由

代码语言:javascript
复制
    Logger logger = LoggerFactory.getLogger(WxMpController.class);
    @Override
    public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, WxMpService wxMpService, WxSessionManager sessionManager) throws WxErrorException {
        logger.info("SubscribeHandler调用,关注用户:{}",wxMessage.getFromUser());
        return WxMpXmlOutMessage.TEXT().fromUser(wxMessage.getToUser()).toUser(wxMessage.getFromUser())
                .content("欢迎公众号哈哈哈哈哈啊哈“);
    }

这就是一个大概的简单流程了,在服务号的后台,要配置好相关的ip白名单等,服务号的一个简单的关注功能就可以实现了。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-08-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java面试教程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言:
  • 正文:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档