!87 czh-20260723-IM模块增加linkOpenMode和dataFormat默认值Exe和JsonListView

Merge pull request !87 from 陈志浩/feature/im-20260723
This commit is contained in:
陈志浩
2026-07-23 00:32:45 +00:00
committed by Gitee
3 changed files with 13 additions and 8 deletions
@@ -40,6 +40,8 @@ public class KsimTestController {
String content = (String) params.getOrDefault("content", ""); String content = (String) params.getOrDefault("content", "");
String linkUrl = (String) params.getOrDefault("linkUrl", ""); String linkUrl = (String) params.getOrDefault("linkUrl", "");
String linkTitle = (String) params.getOrDefault("linkTitle", ""); String linkTitle = (String) params.getOrDefault("linkTitle", "");
String linkOpenMode = (String) params.getOrDefault("linkOpenMode", "Exe");
String dataFormat = (String) params.getOrDefault("dataFormat", "JsonListView");
Object data = params.get("data"); Object data = params.get("data");
// --- Step 1: 创建 Token --- // --- Step 1: 创建 Token ---
@@ -73,15 +75,14 @@ public class KsimTestController {
dto.setToUserValue(toUserValue); dto.setToUserValue(toUserValue);
dto.setTitle(title); dto.setTitle(title);
dto.setContent(content); dto.setContent(content);
if (data != null) { dto.setData(data != null ? data : new JSONObject());
dto.setData(data); dto.setLinkOpenMode(linkOpenMode != null && !linkOpenMode.isEmpty() ? linkOpenMode : "Exe");
} dto.setDataFormat(dataFormat != null && !dataFormat.isEmpty() ? dataFormat : "JsonListView");
if (linkTitle != null && !linkTitle.isEmpty()) { if (linkTitle != null && !linkTitle.isEmpty()) {
dto.setLinkTitle(linkTitle); dto.setLinkTitle(linkTitle);
} }
if (linkUrl != null && !linkUrl.isEmpty()) { if (linkUrl != null && !linkUrl.isEmpty()) {
dto.setLinkUrl(linkUrl); dto.setLinkUrl(linkUrl);
dto.setLinkOpenMode("Web");
} }
String msgUrl = host + "/api-open/v1/msg/send"; String msgUrl = host + "/api-open/v1/msg/send";
@@ -10,5 +10,5 @@ public interface IKsimMessageService {
Result<String> sendMessage(String toUserKeyType, String toUserValue, Result<String> sendMessage(String toUserKeyType, String toUserValue,
String title, String content, String title, String content,
String linkUrl, String linkTitle, String linkUrl, String linkTitle,
Object data); Object data, String linkOpenMode, String dataFormat);
} }
@@ -25,7 +25,7 @@ public class KsimMessageServiceImpl implements IKsimMessageService {
public Result<String> sendMessage(String toUserKeyType, String toUserValue, public Result<String> sendMessage(String toUserKeyType, String toUserValue,
String title, String content, String title, String content,
String linkUrl, String linkTitle, String linkUrl, String linkTitle,
Object data) { Object data, String linkOpenMode, String dataFormat) {
String token = tokenManager.getToken(); String token = tokenManager.getToken();
KsimMsgSendDTO dto = new KsimMsgSendDTO(); KsimMsgSendDTO dto = new KsimMsgSendDTO();
@@ -33,13 +33,17 @@ public class KsimMessageServiceImpl implements IKsimMessageService {
dto.setToUserValue(toUserValue); dto.setToUserValue(toUserValue);
dto.setTitle(title); dto.setTitle(title);
dto.setContent(content); dto.setContent(content);
dto.setData(data); // data 默认 {}
dto.setData(data != null ? data : new JSONObject());
// linkOpenMode 默认 "Exe"
dto.setLinkOpenMode(linkOpenMode != null && !linkOpenMode.isEmpty() ? linkOpenMode : "Exe");
// dataFormat 默认 "JsonListView"
dto.setDataFormat(dataFormat != null && !dataFormat.isEmpty() ? dataFormat : "JsonListView");
if (linkTitle != null && !linkTitle.isEmpty()) { if (linkTitle != null && !linkTitle.isEmpty()) {
dto.setLinkTitle(linkTitle); dto.setLinkTitle(linkTitle);
} }
if (linkUrl != null && !linkUrl.isEmpty()) { if (linkUrl != null && !linkUrl.isEmpty()) {
dto.setLinkUrl(linkUrl); dto.setLinkUrl(linkUrl);
dto.setLinkOpenMode("Web");
} }
KsimApiResult<JSONObject> apiResult = apiClient.sendMsg(token, dto); KsimApiResult<JSONObject> apiResult = apiClient.sendMsg(token, dto);