提交图

54 次代码提交

作者 SHA1 备注 提交日期
XuqmGroup
611f2ba95d fix: 功能缺陷修复 — ImSDK login await WebSocket、fetchHistory 支持 GROUP、License 改用 apiRequest、LogQueue 重试上限 2026-06-16 13:49:30 +08:00
XuqmGroup
a0c54ae191 fix(update): 移除不存在的 NativeApkInstall 引用 + 下载 bundle 后校验 MD5 2026-06-16 13:37:45 +08:00
XuqmGroup
2a40d6200b fix: @xuqm/rn-common 从 dependencies 移到 peerDependencies,避免宿主项目嵌套安装旧版 2026-06-16 13:27:23 +08:00
XuqmGroup
8f0a940830 feat: xwebview handleDownloadRequest + README 更新
- 新增 handleDownloadRequest() 统一下载处理函数
- 导出 download 相关工具函数
- 更新 rn-update 和 rn-xwebview README

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-16 13:25:46 +08:00
XuqmGroup
0431b3d694 fix: 所有包添加 files=[src],排除 tsconfig.json 等开发文件不发布到 npm 2026-06-16 13:22:54 +08:00
XuqmGroup
e5130c4627 chore: 版本号恢复为 base(Jenkins 发版时自动处理 SNAPSHOT/Release 后缀) 2026-06-16 13:14:46 +08:00
XuqmGroup
4e80b0bf4e fix: rn-log ErrorCapture 类型修复 + 依赖版本对齐
- ErrorCapture.ts: global → globalThis,移除 declare global 冲突
- index.ts: 移除不存在的 UpdateDownloadProgress 导出
- 各 package.json 版本号对齐

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-16 13:10:16 +08:00
XuqmGroup
b2058840bc feat(rn-log): 添加 metro plugin 存根 — withXuqmLog
打 Release 包时自动包裹 Metro config,后续补全 SourceMap 上传逻辑。
2026-06-16 12:20:04 +08:00
XuqmGroup
4c3019edab docs: 添加 CLAUDE.md + 各 package README + 架构总览 + 模块待开发说明
Agent 8 文档生成:
- CLAUDE.md 项目上下文
- 各 package README (common/update/push/im/xwebview/license/log)
- docs/架构总览.md
- docs/模块待开发说明.md
2026-06-16 12:14:52 +08:00
XuqmGroup
16750b0421 feat: rn-update 进度回调 + rn-xwebview JSBridge + rn-log v0.1.0 新建
Agent 3 — rn-update:
- downloadPlugin/downloadApk 新增 onProgress 进度回调
- checkAppUpdate/checkPluginUpdate 版本缓存(30分钟 TTL)
- 新增 UpdateDownloadProgress 类型导出

Agent 3 — rn-xwebview:
- XWebViewBridge 补全标准 JSBridge handler
- getDeviceInfo/getToken/getUserInfo/openNativePage/closeWebView/showToast

Agent 4 — rn-log v0.1.0:
- XLog 主入口:event/captureError/warn/info/startCapture
- LogQueue:AsyncStorage 本地队列 + 批量上报
- ErrorCapture:JS global error + unhandledRejection
- FunnelTracker:漏斗分析
- fingerprint:SHA-256 指纹去重
- HttpInterceptor:rn-common HTTP 错误自动上报
- NativeLogReporter:TurboModule spec
2026-06-16 12:10:28 +08:00
XuqmGroup
97d4d9498a feat(rn-common): v0.4.0 — api/ui 子模块 + config 扩展 + autoInit 修复
- 新增 api/ 子模块:useRequest、useApi、usePageApi(替换 @szyx-mobile)
- 新增 ui/ 子模块:showToast、showAlert、showConfirm、configureToast
- 新增 globalErrorHandler:setGlobalApiErrorHandler
- config.ts 新增 logApiUrl、logEnabled 字段
- device.ts 新增 manufacturer、vendorVersion 可选字段
- autoInit.ts 修复静默降级,__DEV__ 模式下 re-throw
- index.ts 补全 api/ui 导出
- package.json 版本升至 0.4.0,新增 axios/react/zod 依赖
2026-06-16 12:01:44 +08:00
XuqmGroup
b1e8e307d2 feat(sdk): 按跨平台规范重构所有 SDK 包接口
- common: setUserInfo 成为认证枢纽,分发订阅者;移除 init()/initializeFromLicense();
  initWithConfigFile 解密后调用 initialize() 拉取远程服务配置;XuqmConfig 增加服务开通标志
- push: 移除独立 initialize/registerToken/unregisterToken 等方法;
  改由 _registerUserInfoHandler 订阅,setUserInfo 时自动完成厂商检测+设备注册+token上报
- im: 新增 refreshToken();注册 setUserInfo 订阅,自动登录/断连;移除对 PushSDK 的直接调用
- update: 支持 registerPlugins(批量) + registerPlugin(向后兼容);
  版本号自动从 AsyncStorage 读取,移除 version 字段;新增 updatePlugin(一步完成)、
  downloadAndInstallApk、setBundleCallbacks 注入宿主写入/重载能力
- license: 移除独立 initialize/initializeFromFile;依赖 getConfig() 获取 appKey/licenseUrl
- 顶层 src/sdk.ts: 移除旧 login/logout 包装层,直接重导出 CommonXuqmSDK

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-15 10:57:55 +08:00
XuqmGroup
8fb59bb5f2 fix(common): platformUrl 可选,不传使用默认公有平台
XuqmInitOptions.platformUrl 改为可选字段。
initialize() 内部:platformUrl ?? DEFAULT_TENANT_PLATFORM_URL。
公有云用户无需传 platformUrl,私有化部署传自有平台地址。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-15 10:37:57 +08:00
XuqmGroup
90ba1f9de3 fix(common): XuqmSDK.initialize() must not fall back to defaults on failure
Remove the silent fallback that used DEFAULT_TENANT_PLATFORM_URL on fetch errors.
Failure now propagates: rejects awaitInitialization() callers and throws to the
caller of initialize(). State is reset so initialize() can be retried.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-15 10:04:37 +08:00
XuqmGroup
07b08a4f5a feat: T-B01~B04 — XuqmBundleModule + onProgress + JSBridge/厂商文档
T-B01: XuqmBundleModule 原生模块
- Android: XuqmBundleModule.java(文件读写/manifest/路径)
- iOS: XuqmBundleModule.m(对应实现)
- JS: NativeBundle.ts 封装
- 注册到 XuqmUpdatePackage

T-B02: downloadPluginBundle 添加 onProgress
- 使用 ReadableStream 实现下载进度追踪
- checkAndCachePlugin 同步支持 onProgress

T-B03: XWebView JSBridge 标准接口文档
- docs/XWebView-JSBridge.md
- H5→RN 消息协议 / RN→H5 通信
- 下载处理 / Dialog 覆盖 / 标准 Bridge 接口

T-B04: PushSDK Android 厂商集成文档
- docs/PushSDK-厂商集成.md
- 6 厂商配置步骤 / ProGuard 规则 / 调试指南
2026-06-15 02:36:11 +08:00
XuqmGroup
ab30b28f3d feat: v0.3.0 — 自动初始化 + 插件更新 + 脚手架工具
common:
- 新增 autoInit.ts 自动初始化(对齐 Android ContentProvider 模式)
- 新增 configCrypto.ts 内置配置文件解密
- XuqmSDK 新增 initWithConfigFile / setUserInfo / getUserInfo
- 新增 crypto-types.d.ts Web Crypto 类型声明

update:
- 重写 UpdateSDK:checkAppUpdate / checkPluginUpdate / checkAndCachePlugin
- 移除 checkAndPromptAppUpdate(SDK 不做 UI)
- 新增插件脚手架 create-plugin.mjs
- 重命名 RnUpdateInfo → PluginUpdateInfo

license:
- crypto.ts 支持 XUQM-CONFIG-V1 + XUQM-LICENSE-V1 双格式
- 新增 decryptConfigFile 导出

docs:
- 重写 README.md
- 新增 docs/SDK-API参考.md
- 新增 docs/插件脚手架.md
- 新增 docs/配置文件规范.md
2026-06-15 01:44:20 +08:00
XuqmGroup
af3aa0cd43 feat(update): 添加 API Key 管理和 WebSocket 实时通知功能
- 新增 API Key 管理功能,支持外部工具认证调用平台 API
- 实现 WebSocket 实时通知,版本发布时推送轻量通知给客户端
- 添加 APK 文件哈希校验,支持已下载检测和直接安装
- 支持外部 APK 上传使用 API Key 认证
- 优化私有化部署自动注入 nginx WebSocket 代理配置
- 扩展 SDK 功能包括已下载检测、直接安装和实时通知监听
2026-06-11 12:25:16 +08:00
XuqmGroup
ce9062a0f1 sdk: auto-init from license file, promise-based init waiting
- common/sdk: add awaitInitialization(), initializeFromLicense(), markInitialized()
- license: await XuqmSDK init before checkLicense
- update: await XuqmSDK init before checkAppUpdate

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-22 17:57:01 +08:00
XuqmGroup
b04742fb9c feat(license): add @xuqm/rn-license package
Implements device authorization for React Native:
- AES-256-GCM + PBKDF2 decryption via react-native-quick-crypto (lazy loaded)
- AsyncStorage persistence with @xuqm:license:* keys
- 10-minute in-memory + persistent cache with offline fallback
- LicenseResult discriminated union type

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-16 02:25:38 +08:00
XuqmGroup
7aebf47ce4 chore: bump version to 0.2.2 2026-05-14 19:21:21 +08:00
4731a0f7bd fix: restore shim paths in xwebview tsconfig to fix async-storage type resolution 2026-05-14 18:14:16 +08:00
XuqmGroup
6229f1bb2b fix: add async-storage to devDependencies for typecheck 2026-05-14 17:40:03 +08:00
XuqmGroup
bb4cd9ac29 fix: add missing @react-native-async-storage/async-storage devDependency to xwebview
修复 Jenkins 构建失败:xwebview 类型检查通过 paths 解析 common 包源码时,
缺少 @react-native-async-storage/async-storage 依赖导致 TS2307 错误

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-14 17:34:59 +08:00
XuqmGroup
95b19c27b3 fix: add type annotation for permission request parameter
修复 Jenkins 构建失败:XWebViewView.tsx:364 参数 request 隐式为 any 类型导致的 TypeScript 类型检查错误

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-14 17:31:11 +08:00
XuqmGroup
6d7cd0be6c fix: add missing dev dependencies for xwebview types 2026-05-14 16:53:22 +08:00
XuqmGroup
d45c756473 docs(android-sdk): 添加 Android SDK 完整文档与模块配置
- 新增 Android SDK 主文档,包含模块结构、集成方式、快速开始指南
- 添加 sdk-core、sdk-im、sdk-push、sdk-update、sdk-webview 各模块详细说明
- 配置各模块的 build.gradle.kts 文件,设置依赖和发布选项
- 更新 gradle.properties 版本配置和编译参数
- 重构 XWebViewView 组件,增加相机权限、文件选择、下载拦截功能
- 添加 XWebViewTypes.kt 定义配置类和控制器接口
- 集成 Flutter WebView 桥接代码,实现跨平台功能对齐
2026-05-11 15:21:54 +08:00
XuqmGroup
005860814d docs(deploy): 添加部署文档和安全设计规范
- 新增 XuqmGroup 部署文档,包含部署方案、架构建议和部署步骤
- 添加安全设计规范,涵盖密码安全、AppSecret验证和服务端API认证
- 补充平台REST API规范,定义Server-to-Server调用接口和错误码
- 创建Java IM服务端SDK计划文档,规划Maven包发布和接口实现
2026-05-08 18:32:00 +08:00
XuqmGroup
09d42fa94f feat(update): 添加应用更新检查功能支持用户ID参数
- 在UpdateApi接口中新增可选的userId查询参数
- 新增UpdateSDK对象用于统一管理应用更新逻辑
- 实现应用版本检查、下载安装和APK文件处理功能
- 添加下载URL规范化处理逻辑
- 在Flutter SDK中新增update模块实现跨平台更新功能
- 在iOS SDK中新增UpdateSDK类提供应用更新检查接口
- 支持Android和iOS平台的应用商店跳转功能
- 添加React Native SDK的更新检查和插件注册功能
- 实现RN Bundle的检查、下载和缓存机制
2026-05-08 12:00:34 +08:00
XuqmGroup
9adc3e3084 fix: relax xwebview webview typings 2026-05-08 10:01:35 +08:00
XuqmGroup
77feb6ecd9 feat: make common http independent 2026-05-08 09:27:38 +08:00
XuqmGroup
5bddc9b167 chore: sync local changes 2026-05-07 19:39:41 +08:00
XuqmGroup
59114c9574 feat(im): 添加即时消息SDK核心功能实现
- 实现了聊天消息发送功能,支持文本、图片、视频、音频、文件等多种消息类型
- 集成了文件上传下载功能,支持多媒体文件的传输和管理
- 添加了群组管理功能,包括创建群组、成员管理、权限控制等操作
- 实现了好友系统,支持好友添加、删除、分组等功能
- 集成了黑名单管理,提供用户屏蔽和解除屏蔽功能
- 添加了会话管理功能,支持对话列表、未读消息统计等
- 实现了历史消息查询和搜索功能
- 添加了实时连接状态管理和自动重连机制
2026-05-03 00:11:06 +08:00
XuqmGroup
a58f920a3f feat(android-sdk): 添加完整的IM客户端SDK实现
- 实现了Android SDK的完整IM功能接口,包括消息、群组、好友、会话等核心功能
- 添加了消息收发、历史记录、撤回编辑等完整的消息操作能力
- 实现了群组管理功能,包括创建、成员管理、权限设置等操作
- 添加了好友关系链管理,支持添加、删除、分组等操作
- 实现了会话管理功能,包括置顶、免打扰、已读状态等
- 添加了黑名单、资料管理、搜索等辅助功能
- 补齐了批量操作接口,提升客户端操作效率
- 实现了WebSocket连接管理和事件监听机制
- 添加了离线消息同步和状态管理功能
2026-05-02 22:57:55 +08:00
XuqmGroup
293f9d6a96 docs(project): 更新需求与开发进度对比报告并完善Android SDK接口定义
- 添加了完整的XuqmGroup平台需求与开发进度对比报告
- 实现了Android SDK的ImApi接口定义,涵盖群组、好友、黑名单等完整功能
- 定义了IM消息、会话、群组、用户资料等核心数据模型
- 实现了Android SDK的ImSDK核心功能类,包括连接管理和消息处理
2026-05-02 12:30:32 +08:00
XuqmGroup
3c7ae4d766 docs(deploy): 添加部署文档并更新SDK API设计规范
- 新增完整的XuqmGroup部署文档,包含服务器配置、Docker Compose部署策略
- 更新SDK API重设计规范至V2.0,统一各端SDK初始化和登录接口
- 添加安全设计规范文档,涵盖密码安全、AppSecret验证等内容
- 新增离线推送架构设计文档,定义厂商推送集成方案
- 重构SDK登录流程,统一使用userId + userSig鉴权模式
- 移除dbName等外部配置参数,实现零感知平台地址配置
- 完善部署架构图和配置示例文件
2026-05-02 11:29:50 +08:00
XuqmGroup
92002ab19f feat: 简化登录模型,移除 nickname/avatar/expiresAt 2026-05-01 22:40:10 +08:00
XuqmGroup
9e11a63144 feat(sdk): 更新 SDK 设计文档和 API 重构
- 添加 expiresAt 和 refreshUserSig 参数支持自动续签
- 修改 PushSDK 初始化方式,自动完成设备注册和厂商初始化
- 调整过期续签策略,从提前 15 分钟改为提前 5 分钟触发
- 重构 RN SDK 文档结构,简化安装和使用方式
- 更新统一登录流程,支持 profile 信息传递
- 添加 IM 数据库自动隔离功能
- 修复 Android 群消息聚合问题
- 补充自动化测试验证和错误处理机制
2026-05-01 21:27:39 +08:00
XuqmGroup
7d63672a7a docs(sdk): 添加 React Native SDK 文档和 Android/HarmonyOS 发版脚本
- 新增 XuqmGroup React Native SDK 使用文档,包含安装、初始化、HTTP客户端、IM模块、推送模块、版本管理等功能说明
- 添加 Android Gradle 发版任务脚本,支持构建发布 APK 并上传到更新服务
- 添加 HarmonyOS hvigorw 发版任务脚本,支持 HAP 包构建和上传功能
- 实现多平台版本检查、自动重连、灰度发布等发版流程自动化
- 集成商店提交、定时发布、Webhook 回调等发布后处理功能
2026-04-29 17:35:52 +08:00
XuqmGroup
67d54bf1f2 docs(sdk): 添加 Android SDK 文档和 API 设计规范
- 新增 Android SDK 使用文档,包含模块结构、集成方式和快速开始指南
- 添加 SDK API 重设计规范,统一初始化和登录接口设计
- 补充安全设计规范,完善 UserSig 鉴权和敏感数据处理方案
- 创建平台 REST API 规范,定义服务端到服务端的调用接口
- 添加离线推送架构设计,集成各大厂商推送服务与 IM 联动方案
2026-04-29 15:46:40 +08:00
XuqmGroup
3d488250ee feat(rn): add xuqm_release Node.js script, expand IM SDK with friends/groups/conversations
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 00:37:10 +08:00
XuqmGroup
d00231279e feat(chat): 添加聊天界面视图模型和联系人管理功能
- 实现 ChatViewModel 处理消息收发、历史记录加载和状态管理
- 添加消息搜索、草稿保存、引用回复等功能
- 实现多媒体附件发送包括图片、视频、音频和文件
- 添加群组提及用户功能和消息撤回机制
- 实现联系人管理功能包括好友搜索、添加、删除和黑名单管理
- 添加好友请求处理和实时消息监听
- 实现会话列表管理包含未读消息统计和实时更新
- 集成 IM SDK 的连接状态管理和事件监听
- 添加消息状态跟踪和超时处理机制
- 实现数据缓存机制优化用户体验
2026-04-28 22:32:21 +08:00
XuqmGroup
0886c2e355 feat(im): 添加即时通讯SDK核心功能
- 实现IM API接口定义,包括消息、群组、好友、黑名单等功能
- 定义IM消息相关数据模型,包含聊天类型、消息类型、用户资料等
- 实现ImSDK单例类,提供登录、消息发送、群组管理、好友管理等核心功能
- 添加WebSocket连接管理,支持自动重连机制
- 实现历史消息查询、群组操作、用户资料管理等API调用
- 添加会话状态管理,支持置顶、静音、草稿等功能
- 集成文件上传结果,支持多媒体消息发送
- 实现连接状态监听和事件回调机制
2026-04-28 21:05:06 +08:00
XuqmGroup
62b84c3e8c feat(chat): 添加聊天界面和文件更新SDK功能
- 实现完整的聊天界面UI组件,支持文本、图片、视频、音频、文件等多种消息类型
- 集成IM消息收发功能,实现消息气泡显示和用户头像占位符
- 添加媒体文件选择和拍摄功能,支持相册图片、视频及相机拍照录像
- 实现语音录制和播放功能,包含按住说话交互和权限处理
- 添加群组提及功能,支持@用户和提及候选列表显示
- 实现消息回复和引用功能,支持消息长按回复操作
- 添加本地消息搜索功能,支持搜索当前会话的历史消息
- 实现文件上传下载功能,集成FileSDK进行文件传输管理
- 添加应用更新检查功能,集成UpdateSDK支持版本更新
- 实现消息状态显示,包括发送、送达、已读等状态标识
- 添加群组已读人数统计,显示消息在群聊中的阅读情况
- 实现草稿保存和恢复功能,支持断点续聊体验
- 添加连接状态横幅,实时显示IM服务连接状态
- 实现滚动加载更多历史消息,优化大量消息的性能表现
- 添加多媒体文件下载保存功能,支持保存到应用专属目录
2026-04-28 20:11:38 +08:00
XuqmGroup
765d8a0333 feat(im): 添加即时通讯功能模块
- 添加了 IM API 接口定义,包含登录、消息、群组、好友等接口
- 实现了 ImSDK 核心功能,支持发送各类消息和管理会话
- 集成了 WebSocket 连接管理和自动重连机制
- 添加了本地联系人缓存并优化对话标题显示逻辑
- 实现了 HarmonyOS 平台 HTTP 客户端基础功能
2026-04-28 16:55:12 +08:00
XuqmGroup
2ca58aa458 feat(sample): 添加示例应用的核心功能模块
- 实现环境配置管理,支持外部和本地主机模式切换
- 集成Demo API接口,包含登录、注册、文件上传等功能
- 构建附件处理仓库,支持图片、视频、音频和文件发送
- 开发认证仓库,管理用户会话和IM令牌刷新机制
- 添加语音录制功能,支持实时音频消息录制
- 创建依赖注入容器,统一管理应用组件实例
- 实现登录界面,提供用户认证交互功能
- 开发聊天界面,集成消息收发和媒体处理功能
2026-04-28 16:08:07 +08:00
XuqmGroup
2d1bebeeb5 feat(im): 添加即时通讯数据库和缩放图片组件
- 实现了基于 WatermelonDB 的 IM 数据库功能
- 添加了 ScaledImage 组件用于图片尺寸自适应
- 集成了消息存储、会话管理、搜索等功能
- 配置了项目基础结构和依赖管理
- 定义了数据库表结构和类型声明
2026-04-28 10:31:50 +08:00
XuqmGroup
9de1059e25 feat(sdk): 添加即时通讯和推送功能
- 新增 ApiClient 类用于处理 API 请求和响应
- 实现 ImClient 类支持 WebSocket 连接和消息收发
- 添加 ImSDK 类提供完整的即时通讯功能接口
- 定义 ImTypes.swift 包含聊天类型、消息类型等相关数据结构
- 实现 PushSDK 类支持推送通知令牌注册
- 添加基础的 UpdateSDK 框架结构
- 集成登录认证和聊天室订阅功能
- 实现群组管理、好友关系和会话功能
- 支持多种消息类型包括文本、图片、视频、音频等
- 提供历史消息查询和黑名单管理功能
2026-04-28 10:27:23 +08:00
XuqmGroup
edbffce815 feat(sdk): 初始化 Android SDK 核心功能模块
- 添加 SDK 配置管理、网络请求客户端和令牌存储功能
- 实现即时通讯 IM 模块,包括消息收发、群组管理和会话功能
- 集成推送服务和应用更新功能模块
- 创建示例应用演示 SDK 使用方法
- 配置项目依赖管理和构建设置
2026-04-27 17:18:56 +08:00
XuqmGroup
afe13d1c90 fix(im): add toId/chatType filters to MessageSearchParams and searchMessages
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 13:36:44 +08:00
XuqmGroup
21f27c1770 feat: add leaveGroup, addGroupMember, removeGroupMember, setConversationMuted/Pinned
- ImSDK: leaveGroup removes current user from group via DELETE /groups/{id}/members/{userId}
- ImSDK: addGroupMember / removeGroupMember for admin operations
- ImSDK: setConversationMuted / setConversationPinned exposed from ImDatabase methods
- ImSDK: fetchGroupHistory uses new /messages/group-history/{groupId} endpoint

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 11:57:52 +08:00