springboot 企业微信 网页授权

html 引入jquery

     $(function () {// alert("JQ onready");// 当前企业的 corp_idconst corp_id = 'xxxxxx';// 重定向 URL → 最终打开的画面地址,域名是在企业微信上配置好的域名const redirect_uri = encodeURI('http://xxxxx.cn');//企业的agentId 每个应用都不一样const agentId = 1000002;//获取当前路径的code(有code代表已经回调过了)let url = new URL(window.location.href)let code = new URLSearchParams(url.search).get("code");;//是否存在codeif(code === undefined || code == null || code === "") {//不存在就打开地址进行授权,这里是默认授权(没写手动授权咋写),授权后直接跳转到redirect_uri 设置的地址,地址后会有回调的code参数值//必须是encodeURIComponent(路径)// snsapi_base:静默授权,可获取成员的基础信息(UserId与DeviceId);window.location.href =// `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${corp_id}&redirect_uri=${encodeURIComponent(redirect_uri)}&response_type=code&scope=snsapi_base&state=STATE123456&agentid=${agentId}#wechat_redirect``https://open.weixin.qq.com/connect/oauth2/authorize?appid=${corp_id}&redirect_uri=${encodeURIComponent(redirect_uri)}&response_type=code&scope=snsapi_privateinfo&state=STATE123456&agentid=${agentId}#wechat_redirect`// snsapi_privateinfo:手动授权,可获取成员的详细信息,包含头像、二维码等敏感信息。}else {alert(code);$.get("/test/user/"+code,function (data) {console.info(data);}, "json");}});

JAVA端

引入pom

  <dependency><groupId>com.github.binarywang</groupId><artifactId>wx-java-cp-spring-boot-starter</artifactId><version>4.5.8.B</version></dependency>

控制层

    @ApiOperation("获取用户信息")@GetMapping("/user/{code}")public R userInfo(@PathVariable(value = "code") String code) throws WxErrorException {final WxCpService wxCpService = WxCpConfiguration.getCpService(1000002);WxCpOAuth2Service oauth2Service = wxCpService.getOauth2Service();WxCpOauth2UserInfo userInfo = oauth2Service.getUserInfo(code);String userTicket = userInfo.getUserTicket();WxCpUserDetail userDetail = oauth2Service.getUserDetail(userTicket);return R.ok(userDetail);}

企业微信配置

在这里插入图片描述

java get请求完成校验

企业微信API

https://developer.work.weixin.qq.com/document/path/91022

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/611477.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++中的深度优先搜索算法

C中的深度优先搜索算法 深度优先搜索&#xff08;DFS&#xff09;是一种用于遍历或搜索树或图的算法。这个算法会尽可能深的搜索树的分支。当节点v的所在边都己被探寻过&#xff0c;搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点…

Vue3-39-路由-导航异常的检测 afterEatch 与 编程式导航之后的订阅动作

说明 本文主要是介绍一下 路由的后置守卫 afterEatch 的一个重要的作用 &#xff1a; 就是检测路由异常信息。 它的实现方式是 通过第三个参数来返回的。 而且&#xff0c;它的异常检测是全局的。导航的异常有以下三种类型&#xff1a; aborted : 在导航守卫中 被拦截并返回了…

Python 格式化的方法

在Python中&#xff0c;我们可以使用字符串的format()方法或f-string这两种方法来进行格式化。 1、使用format()方法&#xff1a;使用该方法&#xff0c;我们可以通过占位符{}来表示被替换的值&#xff0c;其中可以单独使用{}或添加变量参数来指定相应的值。如&#xff1a; n…

【Blog】记录一下如何让自己的自建网站让百度搜索收录

记录一下如何让自己的自建网站让百度搜索收录 目录 记录一下如何让自己的自建网站让百度搜索收录一、前言二、开始操作1、第一步&#xff1a;进入设置2、第二步&#xff1a;开始设置3、第三步&#xff1a;让百度收录我们自己的文章 三、知识点记录1、注意事项2、可能会出现的问…

vsCode输出控制台中文乱码解决

在tasks.json里的args中添加 "-fexec-charsetGBK", // 处理mingw中文编码问题 "-finput-charsetUTF-8",// 处理mingw中文编码问题

PyCharm 设置新建Python文件时自动在文章开头添加固定注释的方法

在实际项目开发时&#xff0c;为了让编写的每个代码文件易读、易于维护或方便协同开发时&#xff0c;我们都会在每一个代码文件的开头做一些注释&#xff0c;如作者&#xff0c;文档编写时间&#xff0c;文档的功能说明等。 利用PyCharm 编辑器&#xff0c;我们只需设置相关设…

微机原理常考简答题总结

一&#xff0c;8086和8088这两个微处理器在结构上有什么异同&#xff1f; &#xff08;1&#xff09;共同点&#xff1a;内部均由EU、BIU组成&#xff0c;结构基本相同&#xff1b;寄存器等功能部件均为16位&#xff1b;内部数据通路为16位&#xff1b;指令系统相同。 &#x…

网络协议与攻击模拟_03实施ARP欺骗和攻击

一、ARP攻击 1、实验环境 kali Linux &#xff08;安装arpspoof工具&#xff09;被攻击主机 2、kali配置 kali Linux系统是基于debian Linux系统&#xff0c;采用deb包管理方式&#xff0c;可以使用apt源的方式进行直接从源的安装。 配置kali网络源 vim /etc/apt/sources…

电池可以比喻为人体心脏提供动力,电驱比喻为人的双腿,起到运动的目的,电控比喻人的大脑,协调所有零部件正常工作。

问题描述&#xff1a; 电池可以比喻为人体心脏提供动力&#xff0c;电驱比喻为人的双腿&#xff0c;起到运动的目的&#xff0c;电控比喻人的大脑&#xff0c;协调所有零部件正常工作。 问题解答&#xff1a; 高压电池系统 - 人体心脏&#xff1a; 将高压电池系统比喻为心脏是…

python第三节:Str字符串类型(2)

str.format(*args, **kwargs) 执行字符串格式化操作。 语法&#xff1a;点号前面是一个带槽&#xff08;由大括号表示&#xff09;的字符串&#xff0c;字符串里面可以设置各种参数和格式控制标记&#xff0c;后面是format和替换的字符串。 {参数序号:格式控制标记} 如下六…

Android学习(四):常用布局

Android学习&#xff08;四&#xff09;&#xff1a;常用布局 五种常用布局 线性布局&#xff1a;以水平或垂直方向排列相对布局&#xff1a;通过相对定位排列帧布局&#xff1a;开辟空白区域&#xff0c;帧里的控件(层)叠加表格布局&#xff1a;表格形式排列绝对布局&#x…

探索渡边赤池信息准则 (WAIC):统计模型选择的范式转变

一、介绍 在不断发展的统计建模和机器学习领域&#xff0c;寻求最佳模型选择仍然是一个基石。渡边-赤池信息准则 (WAIC) 作为贝叶斯分析的重要工具而出现&#xff0c;为模型评估提供了全新的视角。本文旨在揭示 WAIC 的细微差别&#xff0c;探讨其方法、意义、优势和潜在局限性…

MiniTab宏库速查一览表

为了能快速查询到需要的宏&#xff0c;花了两天时间进行倾心整理了Minitab提供的所有宏库集合&#xff0c;共计94个。 宏是包含一系列 Minitab 会话命令的文本文件。可以使用这些宏来对 Minitab 分析的功能进行自动化处理、自定义和扩展。 以下仅列举几种宏的使用方法&#x…

C++内存管理机制(侯捷)笔记1

C内存管理机制&#xff08;侯捷&#xff09; 本文是学习笔记&#xff0c;仅供个人学习使用。如有侵权&#xff0c;请联系删除。 参考链接 Youtube: 侯捷-C内存管理机制 Github课程视频、PPT和源代码: https://github.com/ZachL1/Bilibili-plus 第一讲primitives的笔记 截至…

Kubernetes 调度器及其优化

一、 Kubernetes 调度器 ​在 Kubernetes 中&#xff0c;调度 是指将 Pod 放置到合适的节点上&#xff0c;以便对应节点上的 Kubelet 能够运行这些 Pod。 ​ 1、调度概览 调度器通过 Kubernetes 的监测&#xff08;Watch&#xff09;机制来发现集群中新创建且尚未被调度到节…

Python 基础(四):序列

目录 简介2 基本使用2.1 索引2.2 切片2.3 相加2.4 相乘2.5 元素是否在序列中2.6 内置函数 简介 Python 中的序列是一块可存放多个值的连续内存空间&#xff0c;所有值按一定顺序排列&#xff0c;每个值所在位置都有一个编号&#xff0c;称其为索引&#xff0c;我们可以通过索引…

HTTP介绍

目录 HTTP介绍 1、HTTP 工作原理 2、HTTP 消息结构 3、客户端请求消息 4、服务器响应消息 5、HTTP 请求方法 6、HTTP 响应头信息 7、HTTP 状态码 HTTP介绍 1、HTTP 工作原理 HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发…

轻松get压力测试指南

身为后端程序员怎么也要会一点压力测试相关的技术吧, 不然无脑上线项目万一项目火了进来大量请求时出现程序执行缓慢, 宕机等情况你肯定稳稳背锅, 而且这个时候短时间内还没办法解决, 只能使用物理扩容CPU, 内存, 更换网络等几种方式来解决问题, 妥妥的为公司增加支出好吧, 下一…

关于.gitignore文件

.gitignore文件用于忽略git同步文件。 git上创建项目时&#xff0c;默认的.gitignore文件配置比较少&#xff0c;不太适合于windows下vs的开发设置。 下面是vs中.gitignore条目样例&#xff1a; # Prerequisites *.d# Compiled Object files *.slo *.lo *.o *.obj*.iobj *.V…

Linux read命令详解

1.最简单的read&#xff0c;从标准输入读取&#xff0c;将结果保存在变量REPLY中 # read haha # echo $REPLY haha # 2.read从标准输入读取一行数据&#xff0c;并将其split&#xff0c;再将split后的字段赋值给read命令最后指定的变量&#xff0c; 第一个字段赋值给第一个…