- 新增 ApiClient 类用于处理 API 请求和响应 - 实现 ImClient 类支持 WebSocket 连接和消息收发 - 添加 ImSDK 类提供完整的即时通讯功能接口 - 定义 ImTypes.swift 包含聊天类型、消息类型等相关数据结构 - 实现 PushSDK 类支持推送通知令牌注册 - 添加基础的 UpdateSDK 框架结构 - 集成登录认证和聊天室订阅功能 - 实现群组管理、好友关系和会话功能 - 支持多种消息类型包括文本、图片、视频、音频等 - 提供历史消息查询和黑名单管理功能
28 行
811 B
Swift
28 行
811 B
Swift
import Foundation
|
|
|
|
public enum PushVendor: String {
|
|
case apns = "APNS"
|
|
case fcm = "FCM"
|
|
}
|
|
|
|
@MainActor
|
|
public final class PushSDK {
|
|
|
|
public static let shared = PushSDK()
|
|
private init() {}
|
|
|
|
public func registerToken(_ token: String, userId: String, vendor: PushVendor = .apns) async throws {
|
|
let config = XuqmSDK.shared.requireConfig()
|
|
let _: EmptyResponse = try await ApiClient.shared.request(
|
|
path: "/api/push/register",
|
|
method: "POST",
|
|
queryItems: [
|
|
URLQueryItem(name: "appId", value: config.appId),
|
|
URLQueryItem(name: "userId", value: userId),
|
|
URLQueryItem(name: "vendor", value: vendor.rawValue),
|
|
URLQueryItem(name: "token", value: token),
|
|
]
|
|
)
|
|
}
|
|
}
|