统一收款详情布局、设置金额弹窗和收款记录样式,接入 type 6/1 推送驱动与轮询 fallback,使 iOS 收款反馈与 Android 一致。 Co-authored-by: Cursor <cursoragent@cursor.com>
36 lines
905 B
Swift
36 lines
905 B
Swift
//
|
||
// PaymentPushEventCenter.swift
|
||
// suixinkan
|
||
//
|
||
// Created by Codex on 2026/6/29.
|
||
//
|
||
|
||
import Combine
|
||
import Foundation
|
||
|
||
/// 收款推送事件,对齐 Android PushBus 在收款页内的分发语义。
|
||
struct PaymentPushEvent: Equatable, Sendable {
|
||
let type: Int
|
||
let dataJSON: String?
|
||
}
|
||
|
||
@MainActor
|
||
/// 收款推送事件中心,供 PushNotificationManager 发布、收款页订阅。
|
||
final class PaymentPushEventCenter {
|
||
static let shared = PaymentPushEventCenter()
|
||
|
||
private let subject = PassthroughSubject<PaymentPushEvent, Never>()
|
||
|
||
private init() {}
|
||
|
||
/// 收款页可订阅的推送事件流。
|
||
var events: AnyPublisher<PaymentPushEvent, Never> {
|
||
subject.eraseToAnyPublisher()
|
||
}
|
||
|
||
/// 发布一条收款相关推送事件。
|
||
func post(type: Int, dataJSON: String?) {
|
||
subject.send(PaymentPushEvent(type: type, dataJSON: dataJSON))
|
||
}
|
||
}
|