XuqmGroup-RNSDK/docs/SDK-API参考.md

49 行
1.8 KiB
Markdown

# XuqmGroup RN SDK API
## 公共生命周期
```ts
import {XuqmSDK} from '@xuqm/rn-common';
await XuqmSDK.awaitInitialization();
await XuqmSDK.login({
userId: 'user-id',
accessToken: 'http-token',
userSig: 'optional-im-credential',
name: '姓名',
phone: '手机号',
});
await XuqmSDK.logout();
```
- `initialize(options)`:仅在不能使用配置文件自动初始化时调用。
- `awaitInitialization()`:等待唯一初始化完成;未配置且未手动初始化会抛出明确错误。
- `login(options)`:唯一登录入口;同一会话重复调用幂等,不同会话串行切换。
- `logout()`:唯一登出入口。
- `getUserId()` / `getUserInfo()`:只读获取当前会话。
不提供 `setUserInfo`、`setUserId` 或公开的配置文件初始化入口。
## common 通用能力
下列能力可以零初始化、零登录独立使用。`apiRequest` 未初始化时不会生成 SDK 签名头;可使用绝对 URL 或 `configureHttp` 设置基础地址。
- `apiRequest`、`configureHttp`、`useRequest`、`useApi`、`usePageApi`
- `expirationStatus`、`toTimestamp`、`millisecondsUntil`、`formatDateTime`
- `fileExists`、`ensureDirectory`、`readFileAsBase64`、`writeBase64File`、`openLocalFile`
- `decryptXuqmFile`、`hmacSha256Base64Url`
- `getDeviceId`、`getDeviceInfo`、`detectPushVendor`
- `showToast`、`showAlert`、`showConfirm`、`ScaledImage`
## 扩展包
- `@xuqm/rn-update``UpdateSDK`、`XuqmRuntime`、`definePlugin` 和 `xuqm-rn` CLI。
- `@xuqm/rn-xwebview``XWebViewView`、`XWebViewScreen`、JSBridge 与统一下载。
- `@xuqm/rn-bugcollect``BugCollect` 错误、事件、漏斗和队列上报。
- `@xuqm/rn-im`:在 common 会话含 `userSig` 且服务启用时连接。
- `@xuqm/rn-push`:在 common 会话变化时同步原生推送绑定。
所有扩展包都不提供第二套初始化或登录 API。