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.
199 lines
6.9 KiB
199 lines
6.9 KiB
1 year ago
|
//
|
||
|
// Eumn.swift
|
||
|
// Lookfit
|
||
|
//
|
||
|
// Created by lemo. on 2020/3/28.
|
||
|
// Copyright © 2020 Sheldon. All rights reserved.
|
||
|
//
|
||
|
|
||
|
import Foundation
|
||
|
|
||
|
enum FunctionType {
|
||
|
case findPhone, handUp, callRemind, messageRemind, remoteCamera, notice, heartCheck,
|
||
|
dialPush, firmwareUpgrade, unBinding, notDisturb, alarmClock, sedentary, drinkRemind, heartRateMonitor, tempeartureCheck, wechatSport,telephoneBook,businessCard,theWallet,music
|
||
|
|
||
|
func title() -> String {
|
||
|
switch self {
|
||
|
case .findPhone: return MultiLanguageKey.findDevice.localized
|
||
|
case .handUp: return MultiLanguageKey.handUp.localized
|
||
|
case .callRemind: return MultiLanguageKey.callRemind.localized
|
||
|
case .messageRemind: return MultiLanguageKey.messageRemind.localized
|
||
|
case .remoteCamera: return MultiLanguageKey.remoteCamera.localized
|
||
|
case .notice: return MultiLanguageKey.notice.localized
|
||
|
case .heartCheck: return MultiLanguageKey.heartCheck.localized
|
||
|
case .dialPush: return MultiLanguageKey.dialPush.localized
|
||
|
case .firmwareUpgrade: return MultiLanguageKey.firmwareUpgrade.localized
|
||
|
case .unBinding: return MultiLanguageKey.unBinding.localized
|
||
|
case .notDisturb: return MultiLanguageKey.notDisturb.localized
|
||
|
case .alarmClock: return MultiLanguageKey.alarmClock.localized
|
||
|
case .sedentary: return MultiLanguageKey.sedentary.localized
|
||
|
case .drinkRemind: return MultiLanguageKey.drinkRemind.localized
|
||
|
case .tempeartureCheck: return MultiLanguageKey.temperatureCheck.localized
|
||
|
case .wechatSport: return MultiLanguageKey.wechatSport.localized
|
||
|
case .telephoneBook: return MultiLanguageKey.telephoneBook.localized
|
||
|
case .businessCard: return MultiLanguageKey.businessCard.localized
|
||
|
case .theWallet: return MultiLanguageKey.theWallet.localized
|
||
|
case .music: return MultiLanguageKey.music.localized
|
||
|
default: return ""
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func isSwitch() -> Bool {
|
||
|
switch self {
|
||
|
case .handUp, .callRemind, .messageRemind:
|
||
|
return true
|
||
|
default:
|
||
|
return false
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
enum PushType: Int {
|
||
|
case call, message, qq, wechat, whatsapp, messenger,
|
||
|
twitter, linkedin, instagram, facebook, others, line, viber, skype, outlook
|
||
|
case all
|
||
|
|
||
|
/// 转换推送至
|
||
|
/// - Parameters:
|
||
|
/// - currenValue: 当前值
|
||
|
/// - type: 类型
|
||
|
/// - isOn: 开关
|
||
|
func tranfromPushValue(currenValue: Int, isOn: Bool) -> Int {
|
||
|
// 全选开关
|
||
|
if self == .all { return isOn ? 65535 : 0 }
|
||
|
if isOn {
|
||
|
return 1 << rawValue | currenValue
|
||
|
}
|
||
|
return ~(1 << rawValue) & currenValue
|
||
|
}
|
||
|
|
||
|
/// 获取当前类型开关
|
||
|
/// - Parameter currenValue: 值
|
||
|
func getSwitchState(currenValue: Int) -> Bool {
|
||
|
if self == .all { return currenValue == 65535 }
|
||
|
return ((currenValue & (1 << self.rawValue)) >> rawValue) == 1
|
||
|
}
|
||
|
|
||
|
var title: String {
|
||
|
switch self {
|
||
|
case .call: return MultiLanguageKey.callRemind.localized
|
||
|
case .message: return MultiLanguageKey.messageRemind.localized
|
||
|
case .qq: return MultiLanguageKey.qqRemind.localized
|
||
|
case .wechat: return MultiLanguageKey.wechatRemind.localized
|
||
|
case .whatsapp: return MultiLanguageKey.whatsappRemind.localized
|
||
|
case .messenger: return MultiLanguageKey.messengerRemind.localized
|
||
|
case .twitter: return MultiLanguageKey.twitterRemind.localized
|
||
|
case .linkedin: return MultiLanguageKey.linkedinRemind.localized
|
||
|
case .instagram: return MultiLanguageKey.instagramRemind.localized
|
||
|
case .facebook: return MultiLanguageKey.facebookRemind.localized
|
||
|
case .line: return MultiLanguageKey.lineRemind.localized
|
||
|
case .viber: return MultiLanguageKey.viberRemind.localized
|
||
|
case .skype: return MultiLanguageKey.skypeRemind.localized
|
||
|
case .outlook: return MultiLanguageKey.outlookRemind.localized
|
||
|
case .all: return MultiLanguageKey.allSelect.localized
|
||
|
case .others: return MultiLanguageKey.othersRemind.localized
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
fileprivate let sportTypeNameArr: [String] = ["所有运动", "健走", "户外跑", "室内跑", "爬山", "越野跑", "半马", "全马", "跳绳", "羽毛球", "篮球", "骑行", "滑冰", "健身房", "瑜伽", "网球", "乒乓球", "足球", "游泳", "性爱", "室内骑行", "室内健走", "自由训练"]
|
||
|
|
||
|
enum SportType: Int {
|
||
|
// 占位,hasvalue+1
|
||
|
case placeholder = 0
|
||
|
/// 健走 1
|
||
|
case walkTraining
|
||
|
/// 跑步 2
|
||
|
case runTraining
|
||
|
// 室内跑 3
|
||
|
case runInsideTraining
|
||
|
/// 爬山 4
|
||
|
case climbingTraining
|
||
|
/// "越野跑" 5
|
||
|
case crossRunTraining
|
||
|
/// 半马 6
|
||
|
case halfHorseTraining
|
||
|
/// 全马 7
|
||
|
case marathonTraining
|
||
|
/// 跳绳 8
|
||
|
case jumpRopeTraining
|
||
|
/// 羽毛球 9
|
||
|
case badmintonTraining
|
||
|
/// 篮球 10
|
||
|
case basketballTraning
|
||
|
/// 骑行 11
|
||
|
case cyclingTraining
|
||
|
/// 滑冰 12
|
||
|
case skatingTraining
|
||
|
/// 健身房 13
|
||
|
case fitnessTraining
|
||
|
/// 瑜伽 14
|
||
|
case yogaTraining
|
||
|
/// 网球 15
|
||
|
case tennisTraining
|
||
|
/// 乒乓球 16
|
||
|
case pingpongTraining
|
||
|
/// 足球 17
|
||
|
case footballTraining
|
||
|
/// 游泳 18
|
||
|
case swimmingTraining
|
||
|
/// 性爱 19
|
||
|
case sexTraining
|
||
|
/// 室内骑行 20
|
||
|
case indoorCyclingTraining
|
||
|
/// 室内健走 21
|
||
|
case indoorWalkTraining
|
||
|
/// 自由训练 22
|
||
|
case freeTraining
|
||
|
}
|
||
|
|
||
|
extension SportType {
|
||
|
/// 运动类型名称
|
||
|
var sportTypeName: String {
|
||
|
return sportTypeNameArr[self.rawValue]
|
||
|
}
|
||
|
/// 类型图标
|
||
|
var sportImg: UIImage? {
|
||
|
switch self {
|
||
|
case .walkTraining: return R.image.icon_walk()
|
||
|
case .runTraining: return R.image.icon_run()
|
||
|
case .climbingTraining: return R.image.icon_climb()
|
||
|
case .cyclingTraining: return R.image.icon_bike()
|
||
|
case .swimmingTraining: return R.image.icon_swim()
|
||
|
case .runInsideTraining: return R.image.icon_runindoor()
|
||
|
// case .badmintonTraining: return
|
||
|
// case .pingpongTraining: return
|
||
|
// case .basketballTraning: return
|
||
|
// case .jumpRopeTraining: return
|
||
|
// case .footballTraining: return
|
||
|
// case .freeTraining: return
|
||
|
default:
|
||
|
return nil
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
enum HealthType {
|
||
|
case step
|
||
|
case sleep
|
||
|
case heartRate
|
||
|
case sport
|
||
|
case temperature
|
||
|
case bloodPressure
|
||
|
case bloodOxygen
|
||
|
|
||
|
var titleLocalized: String {
|
||
|
switch self {
|
||
|
case .step: return MultiLanguageKey.step.localized
|
||
|
case .sleep: return MultiLanguageKey.sleep.localized
|
||
|
case .heartRate: return MultiLanguageKey.heartRate.localized
|
||
|
case .sport: return MultiLanguageKey.sport.localized
|
||
|
case .temperature: return MultiLanguageKey.temperature.localized
|
||
|
case .bloodPressure: return MultiLanguageKey.bloodPressure.localized
|
||
|
case .bloodOxygen: return MultiLanguageKey.bloodOxygen.localized
|
||
|
}
|
||
|
}
|
||
|
}
|