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
eb4a0456
Commit
eb4a0456
authored
Jan 06, 2024
by
shigemi miura
Browse files
Options
Browse Files
Download
Plain Diff
Merge develop into trial-chat
parents
883a1faf
2c57de18
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
126 additions
and
95 deletions
+126
-95
project.pbxproj
Seilassist/Sailassist.xcodeproj/project.pbxproj
+12
-0
ChatView.swift
Seilassist/Sailassist/Chat/ChatView.swift
+1
-1
GetMessage.swift
Seilassist/Sailassist/Chat/GetMessage.swift
+3
-6
ChatInputView.swift
Seilassist/Sailassist/Chat/View/ChatInputView.swift
+4
-1
ReqAckMessage.swift
Seilassist/Sailassist/Json/ReqAckMessage.swift
+1
-1
ReqChatModeMessage.swift
Seilassist/Sailassist/Json/ReqChatModeMessage.swift
+1
-1
ReqMessage.swift
Seilassist/Sailassist/Json/ReqMessage.swift
+2
-2
ResAckMessage.swift
Seilassist/Sailassist/Json/ResAckMessage.swift
+16
-0
ResChatMessage.swift
Seilassist/Sailassist/Json/ResChatMessage.swift
+20
-0
ResChatMode.swift
Seilassist/Sailassist/Json/ResChatMode.swift
+16
-0
ResGetMessages.swift
Seilassist/Sailassist/Json/ResGetMessages.swift
+10
-2
GetManualUrl.swift
Seilassist/Sailassist/Menu/GetManualUrl.swift
+0
-1
SailassistApp.swift
Seilassist/Sailassist/SailassistApp.swift
+5
-4
SharingData.swift
Seilassist/Sailassist/SharingData/SharingData.swift
+1
-44
SignalRService.swift
Seilassist/Sailassist/SignalR/SignalRService.swift
+34
-32
No files found.
Seilassist/Sailassist.xcodeproj/project.pbxproj
View file @
eb4a0456
...
...
@@ -121,6 +121,9 @@
D5E008762B2ADD5900C4070A
/* MenuManualRADARView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D5E008752B2ADD5900C4070A
/* MenuManualRADARView.swift */
;
};
D5E008782B2B022200C4070A
/* MenuAboutAppView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D5E008772B2B022200C4070A
/* MenuAboutAppView.swift */
;
};
D5E03A672B04484D00D65FCE
/* SessionTaskList.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D5E03A662B04484D00D65FCE
/* SessionTaskList.swift */
;
};
D5FCEF552B478985009A81D0
/* ResChatMessage.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D5FCEF542B478985009A81D0
/* ResChatMessage.swift */
;
};
D5FCEF572B4789A8009A81D0
/* ResAckMessage.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D5FCEF562B4789A8009A81D0
/* ResAckMessage.swift */
;
};
D5FCEF592B4789D2009A81D0
/* ResChatMode.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D5FCEF582B4789D2009A81D0
/* ResChatMode.swift */
;
};
D6BEB5D3598C619546873CFC
/* Pods_Sailassist.framework in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
3C8118E85BA516EF0E884AA5
/* Pods_Sailassist.framework */
;
};
/* End PBXBuildFile section */
...
...
@@ -281,6 +284,9 @@
D5E008752B2ADD5900C4070A
/* MenuManualRADARView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
MenuManualRADARView.swift
;
path
=
Sailassist/Menu/View/MenuManualRADARView.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D5E008772B2B022200C4070A
/* MenuAboutAppView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
MenuAboutAppView.swift
;
path
=
Sailassist/Menu/View/MenuAboutAppView.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D5E03A662B04484D00D65FCE
/* SessionTaskList.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
SessionTaskList.swift
;
path
=
Sailassist/ServerSession/SessionTaskList.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D5FCEF542B478985009A81D0
/* ResChatMessage.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
ResChatMessage.swift
;
path
=
Sailassist/Json/ResChatMessage.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D5FCEF562B4789A8009A81D0
/* ResAckMessage.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
ResAckMessage.swift
;
path
=
Sailassist/Json/ResAckMessage.swift
;
sourceTree
=
SOURCE_ROOT
;
};
D5FCEF582B4789D2009A81D0
/* ResChatMode.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
name
=
ResChatMode.swift
;
path
=
Sailassist/Json/ResChatMode.swift
;
sourceTree
=
SOURCE_ROOT
;
};
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
...
...
@@ -742,6 +748,9 @@
D592D5282B0F198100B91A1C
/* ReqChatModeMessage.swift */
,
D59908C52B19EA70000E13DD
/* ResPushHistory.swift */
,
025F99732B2C125900C9A18A
/* ResGetManualUrl.swift */
,
D5FCEF542B478985009A81D0
/* ResChatMessage.swift */
,
D5FCEF562B4789A8009A81D0
/* ResAckMessage.swift */
,
D5FCEF582B4789D2009A81D0
/* ResChatMode.swift */
,
);
path
=
Json
;
sourceTree
=
"<group>"
;
...
...
@@ -964,6 +973,7 @@
02CD06952AE895F5005F8D8F
/* APIError.swift in Sources */
,
D5B803282B3B988E003B32AD
/* AppVersionModel.swift in Sources */
,
D592D5232B0F14FE00B91A1C
/* SessionUploadImage.swift in Sources */
,
D5FCEF552B478985009A81D0
/* ResChatMessage.swift in Sources */
,
022A98202AF8B8960079C55A
/* LocationCalculation.swift in Sources */
,
D5258CA72B03988600365276
/* ReqTaskList.swift in Sources */
,
D5CB6F9B2B021C4F00EC2010
/* LocationViewModel.swift in Sources */
,
...
...
@@ -976,6 +986,7 @@
D5AE351D2AEBA6FC00059889
/* SessionLogin.swift in Sources */
,
D5258C9F2B03527400365276
/* ResGetMessages.swift in Sources */
,
D55135242B15C3BF007B66B1
/* DeleteEcaArea.swift in Sources */
,
D5FCEF592B4789D2009A81D0
/* ResChatMode.swift in Sources */
,
024EDE1B2B0C41E40013BAC8
/* MenuSettingView.swift in Sources */
,
020B98552AD924930029DE4C
/* QrCodeScannerView.swift in Sources */
,
02CE4D7F2ADE42A9002E79BC
/* MenuContentView.swift in Sources */
,
...
...
@@ -1012,6 +1023,7 @@
025C27FE2B0206D700BADC49
/* PDFDownloadManager.swift in Sources */
,
D59908CA2B1AC381000E13DD
/* GetPushHistory.swift in Sources */
,
D54D174B2B35137A00A0EAA5
/* LocalWebView.swift in Sources */
,
D5FCEF572B4789A8009A81D0
/* ResAckMessage.swift in Sources */
,
025C27FC2AFE191A00BADC49
/* MenuManualView.swift in Sources */
,
D58E1F502B142A260092D8FE
/* EcaArea.swift in Sources */
,
020B98592AD92A4C0029DE4C
/* MainTabView.swift in Sources */
,
...
...
Seilassist/Sailassist/Chat/ChatView.swift
View file @
eb4a0456
...
...
@@ -26,7 +26,7 @@ struct ChatView: View {
.
frame
(
height
:
20
)
ForEach
(
message
.
messages
,
id
:
\
.
messageId
)
{
msg
in
if
msg
.
fromId
!
=
String
(
SharingData
.
my
.
id
){
if
msg
.
fromId
=
=
String
(
SharingData
.
my
.
id
){
//自分のメッセージ
MyChatContentView
(
message
:
msg
)
.
padding
(
.
bottom
,
24
)
...
...
Seilassist/Sailassist/Chat/GetMessage.swift
View file @
eb4a0456
...
...
@@ -12,12 +12,8 @@ class GetMessage {
func
start
()
{
print
(
debug
:
"called"
)
sessionGetMessage
.
RequestGetMessage
(
responseGetMessage
)
}
private
func
responseGetMessage
(
result
:
Result
<
Data
,
APIError
>
)
{
print
(
debug
:
"called"
)
switch
result
{
sessionGetMessage
.
RequestGetMessage
{
response
in
switch
response
{
case
.
success
(
let
resultData
):
let
serverSession
=
ServerSession
()
let
resjson
=
serverSession
.
fromJSON
(
resultData
:
resultData
,
resltType
:
ResGetMessages
.
self
)
...
...
@@ -33,5 +29,6 @@ class GetMessage {
break
}
}
}
}
Seilassist/Sailassist/Chat/View/ChatInputView.swift
View file @
eb4a0456
...
...
@@ -9,8 +9,10 @@ import SwiftUI
struct
ChatInputView
:
View
{
@EnvironmentObject
private
var
sceneDelegate
:
SceneDelegate
@EnvironmentObject
var
signalRService
:
SignalRService
@State
var
inputText
=
""
@FocusState
var
isKeyboard
:
Bool
var
body
:
some
View
{
VStack
(
spacing
:
0
){
Spacer
()
...
...
@@ -31,7 +33,8 @@ struct ChatInputView: View {
Button
{
isKeyboard
=
false
signalRService
.
chatMessage
(
message
:
inputText
)
inputText
=
""
}
label
:
{
Image
(
"send"
)
.
resizable
()
...
...
Seilassist/Sailassist/Json/ReqAckMessage.swift
View file @
eb4a0456
...
...
@@ -12,7 +12,7 @@ struct ReqAckMessage : Codable {
var
messageId
:
String
=
""
//確認したMessageId
var
time
:
String
=
""
//投稿日時 2023-11-02T05:25:49.4362123Z
var
location
:
Int
=
0
//1:Shore / 2:Ship
var
fromeId
:
String
=
""
//ユーザーID
var
fromeId
:
Int
=
0
//ユーザーID
init
(
shipId
:
Int
,
messageId
:
String
)
{
self
.
shipId
=
shipId
...
...
Seilassist/Sailassist/Json/ReqChatModeMessage.swift
View file @
eb4a0456
...
...
@@ -15,7 +15,7 @@ struct ReqChatModeMessage : Codable {
var
shipId
:
Int
=
0
var
time
:
String
=
""
//投稿日時 2023-11-02T05:25:49.4362123Z
var
location
:
Int
=
0
//1:Shore / 2:Ship
var
fromeId
:
String
=
""
//ユーザーID
var
fromeId
:
Int
=
0
//ユーザーID
var
mode
:
Int
=
0
//0:通常 / 1:Warning中
init
(
shipId
:
Int
)
{
...
...
Seilassist/Sailassist/Json/ReqMessage.swift
View file @
eb4a0456
...
...
@@ -14,9 +14,9 @@ struct ReqMessage : Codable {
var
time
:
String
=
""
//2023-11-02T05:25:49.4362123Z
var
location
:
Int
=
0
//1:Shore / 2:Ship
var
from
:
String
=
""
//投稿者名
var
fromeId
:
String
=
""
//ユーザーID
var
fromeId
:
Int
=
0
//ユーザーID
var
message
:
String
=
""
//テキスト
var
stampId
:
Int
=
0
//スタンプ番号 0:Fire〜
var
stampId
:
Int
?
//スタンプ番号 0:Fire〜
init
(
shipId
:
Int
,
messageId
:
String
)
{
self
.
shipId
=
shipId
...
...
Seilassist/Sailassist/Json/ResAckMessage.swift
0 → 100644
View file @
eb4a0456
//
// ResAckMessage.swift
// Sailassist
//
// Created by 三浦薫巳 on 2024/01/05.
//
import
Foundation
struct
ResAckMessage
:
Codable
{
var
shipId
:
Int
var
messageId
:
Int
//UUID
var
time
:
String
//投稿日時
var
location
:
Int
//1:Shore、2:Ship
var
fromId
:
Int
//ユーザーID
}
Seilassist/Sailassist/Json/ResChatMessage.swift
0 → 100644
View file @
eb4a0456
//
// ResChatMessage.swift
// Sailassist
//
// Created by 三浦薫巳 on 2024/01/05.
//
import
Foundation
struct
ResChatMessage
:
Codable
{
var
shipId
:
Int
var
messageId
:
Int
//UUID
var
type
:
Int
//0:テキスト、1:スタンプ
var
time
:
String
//投稿日時
var
location
:
Int
//1:Shore、2:Ship
var
from
:
String
//投稿者名
var
fromId
:
Int
//ユーザーID
var
message
:
String
//テキスト
var
stampId
:
Int
//スタンプ番号
}
Seilassist/Sailassist/Json/ResChatMode.swift
0 → 100644
View file @
eb4a0456
//
// ResChatMode.swift
// Sailassist
//
// Created by 三浦薫巳 on 2024/01/05.
//
import
Foundation
struct
ResChatMode
:
Codable
{
var
shipId
:
Int
var
time
:
String
//投稿日時
var
location
:
Int
//1:Shore、2:Ship
var
fromId
:
Int
//ユーザーID
var
mode
:
Int
//0:通常、1:Warning中
}
Seilassist/Sailassist/Json/ResGetMessages.swift
View file @
eb4a0456
...
...
@@ -10,16 +10,17 @@ import Foundation
struct
ResGetMessages
:
Codable
{
var
mode
:
Int
// 0:通常 , 1:Warning中
var
messages
:
[
ChatMessage
]?
var
users
:
[
ChatUser
]?
}
struct
ChatMessage
:
Codable
{
var
shipId
:
U
Int
var
shipId
:
Int
var
messageId
:
String
//各メッセージ固有ID
var
type
:
Int
//0:テキスト , 1:スタンプ , 2:画像
var
time
:
String
//投稿日時
var
location
:
Int
//1:Shore , 2:Ship
var
from
:
String
//投稿者名
var
fromId
:
String
//ユーザーID
var
fromId
:
String
?
//ユーザーID
var
message
:
String
//テキスト時:テキスト , 画像時:サムネイルのUri
var
stampId
:
Int
//スタンプ番号 0:Fire~
var
viewer
:
[
Viewer
]
//閲覧者情報
...
...
@@ -30,3 +31,10 @@ struct Viewer: Codable {
var
location
:
Int
//1:Shore , 2:Ship
var
id
:
String
//ユーザーID
}
struct
ChatUser
:
Codable
{
var
time
:
String
//最終アクセス日時
var
location
:
Int
//1:Shore , 2:Ship
var
id
:
String
//ログイン時のデバイスID
var
name
:
String
//ユーザー名
}
Seilassist/Sailassist/Menu/GetManualUrl.swift
View file @
eb4a0456
...
...
@@ -13,7 +13,6 @@ class GetManualUrl {
func
start
()
{
print
(
debug
:
"called"
)
sessionGetManualUrl
.
getManualUrl
{
response
in
print
(
debug
:
"called"
)
switch
response
{
case
.
success
(
let
resultData
):
print
(
debug
:
String
(
data
:
resultData
,
encoding
:
.
utf8
)
as
Any
)
...
...
Seilassist/Sailassist/SailassistApp.swift
View file @
eb4a0456
...
...
@@ -53,6 +53,7 @@ struct SailassistApp: App {
}
else
{
ContentView
()
.
environmentObject
(
locationViewModel
)
.
environmentObject
(
signalRService
)
}
}
}
...
...
@@ -67,8 +68,8 @@ class NotificationTags: NSObject {
let
bamTag
=
"bam-"
+
shipId
let
taskAlertTag
=
"taskalert-"
+
shipId
let
sailassistTag
=
"sailassist-"
+
shipId
//
let chatTag = "chat-" + shipId
MSNotificationHub
.
addTags
([
routeTag
,
bamTag
,
taskAlertTag
,
sailassistTag
])
let
chatTag
=
"chat-"
+
shipId
MSNotificationHub
.
addTags
([
routeTag
,
bamTag
,
taskAlertTag
,
sailassistTag
,
chatTag
])
}
}
}
...
...
@@ -120,8 +121,8 @@ class AppDelegate: NSObject, UIApplicationDelegate ,MSNotificationHubDelegate, M
// Push通知を受信した時(サイレントプッシュ)
func
notificationHub
(
_
notificationHub
:
MSNotificationHub
,
didReceivePushNotification
notification
:
MSNotificationHubMessage
)
{
// let title = notification.title ?? ""
// let body = notification.body ?? ""
// let title = notification.title ?? ""
// let body = notification.body ?? ""
let
userInfo
=
notification
.
userInfo
print
(
debug
:
"called
\(
String
(
describing
:
userInfo
)
)
"
)
...
...
Seilassist/Sailassist/SharingData/SharingData.swift
View file @
eb4a0456
...
...
@@ -74,50 +74,7 @@ class SharingData{
static
var
message
=
Message
()
class
Message
:
ObservableObject
{
@Published
var
mode
:
Int
=
0
// 0:通常 , 1:Warning中
@Published
var
messages
:
[
ChatMessage
]
=
[
ChatMessage
(
shipId
:
10000003
,
messageId
:
"92c2dfb5-f5ed-4943-98a3-9848d7f9a962"
,
type
:
0
,
time
:
"2023-10-06T01:51:01.872Z"
,
location
:
1
,
from
:
"はだだ"
,
fromId
:
"487420489"
,
message
:
"999"
,
stampId
:
0
,
viewer
:
[
Viewer
(
time
:
"2023-10-06T01:51:12.973Z"
,
location
:
1
,
id
:
""
),
Viewer
(
time
:
"2023-10-06T01:51:12.973Z"
,
location
:
2
,
id
:
""
)
]
),
ChatMessage
(
shipId
:
10000001
,
messageId
:
"92c2dfb5-f5ed-4943-98a3-a848d7f9a962"
,
type
:
0
,
time
:
"2023-10-06T01:51:01.872Z"
,
location
:
1
,
from
:
"はだだ"
,
fromId
:
"487420489"
,
message
:
"999"
,
stampId
:
0
,
viewer
:
[
Viewer
(
time
:
"2023-10-06T01:51:12.973Z"
,
location
:
1
,
id
:
""
),
Viewer
(
time
:
"2023-10-06T01:51:12.973Z"
,
location
:
2
,
id
:
""
)
]
),
]
@Published
var
messages
:
[
ChatMessage
]
=
[]
}
/**
...
...
Seilassist/Sailassist/SignalR/SignalRService.swift
View file @
eb4a0456
...
...
@@ -8,42 +8,44 @@
import
Foundation
import
SwiftSignalRClient
public
class
SignalRService
{
class
SignalRService
:
ObservableObject
{
private
var
connection
:
HubConnection
private
var
hubConnectionDelegate
:
HubConnectionDelegate
?
public
init
()
{
// hubConnectionDelegate = ChatHubConnectionDelegate(app
: self)
// hubConnectionDelegate = ChatHubConnectionDelegate(controller
: self)
hubConnectionDelegate
=
ChatHubConnectionDelegate
()
connection
=
HubConnectionBuilder
(
url
:
URL
(
string
:
HttpRequestType
.
SignalR
.
rawValue
)
!
)
.
withHubConnectionDelegate
(
delegate
:
hubConnectionDelegate
!
)
.
withAutoReconnect
()
.
withLogging
(
minLogLevel
:
.
error
)
.
build
()
.
withLogging
(
minLogLevel
:
.
error
)
.
withHubConnectionOptions
(
configureHubConnectionOptions
:
{
options
in
options
.
keepAliveInterval
=
20
})
.
build
()
connection
.
on
(
method
:
"chatMessage"
,
callback
:
{
(
shipId
:
Int
,
messageId
:
Int
,
type
:
Int
,
time
:
String
,
location
:
Int
,
from
:
String
,
fromeId
:
Int
,
message
:
String
)
in
self
.
handleChatMessage
(
message
,
from
:
from
)
connection
.
on
(
method
:
"chatMessage"
,
callback
:
{
(
message
:
ResChatMessage
)
in
self
.
handleChatMessage
(
message
:
message
)
})
connection
.
on
(
method
:
"ackMessage"
,
callback
:
{
(
shipId
:
Int
,
time
:
String
,
location
:
Int
,
fromId
:
Int
,
mode
:
Int
)
in
self
.
handleAckMessage
(
tim
e
)
connection
.
on
(
method
:
"ackMessage"
,
callback
:
{
(
message
:
ResAckMessage
)
in
self
.
handleAckMessage
(
message
:
messag
e
)
})
connection
.
on
(
method
:
"chatMode"
,
callback
:
{
(
shipId
:
Int
,
time
:
String
,
location
:
Int
,
fromId
:
String
,
mode
:
Int
)
in
self
.
handleChatMessage
(
fromId
)
connection
.
on
(
method
:
"chatMode"
,
callback
:
{
(
message
:
ResChatMode
)
in
self
.
handleChatMessage
(
message
:
message
)
})
connection
.
start
()
}
private
func
handleChatMessage
(
_
message
:
String
,
from
user
:
String
)
{
private
func
handleChatMessage
(
message
:
ResChatMessage
)
{
print
(
debug
:
"called"
)
}
private
func
handleAckMessage
(
_
time
:
String
)
{
private
func
handleAckMessage
(
message
:
ResAckMessage
)
{
print
(
debug
:
"called"
)
}
private
func
handleChatMessage
(
_
fromId
:
String
)
{
private
func
handleChatMessage
(
message
:
ResChatMode
)
{
print
(
debug
:
"called"
)
}
...
...
@@ -52,18 +54,18 @@ public class SignalRService {
}
//呼び出す
func
chatMessage
(
_
message
:
String
)
{
var
request
=
ReqMessage
(
shipId
:
Preferences
.
shipId
,
messageId
:
"aaaa"
)
func
chatMessage
(
message
:
String
)
{
var
request
=
ReqMessage
(
shipId
:
Preferences
.
shipId
,
messageId
:
UUID
()
.
uuidString
)
request
.
type
=
0
//0:テキスト, 1:スタンプ
// request.time = DateTextLib.Date2ISO8601Text(date:
Date())
request
.
time
=
DateTextLib
.
Date2ISO8601Text
(
Date
())
request
.
location
=
2
//1:Shore , 2:Ship
request
.
from
=
Preferences
.
UserName
//投稿者名
// request.fromeId = SharingData.my.shipName
//ユーザーID
request
.
fromeId
=
SharingData
.
my
.
id
//ユーザーID
request
.
message
=
message
//テキスト
// request.stampId = //スタンプ番号 0:Fire~
if
message
!=
""
{
connection
.
invoke
(
method
:
"
ChatMessage"
,
message
)
{
error
in
connection
.
invoke
(
method
:
"
chatMessage"
,
request
)
{
error
in
if
let
e
=
error
{
print
(
debug
:
"Error:
\(
e
)
"
)
}
...
...
@@ -71,13 +73,13 @@ public class SignalRService {
}
}
func
ackMessage
(
_
message
:
String
)
{
var
request
=
ReqAckMessage
(
shipId
:
Preferences
.
shipId
,
messageId
:
"aaaa"
)
//request.time = DateTextLib.Date2ISO8601Text(date:
Date())
func
ackMessage
(
messageId
:
String
)
{
var
request
=
ReqAckMessage
(
shipId
:
Preferences
.
shipId
,
messageId
:
messageId
)
request
.
time
=
DateTextLib
.
Date2ISO8601Text
(
Date
())
request
.
location
=
2
//1:Shore , 2:Ship
// request.fromeId = SharingData.my.shipName
//ユーザーID
if
message
!=
""
{
connection
.
invoke
(
method
:
"
A
ckMessage"
,
request
)
{
error
in
request
.
fromeId
=
SharingData
.
my
.
id
//ユーザーID
if
message
Id
!=
""
{
connection
.
invoke
(
method
:
"
a
ckMessage"
,
request
)
{
error
in
if
let
e
=
error
{
print
(
debug
:
"Error:
\(
e
)
"
)
}
...
...
@@ -85,20 +87,18 @@ public class SignalRService {
}
}
func
chatMode
(
_
message
:
String
)
{
func
chatMode
()
{
var
request
=
ReqChatModeMessage
(
shipId
:
Preferences
.
shipId
)
// request.time = DateTextLib.Date2ISO8601Text(date:
Date())
request
.
time
=
DateTextLib
.
Date2ISO8601Text
(
Date
())
request
.
location
=
2
//1:Shore , 2:Ship
// request.fromeId = SharingData.my.shipName
//ユーザーID
request
.
fromeId
=
SharingData
.
my
.
id
//ユーザーID
request
.
mode
=
0
//0:通常 / 1:Warning中
if
message
!=
""
{
connection
.
invoke
(
method
:
"ChatMode"
,
message
)
{
error
in
connection
.
invoke
(
method
:
"chatMode"
,
request
)
{
error
in
if
let
e
=
error
{
print
(
debug
:
"Error:
\(
e
)
"
)
}
}
}
}
// func chatMode2(_ message: String) {
// connection.send(method: "Broadcast", "Playground user", "Testing send") { error in
...
...
@@ -110,20 +110,22 @@ public class SignalRService {
}
class
ChatHubConnectionDelegate
:
HubConnectionDelegate
{
// weak var app:
AppDelegat
e?
// weak var app:
SignalRServic
e?
//
// init(app:
AppDelegat
e) {
// init(app:
SignalRServic
e) {
// self.app = app
// }
//接続が正常に開始されたときに発生
func
connectionDidOpen
(
hubConnection
:
HubConnection
)
{
print
(
"connectionDidOpen"
)
// After connection established call registerUserInServer method
DispatchQueue
.
main
.
async
{
//
self.registerUserInServer()
//
self.registerUserInServer()
}
}
//接続を正常に開始できなかったときに発生
func
connectionDidFailToOpen
(
error
:
Error
)
{
print
(
"connectionDidFailToOpen"
)
}
...
...
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