XuqmGroup-iOSSDK/XuqmDemo/README.md
XuqmGroup e7067d03cb feat(sdk): 更新 SDK 设计文档和 API 重构
- 添加 expiresAt 和 refreshUserSig 参数支持自动续签
- 修改 PushSDK 初始化方式,自动完成设备注册和厂商初始化
- 调整过期续签策略,从提前 15 分钟改为提前 5 分钟触发
- 重构 RN SDK 文档结构,简化安装和使用方式
- 更新统一登录流程,支持 profile 信息传递
- 添加 IM 数据库自动隔离功能
- 修复 Android 群消息聚合问题
- 补充自动化测试验证和错误处理机制
2026-05-01 21:27:39 +08:00

66 行
2.1 KiB
Markdown

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

# XuqmDemo
XuqmGroup iOS SDK 的 SwiftUI 演示应用。
## 功能
- **登录**:使用 demo-service 登录(`user_a` / `123456`
- **会话列表**:展示最近会话,支持搜索、置顶、静音、删除
- **单聊**:与某个用户收发文本消息
- **更新检查**:检查 App 更新
- **个人资料**:展示并修改当前用户信息
## 环境
- 演示服务器:`https://dev.xuqinmin.com`
- App ID`ak_demo_chat`
## 运行方式
### 方式一:嵌入 Xcode 项目
1.`XuqmDemo/Sources` 下的所有 Swift 文件拖入你的 Xcode iOS App 项目
2. 确保项目已依赖 `XuqmSDK`(本地 SPM 或源码引用)
3. 构建并运行
### 方式二Swift Package Manager验证编译
```bash
cd XuqmDemo
swift build
```
> 注:由于 Demo 是 iOS SwiftUI 应用,建议使用 Xcode 打开 `XuqmGroup-iOSSDK` 仓库,然后新建一个 iOS App Target 并将 `XuqmDemo/Sources` 中的文件加入该 Target 进行真机/模拟器运行。
## 项目结构
```
XuqmDemo/
Package.swift
Sources/
XuqmDemoApp.swift # @main 入口,初始化 SDK 与路由
Views/
LoginView.swift # 登录页
ConversationListView.swift # 会话列表页
ChatView.swift # 单聊页
UpdateCheckView.swift # 更新检查页
ProfileView.swift # 个人资料页
ViewModels/
AuthViewModel.swift # 登录/登出逻辑
ConversationViewModel.swift# 会话列表逻辑
ChatViewModel.swift # 聊天逻辑(含 ImEventDelegate 桥接)
Models/
DemoModels.swift # 路由、状态、辅助函数
README.md
```
## 关键 SDK API 使用
- `XuqmSDK.shared.initialize(config:)` — 初始化 SDK
- `ImSDK.shared.loginWithDemo(userId:password:)` — Demo 登录
- `ImSDK.shared.listConversations()` — 获取会话列表
- `ImSDK.shared.fetchHistory(toId:page:size:)` — 获取历史消息
- `ImSDK.shared.sendTextMessage(toId:chatType:content:)` — 发送文本消息
- `ImSDK.shared.getProfile(userId:)` / `updateProfile(...)` — 用户资料
- `UpdateSDK.shared.checkAppUpdate(currentVersionCode:)` — 检查更新