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
2b46bfd3
Commit
2b46bfd3
authored
Nov 29, 2024
by
Steven杜宇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
// 对话
parent
cadadf54
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
156 additions
and
88 deletions
+156
-88
project.pbxproj
galaxy/galaxy.xcodeproj/project.pbxproj
+12
-4
YHAIChatConfiguration.swift
...odules/AI/AI-Dialogue(AI对话)/C/YHAIChatConfiguration.swift
+101
-0
YHAIMainChatViewController.swift
...s/AI/AI-Dialogue(AI对话)/C/YHAIMainChatViewController.swift
+10
-81
YHAIRobotChatViewController.swift
.../AI/AI-Dialogue(AI对话)/C/YHAIRobotChatViewController.swift
+30
-0
YHAITabViewController.swift
...odules/AI/AI-Dialogue(AI对话)/C/YHAITabViewController.swift
+1
-1
YHAIMessageCell.swift
...sses/Modules/AI/AI-Dialogue(AI对话)/V/YHAIMessageCell.swift
+2
-2
No files found.
galaxy/galaxy.xcodeproj/project.pbxproj
View file @
2b46bfd3
...
@@ -575,7 +575,7 @@
...
@@ -575,7 +575,7 @@
0493B3DC2BA7EFE600AF9393
/* YHCertificateSearchViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
0493B3DB2BA7EFE600AF9393
/* YHCertificateSearchViewController.swift */
;
};
0493B3DC2BA7EFE600AF9393
/* YHCertificateSearchViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
0493B3DB2BA7EFE600AF9393
/* YHCertificateSearchViewController.swift */
;
};
0493B3DE2BA80C2300AF9393
/* YHCertificateFilterButton.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
0493B3DD2BA80C2300AF9393
/* YHCertificateFilterButton.swift */
;
};
0493B3DE2BA80C2300AF9393
/* YHCertificateFilterButton.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
0493B3DD2BA80C2300AF9393
/* YHCertificateFilterButton.swift */
;
};
04943BE82CF0A0B500BF2255
/* submit_page_scroll.gif in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04943BE72CF0A0B500BF2255
/* submit_page_scroll.gif */
;
};
04943BE82CF0A0B500BF2255
/* submit_page_scroll.gif in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04943BE72CF0A0B500BF2255
/* submit_page_scroll.gif */
;
};
04943BEA2CF1B44100BF2255
/* YHAI
ChatViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04943BE92CF1B44100BF2255
/* YHAI
ChatViewController.swift */
;
};
04943BEA2CF1B44100BF2255
/* YHAI
MainChatViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04943BE92CF1B44100BF2255
/* YHAIMain
ChatViewController.swift */
;
};
04943BED2CF46B6600BF2255
/* YHAIRequestManager.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04943BEC2CF46B6600BF2255
/* YHAIRequestManager.swift */
;
};
04943BED2CF46B6600BF2255
/* YHAIRequestManager.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04943BEC2CF46B6600BF2255
/* YHAIRequestManager.swift */
;
};
04943BF42CF4954800BF2255
/* YHAIMessageCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04943BF32CF4954800BF2255
/* YHAIMessageCell.swift */
;
};
04943BF42CF4954800BF2255
/* YHAIMessageCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04943BF32CF4954800BF2255
/* YHAIMessageCell.swift */
;
};
04943BF62CF49E3E00BF2255
/* YHAITextInputView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04943BF52CF49E3E00BF2255
/* YHAITextInputView.swift */
;
};
04943BF62CF49E3E00BF2255
/* YHAITextInputView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04943BF52CF49E3E00BF2255
/* YHAITextInputView.swift */
;
};
...
@@ -677,6 +677,8 @@
...
@@ -677,6 +677,8 @@
04BE39362CF9AFF200BD31DB
/* YHFixProductItemView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04BE39352CF9AFF200BD31DB
/* YHFixProductItemView.swift */
;
};
04BE39362CF9AFF200BD31DB
/* YHFixProductItemView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04BE39352CF9AFF200BD31DB
/* YHFixProductItemView.swift */
;
};
04BE393C2CF9B67000BD31DB
/* ai_chat_loading.json in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04BE393B2CF9B67000BD31DB
/* ai_chat_loading.json */
;
};
04BE393C2CF9B67000BD31DB
/* ai_chat_loading.json in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04BE393B2CF9B67000BD31DB
/* ai_chat_loading.json */
;
};
04BE393E2CF9B67700BD31DB
/* ai_chat_input_pause.json in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04BE393D2CF9B67700BD31DB
/* ai_chat_input_pause.json */
;
};
04BE393E2CF9B67700BD31DB
/* ai_chat_input_pause.json in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04BE393D2CF9B67700BD31DB
/* ai_chat_input_pause.json */
;
};
04BE39402CF9B95800BD31DB
/* YHAIRobotChatViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04BE393F2CF9B95800BD31DB
/* YHAIRobotChatViewController.swift */
;
};
04BE39422CF9B99200BD31DB
/* YHAIChatConfiguration.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04BE39412CF9B99200BD31DB
/* YHAIChatConfiguration.swift */
;
};
04C693622B723AB8004C1758
/* YHMySettingViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04C693612B723AB8004C1758
/* YHMySettingViewController.swift */
;
};
04C693622B723AB8004C1758
/* YHMySettingViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04C693612B723AB8004C1758
/* YHMySettingViewController.swift */
;
};
04C693642B723B56004C1758
/* YHMySettingCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04C693632B723B56004C1758
/* YHMySettingCell.swift */
;
};
04C693642B723B56004C1758
/* YHMySettingCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04C693632B723B56004C1758
/* YHMySettingCell.swift */
;
};
04C85DDF2C364FE9008B20D6
/* YHAboutUsCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04C85DDE2C364FE9008B20D6
/* YHAboutUsCell.swift */
;
};
04C85DDF2C364FE9008B20D6
/* YHAboutUsCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04C85DDE2C364FE9008B20D6
/* YHAboutUsCell.swift */
;
};
...
@@ -1634,7 +1636,7 @@
...
@@ -1634,7 +1636,7 @@
0493B3DB2BA7EFE600AF9393
/* YHCertificateSearchViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHCertificateSearchViewController.swift
;
sourceTree
=
"<group>"
;
};
0493B3DB2BA7EFE600AF9393
/* YHCertificateSearchViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHCertificateSearchViewController.swift
;
sourceTree
=
"<group>"
;
};
0493B3DD2BA80C2300AF9393
/* YHCertificateFilterButton.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHCertificateFilterButton.swift
;
sourceTree
=
"<group>"
;
};
0493B3DD2BA80C2300AF9393
/* YHCertificateFilterButton.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHCertificateFilterButton.swift
;
sourceTree
=
"<group>"
;
};
04943BE72CF0A0B500BF2255
/* submit_page_scroll.gif */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
image.gif
;
path
=
submit_page_scroll.gif
;
sourceTree
=
"<group>"
;
};
04943BE72CF0A0B500BF2255
/* submit_page_scroll.gif */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
image.gif
;
path
=
submit_page_scroll.gif
;
sourceTree
=
"<group>"
;
};
04943BE92CF1B44100BF2255
/* YHAI
ChatViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHAI
ChatViewController.swift
;
sourceTree
=
"<group>"
;
};
04943BE92CF1B44100BF2255
/* YHAI
MainChatViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHAIMain
ChatViewController.swift
;
sourceTree
=
"<group>"
;
};
04943BEC2CF46B6600BF2255
/* YHAIRequestManager.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHAIRequestManager.swift
;
sourceTree
=
"<group>"
;
};
04943BEC2CF46B6600BF2255
/* YHAIRequestManager.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHAIRequestManager.swift
;
sourceTree
=
"<group>"
;
};
04943BF32CF4954800BF2255
/* YHAIMessageCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHAIMessageCell.swift
;
sourceTree
=
"<group>"
;
};
04943BF32CF4954800BF2255
/* YHAIMessageCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHAIMessageCell.swift
;
sourceTree
=
"<group>"
;
};
04943BF52CF49E3E00BF2255
/* YHAITextInputView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHAITextInputView.swift
;
sourceTree
=
"<group>"
;
};
04943BF52CF49E3E00BF2255
/* YHAITextInputView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHAITextInputView.swift
;
sourceTree
=
"<group>"
;
};
...
@@ -1736,6 +1738,8 @@
...
@@ -1736,6 +1738,8 @@
04BE39352CF9AFF200BD31DB
/* YHFixProductItemView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHFixProductItemView.swift
;
sourceTree
=
"<group>"
;
};
04BE39352CF9AFF200BD31DB
/* YHFixProductItemView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHFixProductItemView.swift
;
sourceTree
=
"<group>"
;
};
04BE393B2CF9B67000BD31DB
/* ai_chat_loading.json */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
text.json
;
path
=
ai_chat_loading.json
;
sourceTree
=
"<group>"
;
};
04BE393B2CF9B67000BD31DB
/* ai_chat_loading.json */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
text.json
;
path
=
ai_chat_loading.json
;
sourceTree
=
"<group>"
;
};
04BE393D2CF9B67700BD31DB
/* ai_chat_input_pause.json */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
text.json
;
path
=
ai_chat_input_pause.json
;
sourceTree
=
"<group>"
;
};
04BE393D2CF9B67700BD31DB
/* ai_chat_input_pause.json */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
text.json
;
path
=
ai_chat_input_pause.json
;
sourceTree
=
"<group>"
;
};
04BE393F2CF9B95800BD31DB
/* YHAIRobotChatViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHAIRobotChatViewController.swift
;
sourceTree
=
"<group>"
;
};
04BE39412CF9B99200BD31DB
/* YHAIChatConfiguration.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHAIChatConfiguration.swift
;
sourceTree
=
"<group>"
;
};
04C693612B723AB8004C1758
/* YHMySettingViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHMySettingViewController.swift
;
sourceTree
=
"<group>"
;
};
04C693612B723AB8004C1758
/* YHMySettingViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHMySettingViewController.swift
;
sourceTree
=
"<group>"
;
};
04C693632B723B56004C1758
/* YHMySettingCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHMySettingCell.swift
;
sourceTree
=
"<group>"
;
};
04C693632B723B56004C1758
/* YHMySettingCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHMySettingCell.swift
;
sourceTree
=
"<group>"
;
};
04C85DDE2C364FE9008B20D6
/* YHAboutUsCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHAboutUsCell.swift
;
sourceTree
=
"<group>"
;
};
04C85DDE2C364FE9008B20D6
/* YHAboutUsCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHAboutUsCell.swift
;
sourceTree
=
"<group>"
;
};
...
@@ -4000,9 +4004,11 @@
...
@@ -4000,9 +4004,11 @@
isa
=
PBXGroup
;
isa
=
PBXGroup
;
children
=
(
children
=
(
045F28412CF6028A00520F19
/* YHAITabViewController.swift */
,
045F28412CF6028A00520F19
/* YHAITabViewController.swift */
,
04943BE92CF1B44100BF2255
/* YHAIChatViewController.swift */
,
04943BE92CF1B44100BF2255
/* YHAI
Main
ChatViewController.swift */
,
045F28432CF608C100520F19
/* YHAIServiceListViewController.swift */
,
045F28432CF608C100520F19
/* YHAIServiceListViewController.swift */
,
04BE393F2CF9B95800BD31DB
/* YHAIRobotChatViewController.swift */
,
04943BEC2CF46B6600BF2255
/* YHAIRequestManager.swift */
,
04943BEC2CF46B6600BF2255
/* YHAIRequestManager.swift */
,
04BE39412CF9B99200BD31DB
/* YHAIChatConfiguration.swift */
,
);
);
path
=
C
;
path
=
C
;
sourceTree
=
"<group>"
;
sourceTree
=
"<group>"
;
...
@@ -5980,7 +5986,7 @@
...
@@ -5980,7 +5986,7 @@
045EEEA42B9F171A0022A143
/* YHImageResultViewController.swift in Sources */
,
045EEEA42B9F171A0022A143
/* YHImageResultViewController.swift in Sources */
,
045EEE812B9F171A0022A143
/* YHPreviewQuestionAndAnswerModel.swift in Sources */
,
045EEE812B9F171A0022A143
/* YHPreviewQuestionAndAnswerModel.swift in Sources */
,
049D62C02C6F1E6700E811A1
/* YHFamilyInfoWarmTipsView.swift in Sources */
,
049D62C02C6F1E6700E811A1
/* YHFamilyInfoWarmTipsView.swift in Sources */
,
04943BEA2CF1B44100BF2255
/* YHAIChatViewController.swift in Sources */
,
04943BEA2CF1B44100BF2255
/* YHAI
Main
ChatViewController.swift in Sources */
,
04C85DDF2C364FE9008B20D6
/* YHAboutUsCell.swift in Sources */
,
04C85DDF2C364FE9008B20D6
/* YHAboutUsCell.swift in Sources */
,
045EEEB02B9F171A0022A143
/* YHWorkItemView.swift in Sources */
,
045EEEB02B9F171A0022A143
/* YHWorkItemView.swift in Sources */
,
0468D4222B493A5E00CFB916
/* YHPhoneMessageView.swift in Sources */
,
0468D4222B493A5E00CFB916
/* YHPhoneMessageView.swift in Sources */
,
...
@@ -5994,6 +6000,7 @@
...
@@ -5994,6 +6000,7 @@
04912F7E2CB7B2BA00CC3105
/* YHResignAppointOptionResultCell.swift in Sources */
,
04912F7E2CB7B2BA00CC3105
/* YHResignAppointOptionResultCell.swift in Sources */
,
A567E5972BD7643D00D5D5A0
/* YHHomeModel.swift in Sources */
,
A567E5972BD7643D00D5D5A0
/* YHHomeModel.swift in Sources */
,
04AF82D82C291E960028CE2A
/* YHMatchUserViewModel.swift in Sources */
,
04AF82D82C291E960028CE2A
/* YHMatchUserViewModel.swift in Sources */
,
04BE39402CF9B95800BD31DB
/* YHAIRobotChatViewController.swift in Sources */
,
0468D4362B57752F00CFB916
/* YHUserModel.swift in Sources */
,
0468D4362B57752F00CFB916
/* YHUserModel.swift in Sources */
,
040450CF2CC8A0F400D1CFE5
/* YHResignDocumentMultiLineTipsCell.swift in Sources */
,
040450CF2CC8A0F400D1CFE5
/* YHResignDocumentMultiLineTipsCell.swift in Sources */
,
A567E5982BD7643D00D5D5A0
/* YHHKEventModel.swift in Sources */
,
A567E5982BD7643D00D5D5A0
/* YHHKEventModel.swift in Sources */
,
...
@@ -6560,6 +6567,7 @@
...
@@ -6560,6 +6567,7 @@
048097712BA18D66000B9DCA
/* YHCertificateSearchBar.swift in Sources */
,
048097712BA18D66000B9DCA
/* YHCertificateSearchBar.swift in Sources */
,
04F243432C9BB3F800DF2C74
/* YHHKRecordsHeaderCell.swift in Sources */
,
04F243432C9BB3F800DF2C74
/* YHHKRecordsHeaderCell.swift in Sources */
,
04256E172C75BD2700A37BA4
/* YHVisaPaymentTipsCell.swift in Sources */
,
04256E172C75BD2700A37BA4
/* YHVisaPaymentTipsCell.swift in Sources */
,
04BE39422CF9B99200BD31DB
/* YHAIChatConfiguration.swift in Sources */
,
045EEEAA2B9F171A0022A143
/* YHWorkExampleViewController.swift in Sources */
,
045EEEAA2B9F171A0022A143
/* YHWorkExampleViewController.swift in Sources */
,
04256E1F2C7618A800A37BA4
/* YHAppointWarmTipsCell.swift in Sources */
,
04256E1F2C7618A800A37BA4
/* YHAppointWarmTipsCell.swift in Sources */
,
04256E132C75BD2700A37BA4
/* YHPayMemberContentItems.swift in Sources */
,
04256E132C75BD2700A37BA4
/* YHPayMemberContentItems.swift in Sources */
,
...
...
galaxy/galaxy/Classes/Modules/AI/AI-Dialogue(AI对话)/C/YHAIChatConfiguration.swift
0 → 100644
View file @
2b46bfd3
//
// YHAIChatUIConfiguration.swift
// galaxy
//
// Created by Dufet on 2024/11/29.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHAIChatConfiguration
{
static
let
defaultConfig
=
YHAIChatConfiguration
()
func
registerMessageGroupCells
(
_
tableView
:
UITableView
)
{
tableView
.
register
(
UITableViewCell
.
self
,
forCellReuseIdentifier
:
"UITableViewCell"
)
tableView
.
register
(
YHAIMessageCell
.
self
,
forCellReuseIdentifier
:
YHAIMessageCell
.
cellReuseIdentifier
)
tableView
.
register
(
YHAIThinkingMessageCell
.
self
,
forCellReuseIdentifier
:
YHAIThinkingMessageCell
.
cellReuseIdentifier
)
tableView
.
register
(
YHProductListMessageCell
.
self
,
forCellReuseIdentifier
:
YHProductListMessageCell
.
cellReuseIdentifier
)
tableView
.
register
(
YHFixProductListMessageCell
.
self
,
forCellReuseIdentifier
:
YHFixProductListMessageCell
.
cellReuseIdentifier
)
tableView
.
register
(
YHCardMessageCell
.
self
,
forCellReuseIdentifier
:
YHCardMessageCell
.
cellReuseIdentifier
)
}
func
getMessageCell
(
_
msg
:
YHAIMessage
,
_
tableView
:
UITableView
,
indexPath
:
IndexPath
)
->
UITableViewCell
{
let
msgType
=
msg
.
getType
()
if
msgType
==
.
text
{
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHAIMessageCell
.
cellReuseIdentifier
,
for
:
indexPath
)
as!
YHAIMessageCell
cell
.
message
=
msg
return
cell
}
else
if
msgType
==
.
thinking
{
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHAIThinkingMessageCell
.
cellReuseIdentifier
,
for
:
indexPath
)
as!
YHAIThinkingMessageCell
return
cell
}
else
if
msgType
==
.
productList
{
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHProductListMessageCell
.
cellReuseIdentifier
,
for
:
indexPath
)
as!
YHProductListMessageCell
if
let
listModel
=
msg
.
body
.
getProductList
()
{
cell
.
listModel
=
listModel
}
return
cell
}
else
if
msgType
==
.
fixProductList
{
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHFixProductListMessageCell
.
cellReuseIdentifier
,
for
:
indexPath
)
as!
YHFixProductListMessageCell
if
let
listModel
=
msg
.
body
.
getFixProductList
()
{
cell
.
listModel
=
listModel
}
return
cell
}
else
if
msgType
==
.
card
{
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHCardMessageCell
.
cellReuseIdentifier
,
for
:
indexPath
)
as!
YHCardMessageCell
return
cell
}
let
defaultCell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
"UITableViewCell"
,
for
:
indexPath
)
return
defaultCell
}
func
handleReceiveMessage
(
_
res
:
YHAIMessage
?,
_
done
:
Bool
,
_
messages
:
inout
[
YHAIMessage
])
{
// 去除loading消息
removeThinkingMessageFromChatList
(
&
messages
)
if
let
res
=
res
{
var
find
=
false
for
msg
in
messages
{
if
msg
.
uuid
==
res
.
uuid
{
let
msgType
=
msg
.
getType
()
if
msgType
==
.
text
,
res
.
getType
()
==
.
text
{
// 多个文字需要拼接
find
=
true
msg
.
body
.
contentText
+=
res
.
body
.
contentText
}
}
}
if
!
find
{
messages
.
append
(
res
)
}
}
else
{
if
done
{
// 思考完成
}
}
}
func
removeThinkingMessageFromChatList
(
_
messages
:
inout
[
YHAIMessage
])
{
var
findIndex
=
-
1
for
(
index
,
msg
)
in
messages
.
enumerated
()
{
if
msg
.
getType
()
==
.
thinking
{
findIndex
=
index
}
}
if
findIndex
!=
-
1
{
messages
.
remove
(
at
:
findIndex
)
}
}
}
galaxy/galaxy/Classes/Modules/AI/AI-Dialogue(AI对话)/C/YHAIChatViewController.swift
→
galaxy/galaxy/Classes/Modules/AI/AI-Dialogue(AI对话)/C/YHAI
Main
ChatViewController.swift
View file @
2b46bfd3
...
@@ -11,7 +11,7 @@ import Alamofire
...
@@ -11,7 +11,7 @@ import Alamofire
import
IQKeyboardManagerSwift
import
IQKeyboardManagerSwift
import
JXSegmentedView
import
JXSegmentedView
class
YHAIChatViewController
:
YHBaseViewController
{
class
YHAI
Main
ChatViewController
:
YHBaseViewController
{
var
messages
:[
YHAIMessage
]
=
[]
var
messages
:[
YHAIMessage
]
=
[]
...
@@ -29,12 +29,7 @@ class YHAIChatViewController: YHBaseViewController {
...
@@ -29,12 +29,7 @@ class YHAIChatViewController: YHBaseViewController {
tableView
.
separatorStyle
=
.
none
tableView
.
separatorStyle
=
.
none
tableView
.
delegate
=
self
tableView
.
delegate
=
self
tableView
.
dataSource
=
self
tableView
.
dataSource
=
self
tableView
.
register
(
UITableViewCell
.
self
,
forCellReuseIdentifier
:
"UITableViewCell"
)
YHAIChatConfiguration
.
defaultConfig
.
registerMessageGroupCells
(
tableView
)
tableView
.
register
(
YHAIMessageCell
.
self
,
forCellReuseIdentifier
:
YHAIMessageCell
.
cellReuseIdentifier
)
tableView
.
register
(
YHAIThinkingMessageCell
.
self
,
forCellReuseIdentifier
:
YHAIThinkingMessageCell
.
cellReuseIdentifier
)
tableView
.
register
(
YHProductListMessageCell
.
self
,
forCellReuseIdentifier
:
YHProductListMessageCell
.
cellReuseIdentifier
)
tableView
.
register
(
YHFixProductListMessageCell
.
self
,
forCellReuseIdentifier
:
YHFixProductListMessageCell
.
cellReuseIdentifier
)
tableView
.
register
(
YHCardMessageCell
.
self
,
forCellReuseIdentifier
:
YHCardMessageCell
.
cellReuseIdentifier
)
return
tableView
return
tableView
}()
}()
...
@@ -44,7 +39,7 @@ class YHAIChatViewController: YHBaseViewController {
...
@@ -44,7 +39,7 @@ class YHAIChatViewController: YHBaseViewController {
[
weak
self
]
text
in
[
weak
self
]
text
in
guard
let
self
=
self
else
{
return
}
guard
let
self
=
self
else
{
return
}
self
.
removeThinkingMessage
(
)
YHAIChatConfiguration
.
defaultConfig
.
removeThinkingMessageFromChatList
(
&
messages
)
let
question
=
YHAIMessage
.
createQuestionMessage
(
text
)
let
question
=
YHAIMessage
.
createQuestionMessage
(
text
)
messages
.
append
(
question
)
messages
.
append
(
question
)
messages
.
append
(
thinkingMessage
)
messages
.
append
(
thinkingMessage
)
...
@@ -53,7 +48,9 @@ class YHAIChatViewController: YHBaseViewController {
...
@@ -53,7 +48,9 @@ class YHAIChatViewController: YHBaseViewController {
YHAIRequestManager
.
shared
.
requestAI
(
botId
:
""
,
conversationId
:
""
,
question
:
text
)
{
YHAIRequestManager
.
shared
.
requestAI
(
botId
:
""
,
conversationId
:
""
,
question
:
text
)
{
[
weak
self
]
res
,
done
in
[
weak
self
]
res
,
done
in
guard
let
self
=
self
else
{
return
}
guard
let
self
=
self
else
{
return
}
self
.
handleMessage
(
res
,
done
)
YHAIChatConfiguration
.
defaultConfig
.
handleReceiveMessage
(
res
,
done
,
&
messages
)
self
.
scrollToBottom
()
}
}
}
}
return
v
return
v
...
@@ -86,46 +83,6 @@ class YHAIChatViewController: YHBaseViewController {
...
@@ -86,46 +83,6 @@ class YHAIChatViewController: YHBaseViewController {
}
}
}
}
func
handleMessage
(
_
res
:
YHAIMessage
?,
_
done
:
Bool
)
{
removeThinkingMessage
()
if
let
res
=
res
{
var
find
=
false
for
msg
in
messages
{
if
msg
.
uuid
==
res
.
uuid
{
let
msgType
=
msg
.
getType
()
if
msgType
==
.
text
,
res
.
getType
()
==
.
text
{
// 多个文字需要拼接
find
=
true
msg
.
body
.
contentText
+=
res
.
body
.
contentText
}
}
}
if
!
find
{
messages
.
append
(
res
)
}
}
else
{
if
done
{
// 思考完成
}
}
self
.
scrollToBottom
()
}
func
removeThinkingMessage
()
{
var
findIndex
=
-
1
for
(
index
,
msg
)
in
messages
.
enumerated
()
{
if
msg
.
getType
()
==
.
thinking
{
findIndex
=
index
}
}
if
findIndex
!=
-
1
{
messages
.
remove
(
at
:
findIndex
)
}
}
func
scrollToBottom
()
{
func
scrollToBottom
()
{
self
.
tableView
.
reloadData
{
self
.
tableView
.
reloadData
{
let
indexPath
=
IndexPath
(
row
:
self
.
messages
.
count
-
1
,
section
:
0
)
let
indexPath
=
IndexPath
(
row
:
self
.
messages
.
count
-
1
,
section
:
0
)
...
@@ -134,7 +91,7 @@ class YHAIChatViewController: YHBaseViewController {
...
@@ -134,7 +91,7 @@ class YHAIChatViewController: YHBaseViewController {
}
}
}
}
extension
YHAIChatViewController
:
UITableViewDelegate
,
UITableViewDataSource
{
extension
YHAI
Main
ChatViewController
:
UITableViewDelegate
,
UITableViewDataSource
{
func
numberOfSections
(
in
tableView
:
UITableView
)
->
Int
{
func
numberOfSections
(
in
tableView
:
UITableView
)
->
Int
{
return
1
return
1
...
@@ -147,37 +104,9 @@ extension YHAIChatViewController: UITableViewDelegate, UITableViewDataSource {
...
@@ -147,37 +104,9 @@ extension YHAIChatViewController: UITableViewDelegate, UITableViewDataSource {
func
tableView
(
_
tableView
:
UITableView
,
cellForRowAt
indexPath
:
IndexPath
)
->
UITableViewCell
{
func
tableView
(
_
tableView
:
UITableView
,
cellForRowAt
indexPath
:
IndexPath
)
->
UITableViewCell
{
if
0
<=
indexPath
.
row
,
indexPath
.
row
<
messages
.
count
{
if
0
<=
indexPath
.
row
,
indexPath
.
row
<
messages
.
count
{
let
msg
=
messages
[
indexPath
.
row
]
let
msg
=
messages
[
indexPath
.
row
]
let
msgType
=
msg
.
getType
()
let
cell
=
YHAIChatConfiguration
.
defaultConfig
.
getMessageCell
(
msg
,
tableView
,
indexPath
:
indexPath
)
return
cell
if
msgType
==
.
text
{
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHAIMessageCell
.
cellReuseIdentifier
,
for
:
indexPath
)
as!
YHAIMessageCell
cell
.
message
=
msg
return
cell
}
else
if
msgType
==
.
thinking
{
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHAIThinkingMessageCell
.
cellReuseIdentifier
,
for
:
indexPath
)
as!
YHAIThinkingMessageCell
return
cell
}
else
if
msgType
==
.
productList
{
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHProductListMessageCell
.
cellReuseIdentifier
,
for
:
indexPath
)
as!
YHProductListMessageCell
if
let
listModel
=
msg
.
body
.
getProductList
()
{
cell
.
listModel
=
listModel
}
return
cell
}
else
if
msgType
==
.
fixProductList
{
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHFixProductListMessageCell
.
cellReuseIdentifier
,
for
:
indexPath
)
as!
YHFixProductListMessageCell
if
let
listModel
=
msg
.
body
.
getFixProductList
()
{
cell
.
listModel
=
listModel
}
return
cell
}
else
if
msgType
==
.
card
{
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHCardMessageCell
.
cellReuseIdentifier
,
for
:
indexPath
)
as!
YHCardMessageCell
return
cell
}
}
}
let
defaultCell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
"UITableViewCell"
,
for
:
indexPath
)
let
defaultCell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
"UITableViewCell"
,
for
:
indexPath
)
...
@@ -204,7 +133,7 @@ extension YHAIChatViewController: UITableViewDelegate, UITableViewDataSource {
...
@@ -204,7 +133,7 @@ extension YHAIChatViewController: UITableViewDelegate, UITableViewDataSource {
}
}
extension
YHAIChatViewController
:
JXSegmentedListContainerViewListDelegate
{
extension
YHAI
Main
ChatViewController
:
JXSegmentedListContainerViewListDelegate
{
func
listView
()
->
UIView
{
func
listView
()
->
UIView
{
return
view
return
view
}
}
...
...
galaxy/galaxy/Classes/Modules/AI/AI-Dialogue(AI对话)/C/YHAIRobotChatViewController.swift
0 → 100644
View file @
2b46bfd3
//
// YHAIRobotChatViewController.swift
// galaxy
//
// Created by Dufet on 2024/11/29.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHAIRobotChatViewController
:
YHBaseViewController
{
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
// Do any additional setup after loading the view.
}
/*
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// Get the new view controller using segue.destination.
// Pass the selected object to the new view controller.
}
*/
}
galaxy/galaxy/Classes/Modules/AI/AI-Dialogue(AI对话)/C/YHAITabViewController.swift
View file @
2b46bfd3
...
@@ -94,7 +94,7 @@ class YHAITabViewController: YHBaseViewController {
...
@@ -94,7 +94,7 @@ class YHAITabViewController: YHBaseViewController {
arrItemVCs
.
append
(
vc
)
arrItemVCs
.
append
(
vc
)
}
else
if
i
==
1
{
// 对话
}
else
if
i
==
1
{
// 对话
let
vc
=
YHAIChatViewController
()
let
vc
=
YHAI
Main
ChatViewController
()
arrItemVCs
.
append
(
vc
)
arrItemVCs
.
append
(
vc
)
}
}
}
}
...
...
galaxy/galaxy/Classes/Modules/AI/AI-Dialogue(AI对话)/V/YHAIMessageCell.swift
View file @
2b46bfd3
...
@@ -23,7 +23,7 @@ class YHAIMessageCell: UITableViewCell {
...
@@ -23,7 +23,7 @@ class YHAIMessageCell: UITableViewCell {
make
.
left
.
greaterThanOrEqualTo
(
20
)
make
.
left
.
greaterThanOrEqualTo
(
20
)
make
.
right
.
equalTo
(
-
20
)
make
.
right
.
equalTo
(
-
20
)
make
.
top
.
equalTo
(
20
)
make
.
top
.
equalTo
(
20
)
make
.
bottom
.
equalTo
(
-
2
0
)
make
.
bottom
.
equalTo
(
0
)
}
}
}
else
{
}
else
{
...
@@ -33,7 +33,7 @@ class YHAIMessageCell: UITableViewCell {
...
@@ -33,7 +33,7 @@ class YHAIMessageCell: UITableViewCell {
make
.
left
.
equalTo
(
20
)
make
.
left
.
equalTo
(
20
)
make
.
right
.
lessThanOrEqualTo
(
-
20
)
make
.
right
.
lessThanOrEqualTo
(
-
20
)
make
.
top
.
equalTo
(
20
)
make
.
top
.
equalTo
(
20
)
make
.
bottom
.
equalTo
(
-
2
0
)
make
.
bottom
.
equalTo
(
0
)
}
}
}
}
...
...
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