12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- //
- // KMAdvertisementModelTansition.swift
- // KMAdvertisement
- //
- // Created by lizhe on 2022/12/2.
- //
- #if os(OSX)
- import AppKit
- #elseif os(iOS)
- import UIKit
- #endif
- open class KMAdvertisementModelTransition: NSObject {
- //MARK: 模型转换
- //颜色模型转换
- static func transitionColor(color: KMAdvertisementModel.Color, highlight:Bool) -> UIColor {
- var result = UIColor.clear
-
- if highlight {
- let darkHex = color.height?.dark?.hex
- let darkAlpha = color.height?.dark?.alpha
- let universalHex = color.height?.universal?.hex
- let universalAlpha = color.height?.universal?.alpha
- let light = NSColor.init(hex: universalHex ?? "").withAlphaComponent(CGFloat(universalAlpha ?? 1))
- let dark = NSColor.init(hex: darkHex ?? universalHex ?? "").withAlphaComponent(CGFloat(darkAlpha ?? universalAlpha ?? 1))
-
- result = KMAdvertisementConfig.adapterDark(light: light , dark: dark)
- } else {
- let darkHex = color.normal?.dark?.hex
- let darkAlpha = color.normal?.dark?.alpha
- let universalHex = color.normal?.universal?.hex
- let universalAlpha = color.normal?.universal?.alpha
-
- let light = NSColor.init(hex: universalHex ?? "").withAlphaComponent(CGFloat(universalAlpha ?? 1))
- let dark = NSColor.init(hex: darkHex ?? universalHex ?? "").withAlphaComponent(CGFloat(darkAlpha ?? universalAlpha ?? 1))
- result = KMAdvertisementConfig.adapterDark(light: light, dark: dark)
- }
-
- return result
- }
-
- //图片转换
- static func transitionImagePath(image: KMAdvertisementModel.Image, highlight:Bool) -> String {
- var result = ""
-
- if highlight {
- if image.height != nil {
- result = transitionLanguage(langeuage: image.height!)
- }
- } else {
- if image.normal != nil {
- result = transitionLanguage(langeuage: image.normal!)
- }
- }
-
- return result
- }
-
- //多语转换
- static func transitionLanguage(langeuage: KMAdvertisementModel.Language?) -> String {
- var result = ""
- let languageConfig = KMAdvertisementManager.manager.configuration.language
- if languageConfig != .unknow {
- if languageConfig == .en {
- result = langeuage?.en ?? ""
- } else if languageConfig == .zhCN {
- result = langeuage?.zh_CN ?? ""
- } else if languageConfig == .zhTW {
- result = langeuage?.zh_TW ?? ""
- }
- } else {
- let string = KMAdvertisementModelTransition.getLanguageType()
- if string == "zh-Hans-CN" {
- result = langeuage?.zh_CN ?? ""
- } else if string == "zh-Hans-TW" {
- result = langeuage?.zh_TW ?? ""
- } else {
- result = langeuage?.en ?? ""
- }
- }
-
- return result
- }
-
- static func getLanguageType() -> String {
- #if os(iOS)
- let def = UserDefaults.standard
- let allLanguages: [String] = def.object(forKey: "AppleLanguages") as! [String]
- let chooseLanguage = allLanguages.first
- return chooseLanguage ?? "en"
- #elseif os(OSX)
- let locale = NSLocale.current.languageCode
- let chooseLanguage = Locale.preferredLanguages[0]
- return chooseLanguage
- #endif
- }
- }
|