同步操作将从 兰德网络O2OA平台软件/O2OA 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
//// O2.swift// O2Platform//// Created by FancyLou on 2019年9月26日.// Copyright © 2019 zoneland. All rights reserved.//import Foundationimport CocoaLumberjackstruct O2 {//考勤打卡版本判断用的 userDefaults的keypublic static let O2_Attendance_version_key = "attendance_version_key"public static let O2_Word_draft_mode = "draft"public static let O2_First_ID = "(0)"/// EZSE: Returns app's namepublic static var appDisplayName: String? {if let bundleDisplayName = Bundle.main.object(forInfoDictionaryKey: "CFBundleDisplayName") as? String {return bundleDisplayName} else if let bundleName = Bundle.main.object(forInfoDictionaryKey: "CFBundleName") as? String {return bundleName}return nil}/// EZSE: Returns app's version numberpublic static var appVersion: String? {return Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as? String}/// EZSE: Return app's build numberpublic static var appBuild: String? {return Bundle.main.object(forInfoDictionaryKey: kCFBundleVersionKey as String) as? String}/// EZSE: Return app's bundle IDpublic static var appBundleID: String? {return Bundle.main.bundleIdentifier}/// EZSE: Returns both app's version and build numbers "v0.3(7)"public static var appVersionAndBuild: String? {if appVersion != nil && appBuild != nil {if appVersion == appBuild {return "v\(appVersion!)"} else {return "v\(appVersion!)(\(appBuild!))"}}return nil}/// EZSE: Return device version ""public static var deviceVersion: String {var size: Int = 0sysctlbyname("hw.machine", nil, &size, nil, 0)var machine = [CChar](repeating: 0, count: Int(size))sysctlbyname("hw.machine", &machine, &size, nil, 0)return String(cString: machine)}// MARK: - 本地缓存目录///云盘缓存目录public static func cloudFileLocalFolder() -> URL {let manager = FileManager.defaultlet documentsURL = manager.urls(for: .documentDirectory, in: .userDomainMask)[0]let cloudFolder = documentsURL.appendingPathComponent("O2").appendingPathComponent("cloud")if !manager.fileExists(atPath: cloudFolder.path) {do {try manager.createDirectory(at: cloudFolder, withIntermediateDirectories: true, attributes: nil)} catch {DDLogError("创建文件夹错误,\(error.localizedDescription)")}}return cloudFolder}///base64缓存目录public static func base64CacheLocalFolder() -> URL {let manager = FileManager.defaultlet documentsURL = manager.urls(for: .documentDirectory, in: .userDomainMask)[0]let base64Folder = documentsURL.appendingPathComponent("O2").appendingPathComponent("base64")if !manager.fileExists(atPath: base64Folder.path) {do {try manager.createDirectory(at: base64Folder, withIntermediateDirectories: true, attributes: nil)} catch {DDLogError("创建文件夹错误,\(error.localizedDescription)")}}return base64Folder}///info缓存目录public static func inforCacheLocalFolder() -> URL {let manager = FileManager.defaultlet documentsURL = manager.urls(for: .documentDirectory, in: .userDomainMask)[0]let inforFolder = documentsURL.appendingPathComponent("O2").appendingPathComponent("infor")if !manager.fileExists(atPath: inforFolder.path) {do {try manager.createDirectory(at: inforFolder, withIntermediateDirectories: true, attributes: nil)} catch {DDLogError("创建文件夹错误,\(error.localizedDescription)")}}return inforFolder}///删除文件夹public static func deleteFolder(folder: URL) {do{try FileManager.default.removeItem(atPath: folder.path)}catch{DDLogError("删除目录失败,\(error.localizedDescription)")}}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。