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
73870195
Commit
73870195
authored
Dec 01, 2021
by
hweeeeeei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加接口:向会话中在线client,下发透传消息
parent
57d2ee59
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
127 additions
and
1 deletions
+127
-1
common/src/main/java/com/wecloud/im/controller/serverapi/ApiImMessageController.java
+63
-0
common/src/main/java/com/wecloud/im/param/add/ImMsgSendToOnlineClient.java
+29
-0
common/src/main/java/com/wecloud/im/service/ImMessageService.java
+4
-0
common/src/main/java/com/wecloud/im/service/impl/ImMessageServiceImpl.java
+6
-0
docs/md/内部/wecloud-im前端Websocket对接文档.md
+25
-1
No files found.
common/src/main/java/com/wecloud/im/controller/serverapi/ApiImMessageController.java
0 → 100644
View file @
73870195
package
com
.
wecloud
.
im
.
controller
.
serverapi
;
import
com.wecloud.im.entity.ImApplication
;
import
com.wecloud.im.param.add.ImMsgSendToOnlineClient
;
import
com.wecloud.im.service.ImApplicationService
;
import
com.wecloud.im.service.ImMessageService
;
import
io.geekidea.springbootplus.framework.common.api.ApiCode
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.geekidea.springbootplus.framework.common.controller.BaseController
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestHeader
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* 消息存储表 控制器
*
* @author wei
* @since 2021-04-29
*/
@Slf4j
@RestController
@RequestMapping
(
"/restApi/imMessage"
)
@Api
(
value
=
"服务端rest-API-消息"
,
tags
=
{
"服务端rest-API-消息"
})
public
class
ApiImMessageController
extends
BaseController
{
@Autowired
private
ImApplicationService
imApplicationService
;
@Autowired
private
ImMessageService
imMessageService
;
/**
* 向会话中在线client,下发透传消息
*/
@PostMapping
(
"/sendToOnlineClient"
)
@ApiOperation
(
value
=
"向会话中在线client,下发透传消息"
,
notes
=
"应用服务端向某会话中所有client下发透传消息, 不会保存进离线消息, 仅在线client能收到"
)
public
ApiResult
<
Boolean
>
restApiImMessageSend
(
@RequestBody
ImMsgSendToOnlineClient
imMsgSendToOnlineClient
,
@RequestHeader
String
appkey
,
@RequestHeader
String
appSecret
)
throws
Exception
{
// return imMessageService.updateMsgWithdrawById(imMsgRecall);
// 根据appKey从数据库查询密钥
ImApplication
imApplication
=
imApplicationService
.
getOneByAppKey
(
appkey
);
if
(
imApplication
==
null
)
{
return
ApiResult
.
result
(
ApiCode
.
FAIL
,
null
);
}
// 校验appkey 和appSecret
if
(!
imApplication
.
getAppSecret
().
equals
(
appSecret
))
{
return
ApiResult
.
result
(
ApiCode
.
FAIL
,
null
);
}
return
imMessageService
.
restApiImMessageSend
(
imMsgSendToOnlineClient
);
}
}
common/src/main/java/com/wecloud/im/param/add/ImMsgSendToOnlineClient.java
0 → 100644
View file @
73870195
package
com
.
wecloud
.
im
.
param
.
add
;
import
io.geekidea.springbootplus.framework.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
/**
* 自定义透传内容
*
* @author wei
*/
@Data
@Accessors
(
chain
=
true
)
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"ImMsgSendToOnlineClient"
)
public
class
ImMsgSendToOnlineClient
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"自定义透传内容"
,
required
=
true
)
private
String
content
;
@ApiModelProperty
(
value
=
"会话id"
,
required
=
true
)
private
Long
conversationId
;
}
common/src/main/java/com/wecloud/im/service/ImMessageService.java
View file @
73870195
...
...
@@ -5,6 +5,7 @@ import com.wecloud.im.entity.ImClient;
import
com.wecloud.im.entity.ImMessage
;
import
com.wecloud.im.param.ImHistoryMessagePageParam
;
import
com.wecloud.im.param.add.ImMsgRecall
;
import
com.wecloud.im.param.add.ImMsgSendToOnlineClient
;
import
com.wecloud.im.param.add.ImMsgUpdate
;
import
com.wecloud.im.vo.ImMessageOfflineListVo
;
import
com.wecloud.im.vo.OfflineMsgDto
;
...
...
@@ -23,6 +24,9 @@ import java.util.List;
public
interface
ImMessageService
extends
BaseService
<
ImMessage
>
{
ApiResult
<
Boolean
>
restApiImMessageSend
(
ImMsgSendToOnlineClient
imMsgSendToOnlineClient
);
ImMessage
saveImMessage
(
ImApplication
imApplication
,
ImClient
imClientSender
,
Long
toConversationId
,
long
messageId
,
String
content
);
...
...
common/src/main/java/com/wecloud/im/service/impl/ImMessageServiceImpl.java
View file @
73870195
...
...
@@ -15,6 +15,7 @@ import com.wecloud.im.entity.ImMessageOnlineSend;
import
com.wecloud.im.mapper.ImMessageMapper
;
import
com.wecloud.im.param.ImHistoryMessagePageParam
;
import
com.wecloud.im.param.add.ImMsgRecall
;
import
com.wecloud.im.param.add.ImMsgSendToOnlineClient
;
import
com.wecloud.im.param.add.ImMsgUpdate
;
import
com.wecloud.im.service.ImApplicationService
;
import
com.wecloud.im.service.ImClientService
;
...
...
@@ -76,6 +77,11 @@ public class ImMessageServiceImpl extends BaseServiceImpl<ImMessageMapper, ImMes
private
WriteDataService
writeDataService
;
@Override
public
ApiResult
<
Boolean
>
restApiImMessageSend
(
ImMsgSendToOnlineClient
imMsgSendToOnlineClient
)
{
return
null
;
}
@Override
public
ImMessage
saveImMessage
(
ImApplication
imApplication
,
ImClient
imClientSender
,
Long
toConversationId
,
long
messageId
,
String
content
)
{
ImMessage
imMessage
=
new
ImMessage
();
...
...
docs/md/内部/wecloud-im前端Websocket对接文档.md
View file @
73870195
# wec
loud-im 前端Websocket对接文档
# wec
loud-im 前端Websocket对接文档
...
...
@@ -182,6 +182,8 @@ wss://ws.im199.com/ws?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWI
-
5:响应请求(用于RTC音视频通话)
-
6:下发透传消息
## 消息type说明
...
...
@@ -399,6 +401,8 @@ websocket是异步的 有可能你很快速的发送了几条消息,服务器响
}
```
上面是完整的例子,如果只想简单的发送图像 URL:
```
json
...
...
@@ -442,6 +446,26 @@ websocket是异步的 有可能你很快速的发送了几条消息,服务器响
## 服务端下发透传消息
```
json
{
"reqId"
:
"1"
,
"cmd"
:
6
,
"data"
:{
"toConversation"
:
1394188055950266368
,
"content"
:
"json字符串,或任意字符数据"
}
}
```
## 客户端在线接收事件类型消息
### 事件类型type (xx表示为某客户端)
...
...
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