From 5e02b1d31d0f783ef997132959016920734746ab Mon Sep 17 00:00:00 2001 From: jingling Date: Tue, 20 Feb 2024 17:36:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=99=BB=E5=BD=95=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E6=A0=A1=E9=AA=8C(=E6=9C=AA=E5=AE=8C=E6=88=90)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-dev.yml | 1 + .../main/java/jnpf/controller/WxController.java | 16 +++++++++++++++- .../main/java/jnpf/model/wx/WxCheckSession.java | 11 +++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/wx/WxCheckSession.java diff --git a/jnpf-java-boot/jnpf-admin/src/main/resources/application-dev.yml b/jnpf-java-boot/jnpf-admin/src/main/resources/application-dev.yml index 85c2b8e..b1017d9 100644 --- a/jnpf-java-boot/jnpf-admin/src/main/resources/application-dev.yml +++ b/jnpf-java-boot/jnpf-admin/src/main/resources/application-dev.yml @@ -234,6 +234,7 @@ xxl: # ===================== 微信小程序配置 ===================== wx: code2Session: https://api.weixin.qq.com/sns/jscode2session + checkSession: https://api.weixin.qq.com/wxa/checksession # 回收员端 huishouyuan: appid: wxf82bcc798891a29d diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-controller/src/main/java/jnpf/controller/WxController.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-controller/src/main/java/jnpf/controller/WxController.java index d03a876..1435ffa 100644 --- a/jnpf-java-boot/jnpf-scm/jnpf-scm-controller/src/main/java/jnpf/controller/WxController.java +++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-controller/src/main/java/jnpf/controller/WxController.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jnpf.base.ActionResult; +import jnpf.model.wx.WxCheckSession; import jnpf.model.wx.WxLoginParam; import jnpf.util.wxutil.HttpUtil; import lombok.extern.slf4j.Slf4j; @@ -30,10 +31,12 @@ public class WxController { private String appsecret; @Value("${wx.code2Session}") private String code2Session; + @Value("${wx.checkSession}") + private String checkSession; @Operation(summary = "小程序登录-回收员端") @GetMapping("/hsyLogin") - public String login(@RequestParam("code") String code) { + public String hsyLogin(@RequestParam("code") String code) { log.info("小程序登录-回收员端:{}",code); String url = code2Session+"?appid="+appid+"&secret="+appsecret+"&js_code="+code+"&grant_type=authorization_code"; return HttpUtil.sendHttpGet(url); @@ -59,6 +62,17 @@ public class WxController { return decrypt.toString(); } + @Operation(summary = "小程序登录态校验-回收员端") + @GetMapping("/hsyCheckSession") + public String hsyCheckSession(@RequestBody WxCheckSession wxCheckSession) { + log.info("小程序登录态校验-回收员端:{}",JSONObject.toJSONString(wxCheckSession)); + // todo + String url = checkSession+"?access_token="+wxCheckSession.getAccessToken() + +"&signature="+wxCheckSession.getSignature() + +"&openid="+wxCheckSession.getOpenid() + +"&sig_method=hmac_sha256"; + return HttpUtil.sendHttpGet(url); + } /** * 解密成json diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/wx/WxCheckSession.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/wx/WxCheckSession.java new file mode 100644 index 0000000..ca7cf8a --- /dev/null +++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/wx/WxCheckSession.java @@ -0,0 +1,11 @@ +package jnpf.model.wx; + +import lombok.Data; + +@Data +public class WxCheckSession { + private String accessToken;// 接口调用凭证 + private String openid; // 用户唯一标识符 + private String signature;// 用户登录态签名 + private String sigMethod;// 用户登录态签名的哈希方法,目前只支持 hmac_sha256 +}