开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (6)
标签 (39)
master
develop
wrdp
release
dependabot/maven/o2server/org.quartz-scheduler-quartz-2.3.2
dependabot/npm_and_yarn/o2server/mixin-deep-1.3.2
5.4.1
wrdp-5.4.0
5.4.0
5.3.5
5.3.4
5.3.3
5.3.2
5.3.1
5.3.0
wrdp-5.3.0
wrdp-5.2.6
wrdp-5.2.5
wrdp-5.2.4
wrdp-5.2.3
5.2.5
wrdp-5.2
5.2.4
5.2.3
5.2.2
wrdp-5.2.1
master
分支 (6)
标签 (39)
master
develop
wrdp
release
dependabot/maven/o2server/org.quartz-scheduler-quartz-2.3.2
dependabot/npm_and_yarn/o2server/mixin-deep-1.3.2
5.4.1
wrdp-5.4.0
5.4.0
5.3.5
5.3.4
5.3.3
5.3.2
5.3.1
5.3.0
wrdp-5.3.0
wrdp-5.2.6
wrdp-5.2.5
wrdp-5.2.4
wrdp-5.2.3
5.2.5
wrdp-5.2
5.2.4
5.2.3
5.2.2
wrdp-5.2.1
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (6)
标签 (39)
master
develop
wrdp
release
dependabot/maven/o2server/org.quartz-scheduler-quartz-2.3.2
dependabot/npm_and_yarn/o2server/mixin-deep-1.3.2
5.4.1
wrdp-5.4.0
5.4.0
5.3.5
5.3.4
5.3.3
5.3.2
5.3.1
5.3.0
wrdp-5.3.0
wrdp-5.2.6
wrdp-5.2.5
wrdp-5.2.4
wrdp-5.2.3
5.2.5
wrdp-5.2
5.2.4
5.2.3
5.2.2
wrdp-5.2.1
O2.swift 4.32 KB
一键复制 编辑 原始数据 按行查看 历史
fancylou 提交于 2020年07月22日 14:40 +08:00 . 考勤打卡界面更新
//
// O2.swift
// O2Platform
//
// Created by FancyLou on 2019年9月26日.
// Copyright © 2019 zoneland. All rights reserved.
//
import Foundation
import CocoaLumberjack
struct O2 {
//考勤打卡版本判断用的 userDefaults的key
public 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 name
public 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 number
public static var appVersion: String? {
return Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as? String
}
/// EZSE: Return app's build number
public static var appBuild: String? {
return Bundle.main.object(forInfoDictionaryKey: kCFBundleVersionKey as String) as? String
}
/// EZSE: Return app's bundle ID
public 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 = 0
sysctlbyname("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.default
let 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.default
let 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.default
let 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)")
}
}
}
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

开源OA系统 - 码云GVP|Java开源oa|企业OA办公平台|企业OA|协同办公OA|流程平台OA|O2OA|OA,支持国产麒麟操作系统和国产数据库(达梦、人大金仓),政务OA,军工信息化OA
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/mxvj/O2OA.git
git@gitee.com:mxvj/O2OA.git
mxvj
O2OA
O2OA
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /