From e5552044aedf41739185ec88e25f4d549ba8e3e1 Mon Sep 17 00:00:00 2001 From: XuqmGroup Date: Sat, 2 May 2026 11:29:50 +0800 Subject: [PATCH] =?UTF-8?q?docs(deploy):=20=E6=B7=BB=E5=8A=A0=E9=83=A8?= =?UTF-8?q?=E7=BD=B2=E6=96=87=E6=A1=A3=E5=B9=B6=E6=9B=B4=E6=96=B0SDK=20API?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增完整的XuqmGroup部署文档,包含服务器配置、Docker Compose部署策略 - 更新SDK API重设计规范至V2.0,统一各端SDK初始化和登录接口 - 添加安全设计规范文档,涵盖密码安全、AppSecret验证等内容 - 新增离线推送架构设计文档,定义厂商推送集成方案 - 重构SDK登录流程,统一使用userId + userSig鉴权模式 - 移除dbName等外部配置参数,实现零感知平台地址配置 - 完善部署架构图和配置示例文件 --- docs-site/docs/android/index.md | 4 +-- docs-site/docs/ios/index.md | 4 +-- docs-site/docs/rn/index.md | 25 ++++++++----------- docs-site/docs/server/api.md | 4 +-- .../src/views/docs/DocsCenterView.vue | 2 -- 5 files changed, 16 insertions(+), 23 deletions(-) diff --git a/docs-site/docs/android/index.md b/docs-site/docs/android/index.md index c5436a8..effd10c 100644 --- a/docs-site/docs/android/index.md +++ b/docs-site/docs/android/index.md @@ -52,7 +52,7 @@ XuqmSDK.initialize( ```kotlin // 登录(协程 suspend 函数) -// 只需要 userId + userSig,不需要 nickname / avatar / expiresAt +// 只需要 userId + userSig,不需要 nickname / avatar / 过期字段 lifecycleScope.launch { XuqmSDK.login( userId = "user_001", @@ -160,7 +160,7 @@ XuqmSDK.logout() // ↓ 自动触发所有模块清理 ``` -> **注意**:`userSig` 一旦获取即永久有效,SDK 侧不做过期检查与续签。如需撤销权限,业务侧可在租户平台重置 `appSecret` 或拉黑账号。 +> **注意**:`userSig` 由业务服务端签发,SDK 侧不做续签。若需更新登录态,请直接重新登录;如需撤销权限,可在租户平台重置 `appSecret` 或拉黑账号。 ### 8. 版本更新 diff --git a/docs-site/docs/ios/index.md b/docs-site/docs/ios/index.md index f52060f..8feec8d 100644 --- a/docs-site/docs/ios/index.md +++ b/docs-site/docs/ios/index.md @@ -62,7 +62,7 @@ XuqmSDK.shared.initialize(config: config) import XuqmIM // 使用 UserSig 登录(推荐生产环境) -// 只需要 userId + userSig,不需要 nickname / avatar / expiresAt +// 只需要 userId + userSig,不需要 nickname / avatar / 过期字段 try await XuqmSDK.shared.login(userId: "user_001", userSig: "your_user_sig_jwt") // 设置事件代理 @@ -203,7 +203,7 @@ try await XuqmSDK.shared.login(userId: "user_001", userSig: userSig) XuqmSDK.shared.logout() ``` -> **注意**:`userSig` 一旦获取即永久有效,SDK 侧不做过期检测与续签。 +> **注意**:`userSig` 由业务服务端签发,SDK 侧不做续签。若需更新登录态,请直接重新登录。 ### 10. 检查更新 diff --git a/docs-site/docs/rn/index.md b/docs-site/docs/rn/index.md index 354eb7d..b7352f3 100644 --- a/docs-site/docs/rn/index.md +++ b/docs-site/docs/rn/index.md @@ -252,27 +252,22 @@ interface ImGroup { --- -## 迁移指南(v0.3.x → v0.4.0) +## 当前接入 -v0.4.0 预计改动(**Breaking Changes**): +当前接入方式如下: -```diff +```ts // 初始化 -- await XuqmSDK.initialize({ appKey: 'xxx', /* 平台地址参数已移除 */ }) -+ await XuqmSDK.initialize({ appKey: 'xxx' }) // 平台地址内置,无需传入 +await XuqmSDK.initialize({ appKey: 'xxx' }) // 平台地址内置,无需传入 + +// IM 登录(UserSig 由业务服务端签发) +const userSig = await yourServer.getUserSig(userId) +await ImSDK.login(userId, userSig) -// IM 登录(改为 UserSig 鉴权,密码不再传入 SDK) -- await ImSDK.login(userId, nickname, avatar, dbName) -+ const userSig = await yourServer.getUserSig(userId) // 您的服务端签发 -+ await ImSDK.login(userId, userSig, { nickname, avatar }) // dbName 自动由 appKey + userId 派生,无需传入 - -// loginWithToken 废弃 -- await ImSDK.loginWithToken(userId, token, dbName) -+ // 统一使用 login(userId, userSig) ``` -UserSig 生成方式见[安全设计文档](../../design/02-security-design.md)。 +UserSig 生成方式见 [安全设计文档](../../design/02-security-design.md)。 --- @@ -284,7 +279,7 @@ UserSig 生成方式见[安全设计文档](../../design/02-security-design.md) **Q: 为什么不需要传平台地址参数?** XuqmGroup 是托管平台,服务地址统一管理,与腾讯云 IM 等平台的设计一致,开发者只需关心业务逻辑。 -**Q: UserSig 是什么?(v0.4.0)** +**Q: UserSig 是什么?** UserSig 是您的业务服务端用 AppSecret 为用户签发的安全凭证,有效期可配置。AppSecret 绝不下发到客户端。 **Q: 本地消息存储在哪里?** diff --git a/docs-site/docs/server/api.md b/docs-site/docs/server/api.md index 82e191d..0940dc5 100644 --- a/docs-site/docs/server/api.md +++ b/docs-site/docs/server/api.md @@ -47,10 +47,10 @@ POST /api/im/auth/login **响应** ```json -{ "token": "eyJ...", "expiresAt": 9223372036854775807 } +{ "token": "eyJ..." } ``` -> `expiresAt` 为极大值(约 100 年),表示 token 永久有效。SDK 侧不做过期检查。 +> SDK 侧不做续签;登录态更新由业务侧重新登录完成。 --- diff --git a/tenant-platform/src/views/docs/DocsCenterView.vue b/tenant-platform/src/views/docs/DocsCenterView.vue index 409c753..8c19aac 100644 --- a/tenant-platform/src/views/docs/DocsCenterView.vue +++ b/tenant-platform/src/views/docs/DocsCenterView.vue @@ -18,8 +18,6 @@ await XuqmSDK.initialize({ appKey }) await XuqmSDK.login({ userId, userSig, - expiresAt, - refreshUserSig, })