1 Star 0 Fork 296

hbyufan / xyIM企业即时通讯

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 13.08 KB
一键复制 编辑 原始数据 按行查看 历史
昕有灵犀 提交于 2018-07-04 08:37 . 说明

XyTalk-pc 企业协作通讯系统

Xy.Platform is A High Performance and Scalable Platform for enterprise communication and collaboration.
Xy.Platform是一个高性能、可扩展的企业通信和协作平台。包含通讯服务(XMPP协议)、客户端(PC、Android、iOS)、Web门户(用于集成企业应用)、WebAPI(用于企业扩展调用)。

XyTalk.pc is Windows/linux/Mac XMPP instant messaging PC client software.
XyTalk.pc是XMPP协议的即时通讯IM客户端PC软件,可用于Windows/linux/Mac.
联系邮箱:475660@qq.com
联系微信:wx13710637136

## 特性 ##

XyTalk IM XyTalk IM XyTalk IM XyTalk IM

XyTalk IM

XyTalk MUC

XyTalk Portal

XyTalk HTTP API

  企业IM服务和客户端,提供完备的功能和使用体验,注重企业特性。   企业特性的群组服务,团队沟通是IM产品的核心价值之一。   一体化办公门户平台,提供网盘、会议管理、流程审批、内容管理等。   为企业提供IM服务开发调用,提供安全可扩展的方式服务集成对接。
XyTalk IM XyTalk IM XyTalk IM XyTalk IM

XyTalk Sync

XyTalk File Storage

XyTalk Push

XyTalk Full Client

  利用企业原有的组织架构和登陆认证体系,组织架构同步、入职自动账户启用、离职即时清除等。   企业文档库。个人、群组网盘。对海量存储需求还提供分布式文件系统。   iOS APNS和安卓消息推送服务,用于离线消息的提醒。   全栈客户端体系,包含Windows\android\iOS\Web\Linux。

## 功能 ##

功能
基础功能
登陆。
自动断线重连
个人资料修改。头像,电话,邮件等
组织架构初始化工具
单聊、群聊消息
消息复制
消息推送。iOS APNS和安卓消息推送
消息撤回
消息转发
图片消息
文件消息
置顶会话
消息加密
离线消息
消息存档
消息搜索
截屏编辑
截屏传输及展示
表情
员工位置
短语音消息
短视频消息
离线文件
离线文件服务器程序
GB级大文件传输
最近联系人
联系人列表
联系人模糊搜索。按名称、缩拼、电话、部门
组织架构展示
联系人电子名片
同事二维码扫描添加
发起群聊
群组加人
群主踢人
群名称。可修改
群组公告
群组权限控制
群组离线消息
群发\广播信息。管理员可群发
单聊拖拽转多人会话
退出群
删除群
聊天记录备份\还原
系统设置
自动升级
类微信UI操作体验
功能
企业功能
HTTP API。为企业提供IM服务调用:
OAuth2.0认证
SSO单点登陆接口
HTTP文件上传
HTTP文件下载
组织架构同步
登陆员工同步
移动门户后台管理
移动门户Web消息
移动门户企业网盘
移动门户BPM工作流
移动门户会议预定
移动门户会议提醒
移动门户会议日历
移动门户会议记录
移动门户日程提醒、定时提醒
移动门户同事圈
移动门户通告
移动门户通讯录
移动门户电子投票
海量文件私有云分布式存储
集成邮件系统
企业LOGO定制
企业原办公OA集成
单点登陆集成
电子考勤(GPS定位考勤)
集成短信系统--移动电信联通
集成短信系统--回复支持
集成短信系统--群发支持

## 技术相关 ##


  • 开发语言:Java8
  • 通讯协议: XMPP(用于消息)、HTTP
  • 通讯Server: Tigase + Nginx + Kafka + Zookeeper,针对XMPP和企业业务我们做了部分定制,如离线文件、组织架构同步服务、企业集成登陆验证服务、消息同步、消息撤回、消息翻译、流程机器人等服务。服务器插件基于Tigase开发,
  • OSGi service platform: Apache Felix
  • WebServer Portal & API: Spring、Shiro、Activiti、Websocket
  • PC端UI: Java Awt/Swing(very low?知道intellij idea、Google Android Studio用什么开发的吗?)
  • Swing皮肤:Darcula
  • 异步框架: Java8内置CompletableFuture、SwingWorker,原则是适合就好,不必过重
  • 缓存:客户端堆内缓存,服务器端Ehcache
  • DB: MySQL(Server side)、SQLite(客户端)
  • 文件服务(用于离线文件存储、群文件、图片、短语音、短视频、企业文档库等应用),支持:
    • 私有自带Xy.File OSS-FS文件系统服务 ,自主开发,免费开源.(https://gitee.com/475660/xyFS
    • 私有企业云存储:Seafile网盘
    • 私有分布式文件:FastDFS文件系统
    • 私有分布式文件:MongoDB GridFS分布式文件系统
    • 私有分布式文件:百度文件系统 BFS
    • 私有分布式文件:微信后台分布式存储数据库 PaxosStore
    • 私有BASE64转存关系数据库存储(停用)
    • 公有云存储:阿里OSS云存储
    • 公有云存储:七牛云
    • 公有云存储:腾讯文件云存储 CFS
  • ORM:Mybatis
  • 日志库:logback、slf4j-log4j12
  • 其他客户端:Android、iOS、Web


## 截图预览 ##

PC版群组会话界面:
XyTalk IM PC版群组管理界面:
XyTalk IM PC版建群界面:
XyTalk IM PC版会话界面:
XyTalk IM PC版联系人界面:
XyTalk IM
发送文件,接收者是Spark客户端:
XyTalk IM PC版设置界面:
XyTalk IM
Android版、iOS版界面:
XyTalk IM
后台管理界面:
XyTalk IM

## 更新日志 ##

2018-05-06以前没有记录了,从6号开始更新
2018-05-06:
1、保存自身的Avater头像至XMPP服务端,并刷新用户MyInfoPanel区的头像
2、刷新头像缓存;
3、bugfix:修正SessionManager认证后UserCache.CurrentUserName的空值;


2018-05-07:
1、smack换用4.2.4,替换调用代码
2、bugfix:修正因chat state消息造成的未读消息UI错误


2018-05-07:
1、Smack里的RoomInfo并没有管理员和拥有者信息,MucRoomInfo加入以进行成员的持久化
2、mucInvitation增加判断条件
3、mucInvitation增加收到邀请后的群组DB持久化


2018-05-09:
1、bugfix:muc消息在当前聊天窗无刷新
2、bugfix:muc离线消息重复的ui处理
3、muc消息抵达的chatPanel处理


2018-05-10:
1、縮減了發送消息的UI更新速度


2018-05-11:
1、启动进行muc的订阅,对原xmpp muc的邀请模式进行自动化处理,抛弃原来发消息即邀请群成员的模式;
2、创建muc群组


2018-05-16:
1、roster禁用的情况下获取fulljid(用于si文件)
2、在线文件发送
3、在线文件接收


2018-05-17:
1、XMPP 离线文件扩展
2、和离线文件机器人交互,离线文件发送和接收


2018-05-18:
1、和离线文件机器人交互逻辑开发,完成离线文件接收,UI更新,reciveJid伪装处理


2018-05-22:
1、转为Maven项目
2、图标拉伸处理更换为freeseawind/NinePatch
3、自动断线重连
4、左侧布局调整,使Insets更加合理


2018-05-23:
1、整理MessageItem类
2、头像从服务器的获取
3、UI里的头像区域做了xmpp Avatar兼容,并且做了缓存、更新机制
4、联系人资料里建立更多附加属性


2018-05-24:
1、整理功能清单
2、修正头像缓存的bug


2018-05-25:
1、新增记住用户名和密码功能
2、完善通讯录功能,显示部门、电话等信息


2018-05-28:
1、新增记住用户名和密码功能
2、完善通讯录功能,显示部门、电话等信息


2018-05-30:
1、登陆账户切换
2、设置里增加清除数据库功能


2018-05-31:
1、通过通讯录或搜索发起新单聊会话


2018-06-05:
1、通讯录键盘式卡片展示
2、搜索框开始通讯录搜索设置为2字符起搜
3、搜索项增加中文名展示
4、增加KeyPair表,保存组织架构同步MaxID
5、搜索改为异步
6、搜索结果放置键盘焦点以供键盘切换操作


2018-06-06:
1、联系人异步全量同步
2、联系人json模拟生成


2018-06-11:
1、修正了java.net.URL的空异常bug(联系人全量同步)
2、用ApacheHttpClient替换java.net.URL的get方法


2018-06-12:
1、断网离线登陆


2018-06-14:
1、通过addSubscribeListener进行自动花名册处理,方便状态即席和SocketBytestreams文件收发.
2、建MUC群


2018-06-15:
1、建群UI
2、建群人员选择器


2018-06-20:
1、为MUC离线消息RoomID加入缓存,预防离线消息洪水,造成数据库查询异常
2、MUC加人进群
3、MUC群删除成员
3、管理员解散群组


2018-06-22:
1、对删除群成员进行消息扩展
2、整理开发文档


2018-06-25:
1、对群组成员侧边栏异步加载


2018-06-27:
1、对群组扩展消息进行合并,统一使用MucUpdateMembers


2018-06-28:
1、DiscoverInfo查询MUC信息iq获取成员列表
2、使用isUseDiscoInfoGetMembers开关来快速切换MUC成员列表加载方式

## 联系作者 ##

如有合作意向、Bug、建议邮箱至475660@qq.com
QQ群:780461008
注意:本产品只是我业余时间开发验证和练手,目前Bug还较多。
by XySoft team works

Java
1
https://gitee.com/hbyufan/xyTalk-pc.git
git@gitee.com:hbyufan/xyTalk-pc.git
hbyufan
xyTalk-pc
xyIM企业即时通讯
master

搜索帮助