You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
325 lines
8.4 KiB
325 lines
8.4 KiB
![]()
2 years ago
|
//
|
||
|
// GlobalDeviceProfileModel.swift
|
||
![]()
1 year ago
|
// FireBoltt
|
||
![]()
2 years ago
|
//
|
||
|
// Created by lemo on 2018/6/15.
|
||
|
// Copyright © 2020年 ecell. All rights reserved.
|
||
|
//
|
||
|
|
||
|
import UIKit
|
||
|
|
||
|
@objcMembers class GlobalDeviceProfileModel: NSObject {
|
||
|
static let shareInstance = GlobalDeviceProfileModel()
|
||
|
/// 需要在oc中调用此单例
|
||
|
@objc open class func ocShareInstance() -> GlobalDeviceProfileModel {
|
||
|
return shareInstance
|
||
|
}
|
||
|
var adapterModel: AdapterModel?
|
||
|
var noDisturbModel: NoDisturbModel?
|
||
|
var gestureModel: GestureSetModel?
|
||
|
var heartRateModel: HeartRateCheckModel?
|
||
|
var remindMode: Int = 1 // 默认响铃
|
||
|
public var firwareModel: FirmwareModel?
|
||
|
var alarmModels: [AlarmModel]?
|
||
|
var sedentaryModel: SedentaryModel?
|
||
|
var drinkModel: DrinkingModel?
|
||
|
var temperatureModel: TemperatureCheckModel?
|
||
|
|
||
|
/// 推送设置值
|
||
|
var pushSetValue: Int = 0
|
||
|
/// 当前响铃状态
|
||
|
var isPlaying: Bool = false
|
||
|
|
||
|
/// 周期字符串转换
|
||
|
/// - Parameter cycleStr: "0000000"
|
||
|
static func cycle(cycleStr: String) -> String {
|
||
|
if cycleStr == "0000000" {
|
||
![]()
1 year ago
|
return MultiLanguageKey_FB.onlyOneFB.localized
|
||
![]()
2 years ago
|
}
|
||
|
if cycleStr == "1111111" {
|
||
![]()
1 year ago
|
return MultiLanguageKey_FB.everyDayFB.localized
|
||
![]()
2 years ago
|
}
|
||
|
if cycleStr == "1111100" {
|
||
![]()
1 year ago
|
return MultiLanguageKey_FB.workDayFB.localized
|
||
![]()
2 years ago
|
}
|
||
|
if cycleStr == "0000011" {
|
||
![]()
1 year ago
|
return MultiLanguageKey_FB.weekDayFB.localized
|
||
![]()
2 years ago
|
}
|
||
![]()
1 year ago
|
let weekdays = [MultiLanguageKey_FB.mondayFB.localized, MultiLanguageKey_FB.tuesdayFB.localized, MultiLanguageKey_FB.wednesdayFB.localized, MultiLanguageKey_FB.thursdayFB.localized, MultiLanguageKey_FB.fridayFB.localized, MultiLanguageKey_FB.saturdayFB.localized, MultiLanguageKey_FB.sundayFB.localized]
|
||
![]()
2 years ago
|
var showStr = ""
|
||
|
cycleStr.indices.enumerated().forEach { (index, element) in
|
||
|
if cycleStr[element] == "1" {
|
||
|
showStr += weekdays[index]
|
||
|
showStr += " "
|
||
|
}
|
||
|
}
|
||
|
return showStr
|
||
|
}
|
||
|
|
||
|
/// 获取当前版本号
|
||
|
/// - Returns: 版本号
|
||
|
@objc
|
||
|
func currenVersion() -> String? {
|
||
|
return firwareModel?.firmwareVersion
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
class AdapterModel: NSObject, HandyJSON {
|
||
|
/// 适配序号
|
||
|
var number: String = ""
|
||
|
/// 设备型号
|
||
|
var model: String = ""
|
||
|
/// 固件升级
|
||
|
var firware: String = ""
|
||
|
/// 主板名称
|
||
|
var board: String = ""
|
||
|
/// 平台
|
||
|
var platform: String = ""
|
||
|
/// 应用通知
|
||
|
var appnotice: String = ""
|
||
|
/// 来电通知
|
||
|
var callnotice: String = ""
|
||
|
/// 短信通知
|
||
|
var smsnotice: String = ""
|
||
|
/// 久坐提醒
|
||
|
var longsit: String = ""
|
||
|
/// 智能闹钟
|
||
|
var smartalarm: String = ""
|
||
|
/// 勿扰模式
|
||
|
var nodisturb: String = ""
|
||
|
/// 提醒模式
|
||
|
var remindMode: String = ""
|
||
|
/// 喝水提醒
|
||
|
var drinknotice: String = ""
|
||
|
/// 表盘推送
|
||
|
var watchnotice: String = ""
|
||
|
/// 查找设备
|
||
|
var finddevice: String = ""
|
||
|
/// 蓝牙通话
|
||
|
var btcall: String = ""
|
||
|
/// 防丢功能
|
||
|
var losenotice: String = ""
|
||
|
/// 抬手亮屏
|
||
|
var raisingbright: String = ""
|
||
|
/// 智能拍照
|
||
|
var smartphoto: String = ""
|
||
|
/// 运动模式
|
||
|
var sports: String = ""
|
||
|
/// 血压
|
||
|
var blood: String = ""
|
||
|
/// 血氧
|
||
|
var oxygen: String = ""
|
||
|
/// 心率
|
||
|
var heart: String = ""
|
||
|
/// 心率自动检测
|
||
|
var autoheart: String = ""
|
||
|
/// 二维码推送
|
||
|
var qrcodenotice: String = ""
|
||
|
/// 天气推送
|
||
|
var weathernotice: String = ""
|
||
|
/// 气象指数(紫外线,气压,海拔)
|
||
|
var meteorology: String = ""
|
||
|
/// 微信运动
|
||
|
var wechatSport: String = ""
|
||
|
/// 单位设置
|
||
|
var unitSetup: String = ""
|
||
|
/// 更新时间
|
||
|
var updateTimes: String = ""
|
||
|
/// 指针校验
|
||
|
var pointerCalibration: String = ""
|
||
|
/// 睡眠
|
||
|
var sleep: String = ""
|
||
|
/// 通讯录
|
||
|
var telephone: String = ""
|
||
|
/// 钱包
|
||
|
var theWallet: String = ""
|
||
|
required override init() {
|
||
|
}
|
||
|
}
|
||
|
|
||
|
//久坐模型
|
||
|
class SedentaryModel: HandyJSON, NSCopying {
|
||
|
|
||
|
var IsOpen: Bool = false
|
||
|
var Cycle: String = "0000000"
|
||
|
var EndHour: String = "00"
|
||
|
var SittingThreshold: String = "100"
|
||
|
var SittingTime: String = "30"
|
||
|
var StartHour: String = "00"
|
||
|
|
||
|
func copy(with zone: NSZone? = nil) -> Any {
|
||
|
let sedentary = SedentaryModel()
|
||
|
sedentary.IsOpen = IsOpen
|
||
|
let cycle = (Cycle as NSString).integerValue
|
||
|
if cycle > 0 {
|
||
|
sedentary.Cycle = Cycle
|
||
|
}
|
||
|
|
||
|
sedentary.StartHour = StartHour
|
||
|
sedentary.EndHour = EndHour
|
||
|
let sittingTime = (SittingTime as NSString).integerValue
|
||
|
if sittingTime > 0 {
|
||
|
sedentary.SittingTime = SittingTime
|
||
|
}
|
||
|
|
||
|
let sittingThreshold = (SittingThreshold as NSString).integerValue
|
||
|
if sittingThreshold > 0 {
|
||
|
sedentary.SittingThreshold = SittingThreshold
|
||
|
}
|
||
|
return sedentary
|
||
|
}
|
||
|
|
||
|
required init() {
|
||
|
|
||
|
}
|
||
|
}
|
||
|
|
||
|
//闹钟模型
|
||
|
@objcMembers
|
||
|
class AlarmModel: NSObject, HandyJSON, NSCopying {
|
||
|
var IsOpen: Bool = false
|
||
|
var Cycle: String = "0000000"
|
||
|
var Hour: String?
|
||
|
var Minutes: String?
|
||
|
var Label: String = "0"
|
||
|
|
||
|
required override init() {
|
||
|
|
||
|
}
|
||
|
func copy(with zone: NSZone? = nil) -> Any {
|
||
|
let alarm = AlarmModel()
|
||
|
alarm.IsOpen = IsOpen
|
||
|
let cycle = (Cycle as NSString).integerValue
|
||
|
if cycle > 0 {
|
||
|
alarm.Cycle = Cycle
|
||
|
}
|
||
|
alarm.Hour = Hour
|
||
|
alarm.Minutes = Minutes
|
||
|
alarm.Label = Label
|
||
|
return alarm
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
//喝水提醒模型
|
||
|
class DrinkingModel: HandyJSON, NSCopying {
|
||
|
|
||
|
var IsOpen: Bool = false
|
||
|
var Cycle: String = "0000000"
|
||
|
var EndTime: String = "00:00"
|
||
|
var Interval: String = "10"
|
||
|
var StartTime: String = "00:00"
|
||
|
|
||
|
func copy(with zone: NSZone? = nil) -> Any {
|
||
|
let drink = DrinkingModel()
|
||
|
drink.IsOpen = IsOpen
|
||
|
let cycle = (Cycle as NSString).integerValue
|
||
|
if cycle > 0 {
|
||
|
drink.Cycle = Cycle
|
||
|
}
|
||
|
drink.StartTime = StartTime
|
||
|
drink.EndTime = EndTime
|
||
|
let interval = (Interval as NSString).integerValue
|
||
|
if interval > 0 {
|
||
|
drink.Interval = Interval
|
||
|
}
|
||
|
return drink
|
||
|
}
|
||
|
|
||
|
required init() {
|
||
|
|
||
|
}
|
||
|
}
|
||
|
|
||
|
//勿扰提醒模型
|
||
|
class NoDisturbModel: HandyJSON, NSCopying {
|
||
|
|
||
|
var StartTime: String = "00:00"
|
||
|
var EndTime: String = "00:00"
|
||
|
var IsOpen: Bool = false
|
||
|
|
||
|
func copy(with zone: NSZone? = nil) -> Any {
|
||
|
let noDisturb = NoDisturbModel()
|
||
|
noDisturb.StartTime = StartTime
|
||
|
noDisturb.EndTime = EndTime
|
||
|
noDisturb.IsOpen = IsOpen
|
||
|
return noDisturb
|
||
|
}
|
||
|
|
||
|
required init() {
|
||
|
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/// 心率检测模型
|
||
|
class HeartRateCheckModel: HandyJSON, NSCopying {
|
||
|
var IsOpen: Bool = false
|
||
|
var EndTime: String = "00:00"
|
||
|
var Interval: String = "10"
|
||
|
var StartTime: String = "00:00"
|
||
|
|
||
|
func copy(with zone: NSZone? = nil) -> Any {
|
||
|
let rateCheck = HeartRateCheckModel()
|
||
|
rateCheck.IsOpen = IsOpen
|
||
|
rateCheck.StartTime = StartTime
|
||
|
rateCheck.EndTime = EndTime
|
||
|
let interval = (Interval as NSString).integerValue
|
||
|
if interval > 0 {
|
||
|
rateCheck.Interval = Interval
|
||
|
}
|
||
|
return rateCheck
|
||
|
}
|
||
|
required init() {
|
||
|
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/// 体温检测模型
|
||
|
class TemperatureCheckModel: HandyJSON, NSCopying {
|
||
|
var IsOpen: Bool = false
|
||
|
var EndTime: String = "00:00"
|
||
|
var Interval: String = "10"
|
||
|
var StartTime: String = "00:00"
|
||
|
|
||
|
func copy(with zone: NSZone? = nil) -> Any {
|
||
|
let rateCheck = TemperatureCheckModel()
|
||
|
rateCheck.IsOpen = IsOpen
|
||
|
rateCheck.StartTime = StartTime
|
||
|
rateCheck.EndTime = EndTime
|
||
|
let interval = (Interval as NSString).integerValue
|
||
|
if interval > 0 {
|
||
|
rateCheck.Interval = Interval
|
||
|
}
|
||
|
return rateCheck
|
||
|
}
|
||
|
required init() {
|
||
|
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@objcMembers class FirmwareModel: HandyJSON {
|
||
|
var deviceName: String = ""
|
||
|
var platform: Int = 0
|
||
|
var macID: String = ""
|
||
|
var adapterNumber: Int = 0
|
||
|
var protocolVersion: String = ""
|
||
|
var firmwareVersion: String = ""
|
||
|
required init() {}
|
||
|
}
|
||
|
|
||
|
//手势设置模型
|
||
|
class GestureSetModel: HandyJSON {
|
||
|
var Flip: Bool = false
|
||
|
var Hand: Int = 0
|
||
|
var Raise: Bool = false
|
||
|
required init() { }
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|