Commit 575fa56a authored by Steven杜宇's avatar Steven杜宇

// AI

parent 1ac977bb
......@@ -878,6 +878,8 @@
04FD85702C21646200BEF9C5 /* YHMyInterestTopicCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04FD856F2C21646200BEF9C5 /* YHMyInterestTopicCell.swift */; };
04FD85722C21786900BEF9C5 /* YHNameCardInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04FD85712C21786900BEF9C5 /* YHNameCardInfoView.swift */; };
04FD85742C219CFD00BEF9C5 /* YHMatchResultListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04FD85732C219CFD00BEF9C5 /* YHMatchResultListViewController.swift */; };
04FEDCFA2D08237F00D24FE2 /* tab_ai.json in Resources */ = {isa = PBXBuildFile; fileRef = 04FEDCF92D08237F00D24FE2 /* tab_ai.json */; };
04FEDCFD2D08274D00D24FE2 /* gangxiaobao_logo.json in Resources */ = {isa = PBXBuildFile; fileRef = 04FEDCFC2D08274D00D24FE2 /* gangxiaobao_logo.json */; };
6203A87EDC96313BBE789D9C /* Pods_galaxy.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 987C69D43AE8D85DC1930DCF /* Pods_galaxy.framework */; };
A5000F512C3BC28B00843452 /* YHHomeHoldViewPageViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5000F502C3BC28B00843452 /* YHHomeHoldViewPageViewController.swift */; };
A51044182B493675006B60BB /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = A51044172B493675006B60BB /* README.md */; };
......@@ -1993,6 +1995,8 @@
04FD856F2C21646200BEF9C5 /* YHMyInterestTopicCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMyInterestTopicCell.swift; sourceTree = "<group>"; };
04FD85712C21786900BEF9C5 /* YHNameCardInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHNameCardInfoView.swift; sourceTree = "<group>"; };
04FD85732C219CFD00BEF9C5 /* YHMatchResultListViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMatchResultListViewController.swift; sourceTree = "<group>"; };
04FEDCF92D08237F00D24FE2 /* tab_ai.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = tab_ai.json; sourceTree = "<group>"; };
04FEDCFC2D08274D00D24FE2 /* gangxiaobao_logo.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = gangxiaobao_logo.json; sourceTree = "<group>"; };
19B28612265782F9DC1BE0B0 /* Pods-galaxy.testenv.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-galaxy.testenv.xcconfig"; path = "Target Support Files/Pods-galaxy/Pods-galaxy.testenv.xcconfig"; sourceTree = "<group>"; };
58C2405158A4A6632D0E7460 /* Pods-galaxy.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-galaxy.debug.xcconfig"; path = "Target Support Files/Pods-galaxy/Pods-galaxy.debug.xcconfig"; sourceTree = "<group>"; };
987C69D43AE8D85DC1930DCF /* Pods_galaxy.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_galaxy.framework; sourceTree = BUILT_PRODUCTS_DIR; };
......@@ -4895,6 +4899,22 @@
path = V;
sourceTree = "<group>";
};
04FEDCF82D08235A00D24FE2 /* tab_ai */ = {
isa = PBXGroup;
children = (
04FEDCF92D08237F00D24FE2 /* tab_ai.json */,
);
path = tab_ai;
sourceTree = "<group>";
};
04FEDCFB2D08273B00D24FE2 /* gangxiaobao_logo */ = {
isa = PBXGroup;
children = (
04FEDCFC2D08274D00D24FE2 /* gangxiaobao_logo.json */,
);
path = gangxiaobao_logo;
sourceTree = "<group>";
};
4758815B24BAF3CAA24EC6A8 /* Pods */ = {
isa = PBXGroup;
children = (
......@@ -5701,6 +5721,8 @@
A5DF3D4A2BF9A304003D5F03 /* jsons */ = {
isa = PBXGroup;
children = (
04FEDCFB2D08273B00D24FE2 /* gangxiaobao_logo */,
04FEDCF82D08235A00D24FE2 /* tab_ai */,
04013E3D2CF87F3A001A8E40 /* zhibo.json */,
04BE393A2CF9B61100BD31DB /* ai_chat_input_pause */,
04BE39372CF9B5B100BD31DB /* ai_chat_loading */,
......@@ -5939,6 +5961,7 @@
A5EE42012C216C78005BBA5D /* img_0.png in Resources */,
04F0ABF32C364F9400518C30 /* home.json in Resources */,
04013E3E2CF87F3A001A8E40 /* zhibo.json in Resources */,
04FEDCFA2D08237F00D24FE2 /* tab_ai.json in Resources */,
04943BE82CF0A0B500BF2255 /* submit_page_scroll.gif in Resources */,
A5573EDB2B317C0000D98EC0 /* Assets.xcassets in Resources */,
04F0ABF52C364F9400518C30 /* community.json in Resources */,
......@@ -5947,6 +5970,7 @@
048FA0332BFDDFF400AD3BA9 /* submit_head_animation.gif in Resources */,
A5E69D512BA304D400411932 /* DIN Alternate Bold.ttf in Resources */,
04BE393E2CF9B67700BD31DB /* ai_chat_input_pause.json in Resources */,
04FEDCFD2D08274D00D24FE2 /* gangxiaobao_logo.json in Resources */,
A5EE42022C216C78005BBA5D /* img_2.jpg in Resources */,
04EA2E702BF74FA200AE80B0 /* shipin.json in Resources */,
044378A42BFC848C001F95AE /* loginBkg.mov in Resources */,
......
......@@ -7,6 +7,7 @@
//
import ESTabBarController_swift
import Lottie
class YHAITabBarItemContentView: ESTabBarItemContentView {
......@@ -65,9 +66,12 @@ class YHAITabBarItemContentView: ESTabBarItemContentView {
return label
}()
lazy var iconImgView: UIImageView = {
let v = UIImageView(image: UIImage(named: "tab_AI"))
return v
lazy var iconImgView: LottieAnimationView! = {
let lottieView = LottieAnimationView(name: "tab_ai")
lottieView.loopMode = .loop
lottieView.contentMode = .scaleAspectFit
lottieView.play()
return lottieView
}()
override init(frame: CGRect) {
......
......@@ -101,7 +101,6 @@ class YHAIMainChatViewController: YHBaseViewController {
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
autoResponseLocalPictureMessage()
}
override func viewWillDisappear(_ animated: Bool) {
......@@ -178,15 +177,15 @@ class YHAIMainChatViewController: YHBaseViewController {
return !uuids.contains($0.messageId)
}
messages.insert(contentsOf: results, at: 0)
autoResponseTextMessage()
self.reloadAndScrollToBottom(true, true)
}
}
func autoResponseLocalPictureMessage() {
if isNeedAutoResponseImage {
isNeedAutoResponseImage = false
let previewUrl = "https://prod-cdn-pub.galaxy-immi.com/5000000/chats/mask_group.jpg"
let msg = self.chatConfig.createRobotResponseLocalPictureMessage("ai_auto_chat_img", previewUrl:previewUrl)
func autoResponseTextMessage() {
if messages.count <= 0 {
let text = "您好,我是港小宝,为新中产提供一站式服务。您有香港身份和生活的问题,可以咨询我~"
let msg = self.chatConfig.createRobotResponseTextMessage(text)
messages.append(msg)
self.reloadAndScrollToBottom()
}
......
......@@ -219,7 +219,7 @@ class YHAIRequestManager: NSObject {
print("MESSAGE_RECEIVE:\n \(receiveMessage)")
let sessionDone = receiveMessage.body.isDone()
var sessionDone = receiveMessage.body.isDone()
if sessionDone {
print("SESSION DONE")
}
......@@ -227,9 +227,37 @@ class YHAIRequestManager: NSObject {
// 一段话结束需要重新生成uuid 来
self.uuid = UUID().uuidString + NSDate().timeIntervalSince1970.description
}
if receiveMessage.isUserfulMessage() {
completion?(receiveMessage, sessionDone)
}
// if receiveMessage.isUserfulMessage() {
// if receiveMessage.isNeedSpiceMessage() {
// let text = receiveMessage.body.contentText
// if text.count > 1 {
// let textArray = Array(text)
// for (index, character) in textArray.enumerated() {
// let msg = receiveMessage.copy() as! YHAIChatMessage
// msg.body.contentText = String(character)
// msg.body.status = ""
// if index == textArray.count-1 {
// msg.body.status = receiveMessage.body.status
// }
// msg.updateBodyToData()
// printLog("AAAAA- \(msg)")
// sessionDone = receiveMessage.body.isDone()
// completion?(msg, sessionDone)
// }
//
// } else {
// completion?(receiveMessage, sessionDone)
// }
//
// } else {
// completion?(receiveMessage, sessionDone)
// }
// }
}
} // arr 结束
}
......
......@@ -264,6 +264,15 @@ class YHAIRobotChatViewController: YHBaseViewController {
let msg = self.chatConfig.createRobotResponseTextMessage(text)
messages.append(msg)
} else if robotType == YHAIRobotType.image.rawValue {
let previewUrl = "https://prod-cdn-pub.galaxy-immi.com/5000000/chats/mask_group.jpg"
let msg = self.chatConfig.createRobotResponseLocalPictureMessage("ai_auto_chat_img", previewUrl:previewUrl)
messages.append(msg)
} else if robotType == YHAIRobotType.main.rawValue {
let text = "您好,我是港小宝,为新中产提供一站式服务。您有香港身份和生活的问题,可以咨询我~"
let msg = self.chatConfig.createRobotResponseTextMessage(text)
messages.append(msg)
}
}
self.reloadAndScrollToBottom(true)
......
......@@ -23,6 +23,7 @@ enum YHAIRobotType: String {
case main = "mainBot"
case education = "educationBot"
case sale = "saleBot"
case image = "EntryPrecautionsImage"
}
class YHEntranceconfigModel: SmartCodable {
......
......@@ -27,7 +27,7 @@ enum YHAIMessageType: Int {
}
class YHAIChatMessage: CustomStringConvertible {
class YHAIChatMessage: CustomStringConvertible, NSCopying {
let completeText = "conversation.chat.completed"
......@@ -40,6 +40,19 @@ class YHAIChatMessage: CustomStringConvertible {
var isDone: Bool = false
var body = YHAIMessageBody()
func copy(with zone: NSZone? = nil) -> Any {
let msg = YHAIChatMessage()
msg.id = self.id
msg.event = self.event
msg.data = self.data
msg.dataDict = self.dataDict
msg.messageId = self.messageId
msg.isSelf = self.isSelf
msg.isDone = self.isDone
msg.body = self.body.copy() as! YHAIMessageBody
return msg
}
func isMessageCompleted() -> Bool {
if self.body.status == "completed" {
return true
......@@ -191,7 +204,7 @@ class YHAIChatMessage: CustomStringConvertible {
}
}
class YHAIMessageBody: SmartCodable {
class YHAIMessageBody: SmartCodable, NSCopying {
var contentType: Int = 0
var contentText: String = ""
......@@ -216,7 +229,18 @@ class YHAIMessageBody: SmartCodable {
}
return false
}
func copy(with zone: NSZone? = nil) -> Any {
let body = YHAIMessageBody()
body.contentType = self.contentType
body.contentText = self.contentText
body.chatId = self.chatId
body.botId = self.botId
body.status = self.status
body.type = self.type
return body
}
required init() {
}
......
......@@ -7,6 +7,7 @@
//
import UIKit
import Lottie
class YHAIGreetCollectionReusableView: UICollectionReusableView {
......@@ -14,9 +15,12 @@ class YHAIGreetCollectionReusableView: UICollectionReusableView {
let horizonalGap = 16.0
lazy var iconImgView: UIImageView = {
let v = UIImageView(image: UIImage(named: "ai_gangXiaoBao_logo"))
return v
lazy var iconImgView: LottieAnimationView! = {
let lottieView = LottieAnimationView(name: "gangxiaobao_logo")
lottieView.loopMode = .loop
lottieView.contentMode = .scaleAspectFit
lottieView.play()
return lottieView
}()
lazy var titleLabel:UILabel = {
......@@ -34,7 +38,7 @@ class YHAIGreetCollectionReusableView: UICollectionReusableView {
lable.textAlignment = .left
lable.font = UIFont.PFSC_R(ofSize:14)
lable.numberOfLines = 0
lable.text = "港小宝AI智能体来啦!超懂香港身份办理,畅聊香港生活,快来和我一起欢乐探索香港!"
lable.text = "港小宝来啦!超懂香港身份规划,畅聊香港生活,快来和我一起欢乐探索香港!"
return lable
}()
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
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