feat: integrate JPush notifications

This commit is contained in:
2026-07-20 15:56:06 +08:00
parent 573c9a42ae
commit e7f1d777dd
50 changed files with 6552 additions and 2499 deletions

View File

@ -0,0 +1,30 @@
import Foundation
/// Registration ID
@MainActor
protocol PushRegistrationServing: AnyObject {
/// Registration ID
func registerJPushID(_ registrationID: String) async throws
}
/// API Android 使 Registration ID
@MainActor
final class PushAPI: PushRegistrationServing {
private let client: APIClient
/// 使 API
init(client: APIClient) {
self.client = client
}
/// Registration ID沿 `jpush_reg_id`
func registerJPushID(_ registrationID: String) async throws {
let _: EmptyPayload = try await client.send(
APIRequest(
method: .post,
path: "/api/app/user/register-jpush-id",
queryItems: [URLQueryItem(name: "jpush_reg_id", value: registrationID)]
)
)
}
}