Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
galaxy-iOS
Project
Project
Details
Activity
Releases
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
mobile-group
galaxy-iOS
Commits
550eeaa9
Commit
550eeaa9
authored
Dec 04, 2024
by
Steven杜宇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
// AI
parent
688401e5
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
41 additions
and
27 deletions
+41
-27
YHAIRequestManager.swift
...s/Modules/AI/AI-Dialogue(AI对话)/C/YHAIRequestManager.swift
+32
-11
YHAIRobotChatViewController.swift
.../AI/AI-Dialogue(AI对话)/C/YHAIRobotChatViewController.swift
+2
-3
YHAIServiceListViewController.swift
...I/AI-Dialogue(AI对话)/C/YHAIServiceListViewController.swift
+1
-4
YHAIViewModel.swift
...lasses/Modules/AI/AI-Dialogue(AI对话)/M/YHAIViewModel.swift
+6
-9
No files found.
galaxy/galaxy/Classes/Modules/AI/AI-Dialogue(AI对话)/C/YHAIRequestManager.swift
View file @
550eeaa9
...
@@ -14,6 +14,8 @@ class YHAIRequestManager: NSObject {
...
@@ -14,6 +14,8 @@ class YHAIRequestManager: NSObject {
static
let
sessionKey
=
"YINHE_SESSION_KEY"
static
let
sessionKey
=
"YINHE_SESSION_KEY"
static
let
subrobotConversationConfigKey
=
"subrobot_conversation_config_key"
var
sessionId
:
String
=
""
var
sessionId
:
String
=
""
let
prefix_id
=
"id:"
let
prefix_id
=
"id:"
...
@@ -240,29 +242,48 @@ extension YHAIRequestManager {
...
@@ -240,29 +242,48 @@ extension YHAIRequestManager {
completion
?(
sessionId
)
completion
?(
sessionId
)
return
return
}
}
self
.
viewModel
.
requestConversationId
{
success
,
error
in
self
.
viewModel
.
requestConversationId
{
sessionId
in
let
sessionId
=
self
.
viewModel
.
sessionId
self
.
saveGlobalConverastionId
(
sessionId
)
self
.
saveGlobalConverastionId
(
sessionId
)
completion
?(
se
lf
.
viewModel
.
se
ssionId
)
completion
?(
sessionId
)
}
}
}
}
func
saveGlobalConverastionId
(
_
conversationId
:
String
)
{
func
saveGlobalConverastionId
(
_
conversationId
:
String
)
{
UserDefaults
.
standard
.
set
(
conversationId
,
forKey
:
YHAIRequestManager
.
sessionKey
)
let
userId
=
YHLoginManager
.
shared
.
userModel
?
.
id
??
""
UserDefaults
.
standard
.
synchronize
()
let
key
=
Self
.
sessionKey
+
userId
}
UserDefaults
.
standard
.
set
(
conversationId
,
forKey
:
key
)
func
clearGlobalConversationId
()
{
UserDefaults
.
standard
.
set
(
nil
,
forKey
:
YHAIRequestManager
.
sessionKey
)
UserDefaults
.
standard
.
synchronize
()
UserDefaults
.
standard
.
synchronize
()
}
}
func
getLocalGlobalConverastionId
()
->
String
{
func
getLocalGlobalConverastionId
()
->
String
{
if
let
sessionId
=
UserDefaults
.
standard
.
value
(
forKey
:
YHAIRequestManager
.
sessionKey
)
as?
String
,
!
sessionId
.
isEmpty
{
let
userId
=
YHLoginManager
.
shared
.
userModel
?
.
id
??
""
let
key
=
Self
.
sessionKey
+
userId
if
let
sessionId
=
UserDefaults
.
standard
.
value
(
forKey
:
key
)
as?
String
,
!
sessionId
.
isEmpty
{
return
sessionId
return
sessionId
}
}
return
""
return
""
}
}
func
getSubRobotChatConversationId
(
robotId
:
String
,
completion
:((
String
)
->
())?)
{
let
userId
=
YHLoginManager
.
shared
.
userModel
?
.
id
??
""
let
key
=
Self
.
subrobotConversationConfigKey
+
userId
var
dict
:[
String
:
Any
]
=
[:]
if
let
config
=
UserDefaults
.
standard
.
dictionary
(
forKey
:
key
)
{
dict
=
config
}
if
let
conversationId
=
dict
[
"
\(
robotId
)
"
]
as?
String
,
!
conversationId
.
isEmpty
{
completion
?(
conversationId
)
return
}
self
.
viewModel
.
requestConversationId
{
sessionId
in
dict
[
"
\(
robotId
)
"
]
=
sessionId
UserDefaults
.
standard
.
set
(
dict
,
forKey
:
key
)
UserDefaults
.
standard
.
synchronize
()
completion
?(
sessionId
)
}
}
}
}
galaxy/galaxy/Classes/Modules/AI/AI-Dialogue(AI对话)/C/YHAIRobotChatViewController.swift
View file @
550eeaa9
...
@@ -206,9 +206,8 @@ class YHAIRobotChatViewController: YHBaseViewController {
...
@@ -206,9 +206,8 @@ class YHAIRobotChatViewController: YHBaseViewController {
@objc
func
didCleanButtonClicked
()
{
@objc
func
didCleanButtonClicked
()
{
self
.
viewModel
.
requestConversationId
{
success
,
error
in
self
.
viewModel
.
requestConversationId
{
sessionId
in
if
success
{
if
!
sessionId
.
isEmpty
{
let
sessionId
=
self
.
viewModel
.
sessionId
self
.
conversationId
=
sessionId
self
.
conversationId
=
sessionId
self
.
manager
.
saveGlobalConverastionId
(
sessionId
)
self
.
manager
.
saveGlobalConverastionId
(
sessionId
)
self
.
messages
.
removeAll
()
self
.
messages
.
removeAll
()
...
...
galaxy/galaxy/Classes/Modules/AI/AI-Dialogue(AI对话)/C/YHAIServiceListViewController.swift
View file @
550eeaa9
...
@@ -140,16 +140,13 @@ extension YHAIServiceListViewController: UICollectionViewDelegate, UICollectionV
...
@@ -140,16 +140,13 @@ extension YHAIServiceListViewController: UICollectionViewDelegate, UICollectionV
func
collectionView
(
_
collectionView
:
UICollectionView
,
didSelectItemAt
indexPath
:
IndexPath
)
{
func
collectionView
(
_
collectionView
:
UICollectionView
,
didSelectItemAt
indexPath
:
IndexPath
)
{
if
0
<=
indexPath
.
item
&&
indexPath
.
item
<
serviceArr
.
count
{
if
0
<=
indexPath
.
item
&&
indexPath
.
item
<
serviceArr
.
count
{
let
model
=
serviceArr
[
indexPath
.
item
]
let
model
=
serviceArr
[
indexPath
.
item
]
YHHUD
.
show
(
.
progress
(
message
:
"加载中..."
))
self
.
manager
.
getSubRobotChatConversationId
(
robotId
:
model
.
botId
)
{
self
.
manager
.
getMainChatConversationId
{
sesseionId
in
sesseionId
in
YHHUD
.
hide
()
let
vc
=
YHAIRobotChatViewController
()
let
vc
=
YHAIRobotChatViewController
()
vc
.
robotId
=
model
.
botId
vc
.
robotId
=
model
.
botId
vc
.
conversationId
=
sesseionId
vc
.
conversationId
=
sesseionId
self
.
navigationController
?
.
pushViewController
(
vc
,
animated
:
true
)
self
.
navigationController
?
.
pushViewController
(
vc
,
animated
:
true
)
}
}
}
}
}
}
...
...
galaxy/galaxy/Classes/Modules/AI/AI-Dialogue(AI对话)/M/YHAIViewModel.swift
View file @
550eeaa9
...
@@ -13,7 +13,6 @@ import UIKit
...
@@ -13,7 +13,6 @@ import UIKit
class
YHAIViewModel
:
NSObject
{
class
YHAIViewModel
:
NSObject
{
var
listModel
:
YHAIListModel
=
YHAIListModel
()
var
listModel
:
YHAIListModel
=
YHAIListModel
()
var
sessionId
:
String
=
""
var
historyMessages
:
[
YHAIHistoryMessage
]
=
[]
var
historyMessages
:
[
YHAIHistoryMessage
]
=
[]
var
lastHistroyMsgId
:
String
=
""
var
lastHistroyMsgId
:
String
=
""
...
@@ -44,31 +43,29 @@ class YHAIViewModel: NSObject {
...
@@ -44,31 +43,29 @@ class YHAIViewModel: NSObject {
}
}
}
}
func
requestConversationId
(
callBackBlock
:
@escaping
(
_
s
uccess
:
Bool
,
_
error
:
YHErrorModel
?
)
->
())
{
func
requestConversationId
(
callBackBlock
:
@escaping
(
_
s
essionId
:
String
)
->
())
{
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
AIChat
.
getAIChatSessionId
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
AIChat
.
getAIChatSessionId
let
_
=
YHNetRequest
.
getRequest
(
url
:
strUrl
)
{
[
weak
self
]
json
,
code
in
let
_
=
YHNetRequest
.
getRequest
(
url
:
strUrl
)
{
json
,
code
in
//1. json字符串 转 对象
//1. json字符串 转 对象
guard
let
self
=
self
else
{
return
}
printLog
(
"model 是 ==>
\(
json
)
"
)
printLog
(
"model 是 ==>
\(
json
)
"
)
if
json
.
code
==
200
{
if
json
.
code
==
200
{
guard
let
dic
=
json
.
data
?
.
peel
as?
[
String
:
Any
],
let
sessionId
=
dic
[
"conversationId"
]
as?
String
else
{
guard
let
dic
=
json
.
data
?
.
peel
as?
[
String
:
Any
],
let
sessionId
=
dic
[
"conversationId"
]
as?
String
else
{
let
err
=
YHErrorModel
(
errorCode
:
YHErrorCode
.
dictParseError
.
rawValue
,
errorMsg
:
YHErrorCode
.
dictParseError
.
description
())
let
err
=
YHErrorModel
(
errorCode
:
YHErrorCode
.
dictParseError
.
rawValue
,
errorMsg
:
YHErrorCode
.
dictParseError
.
description
())
callBackBlock
(
false
,
err
)
callBackBlock
(
""
)
return
return
}
}
self
.
sessionId
=
sessionId
callBackBlock
(
sessionId
)
callBackBlock
(
true
,
nil
)
}
else
{
}
else
{
let
err
=
YHErrorModel
(
errorCode
:
Int32
(
json
.
code
),
errorMsg
:
json
.
msg
.
isEmpty
?
""
:
json
.
msg
)
let
err
=
YHErrorModel
(
errorCode
:
Int32
(
json
.
code
),
errorMsg
:
json
.
msg
.
isEmpty
?
""
:
json
.
msg
)
callBackBlock
(
false
,
err
)
callBackBlock
(
""
)
}
}
}
failBlock
:
{
err
in
}
failBlock
:
{
err
in
callBackBlock
(
false
,
err
)
callBackBlock
(
""
)
}
}
}
}
...
...
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