MCPcopy Create free account
hub / github.com/experdot/pointer / handleImport

Function handleImport

src/renderer/src/components/settings/DataManagement.tsx:169–263  ·  view source on GitHub ↗
(file: File)

Source from the content-addressed store, hash-verified

167 }
168
169 const handleImport = (file: File) => {
170 setImporting(true)
171
172 const reader = new FileReader()
173 reader.onload = (e) => {
174 try {
175 const content = e.target?.result as string
176 const parsedData = JSON.parse(content)
177
178 // 根据文件类型进行不同的处理
179 if (parsedData.type === 'all-data') {
180 // 完整数据导出
181 importSettings(parsedData.settings)
182
183 if (parsedData.pages && parsedData.pages.length > 0) {
184 importPages(parsedData.pages)
185 }
186
187 if (parsedData.folders && parsedData.folders.length > 0) {
188 importFolders(parsedData.folders)
189 }
190
191 // 导入收藏数据
192 if (parsedData.favorites) {
193 if (parsedData.favorites.items && parsedData.favorites.items.length > 0) {
194 importFavorites(parsedData.favorites.items)
195 }
196 if (parsedData.favorites.folders && parsedData.favorites.folders.length > 0) {
197 importFavoriteFolders(parsedData.favorites.folders)
198 }
199 }
200
201 message.success('所有数据导入成功(包含设置、聊天历史和收藏)')
202 } else if (parsedData.type === 'settings-only') {
203 // 只有设置数据
204 importSettings(parsedData.settings)
205 message.success('设置数据导入成功')
206 } else if (parsedData.type === 'chats-only') {
207 // 只有聊天记录数据
208 if (parsedData.pages && parsedData.pages.length > 0) {
209 importPages(parsedData.pages)
210 }
211
212 if (parsedData.folders && parsedData.folders.length > 0) {
213 importFolders(parsedData.folders)
214 }
215
216 message.success('聊天记录导入成功')
217 } else if (parsedData.type === 'favorites-only') {
218 // 只有收藏数据
219 if (parsedData.items && parsedData.items.length > 0) {
220 importFavorites(parsedData.items)
221 }
222 if (parsedData.folders && parsedData.folders.length > 0) {
223 importFavoriteFolders(parsedData.folders)
224 }
225
226 message.success('收藏数据导入成功')

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected