KeyboardSharedDataManager.swift 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. //
  2. // KeyboardSharedDataManager.swift
  3. // Runner
  4. //
  5. // Created by Destiny on 2025/5/7.
  6. //
  7. import Foundation
  8. class KeyboardSharedDataManager {
  9. static let shared = KeyboardSharedDataManager()
  10. // App Group标识符,需要在主应用和键盘扩展中保持一致
  11. private let appGroupIdentifier = "com.qihuan.zhuiaijianpan.AiKeyboard"
  12. // 共享的UserDefaults
  13. private lazy var sharedUserDefaults: UserDefaults? = {
  14. return UserDefaults(suiteName: appGroupIdentifier)
  15. }()
  16. private init() {}
  17. // 保存Token
  18. func saveToken(_ token: String) {
  19. sharedUserDefaults?.set(token, forKey: "user_token")
  20. sharedUserDefaults?.synchronize()
  21. }
  22. // 获取Token
  23. func getToken() -> String? {
  24. return sharedUserDefaults?.string(forKey: "user_token")
  25. }
  26. // 清除所有数据
  27. func clearAuthToken() {
  28. sharedUserDefaults?.removeObject(forKey: "user_token")
  29. sharedUserDefaults?.synchronize()
  30. }
  31. // 检查是否已登录
  32. func isLoggedIn() -> Bool {
  33. return getToken() != nil
  34. }
  35. }