微信公众号初次开发
其他操作
书接上文:测试号申请步骤和调试.
书接上文:微信发送模板和图文消息.
项目搭建前两篇都有写这里不过多赘述
controller
/**
* 获取code换取openId
* @param vxReq
* @return
*/
@PostMapping("/authorize")
public String authorize(@RequestBody VxReq vxReq) {
//构建参数
String uri = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" +
appSecret.getAppId() +
"&secret=" +
appSecret.getSecret() +
"&code=" +
vxReq.getCode() +
"&grant_type=" +
"authorization_code";
ResponseEntity<String> res = null;
try {
//调用微信方法获取openId
res = restTemplate.getForEntity(uri, String.class);
}catch (Exception e){
return null;
}
if(res == null){
return null;
}
String body = res.getBody();
System.out.println(body);
Map<String,String> map = JSONObject.parseObject(body, Map.class);
System.out.println(map.get("openid"));
return map.get("openid");
}
这是使用 restTemplate 发送get请求
restTemplate配置
@Bean
public RestTemplate restTemplate() {
return new RestTemplate(new OkHttp3ClientHttpRequestFactory());
}
**SpringBoot 可以扫描到的包下注入 RestTemplate **
restTemplate maven
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
</dependency>
这需要前端在js中调用微信获取用户授权接口得到code然后在 调用这个接口
配置前端调用js
nginx
service{
listen 80;
service_name *******域名******;
location /{
root /user/local/nginx/html;
index index.html index.htm;
}
}
文件放在 /user/local/nginx/html/文件.txt