对齐 Android 立即收款页面 UI,并补齐推送状态与语音开关。
统一收款详情布局、设置金额弹窗和收款记录样式,接入 type 6/1 推送驱动与轮询 fallback,使 iOS 收款反馈与 Android 一致。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@ -13,6 +13,7 @@ final class AppPreferencesStore {
|
||||
private let defaults: UserDefaults
|
||||
private let lastLoginUsernameKey = "suixinkan.preferences.last_login_username"
|
||||
private let privacyAgreementAcceptedKey = "suixinkan.preferences.privacy_agreement_accepted"
|
||||
private let paymentReceiveVoiceKey = "suixinkan.preferences.payment_receive_voice"
|
||||
|
||||
/// 初始化偏好存储服务,并允许测试注入独立的 UserDefaults。
|
||||
init(defaults: UserDefaults = .standard) {
|
||||
@ -43,6 +44,16 @@ final class AppPreferencesStore {
|
||||
defaults.bool(forKey: privacyAgreementAcceptedKey)
|
||||
}
|
||||
|
||||
/// 读取收款到账语音提醒开关。
|
||||
func loadPaymentReceiveVoiceEnabled() -> Bool {
|
||||
defaults.bool(forKey: paymentReceiveVoiceKey)
|
||||
}
|
||||
|
||||
/// 保存收款到账语音提醒开关。
|
||||
func savePaymentReceiveVoiceEnabled(_ enabled: Bool) {
|
||||
defaults.set(enabled, forKey: paymentReceiveVoiceKey)
|
||||
}
|
||||
|
||||
/// 清空登录页偏好。
|
||||
func clear() {
|
||||
defaults.removeObject(forKey: lastLoginUsernameKey)
|
||||
|
||||
Reference in New Issue
Block a user