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
4857121a
Commit
4857121a
authored
Jan 13, 2025
by
Steven杜宇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
// AI
parent
4804e939
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
88 additions
and
13 deletions
+88
-13
project.pbxproj
galaxy/galaxy.xcodeproj/project.pbxproj
+4
-4
YHAIRobotChatViewController.swift
.../AI/AI-Dialogue(AI对话)/C/YHAIRobotChatViewController.swift
+27
-2
YHAIListModel.swift
...lasses/Modules/AI/AI-Dialogue(AI对话)/M/YHAIListModel.swift
+21
-0
YHAIViewModel.swift
...lasses/Modules/AI/AI-Dialogue(AI对话)/M/YHAIViewModel.swift
+29
-0
YHAIChatBannerView.swift
...s/Modules/AI/AI-Dialogue(AI对话)/V/YHAIChatBannerView.swift
+6
-7
YHAllApiName.swift
galaxy/galaxy/Classes/Tools/NetWork/YHAllApiName.swift
+1
-0
No files found.
galaxy/galaxy.xcodeproj/project.pbxproj
View file @
4857121a
...
@@ -8053,7 +8053,7 @@
...
@@ -8053,7 +8053,7 @@
"$(inherited)"
,
"$(inherited)"
,
"@executable_path/Frameworks"
,
"@executable_path/Frameworks"
,
);
);
MARKETING_VERSION
=
2.1.
1
;
MARKETING_VERSION
=
2.1.
2
;
PRODUCT_BUNDLE_IDENTIFIER
=
com.intelligence.galaxy
;
PRODUCT_BUNDLE_IDENTIFIER
=
com.intelligence.galaxy
;
PRODUCT_NAME
=
"$(TARGET_NAME)"
;
PRODUCT_NAME
=
"$(TARGET_NAME)"
;
PROVISIONING_PROFILE_SPECIFIER
=
""
;
PROVISIONING_PROFILE_SPECIFIER
=
""
;
...
@@ -8199,7 +8199,7 @@
...
@@ -8199,7 +8199,7 @@
"$(inherited)"
,
"$(inherited)"
,
"@executable_path/Frameworks"
,
"@executable_path/Frameworks"
,
);
);
MARKETING_VERSION
=
2.1.
1
;
MARKETING_VERSION
=
2.1.
2
;
PRODUCT_BUNDLE_IDENTIFIER
=
com.intelligence.galaxy
;
PRODUCT_BUNDLE_IDENTIFIER
=
com.intelligence.galaxy
;
PRODUCT_NAME
=
"$(TARGET_NAME)"
;
PRODUCT_NAME
=
"$(TARGET_NAME)"
;
PROVISIONING_PROFILE_SPECIFIER
=
""
;
PROVISIONING_PROFILE_SPECIFIER
=
""
;
...
@@ -8407,7 +8407,7 @@
...
@@ -8407,7 +8407,7 @@
"$(inherited)"
,
"$(inherited)"
,
"@executable_path/Frameworks"
,
"@executable_path/Frameworks"
,
);
);
MARKETING_VERSION
=
2.1.
1
;
MARKETING_VERSION
=
2.1.
2
;
PRODUCT_BUNDLE_IDENTIFIER
=
com.intelligence.galaxy
;
PRODUCT_BUNDLE_IDENTIFIER
=
com.intelligence.galaxy
;
PRODUCT_NAME
=
"$(TARGET_NAME)"
;
PRODUCT_NAME
=
"$(TARGET_NAME)"
;
PROVISIONING_PROFILE_SPECIFIER
=
""
;
PROVISIONING_PROFILE_SPECIFIER
=
""
;
...
@@ -8455,7 +8455,7 @@
...
@@ -8455,7 +8455,7 @@
"$(inherited)"
,
"$(inherited)"
,
"@executable_path/Frameworks"
,
"@executable_path/Frameworks"
,
);
);
MARKETING_VERSION
=
2.1.
1
;
MARKETING_VERSION
=
2.1.
2
;
PRODUCT_BUNDLE_IDENTIFIER
=
com.intelligence.galaxy
;
PRODUCT_BUNDLE_IDENTIFIER
=
com.intelligence.galaxy
;
PRODUCT_NAME
=
"$(TARGET_NAME)"
;
PRODUCT_NAME
=
"$(TARGET_NAME)"
;
PROVISIONING_PROFILE_SPECIFIER
=
""
;
PROVISIONING_PROFILE_SPECIFIER
=
""
;
...
...
galaxy/galaxy/Classes/Modules/AI/AI-Dialogue(AI对话)/C/YHAIRobotChatViewController.swift
View file @
4857121a
...
@@ -22,6 +22,8 @@ class YHAIRobotChatViewController: YHBaseViewController {
...
@@ -22,6 +22,8 @@ class YHAIRobotChatViewController: YHBaseViewController {
var
robotType
:
String
=
""
var
robotType
:
String
=
""
let
manager
=
YHAIRequestManager
()
let
manager
=
YHAIRequestManager
()
let
viewModel
=
YHAIViewModel
()
let
viewModel
=
YHAIViewModel
()
var
flowMessages
:[
String
]
=
[]
lazy
var
chatConfig
:
YHAIChatConfiguration
=
{
lazy
var
chatConfig
:
YHAIChatConfiguration
=
{
let
config
=
YHAIChatConfiguration
()
let
config
=
YHAIChatConfiguration
()
...
@@ -157,6 +159,7 @@ class YHAIRobotChatViewController: YHBaseViewController {
...
@@ -157,6 +159,7 @@ class YHAIRobotChatViewController: YHBaseViewController {
}
}
getHistoryMessages
()
getHistoryMessages
()
getBotConfig
()
}
}
override
func
viewWillDisappear
(
_
animated
:
Bool
)
{
override
func
viewWillDisappear
(
_
animated
:
Bool
)
{
...
@@ -174,6 +177,27 @@ class YHAIRobotChatViewController: YHBaseViewController {
...
@@ -174,6 +177,27 @@ class YHAIRobotChatViewController: YHBaseViewController {
self
.
navigationController
?
.
popViewController
(
animated
:
true
)
self
.
navigationController
?
.
popViewController
(
animated
:
true
)
}
}
func
getBotConfig
()
{
self
.
viewModel
.
getBotConfigInfoWithBotId
(
self
.
robotId
)
{
[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
self
.
flowMessages
.
removeAll
()
self
.
flowMessages
.
append
(
contentsOf
:
self
.
viewModel
.
botConfig
.
onboardingInfo
.
suggestedQuestions
)
if
self
.
flowMessages
.
count
>
0
{
self
.
bannerView
.
messages
=
self
.
flowMessages
}
else
{
if
robotType
==
YHAIRobotType
.
sale
.
rawValue
{
self
.
bannerView
.
messages
=
[
"优才学历加分要求是什么?"
,
"优才现在要怎么申请?"
,
"墨尔本大学是优才合资格大学吗?"
,
"推荐一些优才产品"
]
}
else
if
robotType
==
YHAIRobotType
.
education
.
rawValue
{
self
.
bannerView
.
messages
=
[
"香港教育有哪些优势?"
,
"去香港读书有哪些条件?"
,
"申请香港学校费用是多少?"
,
"了解银河教育插班服务流程"
,
"了解银河教育插班录取率"
]
}
}
}
}
func
reloadAndScrollToBottom
()
{
func
reloadAndScrollToBottom
()
{
self
.
tableView
.
reloadData
()
self
.
tableView
.
reloadData
()
...
@@ -327,7 +351,8 @@ class YHAIRobotChatViewController: YHBaseViewController {
...
@@ -327,7 +351,8 @@ class YHAIRobotChatViewController: YHBaseViewController {
config
.
bannerItems
=
[
YHAIChatBannerItem
(
id
:
0
,
title
:
"了解银河集团"
,
desc
:
"香港身份生活一站式服务平台"
,
msg
:
"银河集团,能够为我提供什么?"
),
config
.
bannerItems
=
[
YHAIChatBannerItem
(
id
:
0
,
title
:
"了解银河集团"
,
desc
:
"香港身份生活一站式服务平台"
,
msg
:
"银河集团,能够为我提供什么?"
),
YHAIChatBannerItem
(
id
:
1
,
title
:
"香港身份智能评估"
,
desc
:
"20s快速评估,了解自身条件是否符合"
,
msg
:
"开始身份办理评估"
),
YHAIChatBannerItem
(
id
:
1
,
title
:
"香港身份智能评估"
,
desc
:
"20s快速评估,了解自身条件是否符合"
,
msg
:
"开始身份办理评估"
),
YHAIChatBannerItem
(
id
:
2
,
title
:
"银河产品矩阵"
,
desc
:
"香港身份、生活多样产品"
,
msg
:
"介绍一下银河的产品"
),]
YHAIChatBannerItem
(
id
:
2
,
title
:
"银河产品矩阵"
,
desc
:
"香港身份、生活多样产品"
,
msg
:
"介绍一下银河的产品"
),]
config
.
flowMessages
=
[
"优才学历加分要求是什么?"
,
"优才现在要怎么申请?"
,
"墨尔本大学是优才合资格大学吗?"
,
"推荐一些优才产品"
]
// config.flowMessages = ["优才学历加分要求是什么?", "优才现在要怎么申请?", "墨尔本大学是优才合资格大学吗?", "推荐一些优才产品"]
}
else
if
robotType
==
YHAIRobotType
.
education
.
rawValue
{
}
else
if
robotType
==
YHAIRobotType
.
education
.
rawValue
{
config
.
title
=
"Hello,我是香港教育宝"
config
.
title
=
"Hello,我是香港教育宝"
...
@@ -339,7 +364,7 @@ class YHAIRobotChatViewController: YHBaseViewController {
...
@@ -339,7 +364,7 @@ class YHAIRobotChatViewController: YHBaseViewController {
config
.
bannerItems
=
[
YHAIChatBannerItem
(
id
:
0
,
title
:
"幼中小学升学"
,
desc
:
"去香港插班需要考核哪些"
),
config
.
bannerItems
=
[
YHAIChatBannerItem
(
id
:
0
,
title
:
"幼中小学升学"
,
desc
:
"去香港插班需要考核哪些"
),
YHAIChatBannerItem
(
id
:
1
,
title
:
"大学升学"
,
desc
:
"DSE分数和Alevel的换算关系"
),
YHAIChatBannerItem
(
id
:
1
,
title
:
"大学升学"
,
desc
:
"DSE分数和Alevel的换算关系"
),
YHAIChatBannerItem
(
id
:
2
,
title
:
"银河教育服务"
,
desc
:
"银河教育插班成功率如何?"
),]
YHAIChatBannerItem
(
id
:
2
,
title
:
"银河教育服务"
,
desc
:
"银河教育插班成功率如何?"
),]
config
.
flowMessages
=
[
"香港教育有哪些优势?"
,
"去香港读书有哪些条件?"
,
"申请香港学校费用是多少?"
,
"了解银河教育插班服务流程"
,
"了解银河教育插班录取率"
]
//
config.flowMessages = ["香港教育有哪些优势?", "去香港读书有哪些条件?", "申请香港学校费用是多少?", "了解银河教育插班服务流程", "了解银河教育插班录取率"]
}
}
return
config
return
config
}
}
...
...
galaxy/galaxy/Classes/Modules/AI/AI-Dialogue(AI对话)/M/YHAIListModel.swift
View file @
4857121a
...
@@ -49,3 +49,24 @@ class YHEntranceconfigModel: SmartCodable {
...
@@ -49,3 +49,24 @@ class YHEntranceconfigModel: SmartCodable {
}
}
}
}
class
YHAIBoardInfo
:
SmartCodable
{
var
prologue
:
String
=
""
var
suggestedQuestions
:
[
String
]
=
[]
required
init
()
{
}
}
class
YHAIBotConfigInfo
:
SmartCodable
{
var
description
:
String
=
""
var
onboardingInfo
:
YHAIBoardInfo
=
YHAIBoardInfo
()
required
init
()
{
}
}
galaxy/galaxy/Classes/Modules/AI/AI-Dialogue(AI对话)/M/YHAIViewModel.swift
View file @
4857121a
...
@@ -13,6 +13,7 @@ import UIKit
...
@@ -13,6 +13,7 @@ import UIKit
class
YHAIViewModel
:
NSObject
{
class
YHAIViewModel
:
NSObject
{
var
listModel
:
YHAIListModel
=
YHAIListModel
()
var
listModel
:
YHAIListModel
=
YHAIListModel
()
var
botConfig
:
YHAIBotConfigInfo
=
YHAIBotConfigInfo
()
var
historyMessages
:
[
YHAIHistoryMessage
]
=
[]
var
historyMessages
:
[
YHAIHistoryMessage
]
=
[]
var
lastHistroyMsgId
:
String
=
""
var
lastHistroyMsgId
:
String
=
""
...
@@ -159,6 +160,34 @@ class YHAIViewModel: NSObject {
...
@@ -159,6 +160,34 @@ class YHAIViewModel: NSObject {
}
}
}
}
func
getBotConfigInfoWithBotId
(
_
botId
:
String
,
callBackBlock
:
@escaping
(
_
success
:
Bool
,
_
error
:
YHErrorModel
?)
->
())
{
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
AIChat
.
botConfig
let
params
:[
String
:
Any
]
=
[
"botId"
:
botId
]
let
_
=
YHNetRequest
.
getRequest
(
url
:
strUrl
,
params
:
params
)
{
json
,
code
in
//1. json字符串 转 对象
printLog
(
"model 是 ==>
\(
json
)
"
)
if
json
.
code
==
200
{
guard
let
dic
=
json
.
data
?
.
peel
as?
[
String
:
Any
],
let
result
=
YHAIBotConfigInfo
.
deserialize
(
from
:
dic
)
else
{
let
err
=
YHErrorModel
(
errorCode
:
YHErrorCode
.
dictParseError
.
rawValue
,
errorMsg
:
YHErrorCode
.
dictParseError
.
description
())
callBackBlock
(
false
,
err
)
return
}
self
.
botConfig
=
result
callBackBlock
(
true
,
nil
)
}
else
{
let
err
=
YHErrorModel
(
errorCode
:
Int32
(
json
.
code
),
errorMsg
:
json
.
msg
.
isEmpty
?
""
:
json
.
msg
)
callBackBlock
(
false
,
err
)
}
}
failBlock
:
{
err
in
callBackBlock
(
false
,
err
)
}
}
func
dicToJSONString
(
dict
:
[
String
:
Any
])
->
String
{
func
dicToJSONString
(
dict
:
[
String
:
Any
])
->
String
{
if
let
jsonData
=
try
?
JSONSerialization
.
data
(
withJSONObject
:
dict
,
options
:
.
prettyPrinted
)
{
if
let
jsonData
=
try
?
JSONSerialization
.
data
(
withJSONObject
:
dict
,
options
:
.
prettyPrinted
)
{
return
String
(
data
:
jsonData
,
encoding
:
.
utf8
)
??
""
return
String
(
data
:
jsonData
,
encoding
:
.
utf8
)
??
""
...
...
galaxy/galaxy/Classes/Modules/AI/AI-Dialogue(AI对话)/V/YHAIChatBannerView.swift
View file @
4857121a
...
@@ -51,14 +51,13 @@ class YHAIChatBannerView: UIView {
...
@@ -51,14 +51,13 @@ class YHAIChatBannerView: UIView {
bgImgV
.
image
=
UIImage
(
named
:
config
.
bgImageName
)
bgImgV
.
image
=
UIImage
(
named
:
config
.
bgImageName
)
indicatorView
.
selectedDotColor
=
config
.
indicatorColor
indicatorView
.
selectedDotColor
=
config
.
indicatorColor
bannerArr
=
config
.
bannerItems
bannerArr
=
config
.
bannerItems
messages
=
config
.
flowMessages
}
}
}
}
var
messages
:[
String
]
=
[]
{
var
messages
:[
String
]
=
[
""
]
{
didSet
{
didSet
{
layout
.
dataSource
=
messages
layout
.
dataSource
=
messages
collect
ion
View
.
reloadData
()
collectView
.
reloadData
()
}
}
}
}
...
@@ -103,7 +102,7 @@ class YHAIChatBannerView: UIView {
...
@@ -103,7 +102,7 @@ class YHAIChatBannerView: UIView {
// 指定指示器为第一个
// 指定指示器为第一个
self
.
indicatorView
.
currentPage
=
0
self
.
indicatorView
.
currentPage
=
0
// 指定显示图片为第一个
// 指定显示图片为第一个
bannerView
.
selectItem
(
at
:
0
,
animated
:
false
)
//
bannerView.selectItem(at: 0, animated: false)
// 开启定时器开始滚动
// 开启定时器开始滚动
bannerView
.
automaticSlidingInterval
=
bannerSildingInterval
bannerView
.
automaticSlidingInterval
=
bannerSildingInterval
bannerView
.
removesInfiniteLoopForSingleItem
=
true
bannerView
.
removesInfiniteLoopForSingleItem
=
true
...
@@ -143,7 +142,7 @@ class YHAIChatBannerView: UIView {
...
@@ -143,7 +142,7 @@ class YHAIChatBannerView: UIView {
return
layout
return
layout
}()
}()
lazy
var
collect
ion
View
:
UICollectionView
=
{
lazy
var
collectView
:
UICollectionView
=
{
let
collectView
=
UICollectionView
(
frame
:
.
zero
,
collectionViewLayout
:
layout
)
let
collectView
=
UICollectionView
(
frame
:
.
zero
,
collectionViewLayout
:
layout
)
collectView
.
delegate
=
self
collectView
.
delegate
=
self
collectView
.
dataSource
=
self
collectView
.
dataSource
=
self
...
@@ -223,8 +222,8 @@ class YHAIChatBannerView: UIView {
...
@@ -223,8 +222,8 @@ class YHAIChatBannerView: UIView {
}
}
bannerView
.
reloadData
()
bannerView
.
reloadData
()
addSubview
(
collect
ion
View
)
addSubview
(
collectView
)
collect
ion
View
.
snp
.
makeConstraints
{
make
in
collectView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
0
)
make
.
left
.
equalTo
(
0
)
make
.
right
.
equalTo
(
0
)
make
.
right
.
equalTo
(
0
)
make
.
height
.
equalTo
(
33.0
*
2
+
10.0
+
10.0
*
2.0
)
make
.
height
.
equalTo
(
33.0
*
2
+
10.0
+
10.0
*
2.0
)
...
...
galaxy/galaxy/Classes/Tools/NetWork/YHAllApiName.swift
View file @
4857121a
...
@@ -739,6 +739,7 @@ class YHAllApiName {
...
@@ -739,6 +739,7 @@ class YHAllApiName {
static
let
cancelAIChat
=
"super-app/ai/agent/chat-cancel"
static
let
cancelAIChat
=
"super-app/ai/agent/chat-cancel"
static
let
chatHistory
=
"super-app/ai/agent/chat-details"
static
let
chatHistory
=
"super-app/ai/agent/chat-details"
static
let
createMessage
=
"super-app/ai/agent/chat-create-message"
static
let
createMessage
=
"super-app/ai/agent/chat-create-message"
static
let
botConfig
=
"super-app/ai/agent/info"
}
}
//数据收集
//数据收集
...
...
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