Commit 4857121a authored by Steven杜宇's avatar Steven杜宇

// AI

parent 4804e939
...@@ -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 = "";
......
...@@ -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
} }
......
...@@ -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() {
}
}
...@@ -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) ?? ""
......
...@@ -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
collectionView.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 collectionView: 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(collectionView) addSubview(collectView)
collectionView.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)
......
...@@ -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"
} }
//数据收集 //数据收集
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment