微信小程序部分功能Java解决方案分享—— 获取openid

##微信小程序获取openid代码

如果您想加入一个友好的微信小程序开发讨论平台
请加QQ群:173683866【微信小程序技术交流】

这里写图片描述

//访问IP 为 测试

var ip = "http://127.0.0.1:8080";

var api = {

  login:{

    adduser:ip+"/user/adduser"

  }

};

module.exports = api;

//使用方法

onGotUserInfo: function(e) {

    wx.getSetting({

      success: res => {

        if (res.authSetting['scope.userInfo']) {

          console.log(e)

          var data = e.detail.userInfo

          var nickname = data.nickName

          var avatarUrl = data.avatarUrl

          console.log(nickname + "  " + avatarUrl)

          wx.login({

            success: function(res) {

              var code = res.code;

              wx.request({

                url: api.login.adduser,

                data: {

                  code: code,

                  nickname: nickname,

                  avatarUrl: avatarUrl,

                },

                header: {

                  'content-type': 'application/json'

                },

                success: function(res) {

                  console.log(res.data)

                },

                fail: function() {

                  console.log("bad ")

                }

              })

            }

          })

        } else {

          console.log("no")

        }

      }

    })

  }

##java代码

    /**
     * 获取用户的openid
     * @param code
     * @param nickname
     * @param avatarUrl
     * @return
     */
    @RequestMapping("/adduser")
    public String insertuser(@Param("code")String code,@Param("nickname")String nickname,@Param("avatarUrl")String avatarUrl){

        //基本信息
        String appid = "appid ";//填写appid
        String appsecret = "appsecret ";//填写对应appsecret
        String reslut = "none";

//        DefaultHttpClient httpClient = new DefaultHttpClient();
//        HttpGet httpGet = new HttpGet("https://api.weixin.qq.com/sns/jscode2session?appid="+ appid +
//                "&secret="+appsecret+"&js_code="+code+"&grant_type=authorization_code");
//        try{
//            HttpResponse httpResponse =  httpClient.execute(httpGet);
//            HttpEntity httpEntity = httpResponse.getEntity();
//            reslut = EntityUtils.toString(httpEntity);
//        }catch (Exception e){
//            System.out.println(e.getStackTrace());
//        }


        //使用okhttp
        try {
            OkHttpClient client = new OkHttpClient();
            Request request = new Request.Builder()
                    .url("https://api.weixin.qq.com/sns/jscode2session?appid="+ appid +"&secret="+appsecret+"&js_code="+code+"&grant_type=authorization_code")
                    .build();
            Response response = client.newCall(request).execute();
            reslut = response.body().string();
            if (!response.isSuccessful()) {
                reslut = "服务器端错误: " + response;
            }
        }catch (Exception e){
            System.out.println(e.getStackTrace());
        }
        return reslut;
    }

需要加入依赖

<!-- 引入的是httpclient 已经过时,代码注释了 -->
        <dependency>
            <groupId>net.databinder</groupId>
            <artifactId>dispatch-http_2.11</artifactId>
            <version>0.8.10</version>
        </dependency>
<!-- 引入的是okhttp已经过时,代替httpclient -->
		<dependency>
            <groupId>com.squareup.okhttp</groupId>
            <artifactId>okhttp</artifactId>
            <version>2.5.0</version>
        </dependency>
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值