From af4dac6a79f646c078dcc4bcf691eb2cf0494c58 Mon Sep 17 00:00:00 2001 From: jack ning Date: Thu, 30 Oct 2025 10:36:47 +0800 Subject: [PATCH] update --- .../InviteSettingsRequest.java | 173 +++++++++++++++++- .../InviteSettingsResponse.java | 132 ++++++++++++- 2 files changed, 297 insertions(+), 8 deletions(-) diff --git a/modules/kbase/src/main/java/com/bytedesk/kbase/settings_invite/InviteSettingsRequest.java b/modules/kbase/src/main/java/com/bytedesk/kbase/settings_invite/InviteSettingsRequest.java index b2aa3ad35e..670c7b841b 100644 --- a/modules/kbase/src/main/java/com/bytedesk/kbase/settings_invite/InviteSettingsRequest.java +++ b/modules/kbase/src/main/java/com/bytedesk/kbase/settings_invite/InviteSettingsRequest.java @@ -13,6 +13,10 @@ */ package com.bytedesk.kbase.settings_invite; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + import com.bytedesk.core.base.BaseRequest; import com.bytedesk.core.constant.I18Consts; import lombok.AllArgsConstructor; @@ -39,13 +43,172 @@ public class InviteSettingsRequest extends BaseRequest { @Builder.Default private String description = I18Consts.I18N_DESCRIPTION; - // @Builder.Default - // private String type = InviteSettingsTypeEnum.CUSTOMER.name(); - + /** + * 是否为默认设置模板 + */ @Builder.Default - private String color = "red"; + private Boolean defaultTemplate = false; + /** + * 是否显示邀请 + */ @Builder.Default - private Integer order = 0; + private Boolean show = false; + + /** + * 邀请文本 + */ + @Builder.Default + private String text = "您好,请问有什么可以帮您?"; + + /** + * 邀请图标 + */ + @Builder.Default + private String icon = "default"; + + /** + * 邀请延迟时间,单位:毫秒 + */ + @Builder.Default + private Long delay = 3000L; + + /** + * 是否循环 + */ + @Builder.Default + private Boolean loop = false; + + /** + * 循环延迟时间,单位:毫秒 + */ + @Builder.Default + private Long loopDelay = 60000L; + + /** + * 循环次数 + */ + @Builder.Default + private Integer loopCount = 3; + + /** + * 邀请消息列表 + */ + @Builder.Default + private List messageList = new ArrayList<>(Arrays.asList( + "您好,需要任何帮助请随时告诉我", + "有什么可以帮您解答的问题吗?", + "正在为您提供专业的在线咨询服务", + "点击开始对话,我们将立即为您服务", + "有疑问?我们的客服团队随时为您解答", + "需要了解更多产品信息吗?立即咨询", + "欢迎咨询,为您提供专业解答", + "遇到问题了吗?点击这里获得帮助", + "想了解更多优惠活动?点击咨询", + "我们的专业团队在线等候您的提问" + )); + + /** + * 定向邀请设置 - 针对特定页面启用邀请 + */ + @Builder.Default + private Boolean targetedInvite = false; + + /** + * 定向邀请页面URL匹配模式 + */ + @Builder.Default + private List targetedInviteUrls = new ArrayList<>(); + + /** + * 智能触发邀请 - 基于用户行为 + */ + @Builder.Default + private Boolean smartTrigger = false; + + /** + * 页面停留时间触发,单位:秒 + */ + @Builder.Default + private Integer pageStayTriggerSeconds = 30; + + /** + * 页面滚动触发 + */ + @Builder.Default + private Boolean scrollTrigger = false; + + /** + * 页面滚动触发百分比 (0-100) + * 注意:与后端实体字段保持一致命名 + */ + @Builder.Default + private Integer scrollTriggerPerceninviteSettinge = 50; + + /** + * 退出意图触发 + */ + @Builder.Default + private Boolean exitIntentTrigger = false; + + /** + * 访客来源触发 + */ + @Builder.Default + private Boolean referrerTrigger = false; + + /** + * 来源URL匹配模式 + */ + @Builder.Default + private List referrerPatterns = new ArrayList<>(); + + /** + * 访客设备类型触发 - 可选: desktop, mobile, tablet + */ + @Builder.Default + private List deviceTypes = new ArrayList<>(Arrays.asList("desktop", "mobile", "tablet")); + + /** + * 是否启用访客分段邀请 + */ + @Builder.Default + private Boolean visitorSegmentation = false; + + /** + * 新访客专属邀请消息 + */ + @Builder.Default + private String newVisitorMessage = "欢迎首次访问我们的网站,有任何问题请随时咨询"; + + /** + * 回访访客专属邀请消息 + */ + @Builder.Default + private String returningVisitorMessage = "欢迎回来,需要进一步帮助请告诉我们"; + + /** + * VIP访客专属邀请消息 + */ + @Builder.Default + private String vipVisitorMessage = "尊敬的贵宾客户,很高兴为您提供专属服务"; + + /** + * 邀请样式设置: bubble, card, modal, banner + */ + @Builder.Default + private String inviteStyle = "bubble"; + + /** + * 邀请动画效果: fade, slide, bounce, none + */ + @Builder.Default + private String inviteAnimation = "fade"; + + /** + * 是否启用A/B测试 + */ + @Builder.Default + private Boolean abTesting = false; } diff --git a/modules/kbase/src/main/java/com/bytedesk/kbase/settings_invite/InviteSettingsResponse.java b/modules/kbase/src/main/java/com/bytedesk/kbase/settings_invite/InviteSettingsResponse.java index 15b5965090..176d8cfaa7 100644 --- a/modules/kbase/src/main/java/com/bytedesk/kbase/settings_invite/InviteSettingsResponse.java +++ b/modules/kbase/src/main/java/com/bytedesk/kbase/settings_invite/InviteSettingsResponse.java @@ -15,6 +15,7 @@ package com.bytedesk.kbase.settings_invite; import com.bytedesk.core.base.BaseResponse; +import java.util.List; import lombok.AllArgsConstructor; import lombok.Builder; @@ -38,11 +39,136 @@ public class InviteSettingsResponse extends BaseResponse { private String description; - private String type; + /** + * 是否为默认设置模板 + */ + private Boolean defaultTemplate; - private String color; + /** + * 是否显示邀请 + */ + private Boolean show; - private Integer order; + /** + * 邀请文本 + */ + private String text; + + /** + * 邀请图标 + */ + private String icon; + + /** + * 邀请延迟时间,单位:毫秒 + */ + private Long delay; + + /** + * 是否循环 + */ + private Boolean loop; + + /** + * 循环延迟时间,单位:毫秒 + */ + private Long loopDelay; + + /** + * 循环次数 + */ + private Integer loopCount; + + /** + * 邀请消息列表 + */ + private List messageList; + + /** + * 定向邀请设置 - 针对特定页面启用邀请 + */ + private Boolean targetedInvite; + + /** + * 定向邀请页面URL匹配模式 + */ + private List targetedInviteUrls; + + /** + * 智能触发邀请 - 基于用户行为 + */ + private Boolean smartTrigger; + + /** + * 页面停留时间触发,单位:秒 + */ + private Integer pageStayTriggerSeconds; + + /** + * 页面滚动触发 + */ + private Boolean scrollTrigger; + + /** + * 页面滚动触发百分比 (0-100) + * 注意:与后端实体字段保持一致命名 + */ + private Integer scrollTriggerPerceninviteSettinge; + + /** + * 退出意图触发 + */ + private Boolean exitIntentTrigger; + + /** + * 访客来源触发 + */ + private Boolean referrerTrigger; + + /** + * 来源URL匹配模式 + */ + private List referrerPatterns; + + /** + * 访客设备类型触发 - 可选: desktop, mobile, tablet + */ + private List deviceTypes; + + /** + * 是否启用访客分段邀请 + */ + private Boolean visitorSegmentation; + + /** + * 新访客专属邀请消息 + */ + private String newVisitorMessage; + + /** + * 回访访客专属邀请消息 + */ + private String returningVisitorMessage; + + /** + * VIP访客专属邀请消息 + */ + private String vipVisitorMessage; + + /** + * 邀请样式设置: bubble, card, modal, banner + */ + private String inviteStyle; + + /** + * 邀请动画效果: fade, slide, bounce, none + */ + private String inviteAnimation; + + /** + * 是否启用A/B测试 + */ + private Boolean abTesting; // private ZonedDateTime createdAt; }