html 引入jquery
$(function () {
// alert("JQ onready");
// 当前企业的 corp_id
const 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");;
//是否存在code
if(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);
}
企业微信配置
企业微信API
https://developer.work.weixin.qq.com/document/path/91022