Commit 1bf98a4b authored by Steven杜宇's avatar Steven杜宇

// AI

parent 4b4152ad
...@@ -20,7 +20,7 @@ class YHAutoTextView: UITextView, UITextViewDelegate { ...@@ -20,7 +20,7 @@ class YHAutoTextView: UITextView, UITextViewDelegate {
} }
} }
let maxHeight = 60.0 let maxHeight = 80.0
static let verticalGap = 5.0 static let verticalGap = 5.0
var placeHolder: String = "" { var placeHolder: String = "" {
didSet { didSet {
......
...@@ -190,14 +190,19 @@ class YHAIMainChatViewController: YHBaseViewController { ...@@ -190,14 +190,19 @@ class YHAIMainChatViewController: YHBaseViewController {
} }
@objc func didCleanButtonClicked() { @objc func didCleanButtonClicked() {
self.manager.clearGlobalConverastionId()
self.viewModel.requestConversationId { sessionId in YHCommonAlertView.show("删除历史记录", "删除后记录无法恢复", "取消", "删除", fullGuestureEnable: false) {
if !sessionId.isEmpty {
self.conversationId = sessionId } callBack: {
self.manager.saveGlobalConverastionId(sessionId) self.manager.clearGlobalConverastionId()
self.messages.removeAll() self.viewModel.requestConversationId { sessionId in
self.tableView.reloadData() if !sessionId.isEmpty {
YHHUD.flash(message: "清除成功") self.conversationId = sessionId
self.manager.saveGlobalConverastionId(sessionId)
self.messages.removeAll()
self.tableView.reloadData()
YHHUD.flash(message: "清除成功")
}
} }
} }
} }
......
...@@ -206,14 +206,18 @@ class YHAIRobotChatViewController: YHBaseViewController { ...@@ -206,14 +206,18 @@ class YHAIRobotChatViewController: YHBaseViewController {
@objc func didCleanButtonClicked() { @objc func didCleanButtonClicked() {
self.manager.clearLobalSubRobotConversationIdForRobotId(robotId) YHCommonAlertView.show("删除历史记录", "删除后记录无法恢复", "取消", "删除", fullGuestureEnable: false) {
self.viewModel.requestConversationId { sessionId in
if !sessionId.isEmpty { } callBack: {
self.conversationId = sessionId self.manager.clearLobalSubRobotConversationIdForRobotId(self.robotId)
self.manager.saveLobalSubRobotConversationId(sessionId, robotId: self.robotId) self.viewModel.requestConversationId { sessionId in
self.messages.removeAll() if !sessionId.isEmpty {
self.tableView.reloadData() self.conversationId = sessionId
YHHUD.flash(message: "清除成功") self.manager.saveLobalSubRobotConversationId(sessionId, robotId: self.robotId)
self.messages.removeAll()
self.tableView.reloadData()
YHHUD.flash(message: "清除成功")
}
} }
} }
} }
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
// //
import UIKit import UIKit
import Lottie
class YHAITextMessageCell: UITableViewCell { class YHAITextMessageCell: UITableViewCell {
...@@ -39,6 +40,7 @@ class YHAITextMessageCell: UITableViewCell { ...@@ -39,6 +40,7 @@ class YHAITextMessageCell: UITableViewCell {
} }
isNeedShowCopyView = false isNeedShowCopyView = false
isNeedShowLoadingView = false
} else { } else {
...@@ -62,9 +64,12 @@ class YHAITextMessageCell: UITableViewCell { ...@@ -62,9 +64,12 @@ class YHAITextMessageCell: UITableViewCell {
if message.getType() == .recommendText { if message.getType() == .recommendText {
isNeedShowCopyView = false isNeedShowCopyView = false
isNeedShowLoadingView = false
} else { } else {
isNeedShowCopyView = message.isDone isNeedShowCopyView = message.isDone
let complete = message.isCompleted() || message.isDone
isNeedShowLoadingView = !complete
} }
} }
...@@ -79,13 +84,25 @@ class YHAITextMessageCell: UITableViewCell { ...@@ -79,13 +84,25 @@ class YHAITextMessageCell: UITableViewCell {
copyContentView.snp.remakeConstraints { make in copyContentView.snp.remakeConstraints { make in
make.left.equalTo(0) make.left.equalTo(0)
make.right.equalTo(0) make.right.equalTo(0)
make.top.equalTo(messageLabel.snp.bottom).offset(16) make.top.equalTo(loadingImgView.snp.bottom).offset(16)
make.height.equalTo(isNeedShowCopyView ? 37.0 : 0.0) make.height.equalTo(isNeedShowCopyView ? 37.0 : 0.0)
make.bottom.equalTo(0) make.bottom.equalTo(0)
} }
} }
} }
var isNeedShowLoadingView: Bool = false {
didSet {
loadingImgView.isHidden = !isNeedShowLoadingView
loadingImgView.snp.remakeConstraints { make in
make.right.equalTo(-16)
make.width.equalTo(26)
make.height.equalTo(isNeedShowLoadingView ? 18 : 0)
make.top.equalTo(messageLabel.snp.bottom).offset(isNeedShowLoadingView ? 6 : 0)
}
}
}
lazy var whiteContentView: UIView = { lazy var whiteContentView: UIView = {
let v = UIView() let v = UIView()
v.backgroundColor = .white v.backgroundColor = .white
...@@ -156,6 +173,14 @@ class YHAITextMessageCell: UITableViewCell { ...@@ -156,6 +173,14 @@ class YHAITextMessageCell: UITableViewCell {
return v return v
}() }()
let loadingImgView: LottieAnimationView! = {
let lottieView = LottieAnimationView(name: "ai_chat_loading")
lottieView.loopMode = .loop
lottieView.contentMode = .scaleAspectFit
lottieView.play()
return lottieView
}()
@objc func didCopyTextButtonClicked() { @objc func didCopyTextButtonClicked() {
let text = message.body.contentText let text = message.body.contentText
let pasteBoard = UIPasteboard.general let pasteBoard = UIPasteboard.general
...@@ -186,6 +211,7 @@ class YHAITextMessageCell: UITableViewCell { ...@@ -186,6 +211,7 @@ class YHAITextMessageCell: UITableViewCell {
contentView.addSubview(rightAngleView) contentView.addSubview(rightAngleView)
contentView.addSubview(whiteContentView) contentView.addSubview(whiteContentView)
whiteContentView.addSubview(messageLabel) whiteContentView.addSubview(messageLabel)
whiteContentView.addSubview(loadingImgView)
whiteContentView.addSubview(copyContentView) whiteContentView.addSubview(copyContentView)
shadowView.snp.makeConstraints { make in shadowView.snp.makeConstraints { make in
...@@ -210,9 +236,16 @@ class YHAITextMessageCell: UITableViewCell { ...@@ -210,9 +236,16 @@ class YHAITextMessageCell: UITableViewCell {
make.top.equalTo(16) make.top.equalTo(16)
} }
loadingImgView.snp.makeConstraints { make in
make.right.equalTo(-16)
make.width.equalTo(26)
make.height.equalTo(18)
make.top.equalTo(messageLabel.snp.bottom).offset(6)
}
copyContentView.snp.makeConstraints { make in copyContentView.snp.makeConstraints { make in
make.left.equalTo(0) make.left.equalTo(0)
make.top.equalTo(messageLabel.snp.bottom).offset(16) make.top.equalTo(loadingImgView.snp.bottom).offset(16)
make.height.equalTo(0) make.height.equalTo(0)
make.bottom.equalTo(0) make.bottom.equalTo(0)
} }
......
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