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
54
Merge Requests
54
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
gr-ssv
Sailassist
Commits
b1777788
Commit
b1777788
authored
Mar 02, 2024
by
shigemi miura
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Ver1.0.1
・自船アイコンの状態表記 ・System Information
parent
e053d1a2
Hide whitespace changes
Inline
Side-by-side
Showing
36 changed files
with
564 additions
and
80 deletions
+564
-80
project.pbxproj
Seilassist/Sailassist.xcodeproj/project.pbxproj
+24
-4
Contents.json
...groundColor/BackgroundPrimaryColor.colorset/Contents.json
+0
-0
Contents.json
...oundColor/BackgroundSecondaryColor.colorset/Contents.json
+0
-0
swStartBack@2x.png
...t/Assets.xcassets/Map/ownShip.imageset/swStartBack@2x.png
+0
-0
Contents.json
.../Assets.xcassets/Map/ownShip_alarm.imageset/Contents.json
+1
-1
icon_ship_alarm.png
...s.xcassets/Map/ownShip_alarm.imageset/icon_ship_alarm.png
+0
-0
Contents.json
...ssets.xcassets/Map/ownShip_caution.imageset/Contents.json
+21
-0
icon_ship_caution.png
...assets/Map/ownShip_caution.imageset/icon_ship_caution.png
+0
-0
Contents.json
...ets.xcassets/Map/ownShip_emergency.imageset/Contents.json
+21
-0
icon_ship_emergency.png
...ts/Map/ownShip_emergency.imageset/icon_ship_emergency.png
+0
-0
Contents.json
...cassets/Map/ownShip_necstemergency.imageset/Contents.json
+21
-0
icon_ship_necstemergency.png
...Ship_necstemergency.imageset/icon_ship_necstemergency.png
+0
-0
Contents.json
...Assets.xcassets/Map/ownShip_normal.imageset/Contents.json
+21
-0
icon_ship_normal.png
...xcassets/Map/ownShip_normal.imageset/icon_ship_normal.png
+0
-0
Contents.json
...ssets.xcassets/Map/ownShip_offline.imageset/Contents.json
+21
-0
icon_ship_offline.png
...assets/Map/ownShip_offline.imageset/icon_ship_offline.png
+0
-0
Contents.json
...ssets.xcassets/Map/ownShip_unknown.imageset/Contents.json
+21
-0
icon_ship_unknown.png
...assets/Map/ownShip_unknown.imageset/icon_ship_unknown.png
+0
-0
Contents.json
...ssets.xcassets/Map/ownShip_warning.imageset/Contents.json
+21
-0
icon_ship_warning.png
...assets/Map/ownShip_warning.imageset/icon_ship_warning.png
+0
-0
ColorSet.swift
Seilassist/Sailassist/Constants/ColorSet.swift
+2
-2
EcaTask.swift
Seilassist/Sailassist/ECA/EcaTask.swift
+2
-0
HttpRequestType.swift
Seilassist/Sailassist/Http/HttpRequestType.swift
+6
-2
ResInformation.swift
Seilassist/Sailassist/Json/ResInformation.swift
+19
-0
ResShipStatus.swift
Seilassist/Sailassist/Json/ResShipStatus.swift
+2
-0
InformationView.swift
Seilassist/Sailassist/Login/InformationView.swift
+67
-0
LoginView.swift
Seilassist/Sailassist/Login/LoginView.swift
+6
-1
MapRepresentable.swift
Seilassist/Sailassist/Map/MapRepresentable.swift
+65
-13
MapTaskView.swift
Seilassist/Sailassist/Map/Task/View/MapTaskView.swift
+0
-1
MenuView.swift
Seilassist/Sailassist/Menu/MenuView.swift
+11
-11
MenuInformationView.swift
Seilassist/Sailassist/Menu/View/MenuInformationView.swift
+19
-19
SailassistApp.swift
Seilassist/Sailassist/SailassistApp.swift
+22
-13
GetInformation.swift
Seilassist/Sailassist/ServerSession/GetInformation.swift
+33
-0
SessionInformation.swift
Seilassist/Sailassist/ServerSession/SessionInformation.swift
+38
-0
SharingData.swift
Seilassist/Sailassist/SharingData/SharingData.swift
+57
-13
StatusEnum.swift
Seilassist/Sailassist/SharingData/StatusEnum.swift
+43
-0
No files found.
Seilassist/Sailassist.xcodeproj/project.pbxproj
View file @
b1777788
...
...
@@ -32,7 +32,6 @@
020B98692ADD221E0029DE4C
/* Preferences.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
020B98682ADD221D0029DE4C
/* Preferences.swift */
;
};
020B986C2ADD3E810029DE4C
/* InTextLib.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
020B986B2ADD3E810029DE4C
/* InTextLib.swift */
;
};
020B986E2ADD3E8D0029DE4C
/* DateTextLib.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
020B986D2ADD3E8D0029DE4C
/* DateTextLib.swift */
;
};
0210CF302B3A8FE800968F33
/* MenuInfomarionView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
0210CF2F2B3A8FE800968F33
/* MenuInfomarionView.swift */
;
};
022789002AE1FE4600A87787
/* MapboxCommon.xcframework in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
022788F92AE1FE3D00A87787
/* MapboxCommon.xcframework */
;
};
022789012AE1FE4600A87787
/* MapboxCommon.xcframework in Embed Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
022788F92AE1FE3D00A87787
/* MapboxCommon.xcframework */
;
settings
=
{
ATTRIBUTES
=
(
CodeSignOnCopy
,
RemoveHeadersOnCopy
,
);
};
};
022789022AE1FE4700A87787
/* MapboxCoreMaps.xcframework in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
022788F82AE1FE3D00A87787
/* MapboxCoreMaps.xcframework */
;
};
...
...
@@ -86,12 +85,15 @@
D5258CA32B036CC500365276
/* SessionGetMessage.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D5258CA22B036CC500365276
/* SessionGetMessage.swift */
;
};
D5258CA52B036F0700365276
/* GetMessage.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D5258CA42B036F0700365276
/* GetMessage.swift */
;
};
D5258CA72B03988600365276
/* ReqTaskList.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D5258CA62B03988500365276
/* ReqTaskList.swift */
;
};
D52C2C082B9195A8003B286C
/* MenuInformationView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D52C2C072B9195A8003B286C
/* MenuInformationView.swift */
;
};
D52C2C0A2B91BF24003B286C
/* InformationView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D52C2C092B91BF24003B286C
/* InformationView.swift */
;
};
D52D213A2AEBAC0500324D58
/* HttpRequestType.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D52D21392AEBAC0500324D58
/* HttpRequestType.swift */
;
};
D52D213F2AEBB7D700324D58
/* RegisteredEca.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D52D213E2AEBB7D700324D58
/* RegisteredEca.swift */
;
};
D52D21412AEDE18F00324D58
/* EcaCoordinatesTable.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D52D21402AEDE18F00324D58
/* EcaCoordinatesTable.swift */
;
};
D53B97262B341867000B3D29
/* AboutAppView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D53B97252B341867000B3D29
/* AboutAppView.swift */
;
};
D545FC742B09C74300F206D0
/* AlertManager.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D545FC732B09C74300F206D0
/* AlertManager.swift */
;
};
D545FC762B09C81300F206D0
/* PushNotificationTypes.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D545FC752B09C81300F206D0
/* PushNotificationTypes.swift */
;
};
D54A5FD72B8F10B500F3A9D6
/* StatusEnum.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D54A5FD62B8F10B500F3A9D6
/* StatusEnum.swift */
;
};
D54D174B2B35137A00A0EAA5
/* LocalWebView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D54D174A2B35137A00A0EAA5
/* LocalWebView.swift */
;
};
D54D17512B35923400A0EAA5
/* GetManualUrl.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D54D17502B35923400A0EAA5
/* GetManualUrl.swift */
;
};
D55135202B15B030007B66B1
/* SetEcaArea.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D551351F2B15B030007B66B1
/* SetEcaArea.swift */
;
};
...
...
@@ -100,6 +102,9 @@
D58E1F502B142A260092D8FE
/* EcaArea.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D58E1F4F2B142A260092D8FE
/* EcaArea.swift */
;
};
D58E1F522B142A3F0092D8FE
/* ResEcaArea.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D58E1F512B142A3F0092D8FE
/* ResEcaArea.swift */
;
};
D58E1F542B142A510092D8FE
/* SessionEcaArea.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D58E1F532B142A510092D8FE
/* SessionEcaArea.swift */
;
};
D58EF2452B901D3900FB784C
/* SessionInformation.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D58EF2442B901D3900FB784C
/* SessionInformation.swift */
;
};
D58EF2472B9044C800FB784C
/* ResInformation.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D58EF2462B9044C800FB784C
/* ResInformation.swift */
;
};
D58EF2492B90562B00FB784C
/* GetInformation.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D58EF2482B90562B00FB784C
/* GetInformation.swift */
;
};
D592D5232B0F14FE00B91A1C
/* SessionUploadImage.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D592D5222B0F14FE00B91A1C
/* SessionUploadImage.swift */
;
};
D592D5252B0F16CA00B91A1C
/* ReqMessage.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D592D5242B0F16CA00B91A1C
/* ReqMessage.swift */
;
};
D592D5272B0F182C00B91A1C
/* ReqAckMessage.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D592D5262B0F182C00B91A1C
/* ReqAckMessage.swift */
;
};
...
...
@@ -189,7 +194,6 @@
020B98682ADD221D0029DE4C
/* Preferences.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
Preferences.swift
;
sourceTree
=
"<group>"
;
};
020B986B2ADD3E810029DE4C
/* InTextLib.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
path
=
InTextLib.swift
;
sourceTree
=
"<group>"
;
};
020B986D2ADD3E8D0029DE4C
/* DateTextLib.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
path
=
DateTextLib.swift
;
sourceTree
=
"<group>"
;
};
0210CF2F2B3A8FE800968F33
/* MenuInfomarionView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
MenuInfomarionView.swift
;
path
=
Sailassist/Menu/View/MenuInfomarionView.swift
;
sourceTree
=
SOURCE_ROOT
;
};
022788F62AE1FE3C00A87787
/* MapboxMobileEvents.xcframework */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
wrapper.xcframework
;
path
=
MapboxMobileEvents.xcframework
;
sourceTree
=
"<group>"
;
};
022788F72AE1FE3C00A87787
/* Turf.xcframework */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
wrapper.xcframework
;
path
=
Turf.xcframework
;
sourceTree
=
"<group>"
;
};
022788F82AE1FE3D00A87787
/* MapboxCoreMaps.xcframework */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
wrapper.xcframework
;
path
=
MapboxCoreMaps.xcframework
;
sourceTree
=
"<group>"
;
};
...
...
@@ -246,6 +250,8 @@
D5258CA22B036CC500365276
/* SessionGetMessage.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
SessionGetMessage.swift
;
path
=
Sailassist/ServerSession/SessionGetMessage.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D5258CA42B036F0700365276
/* GetMessage.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
GetMessage.swift
;
path
=
Sailassist/Chat/GetMessage.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D5258CA62B03988500365276
/* ReqTaskList.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
ReqTaskList.swift
;
path
=
Sailassist/Json/ReqTaskList.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D52C2C072B9195A8003B286C
/* MenuInformationView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
MenuInformationView.swift
;
path
=
Sailassist/Menu/View/MenuInformationView.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D52C2C092B91BF24003B286C
/* InformationView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
InformationView.swift
;
path
=
Sailassist/Login/InformationView.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D52D21392AEBAC0500324D58
/* HttpRequestType.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
HttpRequestType.swift
;
path
=
Sailassist/Http/HttpRequestType.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D52D213E2AEBB7D700324D58
/* RegisteredEca.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
RegisteredEca.swift
;
path
=
Sailassist/ECA/RegisteredEca.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D52D21402AEDE18F00324D58
/* EcaCoordinatesTable.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
EcaCoordinatesTable.swift
;
path
=
Sailassist/ECA/EcaCoordinatesTable.swift
;
sourceTree
=
SOURCE_ROOT
;
};
...
...
@@ -253,6 +259,7 @@
D53B97252B341867000B3D29
/* AboutAppView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
AboutAppView.swift
;
path
=
Sailassist/Login/AboutAppView.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
;
};
D54A5FD62B8F10B500F3A9D6
/* StatusEnum.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
StatusEnum.swift
;
path
=
Sailassist/SharingData/StatusEnum.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D54D174A2B35137A00A0EAA5
/* LocalWebView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
LocalWebView.swift
;
path
=
Sailassist/Menu/View/LocalWebView.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D54D17502B35923400A0EAA5
/* GetManualUrl.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
GetManualUrl.swift
;
path
=
Sailassist/Menu/GetManualUrl.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D551351F2B15B030007B66B1
/* SetEcaArea.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
SetEcaArea.swift
;
path
=
Sailassist/ECA/SetEcaArea.swift
;
sourceTree
=
SOURCE_ROOT
;
};
...
...
@@ -261,6 +268,9 @@
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
;
};
D58E1F532B142A510092D8FE
/* SessionEcaArea.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
name
=
SessionEcaArea.swift
;
path
=
Sailassist/ServerSession/SessionEcaArea.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D58EF2442B901D3900FB784C
/* SessionInformation.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
SessionInformation.swift
;
path
=
Sailassist/ServerSession/SessionInformation.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D58EF2462B9044C800FB784C
/* ResInformation.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
ResInformation.swift
;
path
=
Sailassist/Json/ResInformation.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D58EF2482B90562B00FB784C
/* GetInformation.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
GetInformation.swift
;
path
=
Sailassist/ServerSession/GetInformation.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D592D5222B0F14FE00B91A1C
/* SessionUploadImage.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
SessionUploadImage.swift
;
path
=
Sailassist/ServerSession/SessionUploadImage.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D592D5242B0F16CA00B91A1C
/* ReqMessage.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
ReqMessage.swift
;
path
=
Sailassist/Json/ReqMessage.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D592D5262B0F182C00B91A1C
/* ReqAckMessage.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
ReqAckMessage.swift
;
path
=
Sailassist/Json/ReqAckMessage.swift
;
sourceTree
=
SOURCE_ROOT
;
};
...
...
@@ -410,6 +420,7 @@
020B98492AD915510029DE4C
/* ViewModel */
,
020B98482AD915480029DE4C
/* View */
,
D53B97252B341867000B3D29
/* AboutAppView.swift */
,
D52C2C092B91BF24003B286C
/* InformationView.swift */
,
);
path
=
Login
;
sourceTree
=
"<group>"
;
...
...
@@ -518,6 +529,7 @@
isa
=
PBXGroup
;
children
=
(
0227890B2AE22E0B00A87787
/* SharingData.swift */
,
D54A5FD62B8F10B500F3A9D6
/* StatusEnum.swift */
,
);
path
=
SharingData
;
sourceTree
=
"<group>"
;
...
...
@@ -565,6 +577,8 @@
D592D5222B0F14FE00B91A1C
/* SessionUploadImage.swift */
,
D59908C72B1ABD43000E13DD
/* SessionPushHistory.swift */
,
02F4DB662B2C173F00E86C41
/* SessionGetManualUrl.swift */
,
D58EF2442B901D3900FB784C
/* SessionInformation.swift */
,
D58EF2482B90562B00FB784C
/* GetInformation.swift */
,
);
path
=
ServerSession
;
sourceTree
=
"<group>"
;
...
...
@@ -618,7 +632,7 @@
D5E008752B2ADD5900C4070A
/* MenuManualRADARView.swift */
,
D5E008772B2B022200C4070A
/* MenuAboutAppView.swift */
,
D54D174A2B35137A00A0EAA5
/* LocalWebView.swift */
,
0210CF2F2B3A8FE800968F33
/* MenuInfomar
ionView.swift */
,
D52C2C072B9195A8003B286C
/* MenuInformat
ionView.swift */
,
);
path
=
View
;
sourceTree
=
"<group>"
;
...
...
@@ -745,6 +759,7 @@
D592D5282B0F198100B91A1C
/* ReqChatModeMessage.swift */
,
D59908C52B19EA70000E13DD
/* ResPushHistory.swift */
,
025F99732B2C125900C9A18A
/* ResGetManualUrl.swift */
,
D58EF2462B9044C800FB784C
/* ResInformation.swift */
,
);
path
=
Json
;
sourceTree
=
"<group>"
;
...
...
@@ -1007,8 +1022,8 @@
D545FC762B09C81300F206D0
/* PushNotificationTypes.swift in Sources */
,
D5E008742B2ADD3F00C4070A
/* MenuManualECDISView.swift in Sources */
,
D545FC742B09C74300F206D0
/* AlertManager.swift in Sources */
,
0210CF302B3A8FE800968F33
/* MenuInfomarionView.swift in Sources */
,
020B98692ADD221E0029DE4C
/* Preferences.swift in Sources */
,
D54A5FD72B8F10B500F3A9D6
/* StatusEnum.swift in Sources */
,
02CD06932AE88970005F8D8F
/* ServerSession.swift in Sources */
,
02A1DE312AFB61D8005BCF55
/* MyChatContentView.swift in Sources */
,
D58E1F522B142A3F0092D8FE
/* ResEcaArea.swift in Sources */
,
...
...
@@ -1022,6 +1037,7 @@
020B984F2AD9182D0029DE4C
/* InputUserNameView.swift in Sources */
,
D5AE351A2AEBA66A00059889
/* ReqLogin.swift in Sources */
,
020B98512AD9189A0029DE4C
/* InputIdPassWordView.swift in Sources */
,
D52C2C0A2B91BF24003B286C
/* InformationView.swift in Sources */
,
D52D213A2AEBAC0500324D58
/* HttpRequestType.swift in Sources */
,
D53B97262B341867000B3D29
/* AboutAppView.swift in Sources */
,
D5258CA12B03593500365276
/* SessionMonitoringRoute.swift in Sources */
,
...
...
@@ -1044,14 +1060,18 @@
025F99722B2AE3AF00C9A18A
/* TaskViewModel.swift in Sources */
,
D54D17512B35923400A0EAA5
/* GetManualUrl.swift in Sources */
,
D5258CA32B036CC500365276
/* SessionGetMessage.swift in Sources */
,
D52C2C082B9195A8003B286C
/* MenuInformationView.swift in Sources */
,
D5258C992B0334BF00365276
/* SessionShipStatus.swift in Sources */
,
02CE4D872ADF62A7002E79BC
/* EcaListView.swift in Sources */
,
D5E008762B2ADD5900C4070A
/* MenuManualRADARView.swift in Sources */
,
D59908C62B19EA70000E13DD
/* ResPushHistory.swift in Sources */
,
D58EF2472B9044C800FB784C
/* ResInformation.swift in Sources */
,
020B986C2ADD3E810029DE4C
/* InTextLib.swift in Sources */
,
02C3E5D12AFCC16800AF7837
/* ChatTitleView.swift in Sources */
,
024EDE1D2B0C42F70013BAC8
/* MenuGpsSelectView.swift in Sources */
,
020B98472AD8FEE30029DE4C
/* ColorSet.swift in Sources */
,
D58EF2452B901D3900FB784C
/* SessionInformation.swift in Sources */
,
D58EF2492B90562B00FB784C
/* GetInformation.swift in Sources */
,
D51AA4072B099FCC00EBBDD4
/* AlertDB.swift in Sources */
,
020B98652ADD14F60029DE4C
/* NotificationView.swift in Sources */
,
);
...
...
Seilassist/Sailassist/Assets.xcassets/ColorSet/BackgroundColor/PrimaryColor.colorset/Contents.json
→
Seilassist/Sailassist/Assets.xcassets/ColorSet/BackgroundColor/
Background
PrimaryColor.colorset/Contents.json
View file @
b1777788
File moved
Seilassist/Sailassist/Assets.xcassets/ColorSet/BackgroundColor/SecondaryColor.colorset/Contents.json
→
Seilassist/Sailassist/Assets.xcassets/ColorSet/BackgroundColor/
Background
SecondaryColor.colorset/Contents.json
View file @
b1777788
File moved
Seilassist/Sailassist/Assets.xcassets/Map/ownShip.imageset/swStartBack@2x.png
deleted
100644 → 0
View file @
e053d1a2
18.6 KB
Seilassist/Sailassist/Assets.xcassets/Map/ownShip.imageset/Contents.json
→
Seilassist/Sailassist/Assets.xcassets/Map/ownShip
_alarm
.imageset/Contents.json
View file @
b1777788
{
"images"
:
[
{
"filename"
:
"icon_ship_alarm.png"
,
"idiom"
:
"universal"
,
"scale"
:
"1x"
},
...
...
@@ -9,7 +10,6 @@
"scale"
:
"2x"
},
{
"filename"
:
"swStartBack@2x.png"
,
"idiom"
:
"universal"
,
"scale"
:
"3x"
}
...
...
Seilassist/Sailassist/Assets.xcassets/Map/ownShip_alarm.imageset/icon_ship_alarm.png
0 → 100644
View file @
b1777788
1.44 KB
Seilassist/Sailassist/Assets.xcassets/Map/ownShip_caution.imageset/Contents.json
0 → 100644
View file @
b1777788
{
"images"
:
[
{
"filename"
:
"icon_ship_caution.png"
,
"idiom"
:
"universal"
,
"scale"
:
"1x"
},
{
"idiom"
:
"universal"
,
"scale"
:
"2x"
},
{
"idiom"
:
"universal"
,
"scale"
:
"3x"
}
],
"info"
:
{
"author"
:
"xcode"
,
"version"
:
1
}
}
Seilassist/Sailassist/Assets.xcassets/Map/ownShip_caution.imageset/icon_ship_caution.png
0 → 100644
View file @
b1777788
1.44 KB
Seilassist/Sailassist/Assets.xcassets/Map/ownShip_emergency.imageset/Contents.json
0 → 100644
View file @
b1777788
{
"images"
:
[
{
"filename"
:
"icon_ship_emergency.png"
,
"idiom"
:
"universal"
,
"scale"
:
"1x"
},
{
"idiom"
:
"universal"
,
"scale"
:
"2x"
},
{
"idiom"
:
"universal"
,
"scale"
:
"3x"
}
],
"info"
:
{
"author"
:
"xcode"
,
"version"
:
1
}
}
Seilassist/Sailassist/Assets.xcassets/Map/ownShip_emergency.imageset/icon_ship_emergency.png
0 → 100644
View file @
b1777788
1.44 KB
Seilassist/Sailassist/Assets.xcassets/Map/ownShip_necstemergency.imageset/Contents.json
0 → 100644
View file @
b1777788
{
"images"
:
[
{
"filename"
:
"icon_ship_necstemergency.png"
,
"idiom"
:
"universal"
,
"scale"
:
"1x"
},
{
"idiom"
:
"universal"
,
"scale"
:
"2x"
},
{
"idiom"
:
"universal"
,
"scale"
:
"3x"
}
],
"info"
:
{
"author"
:
"xcode"
,
"version"
:
1
}
}
Seilassist/Sailassist/Assets.xcassets/Map/ownShip_necstemergency.imageset/icon_ship_necstemergency.png
0 → 100644
View file @
b1777788
1.36 KB
Seilassist/Sailassist/Assets.xcassets/Map/ownShip_normal.imageset/Contents.json
0 → 100644
View file @
b1777788
{
"images"
:
[
{
"filename"
:
"icon_ship_normal.png"
,
"idiom"
:
"universal"
,
"scale"
:
"1x"
},
{
"idiom"
:
"universal"
,
"scale"
:
"2x"
},
{
"idiom"
:
"universal"
,
"scale"
:
"3x"
}
],
"info"
:
{
"author"
:
"xcode"
,
"version"
:
1
}
}
Seilassist/Sailassist/Assets.xcassets/Map/ownShip_normal.imageset/icon_ship_normal.png
0 → 100644
View file @
b1777788
1.47 KB
Seilassist/Sailassist/Assets.xcassets/Map/ownShip_offline.imageset/Contents.json
0 → 100644
View file @
b1777788
{
"images"
:
[
{
"filename"
:
"icon_ship_offline.png"
,
"idiom"
:
"universal"
,
"scale"
:
"1x"
},
{
"idiom"
:
"universal"
,
"scale"
:
"2x"
},
{
"idiom"
:
"universal"
,
"scale"
:
"3x"
}
],
"info"
:
{
"author"
:
"xcode"
,
"version"
:
1
}
}
Seilassist/Sailassist/Assets.xcassets/Map/ownShip_offline.imageset/icon_ship_offline.png
0 → 100644
View file @
b1777788
1.47 KB
Seilassist/Sailassist/Assets.xcassets/Map/ownShip_unknown.imageset/Contents.json
0 → 100644
View file @
b1777788
{
"images"
:
[
{
"filename"
:
"icon_ship_unknown.png"
,
"idiom"
:
"universal"
,
"scale"
:
"1x"
},
{
"idiom"
:
"universal"
,
"scale"
:
"2x"
},
{
"idiom"
:
"universal"
,
"scale"
:
"3x"
}
],
"info"
:
{
"author"
:
"xcode"
,
"version"
:
1
}
}
Seilassist/Sailassist/Assets.xcassets/Map/ownShip_unknown.imageset/icon_ship_unknown.png
0 → 100644
View file @
b1777788
1.45 KB
Seilassist/Sailassist/Assets.xcassets/Map/ownShip_warning.imageset/Contents.json
0 → 100644
View file @
b1777788
{
"images"
:
[
{
"filename"
:
"icon_ship_warning.png"
,
"idiom"
:
"universal"
,
"scale"
:
"1x"
},
{
"idiom"
:
"universal"
,
"scale"
:
"2x"
},
{
"idiom"
:
"universal"
,
"scale"
:
"3x"
}
],
"info"
:
{
"author"
:
"xcode"
,
"version"
:
1
}
}
Seilassist/Sailassist/Assets.xcassets/Map/ownShip_warning.imageset/icon_ship_warning.png
0 → 100644
View file @
b1777788
1.43 KB
Seilassist/Sailassist/Constants/ColorSet.swift
View file @
b1777788
...
...
@@ -188,9 +188,9 @@ extension ColorSet{
case
.
ChatDate
:
"ChatDateColor"
case
.
BackgroundPrimary
:
"PrimaryColor"
"
Background
PrimaryColor"
case
.
BackgroundSecondary
:
"SecondaryColor"
"
Background
SecondaryColor"
case
.
BottomNav
:
"BottomNavColor"
case
.
BackgroundTeriary
:
...
...
Seilassist/Sailassist/ECA/EcaTask.swift
View file @
b1777788
...
...
@@ -39,6 +39,8 @@ class EcaTask {
let
serverSession
=
ServerSession
()
let
resjson
=
serverSession
.
fromJSON
(
resultData
:
resultData
,
resltType
:
ResShipStatus
.
self
)
if
let
res
=
resjson
{
SharingData
.
location
.
status
=
SharingData
.
location
.
setShipStatus
(
status
:
res
.
status
)
SharingData
.
location
.
totalRmsAlarm
=
SharingData
.
location
.
setTotalRmsAlarm
(
alarm
:
res
.
totalRmsAlarm
)
SharingData
.
location
.
speed
=
res
.
speed
SharingData
.
location
.
course
=
res
.
course
SharingData
.
location
.
heading
=
res
.
heading
...
...
Seilassist/Sailassist/Http/HttpRequestType.swift
View file @
b1777788
...
...
@@ -27,10 +27,10 @@ enum HttpRequestType : String {
case
HubName
=
"ssv-canary-sailassist-notification"
case
storage
=
"https://ssvcanarystorage.z1.web.core.windows.net/"
case
GetManualUrl
=
"https://ssv-canary-web.azurewebsites.net/api/constantdata/manual?filter=SailAssist"
case
Information
=
"https://ssv-canary-web.azurewebsites.net/information/4"
// case InfVersion = "https://ssv-canary-web.azurewebsites.net/information/4"
case
ContactPage
=
"https://www.jmarinecloud.com/eng/contact.php?type=ssv_mobile"
case
ApachLicens
=
"https://raw.githubusercontent.com/Azure/azure-notificationhubs-ios/main/LICENSE"
// case AppStore = "https://apps.apple.com/jp/app/ssv-mobile/id1434022656"
// case AppInfo = "https://itunes.apple.com/lookup?bundleId=com.jrc.tacmi"
case
AppStore
=
"https://apps.apple.com/jp/app/sail-assist/id6473762428"
case
AppInfo
=
"https://itunes.apple.com/lookup?bundleId=com.jrc.sailassist"
}
...
...
@@ -53,6 +53,8 @@ enum HttpRequestType : String {
case
HubName
=
"ssv-qc-sailassist-notification"
case
storage
=
"https://tacmiquaritycheckstorage.z31.web.core.windows.net/"
case
GetManualUrl
=
"https://ssv-qc-web.azurewebsites.net/api/constantdata/manual?filter=SailAssist"
case
Information
=
"https://ssv-qc-web.azurewebsites.net/information/4"
case
InfVersion
=
"https://ssv-qc-web.azurewebsites.net/information/4"
case
ContactPage
=
"https://www.jmarinecloud.com/eng/contact.php?type=ssv_mobile"
case
ApachLicens
=
"https://raw.githubusercontent.com/Azure/azure-notificationhubs-ios/main/LICENSE"
case
AppStore
=
"https://apps.apple.com/jp/app/sail-assist/id6473762428"
...
...
@@ -78,6 +80,8 @@ enum HttpRequestType : String {
case
HubName
=
"ssv-sailassist-notification"
case
storage
=
"https://tacmistorage.z31.web.core.windows.net/"
case
GetManualUrl
=
"https://ssv.jmarinecloud.com/api/constantdata/manual?filter=SailAssist"
case
Information
=
"https://ssv.jmarinecloud.com/information/4"
case
InfVersion
=
"https://ssv.jmarinecloud.com/information/4"
case
ContactPage
=
"https://www.jmarinecloud.com/eng/contact.php?type=ssv_mobile"
case
ApachLicens
=
"https://raw.githubusercontent.com/Azure/azure-notificationhubs-ios/main/LICENSE"
case
AppStore
=
"https://apps.apple.com/jp/app/sail-assist/id6473762428"
...
...
Seilassist/Sailassist/Json/ResInformation.swift
0 → 100644
View file @
b1777788
//
// ResInformation.swift
// Sailassist
//
// Created by 三浦薫巳 on 2024/02/29.
//
import
Foundation
struct
ResInformation
:
Codable
{
var
informationId
:
Int
=
0
var
ssv
:
Bool
=
false
var
ssvMobile
:
Bool
=
false
var
sailAssist
:
Bool
=
true
var
expirationDate
:
String
=
""
var
title
:
String
=
""
var
detail
:
String
=
""
var
lastUpdateTime
:
String
=
""
}
Seilassist/Sailassist/Json/ResShipStatus.swift
View file @
b1777788
...
...
@@ -8,6 +8,8 @@
import
Foundation
struct
ResShipStatus
:
Codable
{
var
status
:
Int
=
0
var
totalRmsAlarm
:
Int
=
0
var
dataTime
:
String
=
""
//2023-11-02T05:25:49.4362123Z
var
speed
:
Double
=
0.0
var
course
:
Double
=
0.0
...
...
Seilassist/Sailassist/Login/InformationView.swift
0 → 100644
View file @
b1777788
//
// InformationView.swift
// Sailassist
//
// Created by 三浦薫巳 on 2024/03/01.
//
import
SwiftUI
struct
InformationView
:
View
{
@ObservedObject
var
info
=
SharingData
.
information
var
body
:
some
View
{
VStack
{
ScrollView
{
VStack
(
spacing
:
0
){
ForEach
(
info
.
content
.
sorted
{
$0
.
informationId
<
$1
.
informationId
},
id
:
\
.
informationId
){
info
in
InformationView
(
title
:
info
.
title
,
bodyStr
:
info
.
detail
)
}
}
.
padding
()
.
background
(
.
black
)
}
.
onAppear
(
perform
:
{
let
information
=
GetInformation
()
information
.
start
()
})
}
}
private
struct
InformationView
:
View
{
var
title
:
String
var
bodyStr
:
String
@State
var
isExtend
=
false
var
body
:
some
View
{
VStack
(
alignment
:
.
leading
,
spacing
:
0
){
HStack
{
Text
(
title
)
.
foregroundColor
(
.
white
)
Spacer
()
Button
{
isExtend
.
toggle
()
}
label
:
{
Image
(
systemName
:
isExtend
?
"minus"
:
"plus"
)
.
foregroundColor
(
.
white
)
}
}
.
padding
()
.
background
(
.
gray
)
if
isExtend
{
Text
(
bodyStr
)
.
multilineTextAlignment
(
.
leading
)
.
padding
(
EdgeInsets
(
top
:
5
,
leading
:
10
,
bottom
:
5
,
trailing
:
10
))
.
foregroundColor
(
.
black
)
}
}
.
background
(
.
white
)
}
}
}
#Preview {
MenuInformationView
(
path
:
.
constant
([]))
}
Seilassist/Sailassist/Login/LoginView.swift
View file @
b1777788
...
...
@@ -87,7 +87,12 @@ struct LoginView: View {
VStack
(
spacing
:
40
){
VStack
(
spacing
:
30
)
{
if
!
isProgressView
{
// Link("Information", destination: URL(string: HttpRequestType.SitePolicy.rawValue)!)
NavigationLink
{
InformationView
()
}
label
:
{
Text
(
"System Information"
)
}
// Link("Information", destination: URL(string: HttpRequestType.SitePolicy.rawValue)!)
Link
(
"Contact Us"
,
destination
:
URL
(
string
:
HttpRequestType
.
ContactPage
.
rawValue
)
!
)
NavigationLink
{
AboutAppView
()
...
...
Seilassist/Sailassist/Map/MapRepresentable.swift
View file @
b1777788
...
...
@@ -34,11 +34,7 @@ struct MapRepresentable: UIViewControllerRepresentable{
mapVC
.
updateOneTimeEca
(
eca
:
focusEca
.
points
)
//10秒後削除
DispatchQueue
.
main
.
asyncAfter
(
deadline
:
.
now
()
+
15.0
)
{
do
{
mapVC
.
updateOneTimeEca
(
eca
:
nil
)
}
catch
{
print
(
debug
:
"called"
)
}
mapVC
.
updateOneTimeEca
(
eca
:
nil
)
}
}
...
...
@@ -91,11 +87,35 @@ class MapViewController : UIViewController{
}
}
/**
* 自船アイコンの状態表記
*/
func
addImage
(){
do
{
if
let
image
=
UIImage
(
named
:
"ownShip"
){
try
mapView
.
mapboxMap
.
style
.
addImage
(
image
,
id
:
IconImage
.
OwnShip
.
rawValue
)
if
let
image
=
UIImage
(
named
:
"ownShip_normal"
){
try
mapView
.
mapboxMap
.
style
.
addImage
(
image
,
id
:
IconImage
.
OwnShip_Normal
.
rawValue
)
}
if
let
image
=
UIImage
(
named
:
"ownShip_alarm"
){
try
mapView
.
mapboxMap
.
style
.
addImage
(
image
,
id
:
IconImage
.
OwnShip_Alarm
.
rawValue
)
}
if
let
image
=
UIImage
(
named
:
"ownShip_caution"
){
try
mapView
.
mapboxMap
.
style
.
addImage
(
image
,
id
:
IconImage
.
OwnShip_Caution
.
rawValue
)
}
if
let
image
=
UIImage
(
named
:
"ownShip_emergency"
){
try
mapView
.
mapboxMap
.
style
.
addImage
(
image
,
id
:
IconImage
.
OwnShip_Emergency
.
rawValue
)
}
if
let
image
=
UIImage
(
named
:
"ownShip_necstemergency"
){
try
mapView
.
mapboxMap
.
style
.
addImage
(
image
,
id
:
IconImage
.
OwnShip_NeCST_Emergency
.
rawValue
)
}
if
let
image
=
UIImage
(
named
:
"ownShip_offline"
){
try
mapView
.
mapboxMap
.
style
.
addImage
(
image
,
id
:
IconImage
.
OwnShip_Offline
.
rawValue
)
}
if
let
image
=
UIImage
(
named
:
"ownShip_unknown"
){
try
mapView
.
mapboxMap
.
style
.
addImage
(
image
,
id
:
IconImage
.
OwnShip_Unknown
.
rawValue
)
}
if
let
image
=
UIImage
(
named
:
"ownShip_warning"
){
try
mapView
.
mapboxMap
.
style
.
addImage
(
image
,
id
:
IconImage
.
OwnShip_Warning
.
rawValue
)
}
if
let
image
=
UIImage
(
named
:
"swNoticeBack"
){
try
mapView
.
mapboxMap
.
style
.
addImage
(
image
,
id
:
IconImage
.
SwNoticeBack
.
rawValue
)
...
...
@@ -106,7 +126,9 @@ class MapViewController : UIViewController{
if
let
image
=
UIImage
(
named
:
"swFinishBack"
){
try
mapView
.
mapboxMap
.
style
.
addImage
(
image
,
id
:
IconImage
.
SwFinisheBack
.
rawValue
)
}
}
catch
{}
}
catch
{
print
(
debug
:
"called"
)
}
}
func
addLayers
(){
...
...
@@ -213,11 +235,34 @@ class MapViewController : UIViewController{
///自船
func
updateOwnShip
(
location
:
CLLocationCoordinate2D
,
bearing
:
Double
){
do
{
var
shipIcon
=
IconImage
.
OwnShip_Normal
.
rawValue
switch
SharingData
.
location
.
status
{
case
ShipAlert
.
Offline
:
shipIcon
=
IconImage
.
OwnShip_Offline
.
rawValue
case
ShipAlert
.
Unknown
:
shipIcon
=
IconImage
.
OwnShip_Unknown
.
rawValue
case
ShipAlert
.
Normal
:
shipIcon
=
IconImage
.
OwnShip_Normal
.
rawValue
case
ShipAlert
.
Caution
:
shipIcon
=
IconImage
.
OwnShip_Caution
.
rawValue
case
ShipAlert
.
Warrning
:
shipIcon
=
IconImage
.
OwnShip_Warning
.
rawValue
case
ShipAlert
.
Alarm
:
shipIcon
=
IconImage
.
OwnShip_Alarm
.
rawValue
case
ShipAlert
.
Emergency
:
shipIcon
=
IconImage
.
OwnShip_Emergency
.
rawValue
case
ShipAlert
.
NecstEmergency
:
shipIcon
=
IconImage
.
OwnShip_NeCST_Emergency
.
rawValue
}
var
geoJSON
=
Feature
(
geometry
:
Point
(
location
))
geoJSON
.
properties
=
[
PropertyKey
.
Bearing
.
rawValue
:
.
number
(
bearing
),
PropertyKey
.
IconImage
.
rawValue
:
.
string
(
IconImage
.
OwnShip
.
rawValue
)]
PropertyKey
.
IconImage
.
rawValue
:
.
string
(
shipIcon
)]
try
self
.
mapView
.
mapboxMap
.
style
.
updateGeoJSONSource
(
withId
:
self
.
ownShipSymbol
.
sourceId
,
geoJSON
:
.
feature
(
geoJSON
))
}
catch
{}
}
catch
{
print
(
debug
:
"called"
)
}
}
///カメラ
...
...
@@ -396,8 +441,15 @@ class MapViewController : UIViewController{
case
Text
}
enum
IconImage
:
String
,
CaseIterable
{
case
OwnShip
enum
IconImage
:
String
,
CaseIterable
{
case
OwnShip_Alarm
case
OwnShip_Caution
case
OwnShip_Emergency
case
OwnShip_NeCST_Emergency
case
OwnShip_Normal
case
OwnShip_Offline
case
OwnShip_Unknown
case
OwnShip_Warning
case
SwNoticeBack
case
SwStartBack
case
SwFinisheBack
...
...
Seilassist/Sailassist/Map/Task/View/MapTaskView.swift
View file @
b1777788
...
...
@@ -21,7 +21,6 @@ enum TaskViewMode{
}
}
struct
MapTaskView
:
View
{
@ObservedObject
var
taskViewModel
=
TaskViewModel
()
@ObservedObject
var
eca
=
SharingData
.
eca
...
...
Seilassist/Sailassist/Menu/MenuView.swift
View file @
b1777788
...
...
@@ -21,7 +21,7 @@ enum MenuPath: String, Hashable{
case
ManualInmalsatC
case
ManualInternationalVHF
case
ManualVDR
//
case Information
case
Information
case
Setting
case
GpsSelect
case
Help
...
...
@@ -53,8 +53,8 @@ enum MenuPath: String, Hashable{
"International VHF"
case
.
ManualVDR
:
"VDR"
//
case .Information:
// "
Information"
case
.
Information
:
"System
Information"
case
.
Setting
:
"Setting"
case
.
GpsSelect
:
...
...
@@ -140,11 +140,11 @@ struct MenuView: View {
MenuContentView
(
content
:
.
Manual
)
}
//
Button{
//
path.append(.Information)
//
}label: {
//
MenuContentView(content: .Information)
//
}
Button
{
path
.
append
(
.
Information
)
}
label
:
{
MenuContentView
(
content
:
.
Information
)
}
Button
{
path
.
append
(
.
Setting
)
...
...
@@ -186,9 +186,9 @@ struct MenuView: View {
if
let
htmlPath
=
Bundle
.
main
.
path
(
forResource
:
"Manual/help"
,
ofType
:
"html"
)
{
WebView
(
isLoading
:
.
constant
(
false
),
url
:
htmlPath
)
}
//
}else if goto == .Information{
// MenuInfomar
ionView(path: $path)
//
.navigationBarHidden(true)
}
else
if
goto
==
.
Information
{
MenuInformat
ionView
(
path
:
$
path
)
.
navigationBarHidden
(
true
)
}
else
{
VStack
(
spacing
:
0
)
{
MenuTitleView
(
path
:
$
path
,
title
:
goto
.
title
)
...
...
Seilassist/Sailassist/Menu/View/MenuInfo
mar
ionView.swift
→
Seilassist/Sailassist/Menu/View/MenuInfo
rmat
ionView.swift
View file @
b1777788
//
// MenuInfo
mar
ionView.swift
// MenuInfo
rmat
ionView.swift
// Sailassist
//
// Created by Mamoru Sugita on 2023/12/26.
...
...
@@ -7,25 +7,30 @@
import
SwiftUI
struct
MenuInfo
mar
ionView
:
View
{
struct
MenuInfo
rmat
ionView
:
View
{
@Binding
var
path
:
[
MenuPath
]
@ObservedObject
var
info
=
SharingData
.
information
var
body
:
some
View
{
VStack
{
//
MenuTitleView(path: $path, title: MenuPath.Information.title)
MenuTitleView
(
path
:
$
path
,
title
:
MenuPath
.
Information
.
title
)
ScrollView
{
VStack
(
spacing
:
0
){
InformationView
(
title
:
"半角文字"
,
bodyStr
:
String
(
repeating
:
halfString
,
count
:
157
))
InformationView
(
title
:
"全角文字"
,
bodyStr
:
String
(
repeating
:
halfString2
,
count
:
82
))
ForEach
(
info
.
content
.
sorted
{
$0
.
informationId
<
$1
.
informationId
},
id
:
\
.
informationId
){
info
in
InformationView
(
title
:
info
.
title
,
bodyStr
:
info
.
detail
)
}
}
.
padding
()
.
background
(
.
black
)
}
.
onAppear
(
perform
:
{
let
information
=
GetInformation
()
information
.
start
()
})
}
}
private
struct
InformationView
:
View
{
var
title
:
String
var
bodyStr
:
String
...
...
@@ -35,36 +40,31 @@ struct MenuInfomarionView: View {
HStack
{
Text
(
title
)
.
foregroundColor
(
.
white
)
Spacer
()
Button
{
isExtend
.
toggle
()
}
label
:
{
Image
(
systemName
:
isExtend
?
"
plus"
:
"min
us"
)
Image
(
systemName
:
isExtend
?
"
minus"
:
"pl
us"
)
.
foregroundColor
(
.
white
)
}
}
.
padding
()
.
background
(
.
gray
)
if
isExtend
{
Text
(
bodyStr
)
.
multilineTextAlignment
(
.
leading
)
.
padding
(
EdgeInsets
(
top
:
5
,
leading
:
10
,
bottom
:
5
,
trailing
:
10
))
.
foregroundColor
(
.
black
)
}
}
.
background
(
.
white
)
}
}
}
#Preview {
MenuInfo
mar
ionView
(
path
:
.
constant
([]))
MenuInfo
rmat
ionView
(
path
:
.
constant
([]))
}
let
halfString
=
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
let
halfString2
=
"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん"
Seilassist/Sailassist/SailassistApp.swift
View file @
b1777788
...
...
@@ -66,8 +66,9 @@ class NotificationTags: NSObject {
let
bamTag
=
"bam-"
+
shipId
let
taskAlertTag
=
"taskalert-"
+
shipId
let
sailassistTag
=
"sailassist-"
+
shipId
let
emergencyTag
=
"emergency"
+
shipId
// let chatTag = "chat-" + shipId
MSNotificationHub
.
addTags
([
routeTag
,
bamTag
,
taskAlertTag
,
sailassistTag
])
MSNotificationHub
.
addTags
([
routeTag
,
bamTag
,
taskAlertTag
,
sailassistTag
,
emergencyTag
])
}
}
}
...
...
@@ -160,15 +161,15 @@ extension AppDelegate: UNUserNotificationCenterDelegate {
let
arrCategory
=
arrAPS
[
"category"
]
as?
String
??
""
switch
arrCategory
{
case
"chat"
:
guard
let
arrAlert
=
arrAPS
[
"alert"
]
as?
[
String
:
Any
]
else
{
return
}
//
case "chat":
//
guard let arrAlert = arrAPS["alert"] as? [String: Any] else {
//
return
//
}
// let subtitle = arrAlert["subtitle"] as? String ?? "" //送信先名称
// let strTitle = arrAlert["title"] as? String ?? "" //送信内容
// let strBody = arrAlert["body"] as? String ?? "" //船名
let
message
=
GetMessage
()
message
.
start
()
//
let message = GetMessage()
//
message.start()
case
"sailassist"
:
print
(
debug
:
"sailassist"
)
let
getPushHistory
=
GetPushHistory
()
...
...
@@ -181,6 +182,10 @@ extension AppDelegate: UNUserNotificationCenterDelegate {
print
(
debug
:
"route"
)
let
getPushHistory
=
GetPushHistory
()
getPushHistory
.
start
()
case
"emergency"
:
print
(
debug
:
"emergency"
)
let
getPushHistory
=
GetPushHistory
()
getPushHistory
.
start
()
default
:
print
(
debug
:
"default"
)
}
...
...
@@ -203,15 +208,15 @@ extension AppDelegate: UNUserNotificationCenterDelegate {
let
arrCategory
=
arrAPS
[
"category"
]
as?
String
??
""
switch
arrCategory
{
case
"chat"
:
guard
let
arrAlert
=
arrAPS
[
"alert"
]
as?
[
String
:
Any
]
else
{
return
}
//
case "chat":
//
guard let arrAlert = arrAPS["alert"] as? [String: Any] else {
//
return
//
}
// let subtitle = arrAlert["subtitle"] as? String ?? "" //送信先名称
// let strTitle = arrAlert["title"] as? String ?? "" //送信内容
// let strBody = arrAlert["body"] as? String ?? "" //船名
let
message
=
GetMessage
()
message
.
start
()
//
let message = GetMessage()
//
message.start()
case
"sailassist"
:
print
(
debug
:
"sailassist"
)
let
getPushHistory
=
GetPushHistory
()
...
...
@@ -224,6 +229,10 @@ extension AppDelegate: UNUserNotificationCenterDelegate {
print
(
debug
:
"route"
)
let
getPushHistory
=
GetPushHistory
()
getPushHistory
.
start
()
case
"emergency"
:
print
(
debug
:
"emergency"
)
let
getPushHistory
=
GetPushHistory
()
getPushHistory
.
start
()
default
:
print
(
debug
:
"default"
)
}
...
...
Seilassist/Sailassist/ServerSession/GetInformation.swift
0 → 100644
View file @
b1777788
//
// GetInformation.swift
// Sailassist
//
// Created by 三浦薫巳 on 2024/02/29.
//
import
Foundation
class
GetInformation
{
var
sessionInformation
=
SessionInformation
()
func
start
()
{
print
(
debug
:
"called"
)
sessionInformation
.
RequestInformation
(
responseInformation
)
}
func
responseInformation
(
result
:
Result
<
Data
,
APIError
>
)
{
print
(
debug
:
"called"
)
switch
result
{
case
.
success
(
let
resultData
):
let
serverSession
=
ServerSession
()
let
resjson
=
serverSession
.
fromJSON
(
resultData
:
resultData
,
resltType
:
[
ResInformation
]
.
self
)
SharingData
.
information
.
content
=
[]
if
let
res
=
resjson
{
SharingData
.
information
.
content
=
res
}
case
.
failure
(
let
errorCode
):
print
(
debug
:
errorCode
)
break
}
}
}
Seilassist/Sailassist/ServerSession/SessionInformation.swift
0 → 100644
View file @
b1777788
//
// SessionInformation.swift
// Sailassist
//
// Created by 三浦薫巳 on 2024/02/29.
//
import
Foundation
import
SwiftUI
class
SessionInformation
:
ObservableObject
{
@Published
var
status
=
false
// シングルトン宣言
static
let
OnlyOne
=
SessionInformation
()
private
var
serverSession
=
ServerSession
()
private
var
Calling
:
Bool
=
false
// 通信中
/**
* System Information取得
*/
func
RequestInformation
(
_
completion
:
@escaping
((
Result
<
Data
,
APIError
>
))
->
Void
)
{
print
(
debug
:
"calld"
)
if
Calling
{
return
}
Calling
=
true
// リクエストURLの組み立て
let
url_string
:
String
=
HttpRequestType
.
Information
.
rawValue
guard
let
req_url
=
URL
(
string
:
url_string
)
else
{
Calling
=
false
return
}
serverSession
.
getJson
(
req_url
,
completion
:
completion
)
}
}
Seilassist/Sailassist/SharingData/SharingData.swift
View file @
b1777788
...
...
@@ -7,19 +7,6 @@
import
Foundation
import
CoreLocation
enum
EcaOperation
{
case
Insert
case
Delete
case
Running
case
Notice
case
Start
case
Finish
case
End
case
Incomplete
case
Change
case
Cancel
}
class
SharingData
{
static
var
my
=
My
()
...
...
@@ -41,6 +28,8 @@ class SharingData{
@Published
var
gps
:
CLLocationCoordinate2D
?
=
nil
@Published
var
server
:
CLLocationCoordinate2D
?
=
nil
@Published
var
status
:
ShipAlert
=
ShipAlert
.
Normal
@Published
var
totalRmsAlarm
:
AlertStatusType
=
AlertStatusType
.
Normal
@Published
var
speed
:
Double
=
0.0
@Published
var
course
:
Double
=
0.0
@Published
var
heading
:
Double
=
0.0
...
...
@@ -54,6 +43,56 @@ class SharingData{
}
}
func
setShipStatus
(
status
:
Int
)
->
ShipAlert
{
var
shipAlert
=
ShipAlert
.
Normal
switch
status
{
case
-
1
:
shipAlert
=
ShipAlert
.
Offline
case
0
:
shipAlert
=
ShipAlert
.
Unknown
case
1
:
shipAlert
=
ShipAlert
.
Normal
case
2
:
shipAlert
=
ShipAlert
.
Caution
case
3
:
shipAlert
=
ShipAlert
.
Warrning
case
4
:
shipAlert
=
ShipAlert
.
Alarm
case
5
:
shipAlert
=
ShipAlert
.
Emergency
case
6
:
shipAlert
=
ShipAlert
.
NecstEmergency
default
:
shipAlert
=
ShipAlert
.
Unknown
}
return
shipAlert
}
func
setTotalRmsAlarm
(
alarm
:
Int
)
->
AlertStatusType
{
var
rmsAlarm
=
AlertStatusType
.
Normal
switch
alarm
{
case
0
:
rmsAlarm
=
AlertStatusType
.
Unknown
case
1
:
rmsAlarm
=
AlertStatusType
.
Normal
case
2
:
rmsAlarm
=
AlertStatusType
.
Caution
case
3
:
rmsAlarm
=
AlertStatusType
.
Warrning
case
4
:
rmsAlarm
=
AlertStatusType
.
Alarm
case
5
:
rmsAlarm
=
AlertStatusType
.
Emergency
default
:
rmsAlarm
=
AlertStatusType
.
Unknown
}
return
rmsAlarm
}
func
reset
()
{
speed
=
0.0
course
=
0.0
...
...
@@ -77,6 +116,11 @@ class SharingData{
@Published
var
messages
:
[
ChatMessage
]
=
[]
}
static
var
information
=
Information
()
class
Information
:
ObservableObject
{
@Published
var
content
:
[
ResInformation
]
=
[]
}
/**
* Eca
*/
...
...
Seilassist/Sailassist/SharingData/StatusEnum.swift
0 → 100644
View file @
b1777788
//
// StatusEnum.swift
// Sailassist
//
// Created by 三浦薫巳 on 2024/02/28.
//
import
Foundation
enum
EcaOperation
{
case
Insert
case
Delete
case
Running
case
Notice
case
Start
case
Finish
case
End
case
Incomplete
case
Change
case
Cancel
}
enum
ShipAlert
{
case
Offline
case
Unknown
case
Normal
case
Caution
case
Warrning
case
Alarm
case
Emergency
case
NecstEmergency
}
enum
AlertStatusType
{
case
Unknown
case
Normal
case
Caution
case
Warrning
case
Alarm
case
Emergency
}
// |status|Ssv.Data.Enum.ShipAlarmStatus.cs (Offline = -1, Unknown = 0, Normal = 1, Caution = 2, Warning = 3, Alarm = 4, Emergency = 5, NecstEmergency = 6)|
// |totalRmsAlarm|Ssv.Data.Enum.AlertStatusType.cs (Unknown = 0, Normal = 1, Caution = 2, Warning = 3, Alarm = 4, Emergency = 5)|
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