Commit 7af5bd7c authored by Steven杜宇's avatar Steven杜宇

// AI

parent ec2bcde0
......@@ -226,19 +226,37 @@ class YHAIRequestManager: NSObject {
}
extension YHAIRequestManager {
func getMainChatConversationId(completion:((String)->())?) {
if let sessionId = UserDefaults.standard.value(forKey: YHAIRequestManager.sessionKey) as? String, !sessionId.isEmpty {
let sessionId = getLocalGlobalConverastionId()
if !sessionId.isEmpty {
completion?(sessionId)
} else {
self.viewModel.getConversationId { success, error in
let sessionId = self.viewModel.sessionId
UserDefaults.standard.set(sessionId, forKey: YHAIRequestManager.sessionKey)
UserDefaults.standard.synchronize()
completion?(self.viewModel.sessionId)
}
return
}
self.viewModel.requestConversationId { success, error in
let sessionId = self.viewModel.sessionId
self.saveGlobalConverastionId(sessionId)
completion?(self.viewModel.sessionId)
}
}
func saveGlobalConverastionId(_ conversationId: String) {
UserDefaults.standard.set(conversationId, forKey: YHAIRequestManager.sessionKey)
UserDefaults.standard.synchronize()
}
func clearGlobalConversationId() {
UserDefaults.standard.set(nil, forKey: YHAIRequestManager.sessionKey)
UserDefaults.standard.synchronize()
}
func getLocalGlobalConverastionId() -> String {
if let sessionId = UserDefaults.standard.value(forKey: YHAIRequestManager.sessionKey) as? String, !sessionId.isEmpty {
return sessionId
}
return ""
}
}
......@@ -74,6 +74,14 @@ class YHAIRobotChatViewController: YHBaseViewController {
return v
}()
lazy var cleanBtn: UIButton = {
let btn = UIButton()
btn.setImage(UIImage(named: "msg_clean"), for: .normal)
btn.YH_clickEdgeInsets = UIEdgeInsets(top: 20, left: 20, bottom: 20, right: 20)
btn.addTarget(self, action: #selector(didCleanButtonClicked), for: .touchUpInside)
return btn
}()
lazy var thinkingMessage: YHAIChatMessage = {
let msg = YHAIChatMessage.createThinkingMesssage()
return msg
......@@ -89,12 +97,19 @@ class YHAIRobotChatViewController: YHBaseViewController {
gk_navTitle = "新港生活规划师"
gk_navTitleColor = .mainTextColor
gk_navigationBar.addSubview(cleanBtn)
self.view.addSubview(self.tableView)
self.view.addSubview(self.bottomInputView)
self.view.addSubview(self.bgImgView)
self.view.insertSubview(bgImgView, belowSubview: gk_navigationBar)
cleanBtn.snp.makeConstraints { make in
make.width.height.equalTo(24)
make.centerY.equalToSuperview()
make.right.equalToSuperview().offset(-20)
}
bgImgView.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
......@@ -165,6 +180,20 @@ class YHAIRobotChatViewController: YHBaseViewController {
callback?(success)
}
}
@objc func didCleanButtonClicked() {
self.viewModel.requestConversationId { success, error in
if success {
let sessionId = self.viewModel.sessionId
self.conversationId = sessionId
self.manager.saveGlobalConverastionId(sessionId)
self.messages.removeAll()
self.tableView.reloadData()
YHHUD.flash(message: "清除成功")
}
}
}
}
extension YHAIRobotChatViewController: UITableViewDelegate, UITableViewDataSource {
......
......@@ -44,7 +44,7 @@ class YHAIViewModel: NSObject {
}
}
func getConversationId(callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
func requestConversationId(callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.AIChat.getAIChatSessionId
......
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