- 新增 compose.production.yaml 和 compose.production.server.yaml 部署配置 - 添加 nginx.dev.xuqinmin.com.conf 和 nginx.sentry.xuqinmin.com.conf 反向代理配置 - 创建详细的部署指南文档 deploy/README.md,涵盖架构设计和部署步骤 - 添加前端访问文档 web/README.md,包含线上地址和接口说明 - 补充平台文档总览 README.md,整合各模块文档入口 - 配置多服务容器化部署,包括 tenant-service、im-service、push-service 等 - 设置外部数据库和 Redis 连接配置,确保服务间正确通信 - 配置 WebSocket 和 API 路由转发规则,支持实时通信和版本更新服务
2.6 KiB
2.6 KiB
接入流程
完整的 XuqmGroup SDK 接入流程,从注册账号到客户端收发消息。
1. 注册开发者账号
- 访问 XuqmGroup 控制台
- 点击注册,填写企业/个人信息
- 完成邮箱/手机验证
2. 创建应用
- 登录控制台 → 应用管理 → 创建应用
- 填写应用名称、平台类型(Android / iOS / Web / RN / 小程序 / HarmonyOS)
- 创建成功后获得:
appKey(客户端使用)
3. 获取 AppKey
在应用详情页复制 appKey,用于客户端 SDK 初始化:
// Android
XuqmSDK.initialize(context, appKey = "your_app_key")
// iOS
XuqmSDK.shared.initialize(config: config)
// Vue3 / Web
4. 服务端签发 UserSig
服务端可以通过 SDK 本地生成 UserSig,也可以通过 IM 管理页生成并校验。
如果账号需要用于服务端 SDK / 管理端 REST API,请把该注册用户标记为管理员。
签发逻辑(示例)
// Node.js
import jwt from 'jsonwebtoken'
return jwt.sign(
{ userId, appKey, iat: Math.floor(Date.now() / 1000) },
appSecret,
{ algorithm: 'HS256', expiresIn: '180d' }
)
}
# Python
import jwt
import time
def generate_user_sig(user_id: str, app_key: str, app_secret: str) -> str:
return jwt.encode(
{"userId": user_id, "appKey": app_key, "iat": int(time.time())},
app_secret,
algorithm="HS256"
)
// Go
import "github.com/golang-jwt/jwt/v5"
import "time"
token := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{
"userId": userID,
"appKey": appKey,
"iat": time.Now().Unix(),
})
}
接口设计建议
POST /api/auth/xuqm-login
Headers: Authorization: Bearer {your-app-auth-token}
Body: { "userId": "user_001" }
Response: { "userSig": "jwt_token_string" }
5. 客户端接入 SDK
登录流程
客户端
→ 业务登录(用户名/密码)
→ 业务服务端验证成功
→ 返回 userSig 给客户端
→ 客户端调用 XuqmSDK.login(userId, userSig)
→ 开始收发消息
各平台接入
| 平台 | 文档 |
|---|---|
| Android | Android SDK → |
| iOS | iOS SDK → |
| React Native | RN SDK → |
| Vue3 / Web | Vue3 SDK → |
| HarmonyOS | HarmonyOS SDK → |
| 微信小程序 | 小程序 SDK → |
安全提示
- 所有 API 通信使用 HTTPS
- UserSig 当前版本不过期,业务方可自行控制签发逻辑