重新封装

This commit is contained in:
zk
2026-07-09 10:17:15 +08:00
parent 41b1e546db
commit 7db7bbbeda
7 changed files with 39 additions and 21 deletions
@@ -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 {
/**
* 获取二维码
* <p>POST /getQrCode</p>
* 获取二维码(开放接口,无需token,由TENANT-ID + CLIENT-TOC鉴权)
* <p>POST /public/website/getQrCode</p>
* <p>入参:path(小程序页面路径)、teacherId(老师ID)、loginAppid(小程序appid</p>
* <p>返回:data.code 为 base64 编码的二维码图片(data:image/png;base64,...</p>
*/
public Map<String, Object> getQrCode(JSONObject data) {
public Map<String, Object> 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
* <p>当前对接的均为简史星球开放接口(/public/website/),无需 Authorization</p>
*/
private Map<String, String> buildHeaders() {
Map<String, String> headers = new HashMap<>();
headers.put("Authorization", "Bearer " + properties.getToken());
headers.put("TENANT-ID", properties.getTenantId());
headers.put("CLIENT-TOC", properties.getClientToc());
return headers;
@@ -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";
@@ -0,0 +1,27 @@
package org.jiayunet.remote.jsxq.pojo.param;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* 简史星球-获取小程序二维码入参
* <p>对应接口 POST /public/website/getQrCode</p>
*
* @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;
}