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
db646430
Commit
db646430
authored
Apr 18, 2022
by
罗长华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
调整ResponseParser parser方法返回JSONObject
parent
e08508f7
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
30 additions
and
26 deletions
+30
-26
im-sdk/src/main/java/com/wecloud/im/sdk/internal/ResponseParser.java
+10
-3
im-sdk/src/main/java/com/wecloud/im/sdk/internal/WecloudImClientOperation.java
+5
-3
im-sdk/src/main/java/com/wecloud/im/sdk/internal/WecloudImOperation.java
+15
-15
im-sdk/src/main/java/com/wecloud/im/sdk/model/RegisterClientRequest.java
+0
-5
No files found.
im-sdk/src/main/java/com/wecloud/im/sdk/internal/ResponseParser.java
View file @
db646430
package
com
.
wecloud
.
im
.
sdk
.
internal
;
package
com
.
wecloud
.
im
.
sdk
.
internal
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.TypeReference
;
import
com.wecloud.im.sdk.common.ApiResult
;
import
com.wecloud.im.sdk.common.ApiResult
;
/**
/**
...
@@ -8,13 +11,17 @@ import com.wecloud.im.sdk.common.ApiResult;
...
@@ -8,13 +11,17 @@ import com.wecloud.im.sdk.common.ApiResult;
* @Date 2022年04月15日 20:40
* @Date 2022年04月15日 20:40
* @Version 1.0
* @Version 1.0
*/
*/
public
interface
ResponseParser
<
T
>
{
public
class
ResponseParser
{
/**
/**
* Converts the result from stream to a java object.
* Converts the result from stream to a java object.
*
*
* @param jsonResult
* @param jsonResult
*/
*/
ApiResult
<
T
>
parse
(
String
jsonResult
);
public
static
JSONObject
parse
(
String
jsonResult
)
{
TypeReference
typeRef
=
new
TypeReference
<
ApiResult
<
JSONObject
>>()
{
};
ApiResult
<
JSONObject
>
apiResult
=
(
ApiResult
<
JSONObject
>)
JSON
.
parseObject
(
jsonResult
,
typeRef
);
return
apiResult
.
getData
();
}
}
}
im-sdk/src/main/java/com/wecloud/im/sdk/internal/WecloudImClientOperation.java
View file @
db646430
...
@@ -4,7 +4,8 @@ import java.net.URL;
...
@@ -4,7 +4,8 @@ import java.net.URL;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Map
;
import
com.wecloud.im.sdk.common.ApiResult
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.wecloud.im.sdk.common.HttpMethod
;
import
com.wecloud.im.sdk.common.HttpMethod
;
import
com.wecloud.im.sdk.common.RequestMessage
;
import
com.wecloud.im.sdk.common.RequestMessage
;
import
com.wecloud.im.sdk.model.ImClient
;
import
com.wecloud.im.sdk.model.ImClient
;
...
@@ -46,8 +47,9 @@ public class WecloudImClientOperation extends WecloudImOperation {
...
@@ -46,8 +47,9 @@ public class WecloudImClientOperation extends WecloudImOperation {
RequestMessage
request
=
new
WecloudRequestMessageBuilder
().
setEndpoint
(
"/api/imClient/registerClient"
)
RequestMessage
request
=
new
WecloudRequestMessageBuilder
().
setEndpoint
(
"/api/imClient/registerClient"
)
.
setMethod
(
HttpMethod
.
POST
).
setParameters
(
param
)
.
setMethod
(
HttpMethod
.
POST
).
setParameters
(
param
)
.
setOriginalRequest
(
registerClientRequest
).
build
();
.
setOriginalRequest
(
registerClientRequest
).
build
();
ApiResult
<
ImClient
>
result
=
doOperation
(
request
,
null
);
return
result
.
getData
();
JSONObject
result
=
doOperation
(
request
);
ImClient
imClient
=
JSON
.
parseObject
(
result
.
toJSONString
(),
ImClient
.
class
);
return
imClient
;
}
}
}
}
im-sdk/src/main/java/com/wecloud/im/sdk/internal/WecloudImOperation.java
View file @
db646430
...
@@ -10,7 +10,7 @@ import java.util.Map;
...
@@ -10,7 +10,7 @@ import java.util.Map;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.date.DateUtil
;
import
com.
wecloud.im.sdk.common.ApiResul
t
;
import
com.
alibaba.fastjson.JSONObjec
t
;
import
com.wecloud.im.sdk.common.HttpClient
;
import
com.wecloud.im.sdk.common.HttpClient
;
import
com.wecloud.im.sdk.common.HttpMethod
;
import
com.wecloud.im.sdk.common.HttpMethod
;
import
com.wecloud.im.sdk.common.RequestMessage
;
import
com.wecloud.im.sdk.common.RequestMessage
;
...
@@ -39,13 +39,22 @@ public abstract class WecloudImOperation {
...
@@ -39,13 +39,22 @@ public abstract class WecloudImOperation {
this
.
appSecret
=
appSecret
;
this
.
appSecret
=
appSecret
;
}
}
protected
<
T
>
ApiResult
<
T
>
doOperation
(
RequestMessage
request
,
ResponseParser
<
T
>
responseParser
)
{
protected
JSONObject
doOperation
(
RequestMessage
request
)
{
ApiResult
<
T
>
result
=
send
(
request
,
responseParser
);
Credentials
credentials
=
new
Credentials
(
appKey
,
appSecret
);
return
result
;
// 请求日期
String
date
=
DateUtil
.
formatHttpDate
(
new
Date
());
request
.
addHeader
(
ImHeaders
.
DATE
,
date
);
if
(
HttpMethod
.
POST
.
equals
(
request
.
getMethod
()))
{
request
.
addHeader
(
CONTENT_TYPE
,
"application/json; charset=utf-8"
);
}
// 添加签名请求头
RequestSigner
signer
=
new
RequestSigner
(
request
.
getMethod
().
name
(),
request
.
getEndpoint
(),
credentials
);
signer
.
sign
(
request
);
return
send
(
request
);
}
}
@SuppressWarnings
(
"unchecked"
)
@SuppressWarnings
(
"unchecked"
)
private
<
T
>
ApiResult
<
T
>
send
(
RequestMessage
request
,
ResponseParser
<
T
>
responseParser
)
{
private
JSONObject
send
(
RequestMessage
request
)
{
try
{
try
{
// 组装请求
// 组装请求
Map
<
String
,
Object
>
parameters
=
BeanUtil
.
beanToMap
(
request
.
getOriginalRequest
(),
false
,
true
);
Map
<
String
,
Object
>
parameters
=
BeanUtil
.
beanToMap
(
request
.
getOriginalRequest
(),
false
,
true
);
...
@@ -53,15 +62,6 @@ public abstract class WecloudImOperation {
...
@@ -53,15 +62,6 @@ public abstract class WecloudImOperation {
parameters
.
forEach
((
k
,
v
)
->
{
parameters
.
forEach
((
k
,
v
)
->
{
finalParameters
.
put
(
k
,
v
.
toString
());
finalParameters
.
put
(
k
,
v
.
toString
());
});
});
Credentials
credentials
=
new
Credentials
(
appKey
,
appSecret
);
// 请求日期
String
date
=
DateUtil
.
formatHttpDate
(
new
Date
());
request
.
addHeader
(
ImHeaders
.
DATE
,
date
);
request
.
addHeader
(
CONTENT_TYPE
,
"application/json; charset=utf-8"
);
// 添加签名请求头
RequestSigner
signer
=
new
RequestSigner
(
request
.
getMethod
().
name
(),
request
.
getEndpoint
(),
credentials
);
signer
.
sign
(
request
);
URL
endpoint
=
new
URL
(
apiDomain
,
request
.
getEndpoint
());
URL
endpoint
=
new
URL
(
apiDomain
,
request
.
getEndpoint
());
HttpClient
httpClient
=
HttpClient
httpClient
=
HttpClient
.
builder
().
url
(
endpoint
).
addHeaders
(
request
.
getHeaders
()).
addParams
(
request
.
getParameters
()).
addParams
(
finalParameters
);
HttpClient
.
builder
().
url
(
endpoint
).
addHeaders
(
request
.
getHeaders
()).
addParams
(
request
.
getParameters
()).
addParams
(
finalParameters
);
...
@@ -79,7 +79,7 @@ public abstract class WecloudImOperation {
...
@@ -79,7 +79,7 @@ public abstract class WecloudImOperation {
assert
response
.
body
()
!=
null
;
assert
response
.
body
()
!=
null
;
String
responseBody
=
response
.
body
().
string
();
String
responseBody
=
response
.
body
().
string
();
return
r
esponseParser
.
parse
(
responseBody
);
return
R
esponseParser
.
parse
(
responseBody
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
throw
new
WecloudException
(
"发送请求报错: "
+
e
.
getMessage
());
throw
new
WecloudException
(
"发送请求报错: "
+
e
.
getMessage
());
...
...
im-sdk/src/main/java/com/wecloud/im/sdk/model/RegisterClientRequest.java
View file @
db646430
...
@@ -30,9 +30,4 @@ public class RegisterClientRequest extends WebServiceRequest {
...
@@ -30,9 +30,4 @@ public class RegisterClientRequest extends WebServiceRequest {
*/
*/
private
String
nickname
;
private
String
nickname
;
/**
* 设备类型
*/
private
Integer
deviceType
;
}
}
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