提交图

10 次代码提交

作者 SHA1 备注 提交日期
XuqmGroup
1e395171a3 feat(chat): 添加聊天界面和文件更新SDK功能
- 实现完整的聊天界面UI组件,支持文本、图片、视频、音频、文件等多种消息类型
- 集成IM消息收发功能,实现消息气泡显示和用户头像占位符
- 添加媒体文件选择和拍摄功能,支持相册图片、视频及相机拍照录像
- 实现语音录制和播放功能,包含按住说话交互和权限处理
- 添加群组提及功能,支持@用户和提及候选列表显示
- 实现消息回复和引用功能,支持消息长按回复操作
- 添加本地消息搜索功能,支持搜索当前会话的历史消息
- 实现文件上传下载功能,集成FileSDK进行文件传输管理
- 添加应用更新检查功能,集成UpdateSDK支持版本更新
- 实现消息状态显示,包括发送、送达、已读等状态标识
- 添加群组已读人数统计,显示消息在群聊中的阅读情况
- 实现草稿保存和恢复功能,支持断点续聊体验
- 添加连接状态横幅,实时显示IM服务连接状态
- 实现滚动加载更多历史消息,优化大量消息的性能表现
- 添加多媒体文件下载保存功能,支持保存到应用专属目录
2026-04-28 20:11:38 +08:00
XuqmGroup
bbf1fd0769 docs(server): 添加平台文档总览并实现 IM 服务端 SDK
- 新增 PLATFORM_OVERVIEW.md 文档,包含仓库索引、整体架构、核心概念等
- 实现 XuqmImServerSdk 类,提供完整的 IM 功能接口
- 添加登录认证、消息发送、会话管理、好友关系等核心功能
- 实现群组管理、关键词过滤、全局禁言等高级功能
- 提供配置管理和统计查询等管理功能
2026-04-28 17:29:17 +08:00
XuqmGroup
962e1dc722 feat(sample): 添加示例应用的核心功能模块
- 实现环境配置管理,支持外部和本地主机模式切换
- 集成Demo API接口,包含登录、注册、文件上传等功能
- 构建附件处理仓库,支持图片、视频、音频和文件发送
- 开发认证仓库,管理用户会话和IM令牌刷新机制
- 添加语音录制功能,支持实时音频消息录制
- 创建依赖注入容器,统一管理应用组件实例
- 实现登录界面,提供用户认证交互功能
- 开发聊天界面,集成消息收发和媒体处理功能
2026-04-28 16:08:07 +08:00
XuqmGroup
763c097289 feat(chat): 添加聊天功能相关API接口、本地缓存和数据仓库
- 添加DemoApi接口定义用户认证和资料管理API
- 实现LocalImCache用于本地存储IM对话和消息历史
- 添加MessageContent模型处理多媒体消息内容
- 创建AttachmentRepository处理图片视频音频文件发送
- 实现AuthRepository管理用户登录注册和会话
- 添加VoiceRecorder支持语音录制功能
- 创建AppDependencies依赖注入容器
- 添加ChatScreen界面组件实现聊天UI逻辑
2026-04-28 09:45:20 +08:00
XuqmGroup
bc329ec566 feat(chat): 添加聊天界面和会话管理功能
- 实现了本地IM缓存功能,支持会话、消息历史和草稿的存储
- 开发了聊天界面UI组件,包含消息列表、输入框和搜索功能
- 创建了聊天相关的ViewModel,处理消息收发和状态管理
- 构建了会话列表界面,支持置顶、免打扰和删除操作
- 集成了群组功能,实现群聊管理和群设置界面
- 添加了实时消息推送和会话状态同步机制
2026-04-27 23:41:58 +08:00
XuqmGroup
624554a173 fix: group history endpoint, user-only group list, reset-password, change-password path
- im-service: add GET /messages/group-history/{groupId} for group message history
- im-service: add findGroupHistory query to ImMessageRepository
- im-service: listGroups now filters by user membership (JSON_CONTAINS on member_ids)
- im-service: add groupHistory/listUserGroups/addGroupMember/removeGroupMember methods
- demo-service: add POST /auth/reset-password (unauthenticated forgot-password flow)
- demo-service: rename /user/reset-password → /user/change-password to match client

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 11:57:46 +08:00
XuqmGroup
8011fe591a feat(im-service): add friend system and conversations endpoint
- Add im_friends table with bi-directional add/remove (FriendController)
- Add GET /api/im/conversations: returns per-conversation latest message summaries
  using UNION of SINGLE/GROUP queries with correct peer ID computation
- Add ConversationSummary projection interface in ImMessageRepository

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 17:27:06 +08:00
XuqmGroup
37f34876be feat(im): Redis Pub/Sub 集群广播,支持水平扩展
架构变更:
- 新增 cluster/ClusterMessage.java:消息信封 record
- 新增 cluster/ImClusterPublisher.java:发布到 Redis im:broadcast 频道
- 新增 cluster/ImClusterListener.java:订阅 Redis,转发给本地 WS 会话
- 新增 config/RedisClusterConfig.java:注册 Redis 监听容器
- 修改 MessageService:send/revoke 改用 ImClusterPublisher 替代直接推送

集群路由原理:任意节点收到消息 → 写 DB → 发布 Redis →
所有节点监听并尝试推送 → 只有持有目标 session 的节点实际送达

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 15:08:54 +08:00
XuqmGroup
8fe4ae99cc feat: finalize backend deployment and api docs 2026-04-24 10:42:11 +08:00
XuqmGroup
a719c08a5a chore: initial commit 2026-04-21 22:07:29 +08:00