12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220 |
- //
- // KMUserInfoViewController.swift
- // PDF Reader Pro
- //
- // Created by wanjun on 2024/10/30.
- //
- import Cocoa
- import Combine
- class KMGradationBox: NSBox {
- override func draw(_ dirtyRect: NSRect){
- super.draw(dirtyRect)
-
- guard let context = NSGraphicsContext.current?.cgContext else { return }
-
- // 定义渐变颜色
- let colors = [NSColor(hex: "EBDABD").cgColor, NSColor(hex: "E5CCA8").cgColor]
- let gradient = CGGradient(colorsSpace: nil, colors: colors as CFArray, locations: nil)
-
- // 定义渐变起始和结束点
- let startPoint = CGPoint(x: bounds.minX, y: bounds.minY)
- let endPoint = CGPoint(x: bounds.maxX, y: bounds.maxY)
-
- // 绘制圆角矩形路径
- let roundedPath = NSBezierPath(roundedRect: bounds, xRadius: 4, yRadius: 4) // 你的圆角半径
- roundedPath.addClip() // 添加路径为剪切区域
-
- context.clip() // 使路径生效
-
- // 绘制渐变
- context.drawLinearGradient(gradient!, start: startPoint, end: endPoint, options: [])
-
- context.restoreGState()
- }
- }
- @objcMembers
- class KMUserInfoViewController: NSViewController {
-
- @IBOutlet weak var userImageView: NSImageView!
- @IBOutlet weak var emailLabel: NSTextField!
- @IBOutlet weak var productLabel: NSTextField!
- @IBOutlet weak var spliLineImageView: NSImageView!
- @IBOutlet weak var endDateLabel: NSTextField!
- @IBOutlet weak var membershipLabel: NSTextField!
- @IBOutlet weak var lockedImageView: NSImageView!
- @IBOutlet weak var lockedLabel: NSTextField!
- @IBOutlet var lockedLabelWidthffset:NSLayoutConstraint!
- @IBOutlet var lockedBox:KMGradationBox!
- @IBOutlet weak var centerBackgroud: NSImageView!
- @IBOutlet weak var rightsBox: NSBox!
- @IBOutlet var rightsView: NSView!
- @IBOutlet weak var number1Label: NSTextField!
- @IBOutlet weak var number1ImageView: NSImageView!
- @IBOutlet weak var number2Label: NSTextField!
- @IBOutlet weak var iconBox: NSBox!
- @IBOutlet var iconView1: NSView!
- @IBOutlet weak var icon1ImageView: NSImageView!
- @IBOutlet weak var icon2ImageView: NSImageView!
- @IBOutlet weak var icon3ImageView: NSImageView!
- @IBOutlet weak var icon4ImageView: NSImageView!
- @IBOutlet var iconView2: NSView!
- @IBOutlet weak var icon5ImageView: NSImageView!
- @IBOutlet weak var icon6ImageView: NSImageView!
- @IBOutlet weak var icon7ImageView: NSImageView!
- @IBOutlet var iconView3: NSView!
- @IBOutlet weak var icon8ImageView: NSImageView!
- @IBOutlet weak var icon9ImageView: NSImageView!
- @IBOutlet var iconView4: NSView!
- @IBOutlet weak var icon10ImageView: NSImageView!
- @IBOutlet weak var number3Label: NSTextField!
- @IBOutlet weak var number4Label: NSTextField!
- @IBOutlet weak var number4_1Label: NSTextField!
- @IBOutlet weak var number5Label: NSTextField!
-
- @IBOutlet weak var buyBox: NSBox!
- @IBOutlet var buyView1: NSView!
- @IBOutlet weak var buyNow1Box: KMBox!
- @IBOutlet weak var buyNow1ImageView: NSImageView!
- @IBOutlet weak var buyNow1Label: NSTextField!
- @IBOutlet weak var arrow1ImageView: NSImageView!
- @IBOutlet weak var buyNow2Box: KMBox!
- @IBOutlet weak var buyNow2ImageView: NSImageView!
- @IBOutlet weak var buyNow2Label: NSTextField!
- @IBOutlet weak var arrow2ImageView: NSImageView!
- @IBOutlet var buyNow1BoxLeftConst: NSLayoutConstraint!
-
- @IBOutlet weak var accountCenterBox: KMBox!
- @IBOutlet weak var accountImageView: NSImageView!
- @IBOutlet weak var accountLabel: NSTextField!
- @IBOutlet weak var signOutBox: KMBox!
- @IBOutlet weak var signOutImageView: NSImageView!
- @IBOutlet weak var signOutLabel: NSTextField!
- @IBOutlet weak var closeAccountBox: KMBox!
- @IBOutlet weak var closeAccountImageView: NSImageView!
- @IBOutlet weak var closeAccountLabel: NSTextField!
-
- private var viewModel = KMUserInfoVCModel()
- private var cancellables = Set<AnyCancellable>()
-
- deinit {
- KMPrint("KMUserInfoViewController deinit.")
- }
-
- @objc class func refreshTokenUserInfo(callback: ((Bool)->Void)?) -> Void {
- if KMMemberCenterManager.manager.isConnectionAvailable() == false {
- let alert = NSAlert()
- alert.alertStyle = .critical
- alert.messageText = NSLocalizedString("Error Information", comment: "")
- alert.informativeText = NSLocalizedString("Please make sure your internet connection is available.", comment: "")
- alert.addButton(withTitle: NSLocalizedString("OK", comment: ""))
- alert.runModal()
-
- callback?(false)
- return
- }
-
- KMUserInfoVCModel().refreshUserInfo(networkAlert: false) { success, msg in
- callback?(success)
- if success {
- KMMemberInfo.shared.isLogin = true
- NotificationCenter.default.post(name: NSNotification.Name(rawValue: "MemberCenterLoginSuccess"), object: nil)
- } else {
- KMMemberInfo.shared.isLogin = false
- }
- }
- }
- override func viewDidLoad() {
- super.viewDidLoad()
- // Do view setup here.
-
- self.view.wantsLayer = true
- self.view.layer?.backgroundColor = .white
-
- #if VERSION_FREE
- #if VERSION_DMG
- // DMG
- languageLocalized_DMG()
- initializeUI_DMG()
- #else
- // AppStore 免费版本
- languageLocalized()
- initializeUI()
- #endif
- #else
- // AppStore 付费版
- languageLocalized()
- initializeUI()
- #endif
-
- NotificationCenter.default.addObserver(self, selector: #selector(changeEffectiveAppearance), name: NSNotification.Name(rawValue: "kEffectiveAppearance"), object: nil)
- }
-
- @objc func changeEffectiveAppearance() {
- let isDarkModel = KMAdvertisementConfig.isDarkModel()
- if isDarkModel {
- self.view.appearance = NSAppearance(named: .darkAqua)
- } else {
- self.view.appearance = NSAppearance(named: .aqua)
- }
- #if VERSION_FREE
- #if VERSION_DMG
- // DMG
- initializeUI_DMG()
- #else
- // AppStore 免费版本
- initializeUI()
- #endif
- #else
- // AppStore 付费版
- initializeUI()
- #endif
- }
-
- // MARK: Private Method
-
- private func languageLocalized() -> Void {
- emailLabel.stringValue = KMMemberInfo.shared.userEmail
- productLabel.stringValue = NSLocalizedString("Personal Account", tableName: "MemberCenterLocalizable", comment: "")
- endDateLabel.stringValue = String(format: "%@ %@", KMMemberInfo.shared.vip_endDate,NSLocalizedString("expires", tableName: "MemberCenterLocalizable", comment: ""))
- membershipLabel.stringValue = NSLocalizedString("Membership Benefits", tableName: "MemberCenterLocalizable", comment: "")
- buyNow1Label.stringValue = NSLocalizedString("Upgrade Now", tableName: "MemberCenterLocalizable", comment: "")
- accountLabel.stringValue = NSLocalizedString("Account Center", tableName: "MemberCenterLocalizable", comment: "")
- signOutLabel.stringValue = NSLocalizedString("Sign out", tableName: "MemberCenterLocalizable", comment: "")
- if KMMemberInfo.shared.validFlag == "5" {
- closeAccountLabel.stringValue = NSLocalizedString("Undo Remove Account", tableName: "MemberCenterLocalizable", comment: "")
- } else {
- closeAccountLabel.stringValue = NSLocalizedString("Remove Account", tableName: "MemberCenterLocalizable", comment: "")
- }
- if KMMemberInfo.shared.vip_maxDeviceNum == 1 {
- number4Label.stringValue = NSLocalizedString("device", tableName: "MemberCenterLocalizable", comment: "")
- } else {
- number4Label.stringValue = NSLocalizedString("devices", tableName: "MemberCenterLocalizable", comment: "")
- }
- number4_1Label.stringValue = String(KMMemberInfo.shared.vip_maxDeviceNum)
-
- number5Label.stringValue = NSLocalizedString("Devices Access", tableName: "MemberCenterLocalizable", comment: "")
- let platforms = viewModel.getPlatformsImages()
- if platforms.count == 4 {
- number3Label.stringValue = NSLocalizedString("All-platform Available", tableName: "MemberCenterLocalizable", comment: "")
- } else {
- number3Label.stringValue = NSLocalizedString("Platform", tableName: "MemberCenterLocalizable", comment: "")
- }
-
- if KMMemberInfo.shared.userScenarioType == .lite_type1 {
- buyNow1Label.stringValue = NSLocalizedString("Buy Now", tableName: "MemberCenterLocalizable", comment: "")
- var isTrialPeriod = false
- #if !VERSION_DMG
- if IAPProductsManager.default().fourDevicesAllAccessPackNew12months_lite.isTrialPeriod == true {
- isTrialPeriod = true
- }
- #else
- #endif
- if isTrialPeriod {
- buyNow2Label.stringValue = NSLocalizedString("7-Day Free Trial", tableName: "MemberCenterLocalizable", comment: "")
- } else {
- buyNow2Label.stringValue = NSLocalizedString("Upgrade Now", tableName: "MemberCenterLocalizable", comment: "")
- }
- } else if KMMemberInfo.shared.userScenarioType == .lite_type9 {
- if(KMMemberInfo.shared.vip_status == 2) {
- buyNow1Label.stringValue = NSLocalizedString("Renew now", tableName: "MemberCenterLocalizable", comment: "")
- } else if (KMMemberInfo.shared.vip_status == 4) {
- buyNow1Label.stringValue = NSLocalizedString("Buy Now", tableName: "MemberCenterLocalizable", comment: "")
- } else {
- buyNow1Label.stringValue = NSLocalizedString("Upgrade Now", tableName: "MemberCenterLocalizable", comment: "")
- }
- } else if KMMemberInfo.shared.userScenarioType == .lite_type3 {
- buyNow1Label.stringValue = NSLocalizedString("Buy Now", tableName: "MemberCenterLocalizable", comment: "")
- } else if KMMemberInfo.shared.userScenarioType == .lite_type11 {
- buyNow1Label.stringValue = NSLocalizedString("Upgrade Now", tableName: "MemberCenterLocalizable", comment: "")
- } else if KMMemberInfo.shared.userScenarioType == .lite_type5 ||
- KMMemberInfo.shared.userScenarioType == .pro_type1 ||
- KMMemberInfo.shared.userScenarioType == .pro_type3 ||
- KMMemberInfo.shared.userScenarioType == .pro_type4 {
- buyNow1Label.stringValue = NSLocalizedString("Upgrade Now", tableName: "MemberCenterLocalizable", comment: "")
- } else if KMMemberInfo.shared.userScenarioType == .lite_type7 ||
- KMMemberInfo.shared.userScenarioType == .lite_type8 ||
- KMMemberInfo.shared.userScenarioType == .lite_type13 {
- buyNow1Label.stringValue = NSLocalizedString("Renew now", tableName: "MemberCenterLocalizable", comment: "")
- }
- }
-
- private func refreshEquity() -> Void {
- if KMMemberInfo.shared.userScenarioType == .lite_type1 {
- lockedLabel.stringValue = NSLocalizedString("Locked", tableName: "MemberCenterLocalizable", comment: "")
- lockedImageView.image = NSImage(named: "LockedImage")
- number1Label.stringValue = NSLocalizedString("150+", tableName: "MemberCenterLocalizable", comment: "")
- number2Label.stringValue = NSLocalizedString("Benefits of Functions", tableName: "MemberCenterLocalizable", comment: "")
- number1ImageView.isHidden = true
- number1Label.isHidden = false
- centerBackgroud.image = NSImage(named: "ButtonBackgroundImage3")
- number1Label.textColor = NSColor(hex: "0E1114")
- membershipLabel.textColor = NSColor(hex: "42464D")
- } else if KMMemberInfo.shared.userScenarioType == .lite_type2 {
- lockedLabel.stringValue = NSLocalizedString("Annual Plan", tableName: "MemberCenterLocalizable", comment: "")
- lockedImageView.image = NSImage(named: "UpgradeImage2")
- number1Label.stringValue = NSLocalizedString("", tableName: "MemberCenterLocalizable", comment: "")
- number2Label.stringValue = NSLocalizedString("Advanced Version", tableName: "MemberCenterLocalizable", comment: "")
- number1ImageView.isHidden = false
- number1Label.isHidden = true
- centerBackgroud.image = NSImage(named: "ButtonBackgroundImage5")
- } else if KMMemberInfo.shared.userScenarioType == .lite_type3 {
- lockedLabel.stringValue = NSLocalizedString("Locked", tableName: "MemberCenterLocalizable", comment: "")
- lockedImageView.image = NSImage(named: "LockedImage")
- number1Label.stringValue = NSLocalizedString("150+", tableName: "MemberCenterLocalizable", comment: "")
- number2Label.stringValue = NSLocalizedString("Benefits of Functions", tableName: "MemberCenterLocalizable", comment: "")
- number1ImageView.isHidden = true
- number1Label.isHidden = false
- centerBackgroud.image = NSImage(named: "ButtonBackgroundImage3")
- number1Label.textColor = NSColor(hex: "0E1114")
- } else if KMMemberInfo.shared.userScenarioType == .lite_type4 {
- lockedLabel.stringValue = NSLocalizedString("Subscription", tableName: "MemberCenterLocalizable", comment: "")
- lockedImageView.image = NSImage(named: "UpgradeImage2")
- number1Label.stringValue = NSLocalizedString("", tableName: "MemberCenterLocalizable", comment: "")
- if KMMemberInfo.shared.vip_levels == "2" {
- number2Label.stringValue = NSLocalizedString("Standard Version", tableName: "MemberCenterLocalizable", comment: "")
- } else {
- number2Label.stringValue = NSLocalizedString("Advanced Version", tableName: "MemberCenterLocalizable", comment: "")
- }
- number1ImageView.isHidden = false
- number1Label.isHidden = true
- centerBackgroud.image = NSImage(named: "ButtonBackgroundImage5")
- } else if KMMemberInfo.shared.userScenarioType == .lite_type5 {
- lockedLabel.stringValue = NSLocalizedString("Permanent", tableName: "MemberCenterLocalizable", comment: "")
- lockedImageView.image = NSImage(named: "UpgradeImage2")
- number1Label.stringValue = NSLocalizedString("", tableName: "MemberCenterLocalizable", comment: "")
- if KMMemberInfo.shared.vip_levels == "2" {
- number2Label.stringValue = NSLocalizedString("Standard Version", tableName: "MemberCenterLocalizable", comment: "")
- } else {
- number2Label.stringValue = NSLocalizedString("Advanced Version", tableName: "MemberCenterLocalizable", comment: "")
- }
- number1ImageView.isHidden = false
- number1Label.isHidden = true
- centerBackgroud.image = NSImage(named: "ButtonBackgroundImage4")
- } else if KMMemberInfo.shared.userScenarioType == .lite_type6 {
- lockedLabel.stringValue = NSLocalizedString("Subscription", tableName: "MemberCenterLocalizable", comment: "")
- lockedImageView.image = NSImage(named: "UpgradeImage2")
- number1Label.stringValue = NSLocalizedString("", tableName: "MemberCenterLocalizable", comment: "")
- if KMMemberInfo.shared.vip_levels == "2" {
- number2Label.stringValue = NSLocalizedString("Standard Version", tableName: "MemberCenterLocalizable", comment: "")
- } else {
- number2Label.stringValue = NSLocalizedString("Advanced Version", tableName: "MemberCenterLocalizable", comment: "")
- }
-
- number1ImageView.isHidden = false
- number1Label.isHidden = true
- centerBackgroud.image = NSImage(named: "ButtonBackgroundImage5")
- } else if KMMemberInfo.shared.userScenarioType == .lite_type7 {
- lockedLabel.stringValue = NSLocalizedString("Locked", tableName: "MemberCenterLocalizable", comment: "")
- lockedImageView.image = NSImage(named: "LockedImage")
- number1Label.stringValue = NSLocalizedString("150+", tableName: "MemberCenterLocalizable", comment: "")
- number2Label.stringValue = NSLocalizedString("Benefits of Functions", tableName: "MemberCenterLocalizable", comment: "")
- number1ImageView.isHidden = true
- number1Label.isHidden = false
- centerBackgroud.image = NSImage(named: "ButtonBackgroundImage3")
- number1Label.textColor = NSColor(hex: "0E1114")
- } else if KMMemberInfo.shared.userScenarioType == .lite_type8 {
- lockedLabel.stringValue = NSLocalizedString("Subscription", tableName: "MemberCenterLocalizable", comment: "")
- lockedImageView.image = NSImage(named: "UpgradeImage2")
- number1Label.stringValue = NSLocalizedString("", tableName: "MemberCenterLocalizable", comment: "")
- if KMMemberInfo.shared.vip_levels == "2" {
- number2Label.stringValue = NSLocalizedString("Standard Version", tableName: "MemberCenterLocalizable", comment: "")
- } else {
- number2Label.stringValue = NSLocalizedString("Advanced Version", tableName: "MemberCenterLocalizable", comment: "")
- }
- number1ImageView.isHidden = false
- number1Label.isHidden = true
- centerBackgroud.image = NSImage(named: "ButtonBackgroundImage5")
- } else if KMMemberInfo.shared.userScenarioType == .lite_type9 ||
- KMMemberInfo.shared.userScenarioType == .pro_type1 {
- if(KMMemberInfo.shared.vip_paymentModel == "2" && KMMemberInfo.shared.vip_levels != "1") { //永久
- lockedLabel.stringValue = NSLocalizedString("Permanent", tableName: "MemberCenterLocalizable", comment: "")
- lockedImageView.image = NSImage(named: "UpgradeImage2")
- number1Label.stringValue = NSLocalizedString("", tableName: "MemberCenterLocalizable", comment: "")
- if KMMemberInfo.shared.vip_levels == "2" {
- number2Label.stringValue = NSLocalizedString("Standard Version", tableName: "MemberCenterLocalizable", comment: "")
- } else {
- number2Label.stringValue = NSLocalizedString("Advanced Version", tableName: "MemberCenterLocalizable", comment: "")
- }
- number1ImageView.isHidden = false
- number1Label.isHidden = true
- centerBackgroud.image = NSImage(named: "ButtonBackgroundImage4")
- } else { //免费+订阅过期+试用过期
- lockedLabel.stringValue = NSLocalizedString("Locked", tableName: "MemberCenterLocalizable", comment: "")
- lockedImageView.image = NSImage(named: "LockedImage")
- number1Label.stringValue = NSLocalizedString("150+", tableName: "MemberCenterLocalizable", comment: "")
- number2Label.stringValue = NSLocalizedString("Benefits of Functions", tableName: "MemberCenterLocalizable", comment: "")
- number1ImageView.isHidden = true
- number1Label.isHidden = false
- centerBackgroud.image = NSImage(named: "ButtonBackgroundImage3")
- number1Label.textColor = NSColor(hex: "0E1114")
- }
- } else if KMMemberInfo.shared.userScenarioType == .lite_type10 {
- lockedLabel.stringValue = NSLocalizedString("Subscription", tableName: "MemberCenterLocalizable", comment: "")
- lockedImageView.image = NSImage(named: "UpgradeImage2")
- number1Label.stringValue = NSLocalizedString("", tableName: "MemberCenterLocalizable", comment: "")
- number2Label.stringValue = NSLocalizedString("Advanced Version", tableName: "MemberCenterLocalizable", comment: "")
- number1ImageView.isHidden = false
- number1Label.isHidden = true
- centerBackgroud.image = NSImage(named: "ButtonBackgroundImage5")
- } else if KMMemberInfo.shared.userScenarioType == .lite_type11 {
- lockedLabel.stringValue = NSLocalizedString("Locked", tableName: "MemberCenterLocalizable", comment: "")
- lockedImageView.image = NSImage(named: "LockedImage")
- number1Label.stringValue = NSLocalizedString("150+", tableName: "MemberCenterLocalizable", comment: "")
- number2Label.stringValue = NSLocalizedString("Benefits of Functions", tableName: "MemberCenterLocalizable", comment: "")
- number1ImageView.isHidden = true
- number1Label.isHidden = false
- centerBackgroud.image = NSImage(named: "ButtonBackgroundImage3")
- number1Label.textColor = NSColor(hex: "0E1114")
- } else if KMMemberInfo.shared.userScenarioType == .lite_type12 {
- lockedLabel.stringValue = NSLocalizedString("Subscription", tableName: "MemberCenterLocalizable", comment: "")
- lockedImageView.image = NSImage(named: "UpgradeImage2")
- number1Label.stringValue = NSLocalizedString("", tableName: "MemberCenterLocalizable", comment: "")
- if(KMMemberInfo.shared.vip_levels == "2") {
- number2Label.stringValue = NSLocalizedString("Standard Version", tableName: "MemberCenterLocalizable", comment: "")
- } else if((KMMemberInfo.shared.vip_levels == "3")) {
- number2Label.stringValue = NSLocalizedString("Advanced Version", tableName: "MemberCenterLocalizable", comment: "")
- }
- number1ImageView.isHidden = false
- number1Label.isHidden = true
- centerBackgroud.image = NSImage(named: "ButtonBackgroundImage5")
- } else if KMMemberInfo.shared.userScenarioType == .lite_type13 {
- lockedLabel.stringValue = NSLocalizedString("Subscription", tableName: "MemberCenterLocalizable", comment: "")
- lockedImageView.image = NSImage(named: "UpgradeImage2")
- number1Label.stringValue = NSLocalizedString("", tableName: "MemberCenterLocalizable", comment: "")
- if KMMemberInfo.shared.vip_levels == "2" {
- number2Label.stringValue = NSLocalizedString("Standard Version", tableName: "MemberCenterLocalizable", comment: "")
- } else {
- number2Label.stringValue = NSLocalizedString("Advanced Version", tableName: "MemberCenterLocalizable", comment: "")
- }
- number1ImageView.isHidden = false
- number1Label.isHidden = true
- centerBackgroud.image = NSImage(named: "ButtonBackgroundImage5")
- } else if KMMemberInfo.shared.userScenarioType == .pro_type2 {
- lockedLabel.stringValue = NSLocalizedString("Subscription", tableName: "MemberCenterLocalizable", comment: "")
- lockedImageView.image = NSImage(named: "UpgradeImage2")
- number1Label.stringValue = NSLocalizedString("", tableName: "MemberCenterLocalizable", comment: "")
- if KMMemberInfo.shared.vip_levels == "2" {
- number2Label.stringValue = NSLocalizedString("Standard Version", tableName: "MemberCenterLocalizable", comment: "")
- } else {
- number2Label.stringValue = NSLocalizedString("Advanced Version", tableName: "MemberCenterLocalizable", comment: "")
- }
- number1ImageView.isHidden = false
- number1Label.isHidden = true
- centerBackgroud.image = NSImage(named: "ButtonBackgroundImage5")
- number1Label.textColor = NSColor(named: "FFFFFF")
- } else if KMMemberInfo.shared.userScenarioType == .pro_type3 {
- lockedLabel.stringValue = NSLocalizedString("Locked", tableName: "MemberCenterLocalizable", comment: "")
- lockedImageView.image = NSImage(named: "LockedImage")
- number1Label.stringValue = NSLocalizedString("150+", tableName: "MemberCenterLocalizable", comment: "")
- number2Label.stringValue = NSLocalizedString("Benefits of Functions", tableName: "MemberCenterLocalizable", comment: "")
- number1ImageView.isHidden = true
- number1Label.isHidden = false
- centerBackgroud.image = NSImage(named: "ButtonBackgroundImage3")
- number1Label.textColor = NSColor(hex: "0E1114")
- } else if KMMemberInfo.shared.userScenarioType == .pro_type4 {
- lockedLabel.stringValue = NSLocalizedString("Permanent", tableName: "MemberCenterLocalizable", comment: "")
- lockedImageView.image = NSImage(named: "UpgradeImage2")
- number1Label.stringValue = NSLocalizedString("", tableName: "MemberCenterLocalizable", comment: "")
- if KMMemberInfo.shared.vip_levels == "2" {
- number2Label.stringValue = NSLocalizedString("Standard Version", tableName: "MemberCenterLocalizable", comment: "")
- } else {
- number2Label.stringValue = NSLocalizedString("Advanced Version", tableName: "MemberCenterLocalizable", comment: "")
- }
- number1ImageView.isHidden = false
- number1Label.isHidden = true
- centerBackgroud.image = NSImage(named: "ButtonBackgroundImage4")
- } else if KMMemberInfo.shared.userScenarioType == .pro_type5 {
- lockedLabel.stringValue = NSLocalizedString("Subscription", tableName: "MemberCenterLocalizable", comment: "")
- lockedImageView.image = NSImage(named: "UpgradeImage2")
- number1Label.stringValue = NSLocalizedString("", tableName: "MemberCenterLocalizable", comment: "")
- if KMMemberInfo.shared.vip_levels == "2" {
- number2Label.stringValue = NSLocalizedString("Standard Version", tableName: "MemberCenterLocalizable", comment: "")
- } else {
- number2Label.stringValue = NSLocalizedString("Advanced Version", tableName: "MemberCenterLocalizable", comment: "")
- }
- number1ImageView.isHidden = false
- number1Label.isHidden = true
- centerBackgroud.image = NSImage(named: "ButtonBackgroundImage5")
- } else {
- lockedLabel.stringValue = NSLocalizedString("Locked", tableName: "MemberCenterLocalizable", comment: "")
- lockedImageView.image = NSImage(named: "LockedImage")
- number1Label.stringValue = NSLocalizedString("150+", tableName: "MemberCenterLocalizable", comment: "")
- number2Label.stringValue = NSLocalizedString("Benefits of Functions", tableName: "MemberCenterLocalizable", comment: "")
- number1ImageView.isHidden = true
- number1Label.isHidden = false
- centerBackgroud.image = NSImage(named: "ButtonBackgroundImage3")
- number1Label.textColor = NSColor(hex: "0E1114")
- }
- }
-
- private func initializeUI() -> Void {
- refreshEquity()
-
- self.view.wantsLayer = true
- let isDarkModel = KMAdvertisementConfig.isDarkModel()
- if isDarkModel {
- self.view.layer?.backgroundColor = NSColor(hex: "0E1114").cgColor;
- } else {
- self.view.layer?.backgroundColor = NSColor(hex: "FFFFFF").cgColor;
- }
-
- userImageView.image = NSImage(named: "UserProfilePicture_Size")
- emailLabel.textColor = NSColor(named: "0E1114")
- emailLabel.font = NSFont.SFMediumFontWithSize(14)
- productLabel.textColor = NSColor(named: "42464D_1")
- productLabel.font = NSFont.SFProTextRegularFont(12)
- endDateLabel.textColor = NSColor(named: "42464D_1")
- endDateLabel.font = NSFont.SFProTextRegularFont(12)
- spliLineImageView.isHidden = true
- endDateLabel.isHidden = true
- if KMMemberInfo.shared.vip_levels != "1" &&
- KMMemberInfo.shared.vip_paymentModel == "1" &&
- (KMMemberInfo.shared.vip_status == 1 || KMMemberInfo.shared.vip_status == 3) {
- // 订阅中、试用中,显示到期日期
- if KMMemberInfo.shared.vip_endDate.count > 0 {
- spliLineImageView.isHidden = false
- endDateLabel.isHidden = false
- }
- } else if KMMemberInfo.shared.vip_status == 2 {
- // 订阅到期,显示到期日期
- if KMMemberInfo.shared.vip_endDate.count > 0 {
- spliLineImageView.isHidden = false
- endDateLabel.isHidden = false
- endDateLabel.textColor = NSColor(named: "FA1E5D")
- }
- }
- membershipLabel.font = NSFont.SFMediumFontWithSize(16)
- lockedLabel.font = NSFont.SFMediumFontWithSize(12)
- rightsBox.contentView = rightsView
- number1Label.font = NSFont.SFMediumFontWithSize(24)
- number1ImageView.image = NSImage(named: "UpgradeImage")
- number2Label.font = NSFont.SFProTextRegularFont(12)
- number3Label.font = NSFont.SFProTextRegularFont(12)
- number5Label.font = NSFont.SFProTextRegularFont(12)
- buyNow1ImageView.image = NSImage(named: "ButtonBackgroundImage2")
- buyNow2ImageView.image = NSImage(named: "ButtonBackgroundImage2")
- buyNow1Label.textColor = NSColor(named: "FFFFFF")
- buyNow1Label.font = NSFont.SFProTextRegularFont(14)
- buyNow2Label.textColor = NSColor(named: "FFFFFF")
- buyNow2Label.font = NSFont.SFProTextRegularFont(14)
- accountCenterBox.borderColor = NSColor(named: "3091FF") ?? .blue
- accountCenterBox.fillColor = .clear
- accountLabel.textColor = NSColor(named: "3091FF")
- accountLabel.font = NSFont.SFProTextRegularFont(14)
- accountImageView.image = NSImage(named: "AccountCenterImage")
- signOutLabel.textColor = NSColor(named: "3091FF")
- signOutLabel.font = NSFont.SFProTextRegularFont(14)
- signOutImageView.image = NSImage(named: "SignOutImage")
- closeAccountLabel.textColor = NSColor(named: "3091FF")
- closeAccountLabel.font = NSFont.SFProTextRegularFont(14)
- closeAccountImageView.image = NSImage(named: "CloseAccountImage")
-
- var isNoOldSubscribed = false
- var isTrialPeriod = false
- #if VERSION_FREE
- #if !VERSION_DMG
- isNoOldSubscribed = IAPProductsManager.default().allAccessPack6months_lite.isSubscribed == false && IAPProductsManager.default().allAccessPack12months_lite.isSubscribed == false
-
- if IAPProductsManager.default().fourDevicesAllAccessPackNew12months_lite.isTrialPeriod == true {
- isTrialPeriod = true
- }
- #endif
- #endif
-
-
- if KMMemberInfo.shared.userScenarioType == .lite_type1 { //未试用
- buyBox.contentView = buyView1
- buyNow1ImageView.isHidden = false
- buyNow2ImageView.isHidden = false
- arrow1ImageView.image = NSImage(named: "BuyNewArrowImage1")
- arrow2ImageView.image = NSImage(named: "BuyNewArrowImage1")
- buyNow1Label.textColor = NSColor(hex: "FFFFFF")
- buyNow2Label.textColor = NSColor(hex: "FFFFFF")
- if isTrialPeriod == true {
- buyNow2Box.isHidden = true
- buyNow1BoxLeftConst.constant = (CGRectGetWidth(view.bounds) - CGRectGetWidth(buyNow1Box.frame))/2
- }
- } else if KMMemberInfo.shared.userScenarioType == .pro_type3 {
- buyBox.contentView = buyView1
-
- buyNow1ImageView.isHidden = false
- arrow1ImageView.image = NSImage(named: "BuyNewArrowImage1")
- buyNow1Label.textColor = NSColor(hex: "FFFFFF")
-
- buyNow2Box.isHidden = true
- buyNow1BoxLeftConst.constant = (CGRectGetWidth(view.bounds) - CGRectGetWidth(buyNow1Box.frame))/2
- } else if KMMemberInfo.shared.userScenarioType == .lite_type9 ||
- KMMemberInfo.shared.userScenarioType == .pro_type1 {
- buyBox.contentView = buyView1
- buyNow2Box.isHidden = true
- buyNow1BoxLeftConst.constant = (CGRectGetWidth(view.bounds) - CGRectGetWidth(buyNow1Box.frame))/2
- if((KMMemberInfo.shared.vip_paymentModel == "2" && KMMemberInfo.shared.vip_levels != "1")) { //永久
- arrow1ImageView.image = NSImage(named: "BuyNewArrowImage2")
- buyNow1Label.textColor = NSColor(hex: "42464D")
- } else {
- buyNow1ImageView.isHidden = false
- arrow1ImageView.image = NSImage(named: "BuyNewArrowImage1")
- buyNow1Label.textColor = NSColor(hex: "FFFFFF")
- }
- } else if KMMemberInfo.shared.userScenarioType == .lite_type11 { //试用过期
- if(!isNoOldSubscribed) {
- buyBox.contentView = buyView1
-
- buyNow1ImageView.isHidden = false
- arrow1ImageView.image = NSImage(named: "BuyNewArrowImage1")
- buyNow1Label.textColor = NSColor(hex: "FFFFFF")
-
- buyNow2Box.isHidden = true
- buyNow1BoxLeftConst.constant = (CGRectGetWidth(view.bounds) - CGRectGetWidth(buyNow1Box.frame))/2
- }
- } else if KMMemberInfo.shared.userScenarioType == .lite_type2 ||
- KMMemberInfo.shared.userScenarioType == .lite_type4 ||
- KMMemberInfo.shared.userScenarioType == .lite_type6 ||
- KMMemberInfo.shared.userScenarioType == .lite_type8 ||
- KMMemberInfo.shared.userScenarioType == .lite_type10 ||
- KMMemberInfo.shared.userScenarioType == .lite_type12 ||
- KMMemberInfo.shared.userScenarioType == .lite_type13 ||
- KMMemberInfo.shared.userScenarioType == .pro_type2 ||
- KMMemberInfo.shared.userScenarioType == .pro_type5 { //有订阅+试用中
-
- } else if KMMemberInfo.shared.userScenarioType == .lite_type7 ||
- KMMemberInfo.shared.userScenarioType == .lite_type3 { //试用过期+会员到期
- buyBox.contentView = buyView1
- arrow1ImageView.image = NSImage(named: "BuyNewArrowImage1")
- buyNow1Label.textColor = NSColor(hex: "FFFFFF")
- buyNow2Box.isHidden = true
- buyNow1BoxLeftConst.constant = (CGRectGetWidth(view.bounds) - CGRectGetWidth(buyNow1Box.frame))/2
- } else {
- buyBox.contentView = buyView1
- buyNow2Box.isHidden = true
- buyNow1BoxLeftConst.constant = (CGRectGetWidth(view.bounds) - CGRectGetWidth(buyNow1Box.frame))/2
-
- arrow1ImageView.image = NSImage(named: "BuyNewArrowImage2")
- buyNow1Label.textColor = NSColor(hex: "42464D")
- }
-
- if KMMemberInfo.shared.userScenarioType == .lite_type2 ||
- KMMemberInfo.shared.userScenarioType == .lite_type4 ||
- KMMemberInfo.shared.userScenarioType == .lite_type5 ||
- KMMemberInfo.shared.userScenarioType == .lite_type6 ||
- KMMemberInfo.shared.userScenarioType == .lite_type8 ||
- KMMemberInfo.shared.userScenarioType == .lite_type10 ||
- KMMemberInfo.shared.userScenarioType == .lite_type12 ||
- KMMemberInfo.shared.userScenarioType == .lite_type13 ||
- KMMemberInfo.shared.userScenarioType == .pro_type2 ||
- KMMemberInfo.shared.userScenarioType == .pro_type4 ||
- KMMemberInfo.shared.userScenarioType == .pro_type5 { //订阅或者买断
- rightsBox.fillColor = NSColor(named: "FFFFFF_0.2") ?? .white
- membershipLabel.textColor = NSColor(hex: "FFFFFF")
- buyNow1ImageView.isHidden = true
- buyNow1Box.fillColor = NSColor(hex: "FFFFFF")
-
- number2Label.textColor = NSColor(hex: "FFFFFF")
- number3Label.textColor = NSColor(hex: "FFFFFF")
- number4Label.textColor = NSColor(hex: "FFFFFF")
- number4_1Label.textColor = NSColor(hex: "FFFFFF")
- number5Label.textColor = NSColor(hex: "FFFFFF")
- membershipLabel.textColor = NSColor(hex: "FFFFFF")
- } else if(KMMemberInfo.shared.userScenarioType == .lite_type9 ||
- KMMemberInfo.shared.userScenarioType == .pro_type1) {
- if(KMMemberInfo.shared.vip_paymentModel == "2" && KMMemberInfo.shared.vip_levels != "1") { //永久
- rightsBox.fillColor = NSColor(named: "FFFFFF_0.2") ?? .white
- membershipLabel.textColor = NSColor(hex: "FFFFFF")
- buyNow1ImageView.isHidden = true
- buyNow1Box.fillColor = NSColor(hex: "FFFFFF")
-
- number2Label.textColor = NSColor(hex: "FFFFFF")
- number3Label.textColor = NSColor(hex: "FFFFFF")
- number4Label.textColor = NSColor(hex: "FFFFFF")
- number4_1Label.textColor = NSColor(hex: "FFFFFF")
- number5Label.textColor = NSColor(hex: "FFFFFF")
- membershipLabel.textColor = NSColor(hex: "FFFFFF")
- } else {
- rightsBox.fillColor = NSColor(named: "FFFFFF_0.2") ?? .white
- membershipLabel.textColor = NSColor(hex: "42464D")
- buyNow1ImageView.isHidden = false
- buyNow1Box.fillColor = NSColor.clear
-
- number2Label.textColor = NSColor(hex:"42464D")
- number3Label.textColor = NSColor(hex:"42464D")
- number4Label.textColor = NSColor(hex: "42464D")
- number4_1Label.textColor = NSColor(hex: "42464D")
- number5Label.textColor = NSColor(hex: "42464D")
- membershipLabel.textColor = NSColor(hex: "42464D")
- }
-
- } else {
- rightsBox.fillColor = NSColor(named: "FFFFFF_0.2") ?? .white
- membershipLabel.textColor = NSColor(hex: "42464D")
- buyNow1ImageView.isHidden = false
- buyNow1Box.fillColor = NSColor.clear
-
- number2Label.textColor = NSColor(hex:"42464D")
- number3Label.textColor = NSColor(hex:"42464D")
- number4Label.textColor = NSColor(hex: "42464D")
- number4_1Label.textColor = NSColor(hex: "42464D")
- number5Label.textColor = NSColor(hex: "42464D")
- membershipLabel.textColor = NSColor(hex: "42464D")
- }
- lockedLabel.textColor = NSColor(hex: "42464D")
-
- let platforms = viewModel.getPlatformsImages()
- if platforms.count == 4 {
- iconBox.contentView = iconView1
- icon1ImageView.image = platforms[0]
- icon2ImageView.image = platforms[1]
- icon3ImageView.image = platforms[2]
- icon4ImageView.image = platforms[3]
- } else if platforms.count == 3 {
- iconBox.contentView = iconView2
- icon5ImageView.image = platforms[0]
- icon6ImageView.image = platforms[1]
- icon7ImageView.image = platforms[2]
- } else if platforms.count == 2 {
- iconBox.contentView = iconView3
- icon8ImageView.image = platforms[0]
- icon9ImageView.image = platforms[1]
- } else if platforms.count == 1 {
- iconBox.contentView = iconView4
- icon10ImageView.image = platforms[0]
- }
-
- buyNow1Box.moveCallback = { [weak self](mouseEntered: Bool, mouseBox: KMBox) -> Void in
- guard let self = self else { return }
-
- if KMMemberInfo.shared.userScenarioType == .lite_type2 ||
- KMMemberInfo.shared.userScenarioType == .lite_type4 ||
- KMMemberInfo.shared.userScenarioType == .lite_type5 ||
- KMMemberInfo.shared.userScenarioType == .lite_type6 ||
- KMMemberInfo.shared.userScenarioType == .lite_type8 ||
- KMMemberInfo.shared.userScenarioType == .lite_type10 ||
- KMMemberInfo.shared.userScenarioType == .lite_type12 ||
- KMMemberInfo.shared.userScenarioType == .lite_type13 ||
- KMMemberInfo.shared.userScenarioType == .pro_type2 ||
- KMMemberInfo.shared.userScenarioType == .pro_type4 ||
- KMMemberInfo.shared.userScenarioType == .pro_type5 { //订阅或者买断
- } else {
- if mouseEntered {
- self.buyNow1ImageView.image = NSImage(named: "ButtonBackgroundImage2_Hov")
- } else {
- self.buyNow1ImageView.image = NSImage(named: "ButtonBackgroundImage2")
- }
- }
- }
- buyNow1Box.downCallback = { [weak self](downEntered: Bool, mouseBox: KMBox, event) -> Void in
- guard let self = self else { return }
- if KMMemberInfo.shared.userScenarioType == .lite_type1 {
- // 免费版,免费账号跳转购买比较表
- self.viewModel.skipCompare(.lite_Base)
- } else {
- // 其它情况根据账号状态跳转不同比较表
- KMMemberInfo.shared.productCompareShow()
- }
- }
-
- buyNow2Box.moveCallback = { [weak self](mouseEntered: Bool, mouseBox: KMBox) -> Void in
- guard let self = self else { return }
- if mouseEntered {
- self.buyNow2ImageView.image = NSImage(named: "ButtonBackgroundImage2_Hov")
- } else {
- self.buyNow2ImageView.image = NSImage(named: "ButtonBackgroundImage2")
- }
- }
- buyNow2Box.downCallback = { [weak self](downEntered: Bool, mouseBox: KMBox, event) -> Void in
- guard let self = self else { return }
- if KMMemberInfo.shared.userScenarioType == .lite_type1 {
- // 免费版,免费账号跳转试用比较表
- self.viewModel.skipCompare(.trial)
- }
- }
-
- accountCenterBox.moveCallback = { [weak self](mouseEntered: Bool, mouseBox: KMBox) -> Void in
- guard let self = self else { return }
- if mouseEntered {
- self.accountCenterBox.fillColor = NSColor(named: "F5FAFF") ?? .white
- self.accountLabel.textColor = NSColor(named: "3091FF")
- self.accountImageView.image = NSImage(named: "AccountCenterImage_Hov")
- } else {
- self.accountCenterBox.fillColor = .clear
- self.accountLabel.textColor = NSColor(named: "3091FF")
- self.accountImageView.image = NSImage(named: "AccountCenterImage")
- }
- }
- accountCenterBox.downCallback = { [weak self](downEntered: Bool, mouseBox: KMBox, event) -> Void in
- guard let self = self else { return }
- self.viewModel.skipAccountCenter()
- }
-
- signOutBox.moveCallback = { [weak self](mouseEntered: Bool, mouseBox: KMBox) -> Void in
- guard let self = self else { return }
- if mouseEntered {
- self.signOutLabel.textColor = NSColor(named: "3091FF")
- self.signOutImageView.image = NSImage(named: "SignOutImage_Hov")
- } else {
- self.signOutLabel.textColor = NSColor(named: "3091FF")
- self.signOutImageView.image = NSImage(named: "SignOutImage")
- }
- }
- signOutBox.downCallback = { [weak self](downEntered: Bool, mouseBox: KMBox, event) -> Void in
- guard let self = self else { return }
- self.viewModel.signOutAction()
- }
-
- closeAccountBox.moveCallback = { [weak self](mouseEntered: Bool, mouseBox: KMBox) -> Void in
- guard let self = self else { return }
- if mouseEntered {
- self.closeAccountLabel.textColor = NSColor(named: "3091FF")
- self.closeAccountImageView.image = NSImage(named: "CloseAccountImage_hover")
- } else {
- self.closeAccountLabel.textColor = NSColor(named: "3091FF")
- self.closeAccountImageView.image = NSImage(named: "CloseAccountImage")
- }
- }
- closeAccountBox.downCallback = { [weak self](downEntered: Bool, mouseBox: KMBox, event) -> Void in
- guard let self = self else { return }
- self.viewModel.closeAccountAction()
- }
-
- if isTrialPeriod == false { //没有试用过,才能显示,不然就算远程支持,功能上也不支持远程控制
- //远程控制
- if let userViewInfoContent = KMAdvertisementManager.manager.info.userViewInfoContent {
-
- buyNow1BoxLeftConst.constant = 0
- buyNow2Box.isHidden = false
-
- if userViewInfoContent.content?.isEmpty == false {
- buyNow2Box.isHidden = true
- buyNow1BoxLeftConst.constant = (CGRectGetWidth(view.bounds) - CGRectGetWidth(buyNow1Box.frame))/2
- }
- }
- }
- }
-
- // MARK: Action Method
-
- private func languageLocalized_DMG() -> Void {
- emailLabel.stringValue = KMMemberInfo.shared.userEmail
- productLabel.stringValue = NSLocalizedString("Personal Account", tableName: "MemberCenterLocalizable", comment: "")
- endDateLabel.stringValue = String(format: "%@ %@", KMMemberInfo.shared.vip_endDate,NSLocalizedString("expires", tableName: "MemberCenterLocalizable", comment: ""))
- membershipLabel.stringValue = NSLocalizedString("Membership Benefits", tableName: "MemberCenterLocalizable", comment: "")
- buyNow1Label.stringValue = NSLocalizedString("Upgrade Now", tableName: "MemberCenterLocalizable", comment: "")
- accountLabel.stringValue = NSLocalizedString("Account Center", tableName: "MemberCenterLocalizable", comment: "")
- signOutLabel.stringValue = NSLocalizedString("Sign out", tableName: "MemberCenterLocalizable", comment: "")
- if KMMemberInfo.shared.validFlag == "5" {
- closeAccountLabel.stringValue = NSLocalizedString("Undo Remove Account", tableName: "MemberCenterLocalizable", comment: "")
- } else {
- closeAccountLabel.stringValue = NSLocalizedString("Remove Account", tableName: "MemberCenterLocalizable", comment: "")
- }
- if KMMemberInfo.shared.vip_maxDeviceNum == 1 {
- number4Label.stringValue = NSLocalizedString("device", tableName: "MemberCenterLocalizable", comment: "")
- } else {
- number4Label.stringValue = NSLocalizedString("devices", tableName: "MemberCenterLocalizable", comment: "")
- }
- number4_1Label.stringValue = String(KMMemberInfo.shared.vip_maxDeviceNum)
-
- number5Label.stringValue = NSLocalizedString("Devices Access", tableName: "MemberCenterLocalizable", comment: "")
- let platforms = viewModel.getPlatformsImages()
- if platforms.count == 4 {
- number3Label.stringValue = NSLocalizedString("All-platform Available", tableName: "MemberCenterLocalizable", comment: "")
- } else {
- number3Label.stringValue = NSLocalizedString("Platform", tableName: "MemberCenterLocalizable", comment: "")
- }
- if KMMemberInfo.shared.userScenarioType == .dmg_type5 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type6 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type7 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type28 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type29 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type30 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type43 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type44 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type45 { // 买断
- lockedLabel.stringValue = NSLocalizedString("Permanent", tableName: "MemberCenterLocalizable", comment: "")
- number2Label.stringValue = NSLocalizedString("Advanced Version", tableName: "MemberCenterLocalizable", comment: "")
- buyNow1Label.stringValue = NSLocalizedString("Upgrade Now", tableName: "MemberCenterLocalizable", comment: "")
- } else if KMMemberInfo.shared.userScenarioType == .dmg_type8 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type9 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type10 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type12 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type13 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type14 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type15 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type16 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type17 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type20 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type21 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type23 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type24 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type25 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type26 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type27 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type31 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type32 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type35 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type36 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type38 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type39 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type40 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type41 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type42 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type46 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type47 { // 订阅
- lockedLabel.stringValue = NSLocalizedString("Subscription", tableName: "MemberCenterLocalizable", comment: "")
- if KMMemberInfo.shared.userScenarioType == .dmg_type8 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type9 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type20 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type21 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type35 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type36 {
- number2Label.stringValue = NSLocalizedString("Standard Version", tableName: "MemberCenterLocalizable", comment: "")
- } else {
- number2Label.stringValue = NSLocalizedString("Advanced Version", tableName: "MemberCenterLocalizable", comment: "")
- }
- } else { // 免费 & 到期
- if KMMemberInfo.shared.userScenarioType == .dmg_type4 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type11 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type18 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type19 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type22 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type33 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type34 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type37 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type48 {
- lockedLabel.stringValue = NSLocalizedString("Locked", tableName: "MemberCenterLocalizable", comment: "")
- number1Label.stringValue = NSLocalizedString("150+", tableName: "MemberCenterLocalizable", comment: "")
- number2Label.stringValue = NSLocalizedString("Benefits of Functions", tableName: "MemberCenterLocalizable", comment: "")
- if KMMemberInfo.shared.userScenarioType == .dmg_type11 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type18 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type22 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type33 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type37 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type48 { // 到期
- buyNow1Label.stringValue = NSLocalizedString("Buy Now", tableName: "MemberCenterLocalizable", comment: "")
- } else { // 免费
-
- }
- if KMMemberInfo.shared.userScenarioType == .dmg_type4 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type19 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type34 {
- buyNow1Label.stringValue = NSLocalizedString("Buy Now", tableName: "MemberCenterLocalizable", comment: "")
- buyNow2Label.stringValue = NSLocalizedString("7-Day Free Trial", tableName: "MemberCenterLocalizable", comment: "")
- } else if KMMemberInfo.shared.userScenarioType == .dmg_type11 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type22 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type37 {
- buyNow1Label.stringValue = NSLocalizedString("Buy Now", tableName: "MemberCenterLocalizable", comment: "")
- } else if KMMemberInfo.shared.userScenarioType == .dmg_type18 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type33 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type48 {
- buyNow1Label.stringValue = NSLocalizedString("Renew now", tableName: "MemberCenterLocalizable", comment: "")
- }
- }
- }
- }
-
- private func initializeUI_DMG() -> Void {
- self.view.wantsLayer = true
- let isDarkModel = KMAdvertisementConfig.isDarkModel()
- if isDarkModel {
- self.view.layer?.backgroundColor = NSColor(hex: "0E1114").cgColor;
- } else {
- self.view.layer?.backgroundColor = NSColor(hex: "FFFFFF").cgColor;
- }
-
- rightsBox.contentView = rightsView
- buyBox.contentView = buyView1
- userImageView.image = NSImage(named: "UserProfilePicture_Size")
- emailLabel.textColor = NSColor(named: "0E1114")
- emailLabel.font = NSFont.SFMediumFontWithSize(14)
- productLabel.textColor = NSColor(named: "42464D_1")
- productLabel.font = NSFont.SFProTextRegularFont(12)
- endDateLabel.textColor = NSColor(named: "42464D_1")
- endDateLabel.font = NSFont.SFProTextRegularFont(12)
- spliLineImageView.isHidden = true
- endDateLabel.isHidden = true
- number1Label.font = NSFont.SFMediumFontWithSize(24)
- number1Label.textColor = NSColor(hex: "0E1114")
- number2Label.font = NSFont.SFProTextRegularFont(12)
- number3Label.font = NSFont.SFProTextRegularFont(12)
- number5Label.font = NSFont.SFProTextRegularFont(12)
- membershipLabel.font = NSFont.SFMediumFontWithSize(16)
- lockedLabel.font = NSFont.SFMediumFontWithSize(12)
- lockedLabel.textColor = NSColor(hex: "42464D")
- accountCenterBox.borderColor = NSColor(named: "3091FF") ?? .blue
- accountCenterBox.fillColor = .clear
- accountLabel.textColor = NSColor(named: "3091FF")
- accountLabel.font = NSFont.SFProTextRegularFont(14)
- accountImageView.image = NSImage(named: "AccountCenterImage")
- signOutLabel.textColor = NSColor(named: "3091FF")
- signOutLabel.font = NSFont.SFProTextRegularFont(14)
- signOutImageView.image = NSImage(named: "SignOutImage")
- closeAccountLabel.textColor = NSColor(named: "3091FF")
- closeAccountLabel.font = NSFont.SFProTextRegularFont(14)
- closeAccountImageView.image = NSImage(named: "CloseAccountImage")
- buyNow1Label.font = NSFont.SFProTextRegularFont(14)
- buyNow2Label.font = NSFont.SFProTextRegularFont(14)
- let platforms = viewModel.getPlatformsImages()
- if platforms.count == 4 {
- iconBox.contentView = iconView1
- icon1ImageView.image = platforms[0]
- icon2ImageView.image = platforms[1]
- icon3ImageView.image = platforms[2]
- icon4ImageView.image = platforms[3]
- } else if platforms.count == 3 {
- iconBox.contentView = iconView2
- icon5ImageView.image = platforms[0]
- icon6ImageView.image = platforms[1]
- icon7ImageView.image = platforms[2]
- } else if platforms.count == 2 {
- iconBox.contentView = iconView3
- icon8ImageView.image = platforms[0]
- icon9ImageView.image = platforms[1]
- } else if platforms.count == 1 {
- iconBox.contentView = iconView4
- icon10ImageView.image = platforms[0]
- }
- buyNow1ImageView.image = NSImage(named: "ButtonBackgroundImage2")
- buyNow2ImageView.image = NSImage(named: "ButtonBackgroundImage2")
- if KMMemberInfo.shared.userScenarioType == .dmg_type5 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type6 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type7 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type28 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type29 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type30 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type43 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type44 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type45 { // 买断
- centerBackgroud.image = NSImage(named: "ButtonBackgroundImage4")
- lockedImageView.image = NSImage(named: "UpgradeImage2")
- number1ImageView.isHidden = false
- number1ImageView.image = NSImage(named: "UpgradeImage")
- number1Label.isHidden = true
- number2Label.textColor = NSColor(hex: "FFFFFF")
- number3Label.textColor = NSColor(hex: "FFFFFF")
- number4Label.textColor = NSColor(hex: "FFFFFF")
- number4_1Label.textColor = NSColor(hex: "FFFFFF")
- number5Label.textColor = NSColor(hex: "FFFFFF")
- membershipLabel.textColor = NSColor(hex: "FFFFFF")
- rightsBox.fillColor = NSColor(named: "FFFFFF_0.2") ?? .white
- buyNow1Box.fillColor = NSColor(hex: "FFFFFF")
- buyNow1ImageView.isHidden = true
- buyNow2Box.isHidden = true
- buyNow1BoxLeftConst.constant = (CGRectGetWidth(view.bounds) - CGRectGetWidth(buyNow1Box.frame))/2
- arrow1ImageView.image = NSImage(named: "BuyNewArrowImage2")
- buyNow1Label.textColor = NSColor(hex: "42464D")
- } else if KMMemberInfo.shared.userScenarioType == .dmg_type8 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type9 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type10 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type12 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type13 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type14 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type15 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type16 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type17 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type20 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type21 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type23 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type24 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type25 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type26 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type27 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type31 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type32 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type35 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type36 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type38 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type39 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type40 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type41 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type42 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type46 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type47 { // 订阅
- centerBackgroud.image = NSImage(named: "ButtonBackgroundImage5")
- lockedImageView.image = NSImage(named: "UpgradeImage2")
- number1ImageView.isHidden = false
- number1ImageView.image = NSImage(named: "UpgradeImage")
- number1Label.isHidden = true
- number2Label.textColor = NSColor(hex: "FFFFFF")
- number3Label.textColor = NSColor(hex: "FFFFFF")
- number4Label.textColor = NSColor(hex: "FFFFFF")
- number4_1Label.textColor = NSColor(hex: "FFFFFF")
- number5Label.textColor = NSColor(hex: "FFFFFF")
- membershipLabel.textColor = NSColor(hex: "FFFFFF")
- if KMMemberInfo.shared.vip_endDate.count > 0 {
- spliLineImageView.isHidden = false
- endDateLabel.isHidden = false
- }
- rightsBox.fillColor = NSColor(named: "FFFFFF_0.2") ?? .white
- buyNow1Box.fillColor = NSColor(hex: "FFFFFF")
- buyNow1ImageView.isHidden = true
- buyNow1Box.isHidden = true
- buyNow2Box.isHidden = true
- } else { // 免费 & 到期
- if KMMemberInfo.shared.userScenarioType == .dmg_type4 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type11 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type18 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type19 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type22 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type33 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type34 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type37 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type48 {
- centerBackgroud.image = NSImage(named: "ButtonBackgroundImage3")
- lockedImageView.image = NSImage(named: "LockedImage")
- number1ImageView.isHidden = true
- number1Label.isHidden = false
- number2Label.textColor = NSColor(hex:"42464D")
- number3Label.textColor = NSColor(hex:"42464D")
- number4Label.textColor = NSColor(hex: "42464D")
- number4_1Label.textColor = NSColor(hex: "42464D")
- number5Label.textColor = NSColor(hex: "42464D")
- membershipLabel.textColor = NSColor(hex: "42464D")
- rightsBox.fillColor = NSColor(named: "7094F6_0.1") ?? .white
- buyNow1Box.fillColor = NSColor.clear
- buyNow2Box.fillColor = NSColor.clear
- buyNow1ImageView.isHidden = false
- buyNow2ImageView.isHidden = false
- arrow1ImageView.image = NSImage(named: "BuyNewArrowImage1")
- arrow2ImageView.image = NSImage(named: "BuyNewArrowImage1")
- buyNow1Label.textColor = NSColor(named: "FFFFFF")
- buyNow1Label.textColor = NSColor(hex: "FFFFFF")
- buyNow2Label.textColor = NSColor(hex: "FFFFFF")
- if KMMemberInfo.shared.userScenarioType == .dmg_type11 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type18 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type22 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type33 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type37 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type48 { // 到期
- if KMMemberInfo.shared.vip_endDate.count > 0 &&
- KMMemberInfo.shared.vip_status == 2 {
- spliLineImageView.isHidden = false
- endDateLabel.isHidden = false
- endDateLabel.textColor = NSColor(named: "FA1E5D")
- }
- spliLineImageView.isHidden = false
- endDateLabel.isHidden = false
- buyNow2Box.isHidden = true
- buyNow1BoxLeftConst.constant = (CGRectGetWidth(view.bounds) - CGRectGetWidth(buyNow1Box.frame))/2
- } else { // 免费
-
- }
- }
- }
- buyNow1Box.moveCallback = { [weak self](mouseEntered: Bool, mouseBox: KMBox) -> Void in
- guard let self = self else { return }
-
- if mouseEntered {
- self.buyNow1ImageView.image = NSImage(named: "ButtonBackgroundImage2_Hov")
- } else {
- self.buyNow1ImageView.image = NSImage(named: "ButtonBackgroundImage2")
- }
- }
- buyNow1Box.downCallback = { [weak self](downEntered: Bool, mouseBox: KMBox, event) -> Void in
- guard let self = self else { return }
- if KMMemberInfo.shared.userScenarioType == .lite_type1 {
- // 免费版,免费账号跳转购买比较表
- self.viewModel.skipCompare(.lite_Base)
- } else {
- // 其它情况根据账号状态跳转不同比较表
- KMMemberInfo.shared.productCompareShow()
- }
- }
-
- buyNow2Box.moveCallback = { [weak self](mouseEntered: Bool, mouseBox: KMBox) -> Void in
- guard let self = self else { return }
- if mouseEntered {
- self.buyNow2ImageView.image = NSImage(named: "ButtonBackgroundImage2_Hov")
- } else {
- self.buyNow2ImageView.image = NSImage(named: "ButtonBackgroundImage2")
- }
- }
- buyNow2Box.downCallback = { [weak self](downEntered: Bool, mouseBox: KMBox, event) -> Void in
- guard let self = self else { return }
- if KMMemberInfo.shared.userScenarioType == .lite_type1 {
- self.viewModel.skipCompare(.trial)
- } else if KMMemberInfo.shared.userScenarioType == .dmg_type4 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type19 ||
- KMMemberInfo.shared.userScenarioType == .dmg_type34 {
- self.viewModel.skipCompare(.trial)
- }
- }
-
- accountCenterBox.moveCallback = { [weak self](mouseEntered: Bool, mouseBox: KMBox) -> Void in
- guard let self = self else { return }
- if mouseEntered {
- self.accountCenterBox.fillColor = NSColor(named: "F5FAFF") ?? .white
- self.accountLabel.textColor = NSColor(named: "3091FF")
- self.accountImageView.image = NSImage(named: "AccountCenterImage_Hov")
- } else {
- self.accountCenterBox.fillColor = .clear
- self.accountLabel.textColor = NSColor(named: "3091FF")
- self.accountImageView.image = NSImage(named: "AccountCenterImage")
- }
- }
- accountCenterBox.downCallback = { [weak self](downEntered: Bool, mouseBox: KMBox, event) -> Void in
- guard let self = self else { return }
- self.viewModel.skipAccountCenter()
- }
-
- signOutBox.moveCallback = { [weak self](mouseEntered: Bool, mouseBox: KMBox) -> Void in
- guard let self = self else { return }
- if mouseEntered {
- self.signOutLabel.textColor = NSColor(named: "3091FF")
- self.signOutImageView.image = NSImage(named: "SignOutImage_Hov")
- } else {
- self.signOutLabel.textColor = NSColor(named: "3091FF")
- self.signOutImageView.image = NSImage(named: "SignOutImage")
- }
- }
- signOutBox.downCallback = { [weak self](downEntered: Bool, mouseBox: KMBox, event) -> Void in
- guard let self = self else { return }
- self.viewModel.signOutAction()
- }
-
- closeAccountBox.moveCallback = { [weak self](mouseEntered: Bool, mouseBox: KMBox) -> Void in
- guard let self = self else { return }
- if mouseEntered {
- self.closeAccountLabel.textColor = NSColor(named: "3091FF")
- self.closeAccountImageView.image = NSImage(named: "CloseAccountImage_hover")
- } else {
- self.closeAccountLabel.textColor = NSColor(named: "3091FF")
- self.closeAccountImageView.image = NSImage(named: "CloseAccountImage")
- }
- }
- closeAccountBox.downCallback = { [weak self](downEntered: Bool, mouseBox: KMBox, event) -> Void in
- guard let self = self else { return }
- self.viewModel.closeAccountAction()
- }
- //远程控制
- if let userViewInfoContent = KMAdvertisementManager.manager.info.userViewInfoContent {
-
- buyNow1BoxLeftConst.constant = 0
- buyNow2Box.isHidden = false
-
- if userViewInfoContent.content?.isEmpty == false {
- buyNow2Box.isHidden = true
- buyNow1BoxLeftConst.constant = (CGRectGetWidth(view.bounds) - CGRectGetWidth(buyNow1Box.frame))/2
- }
- }
- }
- }
|