Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wecloud_im_server
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hewei
wecloud_im_server
Commits
cce2364d
Commit
cce2364d
authored
May 07, 2022
by
罗长华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
sdk增加message类
parent
3ef7767c
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
478 additions
and
15 deletions
+478
-15
im-sdk/src/main/java/com/wecloud/im/sdk/enums/MessageTypeEnum.java
+49
-0
im-sdk/src/main/java/com/wecloud/im/sdk/model/message/BaseMessage.java
+42
-0
im-sdk/src/main/java/com/wecloud/im/sdk/model/message/FileMessage.java
+22
-0
im-sdk/src/main/java/com/wecloud/im/sdk/model/message/MessageFile.java
+46
-0
im-sdk/src/main/java/com/wecloud/im/sdk/model/message/MessageImageFile.java
+56
-0
im-sdk/src/main/java/com/wecloud/im/sdk/model/message/MessageVideoFile.java
+59
-0
im-sdk/src/main/java/com/wecloud/im/sdk/model/message/MessageVoiceFile.java
+44
-0
im-sdk/src/main/java/com/wecloud/im/sdk/model/message/PicMessage.java
+22
-0
im-sdk/src/main/java/com/wecloud/im/sdk/model/message/PositionMessage.java
+37
-0
im-sdk/src/main/java/com/wecloud/im/sdk/model/message/TextMessage.java
+24
-0
im-sdk/src/main/java/com/wecloud/im/sdk/model/message/VideoMessage.java
+22
-0
im-sdk/src/main/java/com/wecloud/im/sdk/model/message/VoiceMessage.java
+22
-0
im-sdk/src/main/java/com/wecloud/im/sdk/sample/PublishGroupChatMessageSample.java
+33
-15
No files found.
im-sdk/src/main/java/com/wecloud/im/sdk/enums/MessageTypeEnum.java
0 → 100644
View file @
cce2364d
package
com
.
wecloud
.
im
.
sdk
.
enums
;
import
lombok.Getter
;
/**
*
* @Author luozh
* @Date 2022年05月07日 13:44
* @Version 1.0
*/
public
enum
MessageTypeEnum
{
// 位置
POSITION
(
0
),
// 文本消息
TEXT
(-
1
),
// 图像消息
IMAGE
(-
2
),
// 音频消息
AUDIO
(-
3
),
// 视频消息
VIDEO
(-
4
),
// 文件消息
FILE
(-
5
),
;
@Getter
private
final
int
code
;
MessageTypeEnum
(
int
code
)
{
this
.
code
=
code
;
}
/**
* 根据code获取
*
* @param code
* @return
*/
public
static
MessageTypeEnum
getByCode
(
int
code
)
{
for
(
MessageTypeEnum
messageTypeEnum
:
values
())
{
if
(
messageTypeEnum
.
getCode
()
==
code
)
{
return
messageTypeEnum
;
}
}
return
null
;
}
}
im-sdk/src/main/java/com/wecloud/im/sdk/model/message/BaseMessage.java
0 → 100644
View file @
cce2364d
package
com
.
wecloud
.
im
.
sdk
.
model
.
message
;
import
lombok.Getter
;
import
lombok.Setter
;
import
com.wecloud.im.sdk.enums.MessageTypeEnum
;
/**
*
* @Author luozh
* @Date 2022年05月07日 13:51
* @Version 1.0
*/
@Getter
public
class
BaseMessage
{
/**
* 类型
*/
private
Integer
type
;
/**
* 用来给开发者存储拓展的自定义属性字段
*/
@Setter
private
Object
attrs
;
public
BaseMessage
(
MessageTypeEnum
type
)
{
this
.
setType
(
type
);
}
/**
* 设置类型
* @Author luozh
* @Date 2022年05月07日 01:55:06
* @param type
* @Return
*/
protected
void
setType
(
MessageTypeEnum
type
)
{
this
.
type
=
type
.
getCode
();
}
}
im-sdk/src/main/java/com/wecloud/im/sdk/model/message/FileMessage.java
0 → 100644
View file @
cce2364d
package
com
.
wecloud
.
im
.
sdk
.
model
.
message
;
import
lombok.Getter
;
import
lombok.Setter
;
import
com.wecloud.im.sdk.enums.MessageTypeEnum
;
/**
* 图片类型消息
* @Author luozh
* @Date 2022年05月07日 13:59
* @Version 1.0
*/
@Getter
@Setter
public
class
FileMessage
extends
BaseMessage
{
public
FileMessage
()
{
super
(
MessageTypeEnum
.
FILE
);
}
private
MessageFile
file
;
}
im-sdk/src/main/java/com/wecloud/im/sdk/model/message/MessageFile.java
0 → 100644
View file @
cce2364d
package
com
.
wecloud
.
im
.
sdk
.
model
.
message
;
import
lombok.Data
;
import
lombok.Getter
;
import
lombok.Setter
;
/**
* 消息图片文件
* @Author luozh
* @Date 2022年05月07日 14:00
* @Version 1.0
*/
@Data
public
class
MessageFile
{
/**
* 文件地址
*/
private
String
url
;
/**
* 元数据
*/
private
MetaData
metaData
;
@Setter
@Getter
public
static
class
MetaData
{
/**
* 文件
*/
private
String
name
;
/**
* 文件的格式
*/
private
String
format
;
/**
* 大小 单位b
*/
private
Integer
size
;
}
}
im-sdk/src/main/java/com/wecloud/im/sdk/model/message/MessageImageFile.java
0 → 100644
View file @
cce2364d
package
com
.
wecloud
.
im
.
sdk
.
model
.
message
;
import
lombok.Data
;
import
lombok.Getter
;
import
lombok.Setter
;
/**
* 消息图片文件
* @Author luozh
* @Date 2022年05月07日 14:00
* @Version 1.0
*/
@Data
public
class
MessageImageFile
{
/**
* 图片地址
*/
private
String
url
;
/**
* 元数据
*/
private
MetaData
metaData
;
@Setter
@Getter
public
static
class
MetaData
{
/**
* 图像的名称
*/
private
String
name
;
/**
* 图像的格式
*/
private
String
format
;
/**
* 高度(单位 像素)
*/
private
Integer
height
;
/**
* 宽度(单位 像素)
*/
private
Integer
width
;
/**
* 大小 单位b
*/
private
Integer
size
;
}
}
im-sdk/src/main/java/com/wecloud/im/sdk/model/message/MessageVideoFile.java
0 → 100644
View file @
cce2364d
package
com
.
wecloud
.
im
.
sdk
.
model
.
message
;
import
lombok.Data
;
import
lombok.Getter
;
import
lombok.Setter
;
/**
* 音频消息
* @Author luozh
* @Date 2022年05月07日 14:05
* @Version 1.0
*/
@Data
public
class
MessageVideoFile
{
/**
* 地址
*/
private
String
url
;
/**
* 元数据
*/
private
MetaData
metaData
;
@Setter
@Getter
public
static
class
MetaData
{
/**
* 文件的名称
*/
private
String
name
;
/**
* 视频的格式
*/
private
String
format
;
/**
* 时长 单位秒 精确小数点后1位
*/
private
Double
duration
;
/**
* 高度(单位 像素)
*/
private
Integer
height
;
/**
* 宽度(单位 像素)
*/
private
Integer
width
;
/**
* 大小 单位b
*/
private
Integer
size
;
}
}
im-sdk/src/main/java/com/wecloud/im/sdk/model/message/MessageVoiceFile.java
0 → 100644
View file @
cce2364d
package
com
.
wecloud
.
im
.
sdk
.
model
.
message
;
import
lombok.Data
;
import
lombok.Getter
;
import
lombok.Setter
;
/**
* 音频消息
* @Author luozh
* @Date 2022年05月07日 14:05
* @Version 1.0
*/
@Data
public
class
MessageVoiceFile
{
/**
* 地址
*/
private
String
url
;
/**
* 元数据
*/
private
MessageImageFile
.
MetaData
metaData
;
@Setter
@Getter
public
static
class
MetaData
{
/**
* 文件的名称
*/
private
String
name
;
/**
* 时长 单位秒 精确小数点后1位
*/
private
Double
duration
;
/**
* 大小 单位b
*/
private
Integer
size
;
}
}
im-sdk/src/main/java/com/wecloud/im/sdk/model/message/PicMessage.java
0 → 100644
View file @
cce2364d
package
com
.
wecloud
.
im
.
sdk
.
model
.
message
;
import
lombok.Getter
;
import
lombok.Setter
;
import
com.wecloud.im.sdk.enums.MessageTypeEnum
;
/**
* 图片类型消息
* @Author luozh
* @Date 2022年05月07日 13:59
* @Version 1.0
*/
@Getter
@Setter
public
class
PicMessage
extends
BaseMessage
{
public
PicMessage
()
{
super
(
MessageTypeEnum
.
IMAGE
);
}
private
MessageImageFile
file
;
}
im-sdk/src/main/java/com/wecloud/im/sdk/model/message/PositionMessage.java
0 → 100644
View file @
cce2364d
package
com
.
wecloud
.
im
.
sdk
.
model
.
message
;
import
lombok.Getter
;
import
lombok.Setter
;
import
com.wecloud.im.sdk.enums.MessageTypeEnum
;
/**
* 图片类型消息
* @Author luozh
* @Date 2022年05月07日 13:59
* @Version 1.0
*/
@Getter
@Setter
public
class
PositionMessage
extends
BaseMessage
{
public
PositionMessage
()
{
super
(
MessageTypeEnum
.
POSITION
);
}
private
MetaData
metaData
;
@Setter
@Getter
public
static
class
MetaData
{
/**
* 经度
*/
private
Double
longitude
;
/**
* 纬度
*/
private
Double
latitude
;
}
}
im-sdk/src/main/java/com/wecloud/im/sdk/model/message/TextMessage.java
0 → 100644
View file @
cce2364d
package
com
.
wecloud
.
im
.
sdk
.
model
.
message
;
import
lombok.Getter
;
import
lombok.Setter
;
import
com.wecloud.im.sdk.enums.MessageTypeEnum
;
/**
*
* @Author luozh
* @Date 2022年05月07日 13:56
* @Version 1.0
*/
@Getter
@Setter
public
class
TextMessage
extends
BaseMessage
{
public
TextMessage
()
{
super
(
MessageTypeEnum
.
TEXT
);
}
private
String
text
;
}
im-sdk/src/main/java/com/wecloud/im/sdk/model/message/VideoMessage.java
0 → 100644
View file @
cce2364d
package
com
.
wecloud
.
im
.
sdk
.
model
.
message
;
import
lombok.Getter
;
import
lombok.Setter
;
import
com.wecloud.im.sdk.enums.MessageTypeEnum
;
/**
* 图片类型消息
* @Author luozh
* @Date 2022年05月07日 13:59
* @Version 1.0
*/
@Getter
@Setter
public
class
VideoMessage
extends
BaseMessage
{
public
VideoMessage
()
{
super
(
MessageTypeEnum
.
VIDEO
);
}
private
MessageVideoFile
file
;
}
im-sdk/src/main/java/com/wecloud/im/sdk/model/message/VoiceMessage.java
0 → 100644
View file @
cce2364d
package
com
.
wecloud
.
im
.
sdk
.
model
.
message
;
import
lombok.Getter
;
import
lombok.Setter
;
import
com.wecloud.im.sdk.enums.MessageTypeEnum
;
/**
* 图片类型消息
* @Author luozh
* @Date 2022年05月07日 13:59
* @Version 1.0
*/
@Getter
@Setter
public
class
VoiceMessage
extends
BaseMessage
{
public
VoiceMessage
()
{
super
(
MessageTypeEnum
.
AUDIO
);
}
private
MessageVoiceFile
file
;
}
im-sdk/src/main/java/com/wecloud/im/sdk/sample/PublishGroupChatMessageSample.java
View file @
cce2364d
package
com
.
wecloud
.
im
.
sdk
.
sample
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.Map
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.wecloud.im.sdk.WecloudIm
;
import
com.wecloud.im.sdk.WecloudImClientBuilder
;
import
com.wecloud.im.sdk.model.GroupChatMessage
;
import
com.wecloud.im.sdk.model.GroupChatStatusMessage
;
import
com.wecloud.im.sdk.model.message.MessageImageFile
;
import
com.wecloud.im.sdk.model.message.PicMessage
;
import
com.wecloud.im.sdk.model.message.TextMessage
;
/**
* 发布群消息
...
...
@@ -30,30 +29,49 @@ public class PublishGroupChatMessageSample {
String
toGroupIds
=
"1519985463165931520"
;
String
messageType
=
"-1"
;
Map
<
String
,
Object
>
msg
=
new
HashMap
<>();
msg
.
put
(
"toConversation"
,
"1519985463165931520"
);
msg
.
put
(
"type"
,
-
1
);
msg
.
put
(
"text"
,
"这是测试消息: "
+
DateUtil
.
formatDateTime
(
new
Date
()));
boolean
silent
=
true
;
GroupChatMessage
groupChatMessage
=
new
GroupChatMessage
();
groupChatMessage
.
setFromUserId
(
senderId
);
groupChatMessage
.
setToGroupIds
(
toGroupIds
);
groupChatMessage
.
setMessageType
(
messageType
);
groupChatMessage
.
setContent
(
JSONUtil
.
toJsonStr
(
msg
));
groupChatMessage
.
setPushContent
(
""
);
groupChatMessage
.
setIncludeSender
(
false
);
groupChatMessage
.
setPersisted
(
true
);
groupChatMessage
.
setMentioned
(
false
);
groupChatMessage
.
setSilent
(
silent
);
// groupChatMessage.setPushExt(new PushExtParam());
String
s
=
" {\"content\":\"{\\\"amount\\\":1.000,\\\"blessingWords\\\":\\\"恭喜发财,大吉大利\\\","
+
"\\\"id\\\":1522526485813088256,\\\"liveStatus\\\":1,\\\"number\\\":1,\\\"payMode\\\":1,\\\"payStatus\\\":2,\\\"payTime\\\":1651833576000,\\\"redEnvelopeType\\\":2,\\\"remainingAmount\\\":0.000,\\\"remainingPacket\\\":0,\\\"sponsorAccountCode\\\":\\\"1517329604459835392\\\",\\\"targetType\\\":2}\",\"fromUserId\":\"1517329604459835392\",\"includeBlacklist\":false,\"includeSender\":true,\"messageType\":\"201\",\"toGroupIds\":\"1519985463165931520\"}"
;
groupChatMessage
.
setMessageType
(
"-1"
);
groupChatMessage
.
setContent
(
JSONUtil
.
toJsonStr
(
buildTextMessage
()));
Boolean
textMessageResult
=
im
.
publishGroupChatMessage
(
groupChatMessage
);
GroupChatStatusMessage
groupChatMessage1
=
JSONObject
.
parseObject
(
s
,
GroupChatStatusMessage
.
class
);
groupChatMessage
.
setMessageType
(
"-2"
);
groupChatMessage
.
setContent
(
JSONUtil
.
toJsonStr
(
buildPicMessage
()));
Boolean
picMessageResult
=
im
.
publishGroupChatMessage
(
groupChatMessage
);
Boolean
result
=
im
.
publishGroupChatStatusMessage
(
groupChatMessage1
);
}
private
static
TextMessage
buildTextMessage
()
{
TextMessage
textMessage
=
new
TextMessage
();
textMessage
.
setText
(
"这是text消息测试: "
+
DateUtil
.
formatDateTime
(
new
Date
()));
return
textMessage
;
}
private
static
PicMessage
buildPicMessage
()
{
PicMessage
picMessage
=
new
PicMessage
();
MessageImageFile
imageFile
=
new
MessageImageFile
();
imageFile
.
setUrl
(
"http://ac-p2bpmgci.clouddn.com/246b8acc-2e12-4a9d-a255-8d17a3059d25"
);
MessageImageFile
.
MetaData
metaData
=
new
MessageImageFile
.
MetaData
();
metaData
.
setName
(
"IMG_20141223.jpeg"
);
metaData
.
setFormat
(
"png"
);
metaData
.
setHeight
(
768
);
metaData
.
setWidth
(
1024
);
metaData
.
setSize
(
18
);
imageFile
.
setMetaData
(
metaData
);
picMessage
.
setFile
(
imageFile
);
return
picMessage
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment