NIMSDK-AOS  9.21.15
NIMMessageAntispamConfig.java
浏览该文件的文档.
1 package com.netease.nimlib.sdk.msg.config;
2 
3 import java.io.Serializable;
4 
5 /**
6  * NIMMessageAntispamConfig 类
7  * <p>
8  * 该类用于配置网易云信(NIM)消息反垃圾功能的参数。
9  * 它实现了 Serializable 接口,允许对象进行序列化。
10  */
11 public class NIMMessageAntispamConfig implements Serializable {
12 
13  /**
14  * 指定是否需要过安全通
15  * 对于已开通安全通的用户有效,默认消息都会走安全通
16  * 如果对单条消息设置 enable 为false,则此消息不会走安全通
17  * 该字段为true时,以下字段(antispamBusinessId/antispamCustomMessage/antispamCheating/antispamExtension)才生效
18  */
19  private final boolean antispamEnabled;
20 
21  /**
22  * 指定易盾业务id,而不使用云信后台配置的
23  * 安全通后台对接易盾
24  */
25  private final String antispamBusinessId;
26 
27  /**
28  * 自定义消息中需要反垃圾的内容(仅当消息类型为自定义消息时有效)
29  * 自定义消息开发者自定义的反垃圾字段, content 必须是 json 格式,长度不超过 5000 字节
30  * 格式如下 { "type": 1, //1:文本,2:图片,3视频 "data": "" //文本内容or图片地址or视频地址 }
31  */
32  private final String antispamCustomMessage;
33 
34  /**
35  * 易盾反作弊(辅助检测数据),json格式,限制长度1024
36  */
37  private final String antispamCheating;
38 
39  /**
40  * 易盾反垃圾(增强检测数据),json格式,限制长度1024
41  */
42  private final String antispamExtension;
43 
44  /**
45  * 私有构造函数,使用默认值初始化
46  */
47  private NIMMessageAntispamConfig() {
48  this(DEFAULT_ANTISPAM_ENABLED, null, null, null, null);
49  }
50 
51  /**
52  * 私有构造函数,使用指定参数初始化
53  *
54  * @param antispamEnabled 是否启用反垃圾
55  * @param antispamBusinessId 易盾业务ID
56  * @param antispamCustomMessage 自定义反垃圾消息
57  * @param antispamCheating 反作弊数据
58  * @param antispamExtension 增强检测数据
59  */
60  private NIMMessageAntispamConfig(boolean antispamEnabled, String antispamBusinessId, String antispamCustomMessage, String antispamCheating,
61  String antispamExtension) {
62  this.antispamEnabled = antispamEnabled;
63  this.antispamBusinessId = antispamBusinessId;
64  this.antispamCustomMessage = antispamCustomMessage;
65  this.antispamCheating = antispamCheating;
66  this.antispamExtension = antispamExtension;
67  }
68 
69  /**
70  * 获取是否启用反垃圾
71  *
72  * @return 反垃圾是否启用
73  */
74  public boolean isAntispamEnabled() {
75  return antispamEnabled;
76  }
77 
78  /**
79  * 获取易盾业务ID
80  *
81  * @return 易盾业务ID
82  */
83  public String getAntispamBusinessId() {
84  return antispamBusinessId;
85  }
86 
87  /**
88  * 获取自定义反垃圾消息
89  *
90  * @return 自定义反垃圾消息
91  */
92  public String getAntispamCustomMessage() {
93  return antispamCustomMessage;
94  }
95 
96  /**
97  * 获取反作弊数据
98  *
99  * @return 反作弊数据
100  */
101  public String getAntispamCheating() {
102  return antispamCheating;
103  }
104 
105  /**
106  * 获取增强检测数据
107  *
108  * @return 增强检测数据
109  */
110  public String getAntispamExtension() {
111  return antispamExtension;
112  }
113 
114  /**
115  * 重写toString方法,返回对象的字符串表示
116  *
117  * @return 对象的字符串表示
118  */
119  @Override
120  public String toString() {
121  return "V2NIMMessageAntispamConfig{" + "antispamEnabled=" + antispamEnabled + ", antispamBusinessId='" + antispamBusinessId + '\''
122  + ", antispamCustomMessage='" + antispamCustomMessage + '\'' + ", antispamCheating='" + antispamCheating + '\'' + ", antispamExtension='"
123  + antispamExtension + '\'' + '}';
124  }
125 
126  /**
127  * 默认的反垃圾启用状态
128  */
129  private static final boolean DEFAULT_ANTISPAM_ENABLED = true;
130 
131  /**
132  * NIMMessageAntispamConfig的构建器类
133  */
134  public static final class NIMMessageAntispamConfigBuilder {
135 
136  private boolean antispamEnabled = DEFAULT_ANTISPAM_ENABLED;
137  private String antispamBusinessId;
138  private String antispamCustomMessage;
139  private String antispamCheating;
140  private String antispamExtension;
141 
142  private NIMMessageAntispamConfigBuilder() {
143  }
144 
145  /**
146  * 创建一个新的NIMMessageAntispamConfigBuilder实例
147  *
148  * @return NIMMessageAntispamConfigBuilder实例
149  */
150  public static NIMMessageAntispamConfigBuilder builder() {
151  return new NIMMessageAntispamConfigBuilder();
152  }
153 
154  /**
155  * 设置是否启用反垃圾
156  *
157  * @param antispamEnabled 是否启用反垃圾
158  *
159  * @return 构建器实例
160  */
161  public NIMMessageAntispamConfigBuilder withAntispamEnabled(boolean antispamEnabled) {
162  this.antispamEnabled = antispamEnabled;
163  return this;
164  }
165 
166  /**
167  * 设置易盾业务ID
168  *
169  * @param antispamBusinessId 易盾业务ID
170  *
171  * @return 构建器实例
172  */
173  public NIMMessageAntispamConfigBuilder withAntispamBusinessId(String antispamBusinessId) {
174  this.antispamBusinessId = antispamBusinessId;
175  return this;
176  }
177 
178  /**
179  * 设置自定义反垃圾消息
180  *
181  * @param antispamCustomMessage 自定义反垃圾消息
182  *
183  * @return 构建器实例
184  */
185  public NIMMessageAntispamConfigBuilder withAntispamCustomMessage(String antispamCustomMessage) {
186  this.antispamCustomMessage = antispamCustomMessage;
187  return this;
188  }
189 
190  /**
191  * 设置反作弊数据
192  *
193  * @param antispamCheating 反作弊数据
194  *
195  * @return 构建器实例
196  */
197  public NIMMessageAntispamConfigBuilder withAntispamCheating(String antispamCheating) {
198  this.antispamCheating = antispamCheating;
199  return this;
200  }
201 
202  /**
203  * 设置增强检测数据
204  *
205  * @param antispamExtension 增强检测数据
206  *
207  * @return 构建器实例
208  */
209  public NIMMessageAntispamConfigBuilder withAntispamExtension(String antispamExtension) {
210  this.antispamExtension = antispamExtension;
211  return this;
212  }
213 
214  /**
215  * 构建NIMMessageAntispamConfig实例
216  *
217  * @return 新的NIMMessageAntispamConfig实例
218  */
219  public NIMMessageAntispamConfig build() {
220  return new NIMMessageAntispamConfig(antispamEnabled, antispamBusinessId, antispamCustomMessage, antispamCheating, antispamExtension);
221  }
222  }
223 }
String toString()
重写toString方法,返回对象的字符串表示