首页 > 编程语言 >微信小程序-获取openid

微信小程序-获取openid

时间:2023-11-02 21:44:06浏览次数:38  
标签:openid code String 微信 获取 res

当需要获取当前用户的微信openid时,需要调用微信提供的接口进行获取,这里以从后端获取为例进行说明。

1.小程序代码

ts(之前叫js):

Page({
  data: {
      info:'hello'
  },
  clickMe:function(){
    wx.login({
        success(res) {
          if (res.code) {
            //发起网络请求
            wx.request({
              url: "http://localhost:8080/user/getInfo?code="+res.code,
              method: "POST",
              success(res){
                  console.log(res.data)
               }
            })
          } else {
            wx.showToast({
              title: '出现错误',
              icon: 'error',
              duration: 5000
            })
            console.log('出现错误!' + res.errMsg)
          }
        }
      })

  },
  onl oad() {
    this.setData({
     
    })
  },
})

wxml:

<view class="container log-list">
    <button bindtap="clickMe">获取</button>
</view>

2.后台代码

后端代码以springboot为模板

controller:

@RestController
@RequestMapping("/user")
public class TestController {

    /**
     * 获取微信的openid
     *
     * @param code
     * @return
     */
    @PostMapping("/getInfo")
    public JSONObject getInfo(@RequestParam String code) {
        String wxspAppid = "appid,在微信公众平台获取";
        String wxspSecret = "appSecret,在获取公众平台获取";
        // 授权(必填)固定
        String grant_type = "authorization_code";
        Map<String, Object> params = new HashMap<>();
        params.put("appid", wxspAppid);
        params.put("secret", wxspSecret);
        params.put("js_code", code);
        params.put("grant_type", grant_type);
        // 发送请求
        String res = HttpUtil.post("https://api.weixin.qq.com/sns/jscode2session", params);
        JSONObject json = JSONObject.parseObject(res);
        log.info("解析code请求结果:" + json.toString());
        //获取openid
        String openid = json.getString("openid");
        log.info("openid=" + openid);
        return json;
    }
}

引入的依赖:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.8.15</version>
        </dependency>

点击按钮后即可获取到用户信息

 

标签:openid,code,String,微信,获取,res
From: https://www.cnblogs.com/zys2019/p/17805954.html

相关文章

  • 微信聚合聊天系统的便捷功能:自动发圈,跟圈
    很多商家和自媒体、运营人都在发圈做私域运营,所以现在发圈的频率也会比以往的多一些,但事情一多就会担心今天的朋友圈忘记发、漏发或者错过发圈的时间导致错过私域里的好友、客户会错过活动时间。其实这些都是可以不用担心,在微信聚合聊天系统里可以提前设置朋友圈,定时发送,轻松一键多......
  • 2023年APP备案操作教程 阿里云APP备案试列 APP公钥sha1签名获取方法
    ​ 2023年APP备案操作教程阿里云APP备案试列APP公钥sha1签名获取方法阿里云新增APP备案操作教程西部数码、腾讯云、新网、等等其他域名备案信息系统操作类似;核心要点:A,域名之前是哪里备案的,APP备案就到哪里去做,方便简单;B,APP备案核心预存信息为APP包名、MD5指纹(安卓)、sha1签名......
  • 金蝶云星空表单插件获取日期控件判空处理【代码示例】
      DateTime?deliveryDate=(DateTime?)this.View.Model.GetValue("FApproveDate");//审核日期longleadtime=20;//天数if(!deliveryDate.IsNullOrEmpty()&&deliveryDate>Convert.ToDateTime("1800-......
  • postman Pre-request Script(预处理)post请求获取sign(接口鉴权)
    背景请求业务接口时需要先调用auth应用的鉴权接口获取sign(类似其他系统登录接口返回的token),否则会提示:鉴权失败,从而导致业务接口无法使用。获取sign接口请求参数为业务接口的请求参数,所以Pre-requestScript(预处理)post请求内的body为变量。一、Pre-requestScript(预处理)......
  • 手把手教你给网站增加微信扫码登录功能
    在网站开发中,我们经常会遇到需要给网站增加微信扫码登录的功能,一般来说有两种方式可以实现,一种是使用微信开放平台,另一种是使用微信认证服务号的参数二维码,网上以第一种居多,我们今天来说下第二种方式。首先准备一个【已认证】的微信服务号将公众号添加至【柠聚开发者平台】......
  • 【宝藏工具】开源组件信息一键查询,快速获取组件来源、版本、源码地址、漏洞补丁、推荐
    铁子们,分享一个开源组件安全检索免费工具,需要的自取~输入组件名,一键查询可以组件版本、来源、安全状态、漏洞详情和推荐版本、修复建议这些。点这个链接注册后直接就能用:组件安全检索工具 一键查询第三方组件版本、漏洞、所属国家、所属语言、源码链接等:查看漏洞详情:......
  • (1)微信UI自动化-篇章开启(C#)
    ​近期看到很多人用HOOK钩子的方式来拦截微信的消息来实现微信的外挂操作。我觉得在当下的互联网环境下反编译别人的软件进行注入已属于违规甚至非法操作,但是使用软件本身的UI对象进行自动化来辅助办公是一种趋势和潮流,比较重复的工作交给计算机是最合适的。解放双手!!!所以我利用业......
  • (2)PC微信UI自动化-微信窗体自动化初始化(C#)
    ​ 我们接下来的操作的对象是微信窗体,分成这几个步骤可以将微信窗体进行自动化操作前的初始化(1)通过窗体名称找到微信句柄指针。(2)通过窗体指针找到微信的进程ID。(3)使用进程ID初始化自动化组件服务。(4)设置微信窗体的状态为激活。(1)找到PC端微信窗体并获取微信窗体的句柄数据......
  • (4)PC端微信UI自动化-微信联系人采集(C#)
    ​ 在进行一系列操作之前,我们需要采集到微信中的联系人和群聊信息软件运行效果演示  接下来我们如何采集到微信中的联系人列表呢?(1)找到通讯录按钮UI元素执行点击操作。(2)找到联系人面板并执行面板滚动操作(3)滚动过程中获取面板List对象中的ListItem项中的各个子元素......
  • (3)微信UI自动化-热键管理(C#)
    ​    进行微信自动化前,因为采集或者发送消息任务执行需要时间,并且微信窗体会将焦点长期占有,导致我们对软件失去控制,所以我们需要使用热键的方式将任务停止。我们这里采用热键是​编辑。(1)编写一个热键管理类 这个类定义了捕获热键消息的ID,注册热键,注销热键的功能。usi......