Skip to content

Commit 331e30d

Browse files
committed
增加图片处理
1 parent 776bb5f commit 331e30d

File tree

17 files changed

+344
-225
lines changed

17 files changed

+344
-225
lines changed

conf/nbs.db

0 Bytes
Binary file not shown.

src/main/java/UI/common/Base64CodecUtil.java

Lines changed: 0 additions & 188 deletions
This file was deleted.

src/main/java/UI/panel/im/IMPanel.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import io.nbs.commons.helper.DateHelper;
1515
import io.nbs.client.cnsts.ColorCnst;
1616
import io.nbs.client.ui.panels.im.ChatPanel;
17-
import UI.common.Base64CodecUtil;
17+
import io.nbs.commons.utils.Base64CodecUtil;
1818
import io.ipfs.api.IPFS;
1919

2020
import org.apache.commons.lang3.StringUtils;
@@ -290,7 +290,7 @@ private void sendMsg(){
290290
sb.append(ConstantsUI.WSPACE_CHARACTER4).append(sendContent);
291291

292292
//send pub
293-
AppMainWindow.ipfs.pubsub.pub(topic,Base64CodecUtil.encodeByCtrlType(sendContent,Base64CodecUtil.CtrlTypes.normal));
293+
// AppMainWindow.ipfs.pubsub.pub(topic,Base64CodecUtil.encodeByCtrlType(sendContent,Base64CodecUtil.CtrlTypes.normal));
294294
inputArea.setText("");
295295
sb.append(ConstantsUI.ENTER_CHARACTER);
296296
if(msgMax.intValue()>18){
@@ -319,11 +319,11 @@ private void appenRevcMsg(String json){
319319
IpfsMessage message = JSON.parseObject(json,IpfsMessage.class);
320320
ContactsItem item = AppMainWindow.findContactsItemByFrom(message.getFrom());
321321
String nick = (item==null||item.getName()==null) ? message.getFrom() : item.getName();
322-
message = Base64CodecUtil.parseIpmsMessageCtrlType(message);
323-
if(message==null||message.getTypes()!=Base64CodecUtil.CtrlTypes.normal){
322+
// message = Base64CodecUtil.parseIpmsMessageCtrlType(message);
323+
/* if(message==null||message.getTypes()!=Base64CodecUtil.CtrlTypes.normal){
324324
logger.info("message is null");
325325
return;
326-
}
326+
}*/
327327
String msg = message.getContents();
328328
StringBuffer sb = new StringBuffer();
329329
sb.append(nick).append(" ").append(DateHelper.currentTime()).append(ConstantsUI.ENTER_CHARACTER);

src/main/java/com/nbs/ipfs/entity/IpfsMessage.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.nbs.ipfs.entity;
22

3-
import UI.common.Base64CodecUtil;
3+
import io.nbs.commons.utils.Base64CodecUtil;
4+
import io.nbs.sdk.prot.IPMTypes;
45

56
/**
67
* @Package : com.nbs.ipfs.entity
@@ -23,7 +24,9 @@ public class IpfsMessage {
2324

2425
private String time;
2526

26-
private Base64CodecUtil.CtrlTypes types;
27+
private IPMTypes types;
28+
29+
2730

2831
public String getFrom() {
2932
return from;
@@ -73,11 +76,11 @@ public void setPeerId(String peerId) {
7376
this.peerId = peerId;
7477
}
7578

76-
public Base64CodecUtil.CtrlTypes getTypes() {
79+
public IPMTypes getTypes() {
7780
return types;
7881
}
7982

80-
public void setTypes(Base64CodecUtil.CtrlTypes types) {
83+
public void setTypes(IPMTypes types) {
8184
this.types = types;
8285
}
8386

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
package io.nbs.client.adapter;
2+
3+
import io.nbs.client.listener.OnlineNotifier;
4+
import io.nbs.client.ui.components.NbsListView;
5+
import io.nbs.client.ui.panels.im.IMPeersPanel;
6+
import io.nbs.client.vo.ContactsItem;
7+
import io.nbs.sdk.beans.OnlineMessage;
8+
import io.nbs.sdk.beans.PeerInfo;
9+
import io.nbs.sdk.beans.SystemCtrlMessageBean;
10+
import io.nbs.sdk.prot.IPMTypes;
11+
import org.apache.commons.lang3.StringUtils;
12+
import org.apache.ibatis.session.SqlSession;
13+
14+
import java.util.HashMap;
15+
import java.util.List;
16+
import java.util.Map;
17+
18+
/**
19+
* @Package : io.nbs.client.adapter
20+
* @Description : <p></p>
21+
* @Author : lambor.c
22+
* @Date : 2018/7/4-2:45
23+
* Copyright (c) 2018, NBS , lambor.c<[email protected]>.
24+
* All rights reserved.
25+
*/
26+
public class ContactOnlineAdapter implements OnlineNotifier {
27+
private SqlSession sqlSession;
28+
29+
private static Map<String,ContactsItem> contactsCacheMap ;
30+
31+
public ContactOnlineAdapter(SqlSession sqlSession, List<ContactsItem> contactItems) {
32+
this.sqlSession = sqlSession;
33+
contactsCacheMap = new HashMap<>();
34+
35+
36+
}
37+
38+
@Override
39+
public void notifyRecvSystemMessage(SystemCtrlMessageBean messageBean) {
40+
if(messageBean!=null&&messageBean.getContent()!=null&&messageBean.getMtype().equals(IPMTypes.online.name())){
41+
if(messageBean.getContent() instanceof OnlineMessage){
42+
IMPeersPanel peersPanel = IMPeersPanel.getContext();
43+
OnlineMessage onlineMessage = (OnlineMessage)messageBean.getContent();
44+
45+
ContactsItem item = new ContactsItem();
46+
item.setFormid(messageBean.getFrom());
47+
item.setName(onlineMessage.getNick());
48+
item.setAvatar(onlineMessage.getAvatar());
49+
item.setAvatarSuffix(onlineMessage.getAvatarSuffix());
50+
item.setId(onlineMessage.getId());
51+
item.setIp(onlineMessage.getIp());
52+
item.setLocations(onlineMessage.getLocations());
53+
item.setOnline(1);
54+
peersPanel.getContactItems().add(item);
55+
int size = peersPanel.getContactItems().size();
56+
peersPanel.getPeerlistView().notifyItemInserted(size-1,true);
57+
peersPanel.getPeerlistView().setAutoScrollToBottom();
58+
//存库TODO
59+
60+
}
61+
}
62+
}
63+
64+
/**
65+
* TODO 数据库中查找并缓存到MAP 供消息用
66+
* @param contactItems
67+
*/
68+
private void loadContactPeersMap(List<ContactsItem> contactItems){
69+
70+
}
71+
72+
private void updataCacheMap(ContactsItem item){
73+
if(item!=null&&StringUtils.isNotBlank(item.getFormid())){
74+
contactsCacheMap.put(item.getFormid(),item);
75+
}
76+
}
77+
}
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package io.nbs.client.adapter;
2+
3+
import io.nbs.client.listener.IPFSSubscribeListener;
4+
import io.nbs.client.ui.components.NbsListView;
5+
import io.nbs.client.ui.frames.MainFrame;
6+
import io.nbs.sdk.beans.MessageItem;
7+
import io.nbs.sdk.beans.PeerInfo;
8+
9+
import java.util.List;
10+
11+
/**
12+
* @Package : io.nbs.client.adapter
13+
* @Description : <p></p>
14+
* @Author : lambor.c
15+
* @Date : 2018/7/4-2:51
16+
* Copyright (c) 2018, NBS , lambor.c<[email protected]>.
17+
* All rights reserved.
18+
*/
19+
public class ReceiverMessageAdapter implements IPFSSubscribeListener {
20+
21+
private List<MessageItem> items;
22+
private NbsListView listView;
23+
24+
25+
public ReceiverMessageAdapter(List<MessageItem> items, NbsListView listView) {
26+
this.items = items;
27+
this.listView = listView;
28+
}
29+
30+
@Override
31+
public void notifyRecvMessage(MessageItem item) {
32+
PeerInfo peerInfo = MainFrame.getContext().getCurrentPeer();
33+
if(item.getFrom().equals(peerInfo.getFrom())){
34+
item.setMessageType(MessageItem.RIGHT_TEXT);
35+
item.setId(peerInfo.getId());
36+
item.setSenderUsername(peerInfo.getNick());
37+
//TODO 未来忽略自己发的
38+
items.add(item);
39+
listView.notifyItemInserted(items.size()-1,true);
40+
listView.setAutoScrollToBottom();
41+
}else {
42+
item.setMessageType(MessageItem.LEFT_TEXT);
43+
//TODO
44+
// item.setId(peerInfo.getId());
45+
item.setSenderUsername(peerInfo.getNick());
46+
listView.notifyItemInserted(items.size()-1,true);
47+
listView.setAutoScrollToBottom();
48+
}
49+
}
50+
}

src/main/java/io/nbs/client/listener/IPFSSubscribeListener.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,5 @@ public interface IPFSSubscribeListener {
1919
*/
2020
void notifyRecvMessage(MessageItem item);
2121

22-
/**
23-
*
24-
* @param messageBean
25-
*/
26-
void notifyRecvSystemMessage(SystemCtrlMessageBean messageBean);
22+
2723
}

0 commit comments

Comments
 (0)