Commit aa024f54 authored by Steven杜宇's avatar Steven杜宇

// 消息复制

parent c7bbad05
......@@ -75,13 +75,14 @@ class YHAIChatConfiguration {
}
}
}
if !find {
messages.append(res)
}
} else {
if done { // 思考完成
for msg in messages {
msg.isDone = true
}
}
}
}
......
......@@ -194,6 +194,9 @@ class YHAIRequestManager: NSObject {
print("msgType: \(receiveMessage.getType()), compltete:\(receiveMessage.isFinishd()), uuid:\(receiveMessage.uuid), \(receiveMessage.body.contentText)")
let sessionDone = receiveMessage.body.isDone()
if sessionDone {
print("SESSION DONE")
}
if !receiveMessage.body.isStart() {
completion?(receiveMessage, sessionDone)
}
......
......@@ -31,6 +31,8 @@ class YHAIMessage: CustomStringConvertible {
var uuid: String = ""
var isSelf: Bool = false
var isDone: Bool = false
var body = YHAIMessageBody()
func isFinishd() -> Bool {
......
......@@ -17,12 +17,15 @@ class YHAIMessageCell: UITableViewCell {
didSet {
messageLabel.text = message.body.contentText
rightAngleView.backgroundColor = message.isSelf ? .brandMainColor : .white
rightAngleView.isHidden = message.getType() != .text
if message.isSelf {
isNeedShowCopyView = false
whiteContentView.backgroundColor = .brandMainColor
messageLabel.textColor = .white
whiteContentView.snp.remakeConstraints { make in
make.left.greaterThanOrEqualTo(20)
make.right.equalTo(-20)
......@@ -36,8 +39,11 @@ class YHAIMessageCell: UITableViewCell {
}
} else {
whiteContentView.backgroundColor = .white
messageLabel.textColor = .mainTextColor
isNeedShowCopyView = message.isDone
whiteContentView.snp.remakeConstraints { make in
make.left.equalTo(20)
make.right.lessThanOrEqualTo(-20)
......@@ -56,6 +62,17 @@ class YHAIMessageCell: UITableViewCell {
}
}
var isNeedShowCopyView: Bool = false {
didSet {
copyContentView.isHidden = !isNeedShowCopyView
copyContentView.snp.updateConstraints { make in
make.height.equalTo(isNeedShowCopyView ? 37.0 : 0.0)
}
self.setNeedsLayout()
self.layoutIfNeeded()
}
}
var whiteContentView: UIView = {
let v = UIView()
v.backgroundColor = .white
......@@ -80,6 +97,53 @@ class YHAIMessageCell: UITableViewCell {
return lable
}()
lazy var copyContentView: UIView = {
let v = UIView()
v.isHidden = true
let bgImgV = UIImageView(image: UIImage(named: "ai_chat_copy_bg"))
v.addSubview(bgImgV)
bgImgV.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
let label = UILabel()
label.textColor = UIColor.init(hex: 0x8993A2)
label.textAlignment = .left
label.font = UIFont.PFSC_R(ofSize:12)
label.text = "以上内容由银河AI生成"
v.addSubview(label)
label.snp.makeConstraints { make in
make.left.equalTo(16)
make.centerY.equalToSuperview()
make.height.equalTo(17)
}
let copyBtn = UIButton()
copyBtn.setTitle("复制", for: .normal)
copyBtn.titleLabel?.font = .PFSC_R(ofSize: 12)
copyBtn.setTitleColor(.mainTextColor, for: .normal)
copyBtn.setImage(UIImage(named: "ai_chat_msg_copy"), for: .normal)
copyBtn.YH_clickEdgeInsets = UIEdgeInsets(top: 15, left: 15, bottom: 15, right: 15)
copyBtn.addTarget(self, action: #selector(didCopyTextButtonClicked), for: .touchUpInside)
v.addSubview(copyBtn)
copyBtn.snp.makeConstraints { make in
make.right.equalTo(0)
make.centerY.equalToSuperview()
make.height.equalTo(37)
make.width.equalTo(82)
}
copyBtn.iconInLeft(spacing: 0.0)
return v
}()
@objc func didCopyTextButtonClicked() {
let text = message.body.contentText
let pasteBoard = UIPasteboard.general
pasteBoard.string = text
YHHUD.flash(message: "复制成功")
}
lazy var shadowView: YHAIChatShadowView = {
let v = YHAIChatShadowView()
return v
......@@ -103,6 +167,7 @@ class YHAIMessageCell: UITableViewCell {
contentView.addSubview(rightAngleView)
contentView.addSubview(whiteContentView)
whiteContentView.addSubview(messageLabel)
whiteContentView.addSubview(copyContentView)
shadowView.snp.makeConstraints { make in
make.edges.equalTo(whiteContentView)
......@@ -124,7 +189,14 @@ class YHAIMessageCell: UITableViewCell {
make.left.equalTo(16)
make.right.equalTo(-16)
make.top.equalTo(16)
make.bottom.equalTo(-16)
}
copyContentView.snp.makeConstraints { make in
make.left.equalTo(0)
make.top.equalTo(messageLabel.snp.bottom).offset(16)
make.right.equalTo(0)
make.height.equalTo(0)
make.bottom.equalTo(0)
}
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "背景图.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
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