mirror of https://github.com/alibaba/MNN.git
[update] change storage key from modelId to modelName
This commit is contained in:
parent
cbe027a005
commit
3d2091bc24
|
|
@ -35,4 +35,4 @@ struct LocalModelListView: View {
|
|||
Text(viewModel.errorMessage)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -15,7 +15,7 @@ struct MainTabView: View {
|
|||
@State private var showSettings = false
|
||||
@State private var showWebView = false
|
||||
@State private var webViewURL: URL?
|
||||
@State private var navigateToSettings = false // 新增状态变量
|
||||
@State private var navigateToSettings = false
|
||||
@StateObject private var modelListViewModel = TBModelListViewModel()
|
||||
@StateObject private var localModelListViewModel = ModelListViewModel()
|
||||
@State private var selectedTab: Int = 0
|
||||
|
|
@ -132,6 +132,9 @@ struct MainTabView: View {
|
|||
private var chatDestination: some View {
|
||||
if let model = localModelListViewModel.selectedModel {
|
||||
LLMChatView(modelInfo: model)
|
||||
.navigationBarHidden(false)
|
||||
.navigationBarTitleDisplayMode(.inline)
|
||||
.toolbar(.hidden, for: .tabBar) // Hide tab bar in chat
|
||||
} else if let history = selectedHistory {
|
||||
let modelInfo = ModelInfo(
|
||||
modelId: history.modelId,
|
||||
|
|
@ -141,6 +144,9 @@ struct MainTabView: View {
|
|||
isDownloaded: true
|
||||
)
|
||||
LLMChatView(modelInfo: modelInfo, history: history)
|
||||
.navigationBarHidden(false)
|
||||
.navigationBarTitleDisplayMode(.inline)
|
||||
.toolbar(.hidden, for: .tabBar) // Hide tab bar in chat
|
||||
} else {
|
||||
EmptyView()
|
||||
}
|
||||
|
|
@ -148,13 +154,18 @@ struct MainTabView: View {
|
|||
|
||||
private var chatIsActiveBinding: Binding<Bool> {
|
||||
Binding<Bool>(
|
||||
get: { modelListViewModel.selectedModel != nil || selectedHistory != nil },
|
||||
get: {
|
||||
return localModelListViewModel.selectedModel != nil || selectedHistory != nil
|
||||
},
|
||||
set: { isActive in
|
||||
if !isActive {
|
||||
// Record usage when returning from chat
|
||||
if let model = localModelListViewModel.selectedModel {
|
||||
modelListViewModel.recordModelUsage(modelId: model.modelId)
|
||||
localModelListViewModel.recordModelUsage(modelName: model.name)
|
||||
}
|
||||
modelListViewModel.selectedModel = nil
|
||||
|
||||
// Clear selections
|
||||
localModelListViewModel.selectedModel = nil
|
||||
selectedHistory = nil
|
||||
}
|
||||
}
|
||||
|
|
@ -184,4 +195,4 @@ struct MainTabView: View {
|
|||
UITabBar.appearance().standardAppearance = appearance
|
||||
UITabBar.appearance().scrollEdgeAppearance = appearance
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -25,14 +25,14 @@ class ModelStorageManager {
|
|||
}
|
||||
}
|
||||
|
||||
func updateLastUsed(for modelId: String) {
|
||||
func updateLastUsed(for modelName: String) {
|
||||
var models = lastUsedModels
|
||||
models[modelId] = Date()
|
||||
models[modelName] = Date()
|
||||
lastUsedModels = models
|
||||
}
|
||||
|
||||
func getLastUsed(for modelId: String) -> Date? {
|
||||
return lastUsedModels[modelId]
|
||||
func getLastUsed(for modelName: String) -> Date? {
|
||||
return lastUsedModels[modelName]
|
||||
}
|
||||
|
||||
var downloadedModels: [String] {
|
||||
|
|
@ -44,21 +44,21 @@ class ModelStorageManager {
|
|||
}
|
||||
}
|
||||
|
||||
func clearDownloadStatus(for modelId: String) {
|
||||
func clearDownloadStatus(for modelName: String) {
|
||||
var models = downloadedModels
|
||||
models.removeAll { $0 == modelId }
|
||||
models.removeAll { $0 == modelName }
|
||||
downloadedModels = models
|
||||
}
|
||||
|
||||
func isModelDownloaded(_ modelId: String) -> Bool {
|
||||
downloadedModels.contains(modelId)
|
||||
func isModelDownloaded(_ modelName: String) -> Bool {
|
||||
downloadedModels.contains(modelName)
|
||||
}
|
||||
|
||||
func markModelAsDownloaded(_ modelId: String) {
|
||||
func markModelAsDownloaded(_ modelName: String) {
|
||||
var models = downloadedModels
|
||||
if !models.contains(modelId) {
|
||||
models.append(modelId)
|
||||
if !models.contains(modelName) {
|
||||
models.append(modelName)
|
||||
downloadedModels = models
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -293,4 +293,4 @@ class TBModelListViewModel: ObservableObject {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -144,4 +144,4 @@ struct TBModelListView: View {
|
|||
model.vendor?.localizedCaseInsensitiveContains(selectedVendor) ?? false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue