@@ -54,6 +54,18 @@ struct Click: Codable {
54
54
}
55
55
}
56
56
57
+ struct Usage : Codable {
58
+ var identifier = " P01 "
59
+ var time = " 2018-09-09 11:11:11 "
60
+ var interval = 30 //초
61
+ var todayTotalTime = 30 //초
62
+ var todayDoneFrequency = 10 //횟수
63
+ var todayTotalFrequency = 100 //횟수
64
+
65
+ init ( ) {
66
+ }
67
+ }
68
+
57
69
struct Preference : Codable {
58
70
var identifier = " P01 " //PXX
59
71
var time = " 2018-09-09 11:11:11 " //sending time
@@ -153,8 +165,60 @@ var preset: Preference {
153
165
}
154
166
}
155
167
168
+
169
+ func sendUsage( ) {
170
+ let todayDateFormatter = DateFormatter ( )
171
+ todayDateFormatter. dateFormat = " yyyy-MM-dd HH:mm:ss "
172
+ let dateFormatter = DateFormatter ( )
173
+ dateFormatter. dateFormat = " yyyy-MM-dd "
174
+ let url = " http://18.191.148.80:8080/sendUsage "
175
+ let encoder = JSONEncoder ( )
176
+ encoder. outputFormatting = . prettyPrinted
177
+ do {
178
+ var usage = Usage ( )
179
+ usage. identifier = preset. identifier
180
+ usage. time = todayDateFormatter. string ( from: Date ( ) )
181
+ switch preset. frequency {
182
+ case 0 :
183
+ usage. interval = 20
184
+ case 1 :
185
+ usage. interval = 600
186
+ default :
187
+ if preset. timeType == 0 {
188
+ usage. interval = preset. customFrequencyInterval
189
+ } else {
190
+ usage. interval = preset. customFrequencyInterval * 60
191
+ }
192
+ }
193
+ usage. todayDoneFrequency = getTodayQuantity ( isAchieved: true )
194
+ usage. todayTotalFrequency = getTodayQuantity ( isAchieved: true )
195
+ usage. todayTotalTime = getTodayTime ( )
196
+ let jsonData = try encoder. encode ( usage)
197
+ if let jsonString = String ( data: jsonData, encoding: . utf8) {
198
+ let contentToAppend = jsonString+ " , \n "
199
+ let filePath = NSHomeDirectory ( ) + " /Documents/usage_ " + dateFormatter. string ( from: Date ( ) )
200
+ if let fileHandle = FileHandle ( forWritingAtPath: filePath) {
201
+ fileHandle. seekToEndOfFile ( )
202
+ fileHandle. write ( contentToAppend. data ( using: . utf8) ?? Data ( ) )
203
+ }
204
+ else {
205
+ do {
206
+ try contentToAppend. write ( toFile: filePath, atomically: true , encoding: String . Encoding. utf8)
207
+ } catch {
208
+ print ( " Error creating \( filePath) " )
209
+ }
210
+ }
211
+ print ( jsonString)
212
+ Alamofire . request ( url, method: . post, parameters: JSON ( parseJSON: jsonString) . dictionaryObject, encoding: JSONEncoding . default) . responseJSON { ( js) in
213
+ print ( js)
214
+ }
215
+ }
216
+ } catch {
217
+ print ( error. localizedDescription)
218
+ }
219
+ }
220
+
156
221
func sendPreference( ) {
157
-
158
222
let todayDateFormatter = DateFormatter ( )
159
223
todayDateFormatter. dateFormat = " yyyy-MM-dd "
160
224
let url = " http://18.191.148.80:8080/preferenceChange "
@@ -351,6 +415,7 @@ func updateTodayTime() {
351
415
}
352
416
print ( todayQuantity)
353
417
}
418
+
354
419
func getTodayTime( ) -> Int {
355
420
let dateFormatter = DateFormatter ( )
356
421
dateFormatter. dateFormat = " yyyy-MM-dd "
0 commit comments