XuqmGroup-Web/docs-site/docs/guide/flow.md

138 行
3.0 KiB
Markdown

# 接入流程
完整的 XuqmGroup SDK 接入流程,从注册账号到客户端收发消息。
---
## 1. 注册开发者账号
1. 访问 [XuqmGroup 控制台](https://dev.xuqinmin.com)
2. 点击注册,填写企业/个人信息
3. 完成邮箱/手机验证
---
## 2. 创建应用
1. 登录控制台 → 应用管理 → 创建应用
2. 填写应用名称、平台类型Android / iOS / Web / RN / 小程序 / HarmonyOS
3. 创建成功后获得:
- `appKey`(客户端使用)
- `appSecret`(服务端使用,**不可泄露**
---
## 3. 获取 AppKey
在应用详情页复制 `appKey`,用于客户端 SDK 初始化:
```kotlin
// Android
XuqmSDK.initialize(context, appKey = "your_app_key")
```
```swift
// iOS
let config = SDKConfig(appKey: "your_app_key", appSecret: "your_app_secret")
XuqmSDK.shared.initialize(config: config)
```
```ts
// Vue3 / Web
init({ appKey: 'your_app_key', appSecret: 'your_app_secret' })
```
---
## 4. 服务端签发 UserSig
`appSecret` 只应保存在业务服务端,用于为每个用户签发 `userSig`
### 签发逻辑(示例)
```ts
// Node.js
import jwt from 'jsonwebtoken'
function generateUserSig(userId: string, appKey: string, appSecret: string): string {
return jwt.sign(
{ userId, appKey },
appSecret,
{ algorithm: 'HS256' }
)
}
```
```python
# Python
import jwt
def generate_user_sig(user_id: str, app_key: str, app_secret: str) -> str:
return jwt.encode(
{"userId": user_id, "appKey": app_key},
app_secret,
algorithm="HS256"
)
```
```go
// Go
import "github.com/golang-jwt/jwt/v5"
func GenerateUserSig(userID, appKey, appSecret string) (string, error) {
token := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{
"userId": userID,
"appKey": appKey,
})
return token.SignedString([]byte(appSecret))
}
```
### 接口设计建议
```
POST /api/auth/xuqm-login
Headers: Authorization: Bearer {your-app-auth-token}
Body: { "userId": "user_001" }
Response: { "userSig": "jwt_token_string" }
```
---
## 5. 客户端接入 SDK
### 登录流程
```
客户端
→ 业务登录(用户名/密码)
→ 业务服务端验证成功
→ 业务服务端调用 generateUserSig(userId, appKey, appSecret)
→ 返回 userSig 给客户端
→ 客户端调用 XuqmSDK.login(userId, userSig)
→ SDK 自动连接 WebSocket
→ 开始收发消息
```
### 各平台接入
| 平台 | 文档 |
|------|------|
| Android | [Android SDK →](/android/) |
| iOS | [iOS SDK →](/ios/) |
| React Native | [RN SDK →](/rn/) |
| Vue3 / Web | [Vue3 SDK →](/vue3/) |
| HarmonyOS | [HarmonyOS SDK →](/harmony/) |
| 微信小程序 | [小程序 SDK →](/miniprogram/) |
---
## 安全提示
- `appSecret` **绝不下发到客户端**,仅用于服务端签发 UserSig
- 若需撤销用户权限,可在租户平台重置 `appSecret` 或拉黑账号
- 所有 API 通信使用 HTTPS / WSS
- UserSig 当前版本不过期,业务方可自行控制签发逻辑
[→ 快速开始 →](./quickstart)