Files

93 lines
2.9 KiB
Swift

//
// NotificationName.swift
// suixinkan
//
import Foundation
/// 工程中所有 `NotificationCenter` 通知名称的统一入口。
/// 新增通知时只能在此文件声明,禁止在业务代码中硬编码字符串。
enum NotificationName {
private static let prefix = "com.yuanzhixiang.suixinkan."
private static func name(_ suffix: String) -> Notification.Name {
Notification.Name(prefix + suffix)
}
// MARK: - Session
/// 用户登录成功
static let userDidLogin = name("userDidLogin")
/// 用户主动退出登录
static let userDidLogout = name("userDidLogout")
/// 已登录状态下切换景区/门店账号
static let accountDidSwitch = name("accountDidSwitch")
/// Token 失效或鉴权失败,需重新登录
static let sessionDidExpire = name("sessionDidExpire")
/// 当前门店身份受限或申请结果待核实;保留凭证转入只读状态查询。
static let storeAccountDeregistrationRestricted = name("storeAccountDeregistrationRestricted")
/// 当前门店身份的注销申请已被服务端明确受理;先清理登录态,再展示提交结果页。
static let storeAccountDeregistrationSubmitted = name("storeAccountDeregistrationSubmitted")
// MARK: - Scenic
/// 当前景区切换
static let scenicDidChange = name("scenicDidChange")
// MARK: - User Profile
/// 用户资料更新(头像、昵称、角色等)
static let userProfileDidUpdate = name("userProfileDidUpdate")
// MARK: - Message
/// 未读消息数量变化
static let unreadMessageCountDidChange = name("unreadMessageCountDidChange")
// MARK: - Order
/// 订单状态或列表发生变化
static let orderDidUpdate = name("orderDidUpdate")
// MARK: - Task
/// 任务状态或列表发生变化
static let taskDidUpdate = name("taskDidUpdate")
// MARK: - Scenic Queue
/// 排队叫号数据变化
static let scenicQueueDidUpdate = name("scenicQueueDidUpdate")
// MARK: - Voice Call
/// 语音通话状态变化
static let voiceCallStateDidChange = name("voiceCallStateDidChange")
}
/// `Notification.userInfo` 字典键的统一入口。
enum NotificationUserInfoKey {
/// 产生注销限制错误的原请求凭证,仅在内存中匹配当前会话,禁止记录日志。
static let deregistrationRequestToken = "deregistrationRequestToken"
/// 注销申请提交时冻结的身份展示名称,不包含身份凭证。
static let deregistrationIdentityName = "deregistrationIdentityName"
/// 注销申请明确受理后查询到的服务端冷静期截止时间。
static let deregistrationCoolingUntil = "deregistrationCoolingUntil"
static let scenicId = "scenicId"
static let scenicName = "scenicName"
static let orderId = "orderId"
static let taskId = "taskId"
static let unreadCount = "unreadCount"
static let voiceCallState = "voiceCallState"
}