精华内容
下载资源
问答
  • WxJava - 微信开发 Java SDK(开发工具包) 支持包括微信支付、开放平台、公众号、企业微信/企业号、小程序等微信功能的后端开发。 特别赞助 活动服务销售平台 ...
  • 为您提供WxJava微信开发工具包下载,WxJava微信开发Java开发工具包(SDK),支持包括微信支付、微信开放平台、小程序、企业号/企业微信、公众号(包括服务号和订阅号)等的后端开发。本开发工具包基于chanjarster的...
  • WxJava-微信开发Java SDK(开发工具包) 支持包括微信支付,开放平台,公众号,企业微信/企业号,小程序等微信功能的逐步开发。 特别赞助 活动服务销售平台 重要信息 2020-11-29发布 ! 新手重要提示:本项目仅是一...
  • WxJava之公众号开发(一)

    千次阅读 2019-03-22 12:47:01
    标题WxJava之公众号开发(一)微信公众号服务器配置(Java后台接入)

    标题WxJava之公众号开发(一)微信公众号服务器配置(Java后台接入)

    按照api开始对接
    述
    上图配置得服务期地址url是微信向我们发出得请求,可以理解为 用户 ->微信 ->自己得后台服务。微信在中间做了一层转发
    wxJava 中给出了相关得例子代码**(代码在wxJava得demo版中给出)**
    引入pom
    在这里插入图片描述
    在这里插入图片描述if (StringUtils.isAnyBlank(signature, timestamp, nonce, echostr)) {
    throw new IllegalArgumentException(“请求参数非法,请核实!”);
    }
    微信推荐我们在接收得时候需要判断一下参数得合法性
    在这里插入图片描述
    验证这次消息是否正确
    使用得是SHA1 传入预先配置好得tokentimestampnonce
    获取结构后
    signature 比较 比较成功后 返回 echostr
    成功返回后表示这次就接入成功了

    网页授权

    在这里插入图片描述
    这里可以值得注意下,提示说“回调页面需在此域名下” 所以 带“http://” 或者带 kj2kvs.natappfree.cc/mayiin/ 都是不对得/
    只有就填个光溜得域名就可以了

    展开全文
  • 推荐一个微信工具包WxJava

    千次阅读 2018-12-29 21:45:41
    WxJava (微信开发 Java SDK),支持包括微信支付、开放平台、小程序、企业微信/企业号和公众号等的后端开发 demo实例 https://blog.csdn.net/antma/article/details/79629584 官方地址 ...

    WxJava (微信开发 Java SDK),支持包括微信支付、开放平台、小程序、企业微信/企业号和公众号等的后端开发

    demo实例  https://blog.csdn.net/antma/article/details/79629584

    官方地址  https://github.com/Wechat-Group/WxJava

    展开全文
  • springboot整合wxjava开发工具包的用法

    千次阅读 2020-04-03 17:17:08
    wxjava开发工具包的用法 文档地址: https://github.com/Wechat-Group/WxJava/tree/master/spring-boot-starters/wx-java-mp-spring-boot-starter 首先创建一个springboot的项目 1.引入依赖 <!--微信公众号-->...

    wxjava开发工具包的用法

    文档地址: https://github.com/Wechat-Group/WxJava/tree/master/spring-boot-starters/wx-java-mp-spring-boot-starter

    首先创建一个springboot的项目

    1.引入依赖

    	<!--微信公众号-->
        <dependency>
            <groupId>com.github.binarywang</groupId>
            <artifactId>wx-java-mp-spring-boot-starter</artifactId>
            <version>3.6.0</version>
        </dependency>
    

    2.添加配置(application.yml)

    wx:
      mp:
        app-id: wxda9310f1c0856d02
        secret: 0ebeaf8669ea726bc4e4140149c8572c
        token: xiaomin
        aes-key:
    

    接入微信公众号开发

    用的是测试的账号,登录微信公众平台,进入测试账号
    在这里插入图片描述
    在将你的服务器接入到微信平台的时候,以及每次微信推送消息给你的服务器的时候,你都应该按照微信的要求对推送过来的消息进行校验,确保这些消息是从微信平台发送过来的。

    wxMpService.checkSignature()方法是做校验的

    package com.xiaomin.wechat_brn.controller;
    
    import me.chanjar.weixin.mp.api.WxMpService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class WxVerifyController {
    
        @Autowired
        private WxMpService wxMpService;
    
    
        @GetMapping("/welcome")
        public String welcome(String signature, String timestamp, String nonce, String echostr) throws Exception {
            if (!wxMpService.checkSignature(timestamp, nonce, signature)) {
                // 消息签名不正确,说明不是公众平台发过来的消息
                return null;
            }
            // 消息合法
            return echostr;
        }
    }
    

    配置成功,那么就说明接入成功

    被动回复用户消息

    @Autowired
    private WxMpService wxMpService;

    基本的实现都在这个接口里面,熟悉这个接口就行了

    package com.xiaomin.wechat_brn.controller;
    
    import me.chanjar.weixin.common.api.WxConsts;
    import me.chanjar.weixin.common.bean.result.WxMediaUploadResult;
    import me.chanjar.weixin.mp.api.WxMpService;
    import me.chanjar.weixin.mp.bean.message.*;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.PostMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import javax.servlet.http.HttpServletRequest;
    import java.io.File;
    
    /**
     * 同步回复消息(被动回复)
     */
    @RestController
    public class WxMsgController {
    
        @Autowired
        private WxMpService wxMpService;
    
    
        @PostMapping("/welcome")
        public String welcome(HttpServletRequest request) throws Exception {
            //获取消息流,并解析xml
            WxMpXmlMessage message=WxMpXmlMessage.fromXml(request.getInputStream());
            System.out.println(message.toString());
            //消息类型
            String messageType=message.getMsgType();
            System.out.println("消息类型:"+messageType);
            //发送者帐号
            String fromUser=message.getFromUser();
            System.out.println("发送者账号:"+fromUser);
            //开发者微信号
            String touser=message.getToUser();
            System.out.println("开发者微信:"+touser);
            //文本消息  文本内容
            String text=message.getContent();
            System.out.println("文本消息:"+text);
    
            //获取微信服务器的IP地址
            /*String[] callbackIP = wxMpService.getCallbackIP();
            for(int i=0;i<callbackIP.length;i++){
                System.out.println("IP地址"+i+":"+callbackIP[i]);
            }*/
    
            /**
             * 文本消息
              */
            if(messageType.equals("text")){
                WxMpXmlOutTextMessage texts=WxMpXmlOutTextMessage
                        .TEXT()
                        .toUser(fromUser)
                        .fromUser(touser)
                        .content("欢迎光临,热烈欢迎")
                        .build();
                String result = texts.toXml();
                System.out.println("响应给用户的消息:"+result);
                return result;
            }
    
            /**
             * 图片消息
             */
            if(messageType.equals("image")){
                //创建file对象
                File file=new File("lyf.jpg");
                //上传多媒体文件
                WxMediaUploadResult wxMediaUploadResult = wxMpService.getMaterialService().mediaUpload(WxConsts.MediaFileType.IMAGE, file);
                WxMpXmlOutImageMessage images = WxMpXmlOutMessage.IMAGE()
                        .mediaId(wxMediaUploadResult.getMediaId())//获取上传到微信服务器的临时素材mediaid.
                        .fromUser(touser)
                        .toUser(fromUser)
                        .build();
                String result = images.toXml();
                System.out.println("响应给用户的消息:"+result);
                return result;
            }
            /**
             * 音乐
             */
            if(messageType.equals("misic")){
                //创建file对象
                File file=new File("E:\\music\\qx.mp3");
                //上传多媒体文件
                WxMediaUploadResult wxMediaUploadResult = wxMpService.getMaterialService().mediaUpload(WxConsts.MediaFileType.VOICE, file);
                WxMpXmlOutMusicMessage musics = WxMpXmlOutMessage.MUSIC()
                        .fromUser(fromUser)
                        .toUser(touser)
                        .title("枪声")
                        .description("最强震撼枪声")
                        .hqMusicUrl("高质量音乐链接,WIFI环境优先使用该链接播放音乐")
                        .musicUrl("缩略图的媒体id,通过素材管理中的接口上传多媒体文件,得到的id")
                        .thumbMediaId(wxMediaUploadResult.getMediaId())
                        .build();
                String result = musics.toXml();
                System.out.println("响应给用户的消息:"+result);
                return result;
            }
            return null;
        }
    }
    

    在这里插入图片描述

    网页授权

    构造网页授权url

    核心代码

    //构造网页授权url
    String redirect_uri="http://xiaomin.xiaomy.net/getCode";//回调的url
    String url = wxMpService.oauth2buildAuthorizationUrl(redirect_uri, WxConsts.OAuth2Scope.SNSAPI_USERINFO, null);
    
             /**
             * 文本消息
              */
            if(messageType.equals("text")){
                //如果用户输入的是登录,那么进行网页授权
                if(text.equals("登录")){
                    //构造网页授权url
                    String redirect_uri="http://xiaomin.xiaomy.net/getCode";//回调的url
                    String url = wxMpService.oauth2buildAuthorizationUrl(redirect_uri, WxConsts.OAuth2Scope.SNSAPI_USERINFO, null);
                    WxMpXmlOutTextMessage texts=WxMpXmlOutTextMessage
                            .TEXT()
                            .toUser(fromUser)
                            .fromUser(touser)
                            .content("点击<a href=\""+url+"\">这里</a>登录")
                            .build();
                    String result = texts.toXml();
                    System.out.println("响应给用户的消息:"+result);
                    return result;
                }
                WxMpXmlOutTextMessage texts=WxMpXmlOutTextMessage
                        .TEXT()
                        .toUser(fromUser)
                        .fromUser(touser)
                        .content("欢迎光临,热烈欢迎")
                        .build();
                String result = texts.toXml();
                System.out.println("响应给用户的消息:"+result);
                return result;
            }
    

    在这里插入图片描述

    用户点击后会来到回调的url上来

    package com.xiaomin.wechat_brn.controller;
    
    import me.chanjar.weixin.mp.api.WxMpService;
    import me.chanjar.weixin.mp.bean.result.WxMpOAuth2AccessToken;
    import me.chanjar.weixin.mp.bean.result.WxMpUser;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    /**
     * @author 晓敏
     * @create 2020-04-03 14:44
     */
    @Controller
    public class WxAuthorController {
    
        @Autowired
        private WxMpService wxMpService;
    
        /**
         * 网页授权
         * 1 第一步:用户同意授权,获取code
         * <p>
         * 2 第二步:通过code换取网页授权access_token
         * <p>
         * 3 第三步:刷新access_token(如果需要)
         * <p>
         * 4 第四步:拉取用户信息(需scope为 snsapi_userinfo)
         *
         * @param code
         * @return
         */
        @GetMapping("/getCode")
        @ResponseBody
        public String getCode(String code)throws Exception{
            //1 第一步:用户同意授权,获取code
            System.out.println(code);
            //2 第二步:通过code换取网页授权access_token
            WxMpOAuth2AccessToken wxMpOAuth2AccessToken = wxMpService.oauth2getAccessToken(code);
            //4 第四步:拉取用户信息(需scope为 snsapi_userinfo)
            WxMpUser wxMpUser = wxMpService.oauth2getUserInfo(wxMpOAuth2AccessToken,null);
            return wxMpUser.toString();
        }
    }
    
    

    截图:
    在这里插入图片描述
    代码下载:
    链接:https://pan.baidu.com/s/1qQm9Lqh6TYWFhM_KXfDr0A
    提取码:8ev6
    复制这段内容后打开百度网盘手机App,操作更方便哦

    展开全文
  • WxJava SDK是一个比较实用的第三方微信开发 Java SDK github地址:https://github.com/Wechat-Group/WxJava #SpringBoot项目中使用WxJava SDK中的weixin-java-miniapp pom文件中加入依赖 <dependency> <...

    概述

    WxJava SDK是一个比较实用的第三方微信开发 Java SDK
    github地址:https://github.com/Wechat-Group/WxJava

    SpringBoot项目中使用WxJava SDK中的weixin-java-miniapp

    1. pom文件中加入依赖
            <dependency>
                <groupId>com.github.binarywang</groupId>
                <artifactId>weixin-java-miniapp</artifactId>
            </dependency>
    
    1. 配置文件yml中加入配置信息
    demo:
      # 开发者应该设置成自己的wx相关信息
      wx:
        app-id: wx60fac1f18be01481
        app-secret: 318ceca0f27ffeae6e6baafd3a5730bd
        mch-id: 123123
        mch-key: xxxxxx
        notify-url: http://www.example.com/wx/order/pay-notify
        # 商户证书文件路径
        # 请参考“商户证书”一节 https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=4_3
        key-path: xxxxx
    
    1. 创建WxProperties.java
    @Configuration
    @ConfigurationProperties(prefix = "demo.wx")
    public class WxProperties {
    
        private String appId;
    
        private String appSecret;
    
        private String mchId;
    
        private String mchKey;
    
        private String notifyUrl;
    
        private String keyPath;
    
        public String getNotifyUrl() {
            return notifyUrl;
        }
    
        public void setNotifyUrl(String notifyUrl) {
            this.notifyUrl = notifyUrl;
        }
    
        public String getMchKey() {
            return mchKey;
        }
    
        public void setMchKey(String mchKey) {
            this.mchKey = mchKey;
        }
    
        public String getAppId() {
            return this.appId;
        }
    
        public void setAppId(String appId) {
            this.appId = appId;
        }
    
        public String getAppSecret() {
            return appSecret;
        }
    
        public void setAppSecret(String appSecret) {
            this.appSecret = appSecret;
        }
    
        public String getMchId() {
            return mchId;
        }
    
        public void setMchId(String mchId) {
            this.mchId = mchId;
        }
    
        public String getKeyPath() {
            return keyPath;
        }
    
        public void setKeyPath(String keyPath) {
            this.keyPath = keyPath;
        }
    }
    
    1. 创建WxConfig配置类
    @Configuration
    public class WxConfig {
        @Autowired
        private WxProperties properties;
    
        @Bean
        public WxMaConfig wxMaConfig() {
            WxMaInMemoryConfig config = new WxMaInMemoryConfig();
            config.setAppid(properties.getAppId());
            config.setSecret(properties.getAppSecret());
            return config;
        }
    
    
        @Bean
        public WxMaService wxMaService(WxMaConfig maConfig) {
            WxMaService service = new WxMaServiceImpl();
            service.setWxMaConfig(maConfig);
            return service;
        }
    
    
    
    
    
    }
    

    5.做完上述准备后,在接口层调试一下,创建WxAuthController.java

    /**
     * 鉴权服务
     */
    @RestController
    @RequestMapping("/wx/auth")
    @Validated
    public class WxAuthController {
    
        @Autowired
        private WxMaService wxService;
    
    @PostMapping("login_by_weixin")
        public Object loginByWeixin(@RequestBody WxLoginInfo wxLoginInfo, HttpServletRequest request) {
            String code = wxLoginInfo.getCode();
    
            UserInfo userInfo = wxLoginInfo.getUserInfo();
    
            if (code == null || userInfo == null) {
                return ResponseUtil.badArgument();
            }
    
            String sessionKey = null;
            String openId = null;
            try {
                WxMaJscode2SessionResult result = this.wxService.getUserService().getSessionInfo(code);
                sessionKey = result.getSessionKey();
                openId = result.getOpenid();
            } catch (Exception e) {
                e.printStackTrace();
            }
    
            if (sessionKey == null || openId == null) {
                return ResponseUtil.fail();
            }
    
            // TODO openId 获取后的业务逻辑实现,如获取用户信息或者未注册用户创建新账号等等
            
            Map<Object, Object> result = new HashMap<Object, Object>();
            // TODO返回数据填充
            return ResponseUtil.ok(result);
        }
    }
    

    总结

    OK,以上就是SpringBoot中,使用WxJava SDK 实现微信小程序登录的方法,学会了么?在微信小程序开发中用得比较多的。

    展开全文
  • 微信公众号,WxJava框架配置流程

    千次阅读 2019-03-22 15:48:40
    微信公众号WxJava框架配置流程 1、MenuConfig private static String appid = "wx1622e5668b9a456e"; private static String appsecret = "9c636f81ddfadad0f808ed6c8f201988"; private static String token = ...
  • wxjava 码云地址: https://gitee.com/binary/weixin-java-tools?_from=gitee_search 下载了demo项目 测试了一下 idea需要安装lombok插件. 开始放到自己的项目里 引用maven地址 <dependency> <groupId>...
  • ... 4. 填写URL和Token,URL是微信的回调地址,Token自定义,URL为我的NetApp域名,后面跟mp中WxMpPortalController的路径 ...5. 这块使用的微信开发框架为WxJava框架 https://github.com/Wechat...
  • WxJava 开源框架说明:WxJava - 微信开发 Java SDK,支持微信支付、开放平台、公众号、企业号/企业微信、小程序等的后端开发 一、相关地址 1、微信公众平台:...
  • 最近在做微信公众号,使用的是WxJava工具包,然后按照微信要求进行基本配置以后: 服务器地址URL格式:http://公网可访问域名/wx/portal/{appid} 然后访问后台 WxPortalController 的 authGet 方法进行验证 ...
  • 描述 微信官方文档...id=mp1421140842 WxJava SDK github地址https://github.com/Wechat-Group/WxJava 授权步骤 1. 用户同意授权,获得code 2. 通过code换取网页授权access_token 3. 刷新...
  • 在上一节《淘东电商项目(12) -搭建企业级微信公众号》,主要讲解如何搭建微信公众号,以及WxJava 案例的使用。 代码已提交至Github(版本号:7f8e64fdfccf846b89e71dc2e32c1d4988b8f91e),有兴趣的同学可以下载...
  • wxJava+springboot+idea 对接详细流程首先是pom.xml文件的架包这里我只用到了第一个还有application.yml文件(这个文件一定要配置,wxJava开发文档是说的很清楚的,百度已有很多)其次是我们的配置.java文件,(可能...
  • 本项目为WxJava的Demo演示程序,基于Spring Boot ,实现企业微信替代开发功能。 更多信息请查阅: : 使用步骤: 请注意,本演示为简化代码编译时加入了lombok支持,如果不了解lombok的话,请先学习下相关知识,可以...
  • 关于WxJava微信开发如何绕过证书验证问题 默认使用的是WxCpServiceImpl,使用apache httpclient实现网络请求 * 首先新建一个类 我们进入刚刚的WxCpServiceImpl父类,WxCpServiceApacheHttpClientImpl 可以看到: ...
  • 1. 概述 2. 前置工作 2.1 微信开放平台认证流程 2.1 项目引入 WxJava 3. 与微信平台交互的步骤以及实现 3.1 获取 access_token 时序图 ...项目源码:基于 Spring Boot 和 WxJava 实现网站接入微信扫码登录...
  • 首先,WxJava 是大佬们开发的关于的微信的公众号、小程序和支付等的全能型开发包,强,真的强!<dependency> <groupId>com.github.binarywanggroupId> <artifactId>weixin-java-mpartifactId&...
  • WxJava微信开发Java开发工具包(SDK),支持包括微信支付、微信开放平台、小程序、企业号/企业微信、公众号(包括服务号和订阅号)等的后端开发。本开发工具包基于chanjarster的weixin-java-tools,增加了不少功能和模块...
  • 1.WxJava 微信公众号框架初体验 WxJava 微信公众号框架https://github.com/Wechat-Group/WxJava //下载xwjava全量的SDK代码 git clone https://github.com/Wechat-Group/WxJava.git //下载 git clone ...
  • WxJava基于Spring Boot开发微信公众号手机注册码Szx•2019 年 05 月 18 日第一步先下载官方Demo https://github.com/binarywang/weixin-java-mp-demo-springboot下载好后,导入demo,把application.yml.template改为...
  • # Spring Boot微信开发,实现了简单的消息处理、生成二维码及扫码事件处理(基于SDK-WxJava) 本 Demo 基于 Spring Boot 构建,实现微信公众号后端开发功能。 本项目修改自 WxJava 的 Demo 演示程序 weixin-java-mp-...
  • 1. 概述项目源码:https://github.com/DavidWhom/wechat-login如果项目存在什么问题,欢迎大家提 issue,期待你的来访demo 使用了Spring Boot 和 WxJava (微信开发 Java SDK,支持包括微信...因此如果是刚入门WxJava...
  • 导入Jar包

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 152
精华内容 60
关键字:

WxJava