KMMemberInfo.swift 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. //
  2. // KMMemberInfo.swift
  3. // PDF Reader Pro
  4. //
  5. // Created by wanjun on 2024/10/22.
  6. //
  7. import Cocoa
  8. @objcMembers class KMMemberInfo: NSObject {
  9. static let shared = KMMemberInfo()
  10. var isLogin: Bool = false
  11. /**
  12. 登录
  13. */
  14. private var _refresh_token: String = "" // 刷新Token
  15. private var _access_token: String = "" // 访问Token
  16. private var _token_type: String = "" // Token 类型
  17. private var _expires_in: String = ""
  18. private var _scope: String = ""
  19. /**
  20. 登录
  21. */
  22. var userID: String = "" // 用户ID
  23. var userEmail: String = "" // 用户邮箱
  24. var fullName: String = "" // 用户名称
  25. var activeVips: [KMMemberUserInfoActiveVIP] = [] // 活跃的会员
  26. var aiPoint: Int = 0 // AI 点数
  27. var validFlag: String = "" // 账户状态
  28. var isHaveAIDiscount: String = "" // 是否有ai折扣
  29. var canTrail: String = "" // 是否能试用
  30. // MARK: Get & Set
  31. var refresh_token: String {
  32. get {
  33. let token = UserDefaults.standard.value(forKey: "MemberRefreshToken")
  34. if token is String {
  35. return token as! String
  36. }
  37. return _refresh_token
  38. }
  39. set {
  40. _refresh_token = newValue
  41. UserDefaults.standard.setValue(newValue, forKey: "MemberRefreshToken")
  42. }
  43. }
  44. var access_token: String {
  45. get {
  46. let token = UserDefaults.standard.value(forKey: "MemberAccessToken")
  47. if token is String {
  48. return token as! String
  49. }
  50. return _access_token
  51. }
  52. set {
  53. _access_token = newValue
  54. UserDefaults.standard.setValue(newValue, forKey: "MemberAccessToken")
  55. }
  56. }
  57. var token_type: String {
  58. get {
  59. return _token_type
  60. }
  61. set {
  62. _token_type = newValue
  63. }
  64. }
  65. // MARK: Public Method
  66. func memberUserInfo(model: KMMemberUserInfo) -> Void {
  67. userID = model.id
  68. userEmail = model.email
  69. fullName = model.fullName
  70. aiPoint = model.aiPoint
  71. validFlag = model.validFlag
  72. isHaveAIDiscount = model.isHaveAIDiscount
  73. canTrail = model.canTrail
  74. }
  75. }