Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
Sailassist
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
CpjJwWHV
Sailassist
Commits
f1bcebd2
Commit
f1bcebd2
authored
Nov 28, 2023
by
shigemi miura
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
タスク保存・削除・読み込み対応
parent
a16032d9
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
222 additions
and
8 deletions
+222
-8
project.pbxproj
Seilassist/Sailassist.xcodeproj/project.pbxproj
+12
-0
DeleteEcaArea.swift
Seilassist/Sailassist/ECA/DeleteEcaArea.swift
+32
-0
EcaTask.swift
Seilassist/Sailassist/ECA/EcaTask.swift
+4
-0
GetEcaList.swift
Seilassist/Sailassist/ECA/GetEcaList.swift
+34
-0
SetEcaArea.swift
Seilassist/Sailassist/ECA/SetEcaArea.swift
+32
-0
LoginView.swift
Seilassist/Sailassist/Login/LoginView.swift
+4
-1
InputIdPassWordView.swift
Seilassist/Sailassist/Login/View/InputIdPassWordView.swift
+1
-1
InputUserNameView.swift
Seilassist/Sailassist/Login/View/InputUserNameView.swift
+3
-0
TaskSwitchingMenuView.swift
...sist/Sailassist/Map/Task/View/TaskSwitchingMenuView.swift
+2
-0
MenuGpsSelectView.swift
Seilassist/Sailassist/Menu/View/MenuGpsSelectView.swift
+5
-0
ServerSession.swift
Seilassist/Sailassist/ServerSession/ServerSession.swift
+36
-4
SessionTaskList.swift
Seilassist/Sailassist/ServerSession/SessionTaskList.swift
+57
-2
No files found.
Seilassist/Sailassist.xcodeproj/project.pbxproj
View file @
f1bcebd2
...
@@ -85,6 +85,9 @@
...
@@ -85,6 +85,9 @@
D52D21412AEDE18F00324D58
/* EcaCoordinatesTable.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D52D21402AEDE18F00324D58
/* EcaCoordinatesTable.swift */
;
};
D52D21412AEDE18F00324D58
/* EcaCoordinatesTable.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D52D21402AEDE18F00324D58
/* EcaCoordinatesTable.swift */
;
};
D545FC742B09C74300F206D0
/* AlertManager.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D545FC732B09C74300F206D0
/* AlertManager.swift */
;
};
D545FC742B09C74300F206D0
/* AlertManager.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D545FC732B09C74300F206D0
/* AlertManager.swift */
;
};
D545FC762B09C81300F206D0
/* PushNotificationTypes.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D545FC752B09C81300F206D0
/* PushNotificationTypes.swift */
;
};
D545FC762B09C81300F206D0
/* PushNotificationTypes.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D545FC752B09C81300F206D0
/* PushNotificationTypes.swift */
;
};
D55135202B15B030007B66B1
/* SetEcaArea.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D551351F2B15B030007B66B1
/* SetEcaArea.swift */
;
};
D55135222B15C062007B66B1
/* GetEcaList.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D55135212B15C062007B66B1
/* GetEcaList.swift */
;
};
D55135242B15C3BF007B66B1
/* DeleteEcaArea.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D55135232B15C3BF007B66B1
/* DeleteEcaArea.swift */
;
};
D58E1F502B142A260092D8FE
/* EcaArea.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D58E1F4F2B142A260092D8FE
/* EcaArea.swift */
;
};
D58E1F502B142A260092D8FE
/* EcaArea.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D58E1F4F2B142A260092D8FE
/* EcaArea.swift */
;
};
D58E1F522B142A3F0092D8FE
/* ResEcaArea.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D58E1F512B142A3F0092D8FE
/* ResEcaArea.swift */
;
};
D58E1F522B142A3F0092D8FE
/* ResEcaArea.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D58E1F512B142A3F0092D8FE
/* ResEcaArea.swift */
;
};
D58E1F542B142A510092D8FE
/* SessionEcaArea.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D58E1F532B142A510092D8FE
/* SessionEcaArea.swift */
;
};
D58E1F542B142A510092D8FE
/* SessionEcaArea.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D58E1F532B142A510092D8FE
/* SessionEcaArea.swift */
;
};
...
@@ -224,6 +227,9 @@
...
@@ -224,6 +227,9 @@
D53ACA752B0AECF8008DCB18
/* Sailassist.entitlements */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
text.plist.entitlements
;
name
=
Sailassist.entitlements
;
path
=
Sailassist/Sailassist.entitlements
;
sourceTree
=
"<group>"
;
};
D53ACA752B0AECF8008DCB18
/* Sailassist.entitlements */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
text.plist.entitlements
;
name
=
Sailassist.entitlements
;
path
=
Sailassist/Sailassist.entitlements
;
sourceTree
=
"<group>"
;
};
D545FC732B09C74300F206D0
/* AlertManager.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
AlertManager.swift
;
path
=
Sailassist/VoiceManager/AlertManager.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D545FC732B09C74300F206D0
/* AlertManager.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
AlertManager.swift
;
path
=
Sailassist/VoiceManager/AlertManager.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D545FC752B09C81300F206D0
/* PushNotificationTypes.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
PushNotificationTypes.swift
;
path
=
Sailassist/DataSource/PushNotificationTypes.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D545FC752B09C81300F206D0
/* PushNotificationTypes.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
PushNotificationTypes.swift
;
path
=
Sailassist/DataSource/PushNotificationTypes.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D551351F2B15B030007B66B1
/* SetEcaArea.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
SetEcaArea.swift
;
path
=
Sailassist/ECA/SetEcaArea.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D55135212B15C062007B66B1
/* GetEcaList.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
GetEcaList.swift
;
path
=
Sailassist/ECA/GetEcaList.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D55135232B15C3BF007B66B1
/* DeleteEcaArea.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
DeleteEcaArea.swift
;
path
=
Sailassist/ECA/DeleteEcaArea.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D58E1F4F2B142A260092D8FE
/* EcaArea.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
name
=
EcaArea.swift
;
path
=
Sailassist/ECA/EcaArea.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D58E1F4F2B142A260092D8FE
/* EcaArea.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
name
=
EcaArea.swift
;
path
=
Sailassist/ECA/EcaArea.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D58E1F512B142A3F0092D8FE
/* ResEcaArea.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
name
=
ResEcaArea.swift
;
path
=
Sailassist/Json/ResEcaArea.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D58E1F512B142A3F0092D8FE
/* ResEcaArea.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
name
=
ResEcaArea.swift
;
path
=
Sailassist/Json/ResEcaArea.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D58E1F532B142A510092D8FE
/* SessionEcaArea.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
name
=
SessionEcaArea.swift
;
path
=
Sailassist/ServerSession/SessionEcaArea.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D58E1F532B142A510092D8FE
/* SessionEcaArea.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
name
=
SessionEcaArea.swift
;
path
=
Sailassist/ServerSession/SessionEcaArea.swift
;
sourceTree
=
SOURCE_ROOT
;
};
...
@@ -630,6 +636,9 @@
...
@@ -630,6 +636,9 @@
D52D213E2AEBB7D700324D58
/* RegisteredEca.swift */
,
D52D213E2AEBB7D700324D58
/* RegisteredEca.swift */
,
D52D21402AEDE18F00324D58
/* EcaCoordinatesTable.swift */
,
D52D21402AEDE18F00324D58
/* EcaCoordinatesTable.swift */
,
D5CB6FA02B023F7F00EC2010
/* EcaTask.swift */
,
D5CB6FA02B023F7F00EC2010
/* EcaTask.swift */
,
D551351F2B15B030007B66B1
/* SetEcaArea.swift */
,
D55135212B15C062007B66B1
/* GetEcaList.swift */
,
D55135232B15C3BF007B66B1
/* DeleteEcaArea.swift */
,
);
);
path
=
ECA
;
path
=
ECA
;
sourceTree
=
"<group>"
;
sourceTree
=
"<group>"
;
...
@@ -866,6 +875,7 @@
...
@@ -866,6 +875,7 @@
buildActionMask
=
2147483647
;
buildActionMask
=
2147483647
;
files
=
(
files
=
(
D5258CA52B036F0700365276
/* GetMessage.swift in Sources */
,
D5258CA52B036F0700365276
/* GetMessage.swift in Sources */
,
D55135222B15C062007B66B1
/* GetEcaList.swift in Sources */
,
D52D21412AEDE18F00324D58
/* EcaCoordinatesTable.swift in Sources */
,
D52D21412AEDE18F00324D58
/* EcaCoordinatesTable.swift in Sources */
,
02A1DE2F2AFB4AA0005BCF55
/* ChatInputView.swift in Sources */
,
02A1DE2F2AFB4AA0005BCF55
/* ChatInputView.swift in Sources */
,
02CD06912AE6536B005F8D8F
/* LayerEnum.swift in Sources */
,
02CD06912AE6536B005F8D8F
/* LayerEnum.swift in Sources */
,
...
@@ -883,6 +893,7 @@
...
@@ -883,6 +893,7 @@
020B98412AD8C3810029DE4C
/* LoginView.swift in Sources */
,
020B98412AD8C3810029DE4C
/* LoginView.swift in Sources */
,
D5AE351D2AEBA6FC00059889
/* SessionLogin.swift in Sources */
,
D5AE351D2AEBA6FC00059889
/* SessionLogin.swift in Sources */
,
D5258C9F2B03527400365276
/* ResGetMessages.swift in Sources */
,
D5258C9F2B03527400365276
/* ResGetMessages.swift in Sources */
,
D55135242B15C3BF007B66B1
/* DeleteEcaArea.swift in Sources */
,
024EDE1B2B0C41E40013BAC8
/* MenuSettingView.swift in Sources */
,
024EDE1B2B0C41E40013BAC8
/* MenuSettingView.swift in Sources */
,
020B98552AD924930029DE4C
/* QrCodeScannerView.swift in Sources */
,
020B98552AD924930029DE4C
/* QrCodeScannerView.swift in Sources */
,
02CE4D7F2ADE42A9002E79BC
/* MenuContentView.swift in Sources */
,
02CE4D7F2ADE42A9002E79BC
/* MenuContentView.swift in Sources */
,
...
@@ -928,6 +939,7 @@
...
@@ -928,6 +939,7 @@
02CD068F2AE6535F005F8D8F
/* MapSource.swift in Sources */
,
02CD068F2AE6535F005F8D8F
/* MapSource.swift in Sources */
,
02C3E5CE2AFCA04700AF7837
/* OtherChatContentView.swift in Sources */
,
02C3E5CE2AFCA04700AF7837
/* OtherChatContentView.swift in Sources */
,
020B98442AD8E4910029DE4C
/* FontStyle.swift in Sources */
,
020B98442AD8E4910029DE4C
/* FontStyle.swift in Sources */
,
D55135202B15B030007B66B1
/* SetEcaArea.swift in Sources */
,
D592D5272B0F182C00B91A1C
/* ReqAckMessage.swift in Sources */
,
D592D5272B0F182C00B91A1C
/* ReqAckMessage.swift in Sources */
,
D592D5292B0F198100B91A1C
/* ReqChatModeMessage.swift in Sources */
,
D592D5292B0F198100B91A1C
/* ReqChatModeMessage.swift in Sources */
,
D51AA4042B099DCD00EBBDD4
/* SignalRService.swift in Sources */
,
D51AA4042B099DCD00EBBDD4
/* SignalRService.swift in Sources */
,
...
...
Seilassist/Sailassist/ECA/DeleteEcaArea.swift
0 → 100644
View file @
f1bcebd2
//
// DeleteEcaArea.swift
// Sailassist
//
// Created by 三浦薫巳 on 2023/11/28.
//
import
Foundation
class
DeleteEcaArea
{
var
sessionTaskList
=
SessionTaskList
()
func
start
(
ecaId
:
Int
)
{
print
(
debug
:
"called"
)
// sessionTaskList.RequestDeleteTaskList(ecaId, completion: responseDeleteTaskList)
}
private
func
responseDeleteTaskList
(
result
:
Result
<
Data
,
APIError
>
)
{
print
(
debug
:
"called"
)
switch
result
{
case
.
success
(
let
resultData
):
let
serverSession
=
ServerSession
()
let
resjson
=
serverSession
.
fromJSON
(
resultData
:
resultData
,
resltType
:
ReqTaskList
.
self
)
if
let
res
=
resjson
{
//ECA保存
}
case
.
failure
(
let
errorCode
):
print
(
debug
:
errorCode
)
break
}
}
}
Seilassist/Sailassist/ECA/EcaTask.swift
View file @
f1bcebd2
...
@@ -76,6 +76,10 @@ class EcaTask {
...
@@ -76,6 +76,10 @@ class EcaTask {
notificationEca
(
point
:
SwitchingEca
.
Finish
)
notificationEca
(
point
:
SwitchingEca
.
Finish
)
eca
.
status
=
EcaState
.
finishPass
eca
.
status
=
EcaState
.
finishPass
}
}
if
0.0
<=
Float
(
distance
)
&&
eca
.
status
==
EcaState
.
finishPass
{
eca
.
status
=
EcaState
.
incomplete
}
}
}
}
}
}
}
...
...
Seilassist/Sailassist/ECA/GetEcaList.swift
0 → 100644
View file @
f1bcebd2
//
// GetEcaList.swift
// Sailassist
//
// Created by 三浦薫巳 on 2023/11/28.
//
import
Foundation
import
Foundation
class
GetEcaList
{
var
sessionTaskList
=
SessionTaskList
()
func
start
()
{
print
(
debug
:
"called"
)
// sessionTaskList.RequestGetTaskList(responseGetTaskList)
}
private
func
responseGetTaskList
(
result
:
Result
<
Data
,
APIError
>
)
{
print
(
debug
:
"called"
)
switch
result
{
case
.
success
(
let
resultData
):
let
serverSession
=
ServerSession
()
let
resjson
=
serverSession
.
fromJSON
(
resultData
:
resultData
,
resltType
:
[
ReqTaskList
]
.
self
)
if
let
res
=
resjson
{
//ECA保存
}
case
.
failure
(
let
errorCode
):
print
(
debug
:
errorCode
)
break
}
}
}
Seilassist/Sailassist/ECA/SetEcaArea.swift
0 → 100644
View file @
f1bcebd2
//
// SetEcaArea.swift
// Sailassist
//
// Created by 三浦薫巳 on 2023/11/28.
//
import
Foundation
class
SetEcaArea
{
var
sessionTaskList
=
SessionTaskList
()
func
start
(
eca
:
ReqTaskList
)
{
print
(
debug
:
"called"
)
// sessionTaskList.RequestPostTaskList(eca, completion: responsePostTaskList)
}
private
func
responsePostTaskList
(
result
:
Result
<
Data
,
APIError
>
)
{
print
(
debug
:
"called"
)
switch
result
{
case
.
success
(
let
resultData
):
let
serverSession
=
ServerSession
()
let
resjson
=
serverSession
.
fromJSON
(
resultData
:
resultData
,
resltType
:
ReqTaskList
.
self
)
if
let
res
=
resjson
{
//ECA保存
}
case
.
failure
(
let
errorCode
):
print
(
debug
:
errorCode
)
break
}
}
}
Seilassist/Sailassist/Login/LoginView.swift
View file @
f1bcebd2
...
@@ -99,7 +99,7 @@ struct LoginView: View {
...
@@ -99,7 +99,7 @@ struct LoginView: View {
switch
alertType
{
switch
alertType
{
case
.
loginFailure
:
case
.
loginFailure
:
return
Alert
(
title
:
Text
(
"error"
),
return
Alert
(
title
:
Text
(
"error"
),
message
:
Text
(
"
Login failure
."
),
message
:
Text
(
"
Ship ID or Password is incorrect
."
),
dismissButton
:
.
default
(
Text
(
"OK"
),
action
:
{
viewMode
=
.
SelectType
})
dismissButton
:
.
default
(
Text
(
"OK"
),
action
:
{
viewMode
=
.
SelectType
})
)
)
case
.
Expired
:
case
.
Expired
:
...
@@ -190,6 +190,9 @@ struct LoginView: View {
...
@@ -190,6 +190,9 @@ struct LoginView: View {
let
route
=
MonitoringRoute
()
let
route
=
MonitoringRoute
()
route
.
start
()
route
.
start
()
let
ecaList
=
GetEcaList
()
ecaList
.
start
()
}
}
timer
?
.
fire
()
timer
?
.
fire
()
...
...
Seilassist/Sailassist/Login/View/InputIdPassWordView.swift
View file @
f1bcebd2
...
@@ -77,7 +77,7 @@ struct InputIdPassWordView: View {
...
@@ -77,7 +77,7 @@ struct InputIdPassWordView: View {
})
})
.
alert
(
isPresented
:
$
isIdPassWordEmpty
,
content
:
{
.
alert
(
isPresented
:
$
isIdPassWordEmpty
,
content
:
{
Alert
(
title
:
Text
(
"error"
),
Alert
(
title
:
Text
(
"error"
),
message
:
Text
(
"Ship Id or Password
not entered
."
)
message
:
Text
(
"Ship Id or Password
is incorrect
."
)
)
)
})
})
.
padding
(
.
top
,
40
)
.
padding
(
.
top
,
40
)
...
...
Seilassist/Sailassist/Login/View/InputUserNameView.swift
View file @
f1bcebd2
...
@@ -109,6 +109,9 @@ struct InputUserNameView: View {
...
@@ -109,6 +109,9 @@ struct InputUserNameView: View {
let
route
=
MonitoringRoute
()
let
route
=
MonitoringRoute
()
route
.
start
()
route
.
start
()
let
ecaList
=
GetEcaList
()
ecaList
.
start
()
}
}
timer
?
.
fire
()
timer
?
.
fire
()
...
...
Seilassist/Sailassist/Map/Task/View/TaskSwitchingMenuView.swift
View file @
f1bcebd2
...
@@ -19,6 +19,7 @@ struct TaskSwitchingMenuView: View {
...
@@ -19,6 +19,7 @@ struct TaskSwitchingMenuView: View {
@ObservedObject
var
ecaData
=
SharingData
.
eca
@ObservedObject
var
ecaData
=
SharingData
.
eca
@State
var
isEcaAlert
:
Bool
=
false
@State
var
isEcaAlert
:
Bool
=
false
@State
var
ecaAlertType
:
EcaAlertType
=
.
ecaDelete
@State
var
ecaAlertType
:
EcaAlertType
=
.
ecaDelete
let
deleteEcaArea
=
DeleteEcaArea
()
var
body
:
some
View
{
var
body
:
some
View
{
VStack
{
VStack
{
...
@@ -89,6 +90,7 @@ struct TaskSwitchingMenuView: View {
...
@@ -89,6 +90,7 @@ struct TaskSwitchingMenuView: View {
var
newData
=
ecaArea
var
newData
=
ecaArea
newData
.
isEnable
=
false
newData
.
isEnable
=
false
ecaData
.
editEcaArea
(
key
:
ecaArea
.
name
,
value
:
newData
)
ecaData
.
editEcaArea
(
key
:
ecaArea
.
name
,
value
:
newData
)
deleteEcaArea
.
start
(
ecaId
:
ecaArea
.
id
)
}
}
edittingEcaArea
=
nil
edittingEcaArea
=
nil
}))
}))
...
...
Seilassist/Sailassist/Menu/View/MenuGpsSelectView.swift
View file @
f1bcebd2
...
@@ -44,6 +44,11 @@ struct MenuGpsSelectView: View {
...
@@ -44,6 +44,11 @@ struct MenuGpsSelectView: View {
VStack
(
spacing
:
0
){
VStack
(
spacing
:
0
){
Button
{
Button
{
selected
=
content
selected
=
content
if
content
==
.
Mobile
{
Preferences
.
LocationType
=
0
}
else
{
Preferences
.
LocationType
=
1
}
}
label
:{
}
label
:{
HStack
{
HStack
{
Text
(
content
.
title
)
Text
(
content
.
title
)
...
...
Seilassist/Sailassist/ServerSession/ServerSession.swift
View file @
f1bcebd2
...
@@ -101,11 +101,43 @@ class ServerSession{
...
@@ -101,11 +101,43 @@ class ServerSession{
if
inresponse
.
statusCode
!=
200
{
if
inresponse
.
statusCode
!=
200
{
throw
APIError
.
serverError
throw
APIError
.
serverError
}
}
//Cookieを保存
DispatchQueue
.
main
.
async
{
if
let
fields
=
inresponse
.
allHeaderFields
as?
[
String
:
String
],
let
url
=
inresponse
.
url
{
completion
(
.
success
(
indata
))
for
cookie
in
HTTPCookie
.
cookies
(
withResponseHeaderFields
:
fields
,
for
:
url
)
{
}
HTTPCookieStorage
.
shared
.
setCookie
(
cookie
)
}
catch
{
if
error
as?
APIError
!=
nil
{
completion
(
.
failure
(
error
as!
APIError
))
}
else
{
completion
(
.
failure
(
.
unknown
))
}
}
})
.
resume
()
}
func
deleteJson
(
_
req_url
:
URL
,
completion
:
@escaping
((
Result
<
Data
,
APIError
>
))
->
Void
){
var
req
=
URLRequest
(
url
:
req_url
)
req
.
httpMethod
=
"DELTE"
req
.
addValue
(
"application/json"
,
forHTTPHeaderField
:
"Content-Type"
)
req
.
timeoutInterval
=
20
// タイムアウト3秒 → Amedasでタイムアウトエラー20秒に変更
// サーバー送信
let
session
=
URLSession
(
configuration
:
.
default
,
delegate
:
nil
,
delegateQueue
:
OperationQueue
.
main
)
session
.
dataTask
(
with
:
req
,
completionHandler
:
{(
data
,
response
,
error
)
in
session
.
finishTasksAndInvalidate
()
do
{
if
let
error
=
error
{
let
err
=
APIError
.
clientError
throw
APIError
.
clientError
}
}
guard
let
indata
=
data
,
let
inresponse
=
response
as?
HTTPURLResponse
else
{
throw
APIError
.
responseError
}
if
inresponse
.
statusCode
!=
200
{
throw
APIError
.
serverError
}
}
DispatchQueue
.
main
.
async
{
DispatchQueue
.
main
.
async
{
completion
(
.
success
(
indata
))
completion
(
.
success
(
indata
))
...
...
Seilassist/Sailassist/ServerSession/SessionTaskList.swift
View file @
f1bcebd2
...
@@ -17,9 +17,9 @@ class SessionTaskList : ObservableObject {
...
@@ -17,9 +17,9 @@ class SessionTaskList : ObservableObject {
private
var
Calling
:
Bool
=
false
// 通信中
private
var
Calling
:
Bool
=
false
// 通信中
/**
/**
*
メッセージ
*
タスクリスト取得
*/
*/
func
RequestTaskList
(
_
completion
:
@escaping
((
Result
<
Data
,
APIError
>
))
->
Void
)
{
func
Request
Get
TaskList
(
_
completion
:
@escaping
((
Result
<
Data
,
APIError
>
))
->
Void
)
{
print
(
debug
:
"calld"
)
print
(
debug
:
"calld"
)
if
Calling
{
if
Calling
{
return
return
...
@@ -39,4 +39,59 @@ class SessionTaskList : ObservableObject {
...
@@ -39,4 +39,59 @@ class SessionTaskList : ObservableObject {
serverSession
.
getJson
(
req_url
,
completion
:
completion
)
serverSession
.
getJson
(
req_url
,
completion
:
completion
)
}
}
}
}
/**
* タスク保存
*/
func
RequestPostTaskList
(
_
eca
:
ReqTaskList
,
completion
:
@escaping
((
Result
<
Data
,
APIError
>
))
->
Void
)
{
print
(
debug
:
"calld"
)
if
Calling
{
return
}
Calling
=
true
// リクエストURLの組み立て
let
id
=
SharingData
.
my
.
shipId
if
id
!=
0
{
var
url_string
:
String
=
HttpRequestType
.
TaskList
.
rawValue
url_string
=
url_string
.
replacingOccurrences
(
of
:
"XXXXX"
,
with
:
String
(
id
))
guard
let
req_url
=
URL
(
string
:
url_string
)
else
{
Calling
=
false
return
}
if
let
postdata
=
serverSession
.
toJSON
(
eca
)
{
serverSession
.
postJson
(
req_url
,
postdata
,
completion
:
completion
)
}
else
{
Calling
=
false
return
}
}
}
/**
* タスク削除
*/
func
RequestDeleteTaskList
(
_
ecaId
:
Int
,
completion
:
@escaping
((
Result
<
Data
,
APIError
>
))
->
Void
)
{
print
(
debug
:
"calld"
)
if
Calling
{
return
}
Calling
=
true
// リクエストURLの組み立て
let
id
=
SharingData
.
my
.
shipId
if
id
!=
0
{
let
strId
=
String
(
id
)
+
"/"
+
String
(
ecaId
)
var
url_string
:
String
=
HttpRequestType
.
TaskList
.
rawValue
url_string
=
url_string
.
replacingOccurrences
(
of
:
"XXXXX"
,
with
:
strId
)
guard
let
req_url
=
URL
(
string
:
url_string
)
else
{
Calling
=
false
return
}
serverSession
.
deleteJson
(
req_url
,
completion
:
completion
)
}
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment