前言
完成了服务端和客户端的部分展示,开始就行具体的功能实现,根据LayIM返回的信息格式进行代码编写,以及数据库的设计。
这是我成功后的页面
具体的实体类展示
- ResultJson.java(响应信息的格式)
- Mine.java(个人信息)
- FriendOrGroup.java(群组消息)
- ChatMsgBody.java(服务端发送至客户端的消息格式)
代码的展示
ResultJson.java返回格式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104/**
* 响应信息
*/
public class ResultJson {
private static final long serialVersionUID = 1L;
/**
* 成功
*/
private static final int SUCCESS_COCE = 0;
/**
* 失败
*/
private static final int FAIL_COCE = 1;
/**
* 返回状态
*/
private Integer code;
/**
* 返回的消息
*/
private String msg;
/**
* 返回封装的数据
*/
private Object data;
/**
* 失败结果
* @param msg
*/
public ResultJson (String msg){
this(FAIL_COCE,msg,null);
}
/**
* 成功结果,有返回值,无返回信息
* @param data
*/
public ResultJson(Object data){
this(SUCCESS_COCE,"",data);
}
/**
* 成功结果,有返回值,有返回信息
* @param data
*/
public ResultJson(String msg,Object data){
this(SUCCESS_COCE,msg,data);
}
public ResultJson(Integer code, String msg, Object data){
this.data = data;
this.code = code;
this.msg = msg;
}
/**
* 成功结果,有返回值,有返回信息
* */
public static ResultJson success(String msg,Object data){
return new ResultJson(msg,data);
}
/**
* 成功结果,有返回值,无返回信息
* */
public static ResultJson success(Object data){
return new ResultJson(data);
}
/**
* 成功结果无返回值
* */
public static ResultJson success(){
return success(null);
}
/**
* 失败结果
* */
public static ResultJson error(String msg){
return new ResultJson(msg);
}
/**
* 失败结果
* */
public static ResultJson error(String msg,Object data){
return new ResultJson(FAIL_COCE,msg, data);
}
}
Mine.java
1 | /** |
FriendOrGroup.java
1 | /** |
ChatMsgBody.java
1 | /** |
数据格式的基础实体类就是以上这些,其中ChatMsgBody.java暂时可以不用管,因为它牵扯到数据的发送,暂时还未到那一步。
下面为Controller
ImController.java
1 | /** |
至此后端代码完成,下面就行前端页面的
chat.html
1 |
|
说明
关于socket.js网上有多,这是自己整理的仅供参考。
1 | var socket; |