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
179a69d8
Commit
179a69d8
authored
Dec 18, 2024
by
Steven杜宇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
// AI
parent
e669ea20
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
1 addition
and
199 deletions
+1
-199
Podfile
galaxy/Podfile
+1
-3
project.pbxproj
galaxy/galaxy.xcodeproj/project.pbxproj
+0
-8
YHAIMainChatViewController.swift
...s/AI/AI-Dialogue(AI对话)/C/YHAIMainChatViewController.swift
+0
-2
YHAIChatDataBaseManager.swift
...ules/AI/AI-Dialogue(AI对话)/M/YHAIChatDataBaseManager.swift
+0
-100
YHAIChatDataBaseModel.swift
...odules/AI/AI-Dialogue(AI对话)/M/YHAIChatDataBaseModel.swift
+0
-86
No files found.
galaxy/Podfile
View file @
179a69d8
...
...
@@ -115,9 +115,7 @@ target 'galaxy' do
pod
'AliyunLogProducer'
,
'4.3.3'
#加密
pod
'xxtea'
,
'1.0.2'
#Realm
pod
'RealmSwift'
,
'20.0.0'
pod
'Realm'
,
'20.0.0'
end
post_install
do
|
installer
|
...
...
galaxy/galaxy.xcodeproj/project.pbxproj
View file @
179a69d8
...
...
@@ -92,7 +92,6 @@
045C0FD22D12CA5F00BD2DC0
/* YHMineSchemeViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045C0C622D12CA5E00BD2DC0
/* YHMineSchemeViewController.swift */
;
};
045C0FD32D12CA5F00BD2DC0
/* YHFamilyRequestViewModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045C0DB02D12CA5E00BD2DC0
/* YHFamilyRequestViewModel.swift */
;
};
045C0FD42D12CA5F00BD2DC0
/* YHHKRecordsLastStayCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045C0CA22D12CA5E00BD2DC0
/* YHHKRecordsLastStayCell.swift */
;
};
045C0FD52D12CA5F00BD2DC0
/* YHAIChatDataBaseModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045C0A302D12CA5E00BD2DC0
/* YHAIChatDataBaseModel.swift */
;
};
045C0FD62D12CA5F00BD2DC0
/* YHCertificateEditSheetView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045C0C162D12CA5E00BD2DC0
/* YHCertificateEditSheetView.swift */
;
};
045C0FD72D12CA5F00BD2DC0
/* YHCardMessageCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045C0A462D12CA5E00BD2DC0
/* YHCardMessageCell.swift */
;
};
045C0FD82D12CA5F00BD2DC0
/* YHPreviewMainApplicantInfoViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045C0E1B2D12CA5E00BD2DC0
/* YHPreviewMainApplicantInfoViewController.swift */
;
};
...
...
@@ -754,7 +753,6 @@
045C12692D12CA5F00BD2DC0
/* YHResignGuidelinesExampleViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045C0D142D12CA5E00BD2DC0
/* YHResignGuidelinesExampleViewController.swift */
;
};
045C126A2D12CA5F00BD2DC0
/* YHPlayerTransitionAnimator.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045C0E862D12CA5E00BD2DC0
/* YHPlayerTransitionAnimator.swift */
;
};
045C126B2D12CA5F00BD2DC0
/* YHLookResignResultViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045C0CD42D12CA5E00BD2DC0
/* YHLookResignResultViewController.swift */
;
};
045C126C2D12CA5F00BD2DC0
/* YHAIChatDataBaseManager.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045C0A2F2D12CA5E00BD2DC0
/* YHAIChatDataBaseManager.swift */
;
};
045C126D2D12CA5F00BD2DC0
/* YHLookResignGuideLineView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045C0CD92D12CA5E00BD2DC0
/* YHLookResignGuideLineView.swift */
;
};
045C126E2D12CA5F00BD2DC0
/* YHHeadImageViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045C0EEA2D12CA5E00BD2DC0
/* YHHeadImageViewController.swift */
;
};
045C126F2D12CA5F00BD2DC0
/* YHTravelModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045C0A6F2D12CA5E00BD2DC0
/* YHTravelModel.swift */
;
};
...
...
@@ -1165,8 +1163,6 @@
045C0A2B2D12CA5E00BD2DC0
/* YHAIRobotChatViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHAIRobotChatViewController.swift
;
sourceTree
=
"<group>"
;
};
045C0A2C2D12CA5E00BD2DC0
/* YHAIServiceListViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHAIServiceListViewController.swift
;
sourceTree
=
"<group>"
;
};
045C0A2D2D12CA5E00BD2DC0
/* YHAITabViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHAITabViewController.swift
;
sourceTree
=
"<group>"
;
};
045C0A2F2D12CA5E00BD2DC0
/* YHAIChatDataBaseManager.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHAIChatDataBaseManager.swift
;
sourceTree
=
"<group>"
;
};
045C0A302D12CA5E00BD2DC0
/* YHAIChatDataBaseModel.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHAIChatDataBaseModel.swift
;
sourceTree
=
"<group>"
;
};
045C0A312D12CA5E00BD2DC0
/* YHAIHistoryMessage.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHAIHistoryMessage.swift
;
sourceTree
=
"<group>"
;
};
045C0A322D12CA5E00BD2DC0
/* YHAIListModel.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHAIListModel.swift
;
sourceTree
=
"<group>"
;
};
045C0A332D12CA5E00BD2DC0
/* YHAIMessageModel.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHAIMessageModel.swift
;
sourceTree
=
"<group>"
;
};
...
...
@@ -2353,8 +2349,6 @@
045C0A352D12CA5E00BD2DC0
/* M */
=
{
isa
=
PBXGroup
;
children
=
(
045C0A2F2D12CA5E00BD2DC0
/* YHAIChatDataBaseManager.swift */
,
045C0A302D12CA5E00BD2DC0
/* YHAIChatDataBaseModel.swift */
,
045C0A312D12CA5E00BD2DC0
/* YHAIHistoryMessage.swift */
,
045C0A322D12CA5E00BD2DC0
/* YHAIListModel.swift */
,
045C0A332D12CA5E00BD2DC0
/* YHAIMessageModel.swift */
,
...
...
@@ -6250,7 +6244,6 @@
045C0FD22D12CA5F00BD2DC0
/* YHMineSchemeViewController.swift in Sources */
,
045C0FD32D12CA5F00BD2DC0
/* YHFamilyRequestViewModel.swift in Sources */
,
045C0FD42D12CA5F00BD2DC0
/* YHHKRecordsLastStayCell.swift in Sources */
,
045C0FD52D12CA5F00BD2DC0
/* YHAIChatDataBaseModel.swift in Sources */
,
045C0FD62D12CA5F00BD2DC0
/* YHCertificateEditSheetView.swift in Sources */
,
045C0FD72D12CA5F00BD2DC0
/* YHCardMessageCell.swift in Sources */
,
045C0FD82D12CA5F00BD2DC0
/* YHPreviewMainApplicantInfoViewController.swift in Sources */
,
...
...
@@ -6923,7 +6916,6 @@
045C12692D12CA5F00BD2DC0
/* YHResignGuidelinesExampleViewController.swift in Sources */
,
045C126A2D12CA5F00BD2DC0
/* YHPlayerTransitionAnimator.swift in Sources */
,
045C126B2D12CA5F00BD2DC0
/* YHLookResignResultViewController.swift in Sources */
,
045C126C2D12CA5F00BD2DC0
/* YHAIChatDataBaseManager.swift in Sources */
,
045C126D2D12CA5F00BD2DC0
/* YHLookResignGuideLineView.swift in Sources */
,
045C126E2D12CA5F00BD2DC0
/* YHHeadImageViewController.swift in Sources */
,
045C126F2D12CA5F00BD2DC0
/* YHTravelModel.swift in Sources */
,
...
...
galaxy/galaxy/Classes/Modules/AI/AI-Dialogue(AI对话)/C/YHAIMainChatViewController.swift
View file @
179a69d8
...
...
@@ -73,8 +73,6 @@ class YHAIMainChatViewController: YHBaseViewController {
gk_navigationBar
.
isHidden
=
true
view
.
backgroundColor
=
.
clear
IQKeyboardManager
.
shared
.
isEnabled
=
false
let
historyMsgs
=
YHAIChatDataBaseManager
.
shared
.
readHistoryUIMessages
()
messages
.
append
(
contentsOf
:
historyMsgs
)
gk_navTitle
=
"AI对话"
self
.
view
.
addSubview
(
self
.
tableView
)
...
...
galaxy/galaxy/Classes/Modules/AI/AI-Dialogue(AI对话)/M/YHAIChatDataBaseManager.swift
deleted
100644 → 0
View file @
e669ea20
//
// YHAIChatDataBaseManager.swift
// galaxy
//
// Created by Dufet on 2024/12/2.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
import
Realm
import
RealmSwift
class
YHAIChatDataBaseManager
{
static
let
shared
=
YHAIChatDataBaseManager
()
let
dbName
=
"AI_CHAT_DB.realm"
// 如果要存储的数据模型属性发生变化,需要配置当前版本号比之前大
let
dbVersion
:
UInt64
=
1
init
()
{
configDataBase
()
}
private
func
configDataBase
()
{
let
docPath
=
NSSearchPathForDirectoriesInDomains
(
FileManager
.
SearchPathDirectory
.
documentDirectory
,
FileManager
.
SearchPathDomainMask
.
userDomainMask
,
true
)[
0
]
as
String
let
dbPath
=
docPath
.
appending
(
"/
\(
dbName
)
"
)
let
config
=
Realm
.
Configuration
(
fileURL
:
URL
.
init
(
string
:
dbPath
),
inMemoryIdentifier
:
nil
,
encryptionKey
:
nil
,
readOnly
:
false
,
schemaVersion
:
dbVersion
,
migrationBlock
:
{
(
migration
,
oldSchemaVersion
)
in
},
deleteRealmIfMigrationNeeded
:
false
,
shouldCompactOnLaunch
:
nil
,
objectTypes
:
nil
)
Realm
.
Configuration
.
defaultConfiguration
=
config
Realm
.
asyncOpen
{
result
in
switch
result
{
case
let
.
success
(
succeed
):
print
(
"Realm 服务器配置成功!"
)
break
case
let
.
failure
(
error
):
print
(
"Realm 数据库配置失败:
\(
error
.
localizedDescription
)
"
)
break
}
}
}
private
func
getDB
()
->
Realm
{
let
docPath
=
NSSearchPathForDirectoriesInDomains
(
FileManager
.
SearchPathDirectory
.
documentDirectory
,
FileManager
.
SearchPathDomainMask
.
userDomainMask
,
true
)[
0
]
as
String
let
dbPath
=
docPath
.
appending
(
"/
\(
dbName
)
"
)
/// 传入路径会自动创建数据库
let
defaultRealm
=
try!
Realm
(
fileURL
:
URL
.
init
(
string
:
dbPath
)
!
)
return
defaultRealm
}
func
addDBMessages
(
_
messages
:
[
YHAIChatDBMessage
])
{
// 获取 Realm 实例
let
defaultRealm
=
self
.
getDB
()
// 开始写入事务
for
message
in
messages
{
let
students
=
getDBMessageBy
(
uuid
:
message
.
uuid
)
try!
defaultRealm
.
write
{
// 将新对象添加到 Realm 数据库
defaultRealm
.
add
(
message
,
update
:
students
.
count
>
0
?
.
modified
:
.
all
)
}
}
}
func
addDBMessage
(
_
message
:
YHAIChatDBMessage
)
->
Void
{
let
defaultRealm
=
self
.
getDB
()
try!
defaultRealm
.
write
{
defaultRealm
.
add
(
message
)
}
print
(
defaultRealm
.
configuration
.
fileURL
??
""
)
}
/// 获取 所保存的消息
func
getDBMessages
()
->
Results
<
YHAIChatDBMessage
>
{
let
defaultRealm
=
self
.
getDB
()
return
defaultRealm
.
objects
(
YHAIChatDBMessage
.
self
)
}
func
getDBMessageBy
(
uuid
:
String
)
->
Results
<
YHAIChatDBMessage
>
{
return
self
.
readDBMessages
(
"uuid = '
\(
uuid
)
'"
)
}
func
readDBMessages
(
_
predicate
:
String
)
->
Results
<
YHAIChatDBMessage
>
{
let
defaultRealm
=
self
.
getDB
()
print
(
defaultRealm
.
configuration
.
fileURL
??
""
)
let
predicate
=
NSPredicate
(
format
:
predicate
)
let
results
=
defaultRealm
.
objects
(
YHAIChatDBMessage
.
self
)
return
results
.
filter
(
predicate
)
}
func
readHistoryUIMessages
()
->
[
YHAIChatMessage
]
{
let
result
=
YHAIChatDataBaseManager
.
shared
.
getDBMessages
()
var
arr
=
[
YHAIChatMessage
]()
for
msg
in
result
{
let
model
=
msg
.
getMessage
()
arr
.
append
(
model
)
}
return
arr
}
}
galaxy/galaxy/Classes/Modules/AI/AI-Dialogue(AI对话)/M/YHAIChatDataBaseModel.swift
deleted
100644 → 0
View file @
e669ea20
//
// YHAIChatDataBaseModel.swift
// galaxy
//
// Created by Dufet on 2024/12/2.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
import
Realm
import
RealmSwift
class
YHAIChatDataBaseModel
:
NSObject
{
}
class
YHAIChatDBMessage
:
Object
{
@objc
var
uuid
:
String
=
""
@objc
dynamic
var
id
:
String
=
""
@objc
dynamic
var
event
:
String
=
""
@objc
dynamic
var
data
:
String
=
""
@objc
dynamic
var
is_self
:
Bool
=
false
@objc
dynamic
var
is_done
:
Bool
=
false
//重写 Object.primaryKey() 可以设置模型的主键。
//声明主键之后,对象将被允许查询,更新速度更加高效,并且要求每个对象保持唯一性。
//一旦带有主键的对象被添加到 Realm 之后,该对象的主键将不可修改。
override
static
func
primaryKey
()
->
String
?
{
return
"uuid"
}
//重写 Object.ignoredProperties() 可以防止 Realm 存储数据模型的某个属性
override
static
func
ignoredProperties
()
->
[
String
]
{
// return ["tempID"]
return
[]
}
//重写 Object.indexedProperties() 方法可以为数据模型中需要添加索引的属性建立索引,Realm 支持为字符串、整型、布尔值以及 Date 属性建立索引。
override
static
func
indexedProperties
()
->
[
String
]
{
// return ["name"]
return
[]
}
static
func
createMessage
(
_
message
:
YHAIChatMessage
)
->
YHAIChatDBMessage
{
let
msg
=
YHAIChatDBMessage
()
msg
.
uuid
=
message
.
messageId
msg
.
id
=
message
.
id
msg
.
event
=
message
.
event
msg
.
data
=
message
.
data
msg
.
is_self
=
message
.
isSelf
msg
.
is_done
=
message
.
isDone
print
(
"DB WRITE--
\(
message
)
"
)
return
msg
}
func
getMessage
()
->
YHAIChatMessage
{
let
msg
=
YHAIChatMessage
()
msg
.
messageId
=
self
.
uuid
msg
.
id
=
self
.
id
msg
.
event
=
self
.
event
msg
.
data
=
self
.
data
msg
.
isSelf
=
self
.
is_self
msg
.
isDone
=
self
.
is_done
print
(
"DB READ--
\(
msg
)
"
)
if
let
jsonData
=
self
.
data
.
data
(
using
:
.
utf8
)
{
do
{
let
jsonDict
=
try
JSONSerialization
.
jsonObject
(
with
:
jsonData
,
options
:
[])
as?
[
String
:
Any
]
let
dic
=
(
jsonDict
??
[:])
msg
.
dataDict
=
dic
if
let
body
=
YHAIMessageBody
.
deserialize
(
from
:
dic
)
{
msg
.
body
=
body
}
}
catch
{
}
}
return
msg
}
}
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