123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- //
- // KMUserInfoVCModel.swift
- // PDF Reader Pro
- //
- // Created by wanjun on 2024/10/31.
- //
- import Foundation
- import Combine
- @objc enum KMUserState : Int {
- case unPay_UnTrial = 0 // 未付费且未试用
- case permanentAccount // 永久账户用户
- case unAutomatic_RemainValid// 取消自动续费,但仍在有效期内
- case expired // 已到期用户
- }
- typealias UserInfoComplete = (_ success: Bool,_ msg: String) -> Void
- class KMUserInfoVCModel: ObservableObject {
-
- /**
- @abstract 刷新个人权益
- @param
- */
- func refreshUserInfo(_ complete: @escaping UserInfoComplete) -> Void {
- KMMemberCenterManager.manager.userInfo { success, result in
- guard let result = result else { return }
- let resultDict = result as KMMemberCenterResult
- let msg = resultDict.msg
- if success {
- let userInfo = resultDict.userInfo
- guard let userInfo = resultDict.userInfo else { return }
- KMMemberInfo.shared.memberUserInfo(model: userInfo)
- complete(true, "")
- } else {
- complete(false, "")
- }
- }
- }
-
- /**
- @abstract 刷新用户状态 0(未付费且未试用)、1(永久账户用户)、2(取消自动续费,但仍在有效期内)、3(已到期用户)
- @param
- */
- func refreshUserState() -> KMUserState {
-
- return .unPay_UnTrial
- }
-
- /**
- @abstract 根据用户支持的平台返回外部视图需要的平台图片数组
- @param
- */
- func getPlatformsImages() -> [NSImage] {
- var images: [NSImage] = []
- for platform in userPlatforms() {
- if refreshUserState() == .permanentAccount ||
- refreshUserState() == .unAutomatic_RemainValid {
- if platform == "mac" {
- images.append(NSImage(named: "MacOSPlatformImage2")!)
- } else if platform == "ios" {
- images.append(NSImage(named: "iOSPlatformImage2")!)
- } else if platform == "windows" {
- images.append(NSImage(named: "WindowsPlatformImage2")!)
- } else if platform == "android" {
- images.append(NSImage(named: "AndroidPlatformImage2")!)
- }
- } else {
- if platform == "mac" {
- images.append(NSImage(named: "MacOSPlatformImage")!)
- } else if platform == "ios" {
- images.append(NSImage(named: "iOSPlatformImage")!)
- } else if platform == "windows" {
- images.append(NSImage(named: "WindowsPlatformImage")!)
- } else if platform == "android" {
- images.append(NSImage(named: "AndroidPlatformImage")!)
- }
- }
- }
- return images
- }
-
- /**
- @abstract 获取用户支持的最大设备数
- @param
- */
- private func maxDeviceNum() -> Int {
-
- return 4
- // return 0
- }
-
- /**
- @abstract 用户支持的平台
- @param
- */
- private func userPlatforms() -> [String] {
- let platforms = "android, ios, mac, windows"
- let platformsArray = platforms
- .components(separatedBy: ",")
- .map { $0.trimmingCharacters(in: .whitespaces) }
- return platformsArray
- }
- }
|