Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
galaxy-iOS
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
mobile-group
galaxy-iOS
Commits
125dde55
Commit
125dde55
authored
Dec 02, 2024
by
Steven杜宇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
// AI
parent
b8f8d237
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
80 additions
and
56 deletions
+80
-56
project.pbxproj
galaxy/galaxy.xcodeproj/project.pbxproj
+4
-4
YHAIChatConfiguration.swift
...odules/AI/AI-Dialogue(AI对话)/C/YHAIChatConfiguration.swift
+13
-7
YHAIMainChatViewController.swift
...s/AI/AI-Dialogue(AI对话)/C/YHAIMainChatViewController.swift
+11
-14
YHAIRequestManager.swift
...s/Modules/AI/AI-Dialogue(AI对话)/C/YHAIRequestManager.swift
+3
-3
YHAIRobotChatViewController.swift
.../AI/AI-Dialogue(AI对话)/C/YHAIRobotChatViewController.swift
+5
-5
YHAIMessageModel.swift
...ses/Modules/AI/AI-Dialogue(AI对话)/M/YHAIMessageModel.swift
+34
-17
YHAITextMessageCell.swift
.../Modules/AI/AI-Dialogue(AI对话)/V/YHAITextMessageCell.swift
+10
-6
No files found.
galaxy/galaxy.xcodeproj/project.pbxproj
View file @
125dde55
...
...
@@ -577,7 +577,7 @@
04943BE82CF0A0B500BF2255
/* submit_page_scroll.gif in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04943BE72CF0A0B500BF2255
/* submit_page_scroll.gif */
;
};
04943BEA2CF1B44100BF2255
/* YHAIMainChatViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04943BE92CF1B44100BF2255
/* YHAIMainChatViewController.swift */
;
};
04943BED2CF46B6600BF2255
/* YHAIRequestManager.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04943BEC2CF46B6600BF2255
/* YHAIRequestManager.swift */
;
};
04943BF42CF4954800BF2255
/* YHAI
MessageCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04943BF32CF4954800BF2255
/* YHAI
MessageCell.swift */
;
};
04943BF42CF4954800BF2255
/* YHAI
TextMessageCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04943BF32CF4954800BF2255
/* YHAIText
MessageCell.swift */
;
};
04943BF62CF49E3E00BF2255
/* YHAITextInputView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04943BF52CF49E3E00BF2255
/* YHAITextInputView.swift */
;
};
049537852BA9B28500AF7E59
/* YHCertificateTemplateCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
049537842BA9B28500AF7E59
/* YHCertificateTemplateCell.swift */
;
};
049663BA2BF6105C003C8295
/* YHRefreshHeaderAnimator.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
049663B92BF6105C003C8295
/* YHRefreshHeaderAnimator.swift */
;
};
...
...
@@ -1643,7 +1643,7 @@
04943BE72CF0A0B500BF2255
/* submit_page_scroll.gif */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
image.gif
;
path
=
submit_page_scroll.gif
;
sourceTree
=
"<group>"
;
};
04943BE92CF1B44100BF2255
/* YHAIMainChatViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHAIMainChatViewController.swift
;
sourceTree
=
"<group>"
;
};
04943BEC2CF46B6600BF2255
/* YHAIRequestManager.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHAIRequestManager.swift
;
sourceTree
=
"<group>"
;
};
04943BF32CF4954800BF2255
/* YHAI
MessageCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHAI
MessageCell.swift
;
sourceTree
=
"<group>"
;
};
04943BF32CF4954800BF2255
/* YHAI
TextMessageCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHAIText
MessageCell.swift
;
sourceTree
=
"<group>"
;
};
04943BF52CF49E3E00BF2255
/* YHAITextInputView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHAITextInputView.swift
;
sourceTree
=
"<group>"
;
};
049537842BA9B28500AF7E59
/* YHCertificateTemplateCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHCertificateTemplateCell.swift
;
sourceTree
=
"<group>"
;
};
049663B92BF6105C003C8295
/* YHRefreshHeaderAnimator.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHRefreshHeaderAnimator.swift
;
sourceTree
=
"<group>"
;
};
...
...
@@ -3995,7 +3995,7 @@
04943BF12CF4947F00BF2255
/* V */
=
{
isa
=
PBXGroup
;
children
=
(
04943BF32CF4954800BF2255
/* YHAIMessageCell.swift */
,
04943BF32CF4954800BF2255
/* YHAI
Text
MessageCell.swift */
,
04BE392B2CF8917100BD31DB
/* YHAIThinkingMessageCell.swift */
,
04BE392D2CF964A200BD31DB
/* YHProductListMessageCell.swift */
,
04BE39332CF9AFAE00BD31DB
/* YHFixProductMessageCell.swift */
,
...
...
@@ -6150,7 +6150,7 @@
04CE1AD82C2AD91F001CB80A
/* YHActivityListViewController.swift in Sources */
,
A5ACE94E2B4564F7002C94D2
/* AlignedCollectionViewFlowLayout.swift in Sources */
,
A567E5B32BD7643D00D5D5A0
/* YHServiceOrderAlertView.swift in Sources */
,
04943BF42CF4954800BF2255
/* YHAIMessageCell.swift in Sources */
,
04943BF42CF4954800BF2255
/* YHAI
Text
MessageCell.swift in Sources */
,
A592FE932BA6CFFC0062FACA
/* YHCertificateEntryBottomView.swift in Sources */
,
A5ACE93B2B4564F7002C94D2
/* UIFont+Extension.swift in Sources */
,
047F3DD92CE601D1001B2A6D
/* YHEducationCertificateConfirmCell.swift in Sources */
,
...
...
galaxy/galaxy/Classes/Modules/AI/AI-Dialogue(AI对话)/C/YHAIChatConfiguration.swift
View file @
125dde55
...
...
@@ -16,19 +16,19 @@ class YHAIChatConfiguration {
func
registerMessageGroupCells
(
_
tableView
:
UITableView
)
{
tableView
.
register
(
UITableViewCell
.
self
,
forCellReuseIdentifier
:
"UITableViewCell"
)
tableView
.
register
(
YHAI
MessageCell
.
self
,
forCellReuseIdentifier
:
YHAI
MessageCell
.
cellReuseIdentifier
)
tableView
.
register
(
YHAI
TextMessageCell
.
self
,
forCellReuseIdentifier
:
YHAIText
MessageCell
.
cellReuseIdentifier
)
tableView
.
register
(
YHAIThinkingMessageCell
.
self
,
forCellReuseIdentifier
:
YHAIThinkingMessageCell
.
cellReuseIdentifier
)
tableView
.
register
(
YHProductListMessageCell
.
self
,
forCellReuseIdentifier
:
YHProductListMessageCell
.
cellReuseIdentifier
)
tableView
.
register
(
YHFixProductListMessageCell
.
self
,
forCellReuseIdentifier
:
YHFixProductListMessageCell
.
cellReuseIdentifier
)
tableView
.
register
(
YHCardMessageCell
.
self
,
forCellReuseIdentifier
:
YHCardMessageCell
.
cellReuseIdentifier
)
}
func
getMessageCell
(
_
msg
:
YHAIMessage
,
_
tableView
:
UITableView
,
indexPath
:
IndexPath
)
->
UITableViewCell
{
func
getMessageCell
(
_
msg
:
YHAI
Chat
Message
,
_
tableView
:
UITableView
,
indexPath
:
IndexPath
)
->
UITableViewCell
{
let
msgType
=
msg
.
getType
()
if
msg
Type
==
.
text
{
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHAI
MessageCell
.
cellReuseIdentifier
,
for
:
indexPath
)
as!
YHAI
MessageCell
if
msg
.
isTextMessage
()
{
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHAI
TextMessageCell
.
cellReuseIdentifier
,
for
:
indexPath
)
as!
YHAIText
MessageCell
cell
.
message
=
msg
return
cell
...
...
@@ -53,13 +53,19 @@ class YHAIChatConfiguration {
}
else
if
msgType
==
.
card
{
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHCardMessageCell
.
cellReuseIdentifier
,
for
:
indexPath
)
as!
YHCardMessageCell
return
cell
}
else
{
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHAITextMessageCell
.
cellReuseIdentifier
,
for
:
indexPath
)
as!
YHAITextMessageCell
msg
.
body
.
contentText
=
"无法识别该消息,请升级APP版本"
cell
.
message
=
msg
return
cell
}
let
defaultCell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
"UITableViewCell"
,
for
:
indexPath
)
return
defaultCell
}
func
handleReceiveMessage
(
_
res
:
YHAI
Message
?,
_
done
:
Bool
,
_
messages
:
inout
[
YHAI
Message
])
{
func
handleReceiveMessage
(
_
res
:
YHAI
ChatMessage
?,
_
done
:
Bool
,
_
messages
:
inout
[
YHAIChat
Message
])
{
if
disableHandleMessage
{
for
msg
in
messages
{
...
...
@@ -75,7 +81,7 @@ class YHAIChatConfiguration {
for
msg
in
messages
{
if
msg
.
uuid
==
res
.
uuid
{
let
msgType
=
msg
.
getType
()
if
msg
Type
==
.
text
,
res
.
getType
()
==
.
text
{
if
msg
.
isNeedSpiceMessage
(),
res
.
isNeedSpiceMessage
()
{
// 多个文字需要拼接
find
=
true
msg
.
body
.
contentText
+=
res
.
body
.
contentText
...
...
@@ -95,7 +101,7 @@ class YHAIChatConfiguration {
}
func
removeThinkingMessageFromChatList
(
_
messages
:
inout
[
YHAIMessage
])
{
func
removeThinkingMessageFromChatList
(
_
messages
:
inout
[
YHAI
Chat
Message
])
{
var
findIndex
=
-
1
for
(
index
,
msg
)
in
messages
.
enumerated
()
{
if
msg
.
getType
()
==
.
thinking
{
...
...
galaxy/galaxy/Classes/Modules/AI/AI-Dialogue(AI对话)/C/YHAIMainChatViewController.swift
View file @
125dde55
...
...
@@ -14,7 +14,7 @@ import JXSegmentedView
class
YHAIMainChatViewController
:
YHBaseViewController
{
var
robotId
:
String
=
""
var
messages
:[
YHAIMessage
]
=
[]
var
messages
:[
YHAI
Chat
Message
]
=
[]
let
manager
=
YHAIRequestManager
()
var
conversationId
:
String
=
""
...
...
@@ -42,19 +42,17 @@ class YHAIMainChatViewController: YHBaseViewController {
v
.
sendBlock
=
{
[
weak
self
]
text
in
guard
let
self
=
self
else
{
return
}
YHAIChatConfiguration
.
defaultConfig
.
disableHandleMessage
=
false
YHAIChatConfiguration
.
defaultConfig
.
removeThinkingMessageFromChatList
(
&
messages
)
let
question
=
YHAIMessage
.
createQuestionMessage
(
text
)
messages
.
append
(
question
)
messages
.
append
(
thinkingMessage
)
self
.
scrollToBottom
()
manager
.
getMainChatConversationId
{
self
.
manager
.
getMainChatConversationId
{
sesseionId
in
self
.
conversationId
=
sesseionId
YHAIChatConfiguration
.
defaultConfig
.
removeThinkingMessageFromChatList
(
&
self
.
messages
)
let
question
=
YHAIChatMessage
.
createQuestionMessage
(
text
)
self
.
messages
.
append
(
question
)
self
.
messages
.
append
(
self
.
thinkingMessage
)
self
.
scrollToBottom
()
self
.
bottomInputView
.
status
=
.
loading
YHAIChatConfiguration
.
defaultConfig
.
disableHandleMessage
=
tru
e
self
.
manager
.
requestAI
(
botId
:
self
.
robotId
,
conversationId
:
se
sse
ionId
,
question
:
text
)
{
YHAIChatConfiguration
.
defaultConfig
.
disableHandleMessage
=
fals
e
self
.
manager
.
requestAI
(
botId
:
self
.
robotId
,
conversationId
:
se
lf
.
conversat
ionId
,
question
:
text
)
{
[
weak
self
]
res
,
done
in
guard
let
self
=
self
else
{
return
}
YHAIChatConfiguration
.
defaultConfig
.
handleReceiveMessage
(
res
,
done
,
&
messages
)
...
...
@@ -64,7 +62,6 @@ class YHAIMainChatViewController: YHBaseViewController {
self
.
scrollToBottom
()
}
}
}
v
.
stopSendBlock
=
{
[
weak
self
]
in
...
...
@@ -82,8 +79,8 @@ class YHAIMainChatViewController: YHBaseViewController {
return
v
}()
lazy
var
thinkingMessage
:
YHAIMessage
=
{
let
msg
=
YHAIMessage
.
createThinkingMesssage
()
lazy
var
thinkingMessage
:
YHAI
Chat
Message
=
{
let
msg
=
YHAI
Chat
Message
.
createThinkingMesssage
()
return
msg
}()
...
...
galaxy/galaxy/Classes/Modules/AI/AI-Dialogue(AI对话)/C/YHAIRequestManager.swift
View file @
125dde55
...
...
@@ -59,7 +59,7 @@ class YHAIRequestManager: NSObject {
}
func
requestAI
(
botId
:
String
,
conversationId
:
String
,
question
:
String
=
""
,
completion
:
((
_
msg
:
YHAIMessage
?,
_
done
:
Bool
)
->
Void
)?)
{
func
requestAI
(
botId
:
String
,
conversationId
:
String
,
question
:
String
=
""
,
completion
:
((
_
msg
:
YHAI
Chat
Message
?,
_
done
:
Bool
)
->
Void
)?)
{
let
url
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
AIChat
.
agentChat
self
.
uuid
=
UUID
()
.
uuidString
+
NSDate
()
.
timeIntervalSince1970
.
description
...
...
@@ -156,7 +156,7 @@ class YHAIRequestManager: NSObject {
}
// 处理data字符串
func
handle
(
dataString
:
String
,
completion
:((
_
:
YHAIMessage
,
_
done
:
Bool
)
->
())?)
{
func
handle
(
dataString
:
String
,
completion
:((
_
:
YHAI
Chat
Message
,
_
done
:
Bool
)
->
())?)
{
let
arr
=
dataString
.
components
(
separatedBy
:
"
\n\n
"
)
if
arr
.
count
<=
0
{
...
...
@@ -169,7 +169,7 @@ class YHAIRequestManager: NSObject {
}
let
lines
=
text
.
components
(
separatedBy
:
"
\n
"
)
if
lines
.
count
>
0
{
let
receiveMessage
=
YHAIMessage
()
let
receiveMessage
=
YHAI
Chat
Message
()
receiveMessage
.
uuid
=
uuid
for
line
in
lines
{
if
line
.
starts
(
with
:
prefix_id
)
{
...
...
galaxy/galaxy/Classes/Modules/AI/AI-Dialogue(AI对话)/C/YHAIRobotChatViewController.swift
View file @
125dde55
...
...
@@ -14,7 +14,7 @@ class YHAIRobotChatViewController: YHBaseViewController {
var
robotId
:
String
=
""
var
conversationId
:
String
=
""
var
messages
:[
YHAIMessage
]
=
[]
var
messages
:[
YHAI
Chat
Message
]
=
[]
let
manager
=
YHAIRequestManager
()
...
...
@@ -48,12 +48,12 @@ class YHAIRobotChatViewController: YHBaseViewController {
guard
let
self
=
self
else
{
return
}
YHAIChatConfiguration
.
defaultConfig
.
removeThinkingMessageFromChatList
(
&
messages
)
let
question
=
YHAIMessage
.
createQuestionMessage
(
text
)
let
question
=
YHAI
Chat
Message
.
createQuestionMessage
(
text
)
messages
.
append
(
question
)
messages
.
append
(
thinkingMessage
)
self
.
scrollToBottom
()
self
.
bottomInputView
.
status
=
.
loading
YHAIChatConfiguration
.
defaultConfig
.
disableHandleMessage
=
tru
e
YHAIChatConfiguration
.
defaultConfig
.
disableHandleMessage
=
fals
e
self
.
manager
.
requestAI
(
botId
:
self
.
robotId
,
conversationId
:
self
.
conversationId
,
question
:
text
)
{
[
weak
self
]
res
,
done
in
guard
let
self
=
self
else
{
return
}
...
...
@@ -80,8 +80,8 @@ class YHAIRobotChatViewController: YHBaseViewController {
return
v
}()
lazy
var
thinkingMessage
:
YHAIMessage
=
{
let
msg
=
YHAIMessage
.
createThinkingMesssage
()
lazy
var
thinkingMessage
:
YHAI
Chat
Message
=
{
let
msg
=
YHAI
Chat
Message
.
createThinkingMesssage
()
return
msg
}()
...
...
galaxy/galaxy/Classes/Modules/AI/AI-Dialogue(AI对话)/M/YHAIMessageModel.swift
View file @
125dde55
...
...
@@ -14,15 +14,17 @@ class YHAIMessageModel: NSObject {
}
enum
YHAIMessageType
:
Int
{
case
thinking
=
-
1
case
thinking
=
-
1
// 思考消息
case
none
=
0
case
text
=
1
case
fixProductList
=
2
case
productList
=
3
case
card
=
4
case
AIText
=
1
// 文字消息
case
recommendText
=
2
// 推荐文字消息
case
fixProductList
=
3
// 固定商品列表消息
case
productList
=
4
case
card
=
5
}
class
YHAIMessage
:
CustomStringConvertible
{
class
YHAI
Chat
Message
:
CustomStringConvertible
{
var
id
:
String
=
""
var
event
:
String
=
""
...
...
@@ -49,8 +51,18 @@ class YHAIMessage: CustomStringConvertible {
event
=
"conversation.message.completed"
}
static
func
createQuestionMessage
(
_
text
:
String
)
->
YHAIMessage
{
let
question
=
YHAIMessage
()
func
isTextMessage
()
->
Bool
{
let
type
=
self
.
getType
()
return
type
==
.
AIText
||
type
==
.
recommendText
}
func
isNeedSpiceMessage
()
->
Bool
{
let
type
=
self
.
getType
()
return
type
==
.
AIText
}
static
func
createQuestionMessage
(
_
text
:
String
)
->
YHAIChatMessage
{
let
question
=
YHAIChatMessage
()
question
.
isSelf
=
true
let
body
=
YHAIMessageBody
()
body
.
contentType
=
1
...
...
@@ -62,8 +74,8 @@ class YHAIMessage: CustomStringConvertible {
return
question
}
static
func
createThinkingMesssage
()
->
YHAIMessage
{
let
message
=
YHAIMessage
()
static
func
createThinkingMesssage
()
->
YHAI
Chat
Message
{
let
message
=
YHAI
Chat
Message
()
message
.
isSelf
=
false
let
body
=
YHAIMessageBody
()
body
.
contentType
=
YHAIMessageType
.
thinking
.
rawValue
...
...
@@ -81,17 +93,22 @@ class YHAIMessage: CustomStringConvertible {
// 获取消息类型
func
getType
()
->
YHAIMessageType
{
if
let
t
ype
=
data
[
"contentType"
]
as?
Int
{
if
t
ype
==
YHAIMessageType
.
thinking
.
rawValue
{
if
let
contentT
ype
=
data
[
"contentType"
]
as?
Int
{
if
contentT
ype
==
YHAIMessageType
.
thinking
.
rawValue
{
return
.
thinking
}
if
type
==
YHAIMessageType
.
text
.
rawValue
{
return
.
text
if
contentType
==
YHAIMessageType
.
AIText
.
rawValue
{
if
let
type
=
data
[
"type"
]
as?
String
{
if
type
==
"follow_up"
{
return
.
recommendText
}
if
type
==
YHAIMessageType
.
fixProductList
.
rawValue
{
}
return
.
AIText
}
if
contentType
==
YHAIMessageType
.
fixProductList
.
rawValue
{
return
.
fixProductList
}
if
t
ype
==
YHAIMessageType
.
productList
.
rawValue
{
if
contentT
ype
==
YHAIMessageType
.
productList
.
rawValue
{
return
.
productList
}
}
...
...
@@ -100,7 +117,7 @@ class YHAIMessage: CustomStringConvertible {
// 获取文字消息的文字
func
getText
()
->
String
{
if
getType
()
==
.
t
ext
{
if
getType
()
==
.
AIT
ext
{
if
let
text
=
data
[
"contentText"
]
as?
String
,
!
text
.
isEmpty
{
return
text
}
...
...
galaxy/galaxy/Classes/Modules/AI/AI-Dialogue(AI对话)/V/YHAIMessageCell.swift
→
galaxy/galaxy/Classes/Modules/AI/AI-Dialogue(AI对话)/V/YHAI
Text
MessageCell.swift
View file @
125dde55
...
...
@@ -8,16 +8,16 @@
import
UIKit
class
YHAIMessageCell
:
UITableViewCell
{
class
YHAI
Text
MessageCell
:
UITableViewCell
{
static
let
cellReuseIdentifier
=
"YHAIMessageCell"
static
let
cellReuseIdentifier
=
"YHAI
Text
MessageCell"
var
message
:
YHAI
Message
=
YHAI
Message
()
{
var
message
:
YHAI
ChatMessage
=
YHAIChat
Message
()
{
didSet
{
messageLabel
.
text
=
message
.
body
.
contentText
rightAngleView
.
backgroundColor
=
message
.
isSelf
?
.
brandMainColor
:
.
white
rightAngleView
.
isHidden
=
message
.
getType
()
!=
.
t
ext
rightAngleView
.
isHidden
=
message
.
getType
()
!=
.
AIT
ext
if
message
.
isSelf
{
...
...
@@ -41,8 +41,7 @@ class YHAIMessageCell: UITableViewCell {
}
else
{
let
loadingText
=
message
.
isDone
?
""
:
"..."
messageLabel
.
text
=
message
.
body
.
contentText
+
loadingText
messageLabel
.
text
=
message
.
body
.
contentText
whiteContentView
.
backgroundColor
=
.
white
messageLabel
.
textColor
=
.
mainTextColor
...
...
@@ -59,8 +58,13 @@ class YHAIMessageCell: UITableViewCell {
make
.
width
.
height
.
equalTo
(
15
)
}
if
message
.
getType
()
==
.
recommendText
{
isNeedShowCopyView
=
false
}
else
{
isNeedShowCopyView
=
message
.
isDone
}
}
self
.
setNeedsLayout
()
self
.
layoutIfNeeded
()
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment