Commit cdaa3f52fa318d6367a6c5b6cbc78c587ad2cf49

Authored by jason
1 parent da360092

feat:log alert

HDFwear/Home/Model/NewGpsModel.swift
... ... @@ -37,12 +37,37 @@ class NewGpsModel: NSObject {
37 37 }
38 38  
39 39 var exerciseType: Int = 0
  40 + var startTimeInterval: TimeInterval = 0
40 41 var startTime: Date?
41 42 var locationCount: Int = 0
42 43 var locations: [LocationPoint] = []
  44 +
  45 + override var description: String {
  46 + let dateFormatter = DateFormatter()
  47 + dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
  48 + dateFormatter.timeZone = TimeZone.current
  49 +
  50 + var description = "NewGpsModel\n"
  51 + description += "Exercise Type: \(exerciseType)\n"
  52 + description += "Start TimeInterval: \(startTimeInterval)\n"
  53 + description += "Start Time: \(dateFormatter.string(from: startTime ?? Date()))\n"
  54 + description += "Location Count: \(locationCount)\n"
  55 +
  56 + if !locations.isEmpty {
  57 + description += "Locations:\n"
  58 + for (index, location) in locations.enumerated() {
  59 + description += " Location \(index + 1):\n"
  60 + description += " Longitude: \(location.longitude)\n"
  61 + description += " Latitude: \(location.latitude)\n"
  62 + }
  63 + }
  64 +
  65 + return description
  66 + }
43 67  
44   - init(exerciseType: Int, startTime: Date? = nil, locationCount: Int, locations: [LocationPoint]) {
  68 + init(exerciseType: Int,startTimeInterval: TimeInterval, startTime: Date? = nil, locationCount: Int, locations: [LocationPoint]) {
45 69 self.exerciseType = exerciseType
  70 + self.startTimeInterval = startTimeInterval
46 71 self.startTime = startTime
47 72 self.locationCount = locationCount
48 73 self.locations = locations
... ... @@ -55,6 +80,7 @@ class NewGpsModel: NSObject {
55 80 }
56 81 gpsModel.exerciseType = Int(data[0])
57 82 let combinedUInt32 = data[1..<5].reduce(0) { ($0 << 8) + UInt32($1) }
  83 + gpsModel.startTimeInterval = TimeInterval(combinedUInt32)
58 84 gpsModel.startTime = Date(timeIntervalSince1970: TimeInterval(combinedUInt32))
59 85 gpsModel.locationCount = Int(data[5..<9].reduce(0) { ($0 << 8) + UInt32($1) })
60 86 var arr = [LocationPoint]()
... ...
HDFwear/Home/Model/NewSleepModel.swift
... ... @@ -20,12 +20,15 @@ class NewSleepModel: NSObject {
20 20  
21 21 struct SleepFragment {
22 22 var sleepStatus: NewSleepStatus
  23 + var startTimeInterval: TimeInterval
23 24 var startTime: Date?
24 25 var duration: UInt32
25 26 }
26 27  
27 28 struct NapFragment {
  29 + var startTimeInterval: TimeInterval
28 30 var startTime: Date?
  31 + var endTimeInterval: TimeInterval
29 32 var endTime: Date?
30 33 var duration: UInt32
31 34 }
... ... @@ -35,6 +38,42 @@ class NewSleepModel: NSObject {
35 38 var sleepFragments: [SleepFragment] = []
36 39 var napFragments: [NapFragment] = []
37 40  
  41 + override var description: String {
  42 + let dateFormatter = DateFormatter()
  43 + dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
  44 + dateFormatter.timeZone = TimeZone.current
  45 +
  46 + var description = "NewSleepModel\n"
  47 + description += "Sleep Type: \(sleepType)\n"
  48 + description += "Sleep Fragment Count: \(sleepFragmentCount)\n"
  49 +
  50 +
  51 + if !sleepFragments.isEmpty {
  52 + description += "Sleep Fragments:\n"
  53 + for (index, fragment) in sleepFragments.enumerated() {
  54 + description += " Fragment \(index + 1):\n"
  55 + description += " Status: \(fragment.sleepStatus)\n"
  56 + description += " Start TimeInterval: \(fragment.startTimeInterval)\n"
  57 + description += " Start Time: \(dateFormatter.string(from: fragment.startTime ?? Date()))\n"
  58 + description += " Duration: \(fragment.duration) seconds\n"
  59 + }
  60 + }
  61 +
  62 + if !napFragments.isEmpty {
  63 + description += "Nap Fragments:\n"
  64 + for (index, fragment) in napFragments.enumerated() {
  65 + description += " Fragment \(index + 1):\n"
  66 + description += " Start TimeInterval: \(fragment.startTimeInterval)\n"
  67 + description += " Start Time: \(dateFormatter.string(from:fragment.startTime ?? Date()))\n"
  68 + description += " End TimeInterval: \(fragment.endTimeInterval)\n"
  69 + description += " End Time: \(dateFormatter.string(from:fragment.endTime ?? Date()))\n"
  70 + description += " Duration: \(fragment.duration) seconds\n"
  71 + }
  72 + }
  73 +
  74 + return description
  75 + }
  76 +
38 77 init(sleepType: NewSleepType, sleepFragmentCount: Int, sleepFragments: [SleepFragment], napFragments: [NapFragment]) {
39 78 self.sleepType = sleepType
40 79 self.sleepFragmentCount = sleepFragmentCount
... ... @@ -80,7 +119,7 @@ class NewSleepModel: NSObject {
80 119 let startTime = Date(timeIntervalSince1970: TimeInterval(combinedUInt32))
81 120 let duration = UInt32(data[index + 5..<index + 9].reduce(0) { ($0 << 8) + UInt32($1) })
82 121  
83   - let fragment = SleepFragment(sleepStatus: sleepStatus, startTime: startTime, duration: duration)
  122 + let fragment = SleepFragment(sleepStatus: sleepStatus,startTimeInterval: TimeInterval(combinedUInt32), startTime: startTime, duration: duration)
84 123 sleepFragments.append(fragment)
85 124 }
86 125 return sleepFragments
... ... @@ -97,7 +136,7 @@ class NewSleepModel: NSObject {
97 136 let endTime = Date(timeIntervalSince1970: TimeInterval(endCombinedUInt32))
98 137 let duration = data[index + 8..<index + 12].reduce(0) { ($0 << 8) + UInt32($1) }
99 138  
100   - let napFragment = NapFragment(startTime: startTime, endTime: endTime, duration: duration)
  139 + let napFragment = NapFragment(startTimeInterval: TimeInterval(startCombinedUInt32),startTime: startTime, endTimeInterval: TimeInterval(endCombinedUInt32), endTime: endTime, duration: duration)
101 140 napFragments.append(napFragment)
102 141 }
103 142 return napFragments
... ...
HDFwear/Mine/MineViewController.swift
... ... @@ -443,60 +443,66 @@ extension MineViewController: UITableViewDataSource, UITableViewDelegate {
443 443 func fetchDataAlert () {
444 444 let alert = UIAlertController(title: "plz select fetch type", message: nil, preferredStyle: .actionSheet)
445 445  
446   - let archiveAction9 = UIAlertAction(title: "getSleepHistoryData", style: .default) { action in
  446 + let archiveAction9 = UIAlertAction(title: "getSleepHistoryData", style: .default) {[weak self] action in
447 447 BluetoothManager.shared.getSleepHistoryData(option: .now) { sleepModel, error in
448 448 if error != nil {
449 449 print("getSleepHistoryData" + (error?.description ?? ""))
450 450 }else {
  451 + self?.showDetailAlert(msg: sleepModel?.description)
451 452 print("getSleepHistoryData success")
452 453 }
453 454 }
454 455 }
455   - let archiveAction10 = UIAlertAction(title: "getBloodOxygenHistoryData", style: .default) { action in
  456 + let archiveAction10 = UIAlertAction(title: "getBloodOxygenHistoryData", style: .default) {[weak self] action in
456 457 BluetoothManager.shared.getBloodOxygenHistoryData() { boArray, error in
457 458 if error != nil {
458 459 print("getBloodOxygenHistoryData" + (error?.description ?? ""))
459 460 }else {
  461 + self?.showDetailAlert(msg: boArray.description)
460 462 print("getBloodOxygenHistoryData success")
461 463 }
462 464 }
463 465 }
464 466  
465   - let archiveAction14 = UIAlertAction(title: "getHeartRateHistoryData", style: .default) { action in
466   - BluetoothManager.shared.getHeartRateHistoryData() { boArray, error in
  467 + let archiveAction14 = UIAlertAction(title: "getHeartRateHistoryData", style: .default) {[weak self] action in
  468 + BluetoothManager.shared.getHeartRateHistoryData() { hrArray, error in
467 469 if error != nil {
468 470 print("getHeartRateHistoryData" + (error?.description ?? ""))
469 471 }else {
  472 + self?.showDetailAlert(msg: hrArray.description)
470 473 print("getHeartRateHistoryData success")
471 474 }
472 475 }
473 476 }
474 477  
475   - let archiveAction15 = UIAlertAction(title: "getStepHistoryData", style: .default) { action in
476   - BluetoothManager.shared.getStepHistoryData() { boArray, error in
  478 + let archiveAction15 = UIAlertAction(title: "getStepHistoryData", style: .default) {[weak self] action in
  479 + BluetoothManager.shared.getStepHistoryData() { sArray, error in
477 480 if error != nil {
478 481 print("getStepHistoryData" + (error?.description ?? ""))
479 482 }else {
  483 + self?.showDetailAlert(msg: sArray.description)
480 484 print("getStepHistoryData success")
481 485 }
482 486 }
483 487 }
484 488  
485   - let archiveAction16 = UIAlertAction(title: "getTrainHistoryData", style: .default) { action in
486   - BluetoothManager.shared.getTrainHistoryData() { boArray, error in
  489 + let archiveAction16 = UIAlertAction(title: "getTrainHistoryData", style: .default) {[weak self] action in
  490 + BluetoothManager.shared.getTrainHistoryData() { tArray, error in
487 491 if error != nil {
488 492 print("getTrainHistoryData" + (error?.description ?? ""))
489 493 }else {
  494 + self?.showDetailAlert(msg: tArray?.description)
490 495 print("getTrainHistoryData success")
491 496 }
492 497 }
493 498 }
494 499  
495   - let archiveAction17 = UIAlertAction(title: "getPressureHistoryData", style: .default) { action in
496   - BluetoothManager.shared.getPressureHistoryData() { boArray, error in
  500 + let archiveAction17 = UIAlertAction(title: "getPressureHistoryData", style: .default) {[weak self] action in
  501 + BluetoothManager.shared.getPressureHistoryData() { pArray, error in
497 502 if error != nil {
498 503 print("getPressureHistoryData" + (error?.description ?? ""))
499 504 }else {
  505 + self?.showDetailAlert(msg: pArray.description)
500 506 print("getPressureHistoryData success")
501 507 }
502 508 }
... ... @@ -512,11 +518,12 @@ extension MineViewController: UITableViewDataSource, UITableViewDelegate {
512 518 }
513 519 }
514 520  
515   - let archiveAction101 = UIAlertAction(title: "newGetGpsData", style: .default) { action in
  521 + let archiveAction101 = UIAlertAction(title: "newGetGpsData", style: .default) {[weak self] action in
516 522 BluetoothManager.shared.newGetGpsData() {gpsModel, error in
517 523 if error != nil {
518 524 print("newGetGpsData" + (error?.description ?? ""))
519 525 }else {
  526 + self?.showDetailAlert(msg: gpsModel?.description)
520 527 print("newGetGpsData success")
521 528 }
522 529 }
... ... @@ -536,4 +543,20 @@ extension MineViewController: UITableViewDataSource, UITableViewDelegate {
536 543 present(alert, animated: true, completion: nil)
537 544 }
538 545  
  546 + func showDetailAlert(msg: String? = "") {
  547 + let alert = UIAlertController(title: "info", message: msg, preferredStyle: .alert)
  548 +// let archiveAction = UIAlertAction(title: "newGetGpsData", style: .default) { action in
  549 +// BluetoothManager.shared.newGetGpsData() {gpsModel, error in
  550 +// if error != nil {
  551 +// print("newGetGpsData" + (error?.description ?? ""))
  552 +// }else {
  553 +// print("newGetGpsData success")
  554 +// }
  555 +// }
  556 +// }
  557 +// alert.addAction(archiveAction)
  558 +
  559 + alert.addAction(UIAlertAction(title: "确定", style: .destructive, handler: nil))
  560 + present(alert, animated: true, completion: nil)
  561 + }
539 562 }
... ...