From 7db7bbbeda1fcd467d6642e93901448906b05e81 Mon Sep 17 00:00:00 2001 From: zk Date: Thu, 9 Jul 2026 10:17:15 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=96=B0=E5=B0=81=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jiayunet/controller/MentorController.java | 6 ++--- .../src/main/resources/application-dev.yml | 1 - .../src/main/resources/application-prod.yml | 1 - .../src/main/resources/application-test.yml | 1 - .../org/jiayunet/remote/jsxq/JsxqClient.java | 21 +++++++-------- .../jiayunet/remote/jsxq/JsxqProperties.java | 3 --- .../remote/jsxq/pojo/param/QrCodeParam.java | 27 +++++++++++++++++++ 7 files changed, 39 insertions(+), 21 deletions(-) create mode 100644 manager/src/main/java/org/jiayunet/remote/jsxq/pojo/param/QrCodeParam.java diff --git a/client-api/src/main/java/org/jiayunet/controller/MentorController.java b/client-api/src/main/java/org/jiayunet/controller/MentorController.java index 4b4e9d3..4431f06 100644 --- a/client-api/src/main/java/org/jiayunet/controller/MentorController.java +++ b/client-api/src/main/java/org/jiayunet/controller/MentorController.java @@ -1,6 +1,5 @@ package org.jiayunet.controller; -import com.alibaba.fastjson.JSONObject; import lombok.AllArgsConstructor; import org.jiayunet.remote.jsxq.JsxqClient; import org.jiayunet.remote.jsxq.pojo.JsxqPage; @@ -9,6 +8,7 @@ import org.jiayunet.remote.jsxq.pojo.dto.MentorFullInfoDto; import org.jiayunet.remote.jsxq.pojo.dto.MentorItemDto; import org.jiayunet.remote.jsxq.pojo.dto.TeacherTalkDto; import org.jiayunet.remote.jsxq.pojo.param.MentorPageParam; +import org.jiayunet.remote.jsxq.pojo.param.QrCodeParam; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -65,7 +65,7 @@ public class MentorController { * 获取二维码 */ @PostMapping("/getQrCode") - public Map getQrCode(@RequestBody JSONObject data) { - return jsxqClient.getQrCode(data); + public Map getQrCode(@Validated @RequestBody QrCodeParam param) { + return jsxqClient.getQrCode(param); } } diff --git a/client-api/src/main/resources/application-dev.yml b/client-api/src/main/resources/application-dev.yml index 58583d9..eda465f 100644 --- a/client-api/src/main/resources/application-dev.yml +++ b/client-api/src/main/resources/application-dev.yml @@ -109,6 +109,5 @@ app: # 简史星球开放平台配置 jsxq: base-url: ${JSXQ_BASE_URL:https://jsxq.jianshixingqiu.com/api/admin} - token: ${JSXQ_TOKEN:f69b5086-97b0-4e5e-b172-453e444d448c} tenant-id: ${JSXQ_TENANT_ID:1} client-toc: ${JSXQ_CLIENT_TOC:Y} diff --git a/client-api/src/main/resources/application-prod.yml b/client-api/src/main/resources/application-prod.yml index 406ae1d..9322a72 100644 --- a/client-api/src/main/resources/application-prod.yml +++ b/client-api/src/main/resources/application-prod.yml @@ -109,6 +109,5 @@ app: # 简史星球开放平台配置 jsxq: base-url: ${JSXQ_BASE_URL:https://jsxq.jianshixingqiu.com/api/admin} - token: ${JSXQ_TOKEN:f69b5086-97b0-4e5e-b172-453e444d448c} tenant-id: ${JSXQ_TENANT_ID:1} client-toc: ${JSXQ_CLIENT_TOC:Y} diff --git a/client-api/src/main/resources/application-test.yml b/client-api/src/main/resources/application-test.yml index eb6e8ad..a8c31c4 100644 --- a/client-api/src/main/resources/application-test.yml +++ b/client-api/src/main/resources/application-test.yml @@ -110,6 +110,5 @@ app: # 简史星球开放平台配置 jsxq: base-url: ${JSXQ_BASE_URL:https://jsxq.jianshixingqiu.com/api/admin} - token: ${JSXQ_TOKEN:f69b5086-97b0-4e5e-b172-453e444d448c} tenant-id: ${JSXQ_TENANT_ID:1} client-toc: ${JSXQ_CLIENT_TOC:Y} diff --git a/manager/src/main/java/org/jiayunet/remote/jsxq/JsxqClient.java b/manager/src/main/java/org/jiayunet/remote/jsxq/JsxqClient.java index 40d1f14..a50b0d0 100644 --- a/manager/src/main/java/org/jiayunet/remote/jsxq/JsxqClient.java +++ b/manager/src/main/java/org/jiayunet/remote/jsxq/JsxqClient.java @@ -1,6 +1,5 @@ package org.jiayunet.remote.jsxq; -import com.alibaba.fastjson.JSONObject; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.JsonNode; import lombok.extern.slf4j.Slf4j; @@ -17,6 +16,7 @@ import org.jiayunet.remote.jsxq.pojo.dto.MentorFullInfoDto; import org.jiayunet.remote.jsxq.pojo.dto.MentorItemDto; import org.jiayunet.remote.jsxq.pojo.dto.TeacherTalkDto; import org.jiayunet.remote.jsxq.pojo.param.MentorPageParam; +import org.jiayunet.remote.jsxq.pojo.param.QrCodeParam; import org.jiayunet.tool.HttpTool; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -85,20 +85,17 @@ public class JsxqClient { /** - * 获取二维码 - *

POST /getQrCode

+ * 获取二维码(开放接口,无需token,由TENANT-ID + CLIENT-TOC鉴权) + *

POST /public/website/getQrCode

+ *

入参:path(小程序页面路径)、teacherId(老师ID)、loginAppid(小程序appid)

+ *

返回:data.code 为 base64 编码的二维码图片(data:image/png;base64,...)

*/ - public Map getQrCode(JSONObject data) { + public Map getQrCode(QrCodeParam param) { JavaType type = HttpTool.objectMapper.getTypeFactory() .constructMapType(Map.class, String.class, Object.class); - return post("/getQrCode", data, type); + return post("/public/website/getQrCode", param, type); } - - - - - // ============================ 底层通用调用 ============================ /** @@ -160,11 +157,11 @@ public class JsxqClient { } /** - * 构建公共请求头:Authorization / TENANT-ID / CLIENT-TOC + * 构建公共请求头:TENANT-ID / CLIENT-TOC + *

当前对接的均为简史星球开放接口(/public/website/),无需 Authorization

*/ private Map buildHeaders() { Map headers = new HashMap<>(); - headers.put("Authorization", "Bearer " + properties.getToken()); headers.put("TENANT-ID", properties.getTenantId()); headers.put("CLIENT-TOC", properties.getClientToc()); return headers; diff --git a/manager/src/main/java/org/jiayunet/remote/jsxq/JsxqProperties.java b/manager/src/main/java/org/jiayunet/remote/jsxq/JsxqProperties.java index ff4591b..fb7fd4f 100644 --- a/manager/src/main/java/org/jiayunet/remote/jsxq/JsxqProperties.java +++ b/manager/src/main/java/org/jiayunet/remote/jsxq/JsxqProperties.java @@ -18,9 +18,6 @@ public class JsxqProperties { /** 平台基础地址(含网关前缀),如 https://jsxq.jianshixingqiu.com/api/admin */ private String baseUrl; - /** 访问令牌,作为 Authorization: Bearer {token} */ - private String token; - /** 租户ID,作为 TENANT-ID 请求头 */ private String tenantId = "1"; diff --git a/manager/src/main/java/org/jiayunet/remote/jsxq/pojo/param/QrCodeParam.java b/manager/src/main/java/org/jiayunet/remote/jsxq/pojo/param/QrCodeParam.java new file mode 100644 index 0000000..0ea5674 --- /dev/null +++ b/manager/src/main/java/org/jiayunet/remote/jsxq/pojo/param/QrCodeParam.java @@ -0,0 +1,27 @@ +package org.jiayunet.remote.jsxq.pojo.param; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * 简史星球-获取小程序二维码入参 + *

对应接口 POST /public/website/getQrCode

+ * + * @author zk + */ +@Data +public class QrCodeParam { + + /** 小程序页面路径,如 pages/teacher/teacher */ + @NotBlank(message = "path不能为空") + private String path; + + /** 老师ID */ + @NotBlank(message = "teacherId不能为空") + private String teacherId; + + /** 小程序appid */ + @NotBlank(message = "loginAppid不能为空") + private String loginAppid; +}