From 19f3e9b7e3b5a444fb1cd51159c7b6ddcca7cb6c Mon Sep 17 00:00:00 2001 From: nobbo Date: Mon, 11 Dec 2023 20:00:51 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=84=E9=81=BF=E5=A4=87=E5=BF=98=E5=BD=95co?= =?UTF-8?q?ntext=E5=BC=82=E5=B8=B8=E5=87=BA=E7=8E=B0=E7=9A=84jscrash?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: nobbo --- .../ets/default/baseUtil/RdbStoreUtil.ets | 492 +++++++++--------- 1 file changed, 247 insertions(+), 245 deletions(-) diff --git a/common/utils/src/main/ets/default/baseUtil/RdbStoreUtil.ets b/common/utils/src/main/ets/default/baseUtil/RdbStoreUtil.ets index 5760d03..9330241 100644 --- a/common/utils/src/main/ets/default/baseUtil/RdbStoreUtil.ets +++ b/common/utils/src/main/ets/default/baseUtil/RdbStoreUtil.ets @@ -43,129 +43,130 @@ export default { * create db and table */ createRdbStore(context) { - relationalStore.getRdbStore(context, SysDefData.dbInfo.db_name) - .then(async (store) => { - // add sys-def folder and note to AppStorage - let folderDataArray = [] - let sysDefFolderArray = [SysDefData.sys_def_allNotes, SysDefData.sys_def_unClassified, - SysDefData.sys_def_myFavorites, SysDefData.sys_def_recentDeletes, - SysDefData.sys_def_personal, SysDefData.sys_def_life, SysDefData.sys_def_work] - sysDefFolderArray.forEach((sysDefFolder) => { - let folderData = new FolderData(sysDefFolder.id, sysDefFolder.name, sysDefFolder.uuid, sysDefFolder.color, - sysDefFolder.folder_type, sysDefFolder.is_deleted, sysDefFolder.created_time, - sysDefFolder.modified_time) - folderDataArray.push(folderData) - }) - LogUtil.info(TAG, "folderDataArray[sysdef] : " + folderDataArray.length) + try { + relationalStore.getRdbStore(context, SysDefData.dbInfo.db_name) + .then(async (store) => { + // add sys-def folder and note to AppStorage + let folderDataArray = [] + let sysDefFolderArray = [SysDefData.sys_def_allNotes, SysDefData.sys_def_unClassified, + SysDefData.sys_def_myFavorites, SysDefData.sys_def_recentDeletes, + SysDefData.sys_def_personal, SysDefData.sys_def_life, SysDefData.sys_def_work] + sysDefFolderArray.forEach((sysDefFolder) => { + let folderData = new FolderData(sysDefFolder.id, sysDefFolder.name, sysDefFolder.uuid, sysDefFolder.color, + sysDefFolder.folder_type, sysDefFolder.is_deleted, sysDefFolder.created_time, + sysDefFolder.modified_time) + folderDataArray.push(folderData) + }) + LogUtil.info(TAG, "folderDataArray[sysdef] : " + folderDataArray.length) - let noteDataArray = [] - let sysDefNoteArray = [SysDefData.sys_def_note1, SysDefData.sys_def_note2, - SysDefData.sys_def_note3, SysDefData.sys_def_note4] - sysDefNoteArray.forEach((sysDefNote) => { - let noteData = new NoteData(sysDefNote.id, sysDefNote.title, sysDefNote.uuid, sysDefNote.folder_uuid, sysDefNote.content_text, - sysDefNote.content_img, sysDefNote.note_type, sysDefNote.is_top, sysDefNote.is_favorite, - sysDefNote.is_deleted, sysDefNote.created_time, sysDefNote.modified_time, sysDefNote.deleted_time, sysDefNote.slider_value) - noteDataArray.push(noteData) - }) - LogUtil.info(TAG, "noteDataArray[sysdef] : " + noteDataArray.length) + let noteDataArray = [] + let sysDefNoteArray = [SysDefData.sys_def_note1, SysDefData.sys_def_note2, + SysDefData.sys_def_note3, SysDefData.sys_def_note4] + sysDefNoteArray.forEach((sysDefNote) => { + let noteData = new NoteData(sysDefNote.id, sysDefNote.title, sysDefNote.uuid, sysDefNote.folder_uuid, sysDefNote.content_text, + sysDefNote.content_img, sysDefNote.note_type, sysDefNote.is_top, sysDefNote.is_favorite, + sysDefNote.is_deleted, sysDefNote.created_time, sysDefNote.modified_time, sysDefNote.deleted_time, sysDefNote.slider_value) + noteDataArray.push(noteData) + }) + LogUtil.info(TAG, "noteDataArray[sysdef] : " + noteDataArray.length) - AppStorage.SetOrCreate('AllFolderArray', folderDataArray) - AppStorage.SetOrCreate('AllNoteArray', noteDataArray) - LogUtil.info(TAG, "AppStorage[sysdef] set AllFolderArray and AllNoteArray success") + AppStorage.SetOrCreate('AllFolderArray', folderDataArray) + AppStorage.SetOrCreate('AllNoteArray', noteDataArray) + LogUtil.info(TAG, "AppStorage[sysdef] set AllFolderArray and AllNoteArray success") - // save continue data - let isContinue = AppStorage.Get('IsContinue'); - LogUtil.info(TAG, "createRdbStore, isContinue is " + isContinue) - if (isContinue) { - let continueNote: string = AppStorage.Get('ContinueNote') - let continueSection = AppStorage.Get('ContinueSection') - let noteObj = JSON.parse(continueNote) - let noteData = new NoteData(noteObj.uuid, noteObj.title, noteObj.uuid, noteObj.folder_uuid, - noteObj.content_text, noteObj.content_img, noteObj.note_type, noteObj.is_top, noteObj.is_favorite, - noteObj.is_deleted, noteObj.created_time, noteObj.modified_time, noteObj.deleted_time, noteObj.slider_value) + // save continue data + let isContinue = AppStorage.Get('IsContinue'); + LogUtil.info(TAG, "createRdbStore, isContinue is " + isContinue) + if (isContinue) { + let continueNote: string = AppStorage.Get('ContinueNote') + let continueSection = AppStorage.Get('ContinueSection') + let noteObj = JSON.parse(continueNote) + let noteData = new NoteData(noteObj.uuid, noteObj.title, noteObj.uuid, noteObj.folder_uuid, + noteObj.content_text, noteObj.content_img, noteObj.note_type, noteObj.is_top, noteObj.is_favorite, + noteObj.is_deleted, noteObj.created_time, noteObj.modified_time, noteObj.deleted_time, noteObj.slider_value) - // save img to FileDir - LogUtil.info(TAG, "createRdbStore, save img to FileDir") - let imgNameArray = this.getImgNameFromHtml(noteData) - imgNameArray.forEach((imgName: string) => { - this.writeToFileDir(imgName) - }) + // save img to FileDir + LogUtil.info(TAG, "createRdbStore, save img to FileDir") + let imgNameArray = this.getImgNameFromHtml(noteData) + imgNameArray.forEach((imgName: string) => { + this.writeToFileDir(imgName) + }) - // if not exit this note - let exist = false - let folderUuid = "" - for (let note of noteDataArray) { - if (noteData.created_time == note.created_time) { - exist = true - folderUuid = note.folder_uuid - break - } - } - LogUtil.info(TAG, "createRdbStore, exist : " + exist) - if (!exist) { - // 迁移过来的笔记在本地不存在,则保存在未分类文件夹 - noteData.folder_uuid = SysDefFolderUuid.UnClassified - noteDataArray.push(noteData) - AppStorage.SetOrCreate('AllNoteArray', noteDataArray) - this.insert(TableName.NoteTable, noteData.toNoteObject(), null) - AppStorage.SetOrCreate('Folder', FolderUtil.getFolderData(folderDataArray, SysDefFolderUuid.UnClassified)) - } else { - // 迁移过来的笔记在本地存在,则进行修改 - for (let i = 0; i < noteDataArray.length; i++) { - if (noteData.created_time == noteDataArray[i].created_time) { - noteDataArray[i] = noteData - LogUtil.info(TAG, "createRdbStore, update noteData in noteDataArray success") + // if not exit this note + let exist = false + let folderUuid = "" + for (let note of noteDataArray) { + if (noteData.created_time == note.created_time) { + exist = true + folderUuid = note.folder_uuid break } } - let predicates_note = this.getRdbPredicates(TableName.NoteTable) - predicates_note.equalTo(NoteTableColumn.CreatedTime, noteData.created_time) - this.update(noteData.toNoteObject(), predicates_note, null) - AppStorage.SetOrCreate('Folder', FolderUtil.getFolderData(folderDataArray, folderUuid)) - } - AppStorage.SetOrCreate('Note', noteData) - AppStorage.SetOrCreate('ContinueNote', JSON.stringify(noteData.toNoteObject())) - AppStorage.SetOrCreate('Section', continueSection) - AppStorage.SetOrCreate('NewNote', noteData) - } else { - LogUtil.info(TAG, "createRdbStore, IsContinue false") - AppStorage.SetOrCreate('Folder', AppStorage.Get('AllFolderArray')[0]) - let note = NoteUtil.getFirstNoteData(AppStorage.Get('AllNoteArray'), SysDefFolderUuid.AllNotes) - AppStorage.SetOrCreate('Note', note) - if (note) { - AppStorage.SetOrCreate('ContinueNote', JSON.stringify(note.toNoteObject())) + LogUtil.info(TAG, "createRdbStore, exist : " + exist) + if (!exist) { + // 迁移过来的笔记在本地不存在,则保存在未分类文件夹 + noteData.folder_uuid = SysDefFolderUuid.UnClassified + noteDataArray.push(noteData) + AppStorage.SetOrCreate('AllNoteArray', noteDataArray) + this.insert(TableName.NoteTable, noteData.toNoteObject(), null) + AppStorage.SetOrCreate('Folder', FolderUtil.getFolderData(folderDataArray, SysDefFolderUuid.UnClassified)) + } else { + // 迁移过来的笔记在本地存在,则进行修改 + for (let i = 0; i < noteDataArray.length; i++) { + if (noteData.created_time == noteDataArray[i].created_time) { + noteDataArray[i] = noteData + LogUtil.info(TAG, "createRdbStore, update noteData in noteDataArray success") + break + } + } + let predicates_note = this.getRdbPredicates(TableName.NoteTable) + predicates_note.equalTo(NoteTableColumn.CreatedTime, noteData.created_time) + this.update(noteData.toNoteObject(), predicates_note, null) + AppStorage.SetOrCreate('Folder', FolderUtil.getFolderData(folderDataArray, folderUuid)) + } + AppStorage.SetOrCreate('Note', noteData) + AppStorage.SetOrCreate('ContinueNote', JSON.stringify(noteData.toNoteObject())) + AppStorage.SetOrCreate('Section', continueSection) + AppStorage.SetOrCreate('NewNote', noteData) + } else { + LogUtil.info(TAG, "createRdbStore, IsContinue false") + AppStorage.SetOrCreate('Folder', AppStorage.Get('AllFolderArray')[0]) + let note = NoteUtil.getFirstNoteData(AppStorage.Get('AllNoteArray'), SysDefFolderUuid.AllNotes) + AppStorage.SetOrCreate('Note', note) + if (note) { + AppStorage.SetOrCreate('ContinueNote', JSON.stringify(note.toNoteObject())) + } + AppStorage.SetOrCreate('Section', 3) } - AppStorage.SetOrCreate('Section', 3) - } - AppStorage.SetOrCreate('DBQueryFinished', 1) - LogUtil.info(TAG, "createRdbStore, set DBQueryFinished 1") - LogUtil.info(TAG, "createRdbStore, store is " + store) - globalThis.rdbStore = store - // create table - await globalThis.rdbStore.executeSql(TableSql.FolderTableSQL, null) - await globalThis.rdbStore.executeSql(TableSql.NoteTableSQL, null) - await globalThis.rdbStore.executeSql(TableSql.AttachmentTableSQL, null) - await globalThis.rdbStore.executeSql(TableSql.FormTableSQL, null) - LogUtil.info(TAG, "create table success") - // insert system defined folder - await globalThis.rdbStore.insert(TableName.FolderTable, SysDefData.sys_def_allNotes) - await globalThis.rdbStore.insert(TableName.FolderTable, SysDefData.sys_def_unClassified) - await globalThis.rdbStore.insert(TableName.FolderTable, SysDefData.sys_def_myFavorites) - await globalThis.rdbStore.insert(TableName.FolderTable, SysDefData.sys_def_recentDeletes) - await globalThis.rdbStore.insert(TableName.FolderTable, SysDefData.sys_def_personal) - await globalThis.rdbStore.insert(TableName.FolderTable, SysDefData.sys_def_life) - await globalThis.rdbStore.insert(TableName.FolderTable, SysDefData.sys_def_work) - LogUtil.info(TAG, "insert system defined folder success") - // insert system defined note and attachment - await globalThis.rdbStore.insert(TableName.NoteTable, SysDefData.sys_def_note1) - await globalThis.rdbStore.insert(TableName.NoteTable, SysDefData.sys_def_note2) - await globalThis.rdbStore.insert(TableName.NoteTable, SysDefData.sys_def_note3) - await globalThis.rdbStore.insert(TableName.NoteTable, SysDefData.sys_def_note4) - LogUtil.info(TAG, "insert system defined note and attachment success") - }) - .catch((err) => { - LogUtil.warn(TAG, "createRdbStore, error : " + err) - }) + AppStorage.SetOrCreate('DBQueryFinished', 1) + LogUtil.info(TAG, "createRdbStore, set DBQueryFinished 1") + LogUtil.info(TAG, "createRdbStore, store is " + store) + globalThis.rdbStore = store + // create table + await globalThis.rdbStore.executeSql(TableSql.FolderTableSQL, null) + await globalThis.rdbStore.executeSql(TableSql.NoteTableSQL, null) + await globalThis.rdbStore.executeSql(TableSql.AttachmentTableSQL, null) + await globalThis.rdbStore.executeSql(TableSql.FormTableSQL, null) + LogUtil.info(TAG, "create table success") + // insert system defined folder + await globalThis.rdbStore.insert(TableName.FolderTable, SysDefData.sys_def_allNotes) + await globalThis.rdbStore.insert(TableName.FolderTable, SysDefData.sys_def_unClassified) + await globalThis.rdbStore.insert(TableName.FolderTable, SysDefData.sys_def_myFavorites) + await globalThis.rdbStore.insert(TableName.FolderTable, SysDefData.sys_def_recentDeletes) + await globalThis.rdbStore.insert(TableName.FolderTable, SysDefData.sys_def_personal) + await globalThis.rdbStore.insert(TableName.FolderTable, SysDefData.sys_def_life) + await globalThis.rdbStore.insert(TableName.FolderTable, SysDefData.sys_def_work) + LogUtil.info(TAG, "insert system defined folder success") + // insert system defined note and attachment + await globalThis.rdbStore.insert(TableName.NoteTable, SysDefData.sys_def_note1) + await globalThis.rdbStore.insert(TableName.NoteTable, SysDefData.sys_def_note2) + await globalThis.rdbStore.insert(TableName.NoteTable, SysDefData.sys_def_note3) + await globalThis.rdbStore.insert(TableName.NoteTable, SysDefData.sys_def_note4) + LogUtil.info(TAG, "insert system defined note and attachment success") + }) + } catch (err) { + LogUtil.warn(TAG, "createRdbStore, error : " + err) + } }, /** @@ -174,147 +175,148 @@ export default { initAppStorage(context) { let folderDataArray = [] let noteDataArray = [] - relationalStore.getRdbStore(context, SysDefData.dbInfo.db_name) - .then(async (store) => { - LogUtil.info(TAG, "initAppStorage, store is " + store) - globalThis.rdbStore = store - // query folder - let columns_folder = [] - let predicates_folder = new relationalStore.RdbPredicates(TableName.FolderTable) - let resultSet_folder = await globalThis.rdbStore.query(predicates_folder, columns_folder) - while (resultSet_folder.goToNextRow()) { - let id = resultSet_folder.getLong(resultSet_folder.getColumnIndex(FolderTableColumn.Id)) - let name = resultSet_folder.getString(resultSet_folder.getColumnIndex(FolderTableColumn.Name)) - let uuid = resultSet_folder.getString(resultSet_folder.getColumnIndex(FolderTableColumn.Uuid)) - let color = resultSet_folder.getString(resultSet_folder.getColumnIndex(FolderTableColumn.Color)) - let folder_type = resultSet_folder.getLong(resultSet_folder.getColumnIndex(FolderTableColumn.FolderType)) - let is_deleted = resultSet_folder.getLong(resultSet_folder.getColumnIndex(FolderTableColumn.IsDeleted)) - let created_time = resultSet_folder.getLong(resultSet_folder.getColumnIndex(FolderTableColumn.CreatedTime)) - let modified_time = resultSet_folder.getLong(resultSet_folder.getColumnIndex(FolderTableColumn.ModifiedTime)) - let folderData = new FolderData(id, name, uuid, color, folder_type, is_deleted, created_time, modified_time) - folderDataArray.push(folderData) - } - resultSet_folder.close(); - LogUtil.info(TAG, "folderDataArray[query] : " + folderDataArray.length) - // query note - let columns_note = [] - let predicates_note = new relationalStore.RdbPredicates(TableName.NoteTable) - let resultSet_note = await globalThis.rdbStore.query(predicates_note, columns_note) - while (resultSet_note.goToNextRow()) { - let id = resultSet_note.getLong(resultSet_note.getColumnIndex(NoteTableColumn.Id)) - let title = resultSet_note.getString(resultSet_note.getColumnIndex(NoteTableColumn.Title)) - let uuid = resultSet_note.getString(resultSet_note.getColumnIndex(NoteTableColumn.Uuid)) - let folder_uuid = resultSet_note.getString(resultSet_note.getColumnIndex(NoteTableColumn.FolderUuid)) - // 暂时规避备忘录二次打开白屏问题,后续数据库解决 - let content_text = ''; - let content_img = ''; - try { - content_text = resultSet_note.getString(resultSet_note.getColumnIndex(NoteTableColumn.ContentText)) - content_img = resultSet_note.getString(resultSet_note.getColumnIndex(NoteTableColumn.ContentImg)) - } catch (err) { - LogUtil.error(TAG, "initAppStorage, content_img = error : " + err) - } - let noteType = resultSet_note.getLong(resultSet_note.getColumnIndex(NoteTableColumn.NoteType)) - let is_top = resultSet_note.getLong(resultSet_note.getColumnIndex(NoteTableColumn.IsTop)) - let is_favorite = resultSet_note.getLong(resultSet_note.getColumnIndex(NoteTableColumn.IsFavorite)) - let is_deleted = resultSet_note.getLong(resultSet_note.getColumnIndex(NoteTableColumn.IsDeleted)) - let created_time = resultSet_note.getLong(resultSet_note.getColumnIndex(NoteTableColumn.CreatedTime)) - let modified_time = resultSet_note.getLong(resultSet_note.getColumnIndex(NoteTableColumn.ModifiedTime)) - let deleted_time = resultSet_note.getLong(resultSet_note.getColumnIndex(NoteTableColumn.DeletedTime)) - let slider_value = resultSet_note.getLong(resultSet_note.getColumnIndex(NoteTableColumn.SliderValue)) - let noteData = new NoteData(id, title, uuid, folder_uuid, content_text, content_img, noteType, is_top, is_favorite, is_deleted, created_time, modified_time, deleted_time, slider_value) - noteDataArray.push(noteData) - } - resultSet_note.close(); - LogUtil.info(TAG, "noteDataArray[query] : " + noteDataArray.length) - if (folderDataArray === null || folderDataArray === undefined || folderDataArray.length === 0) { - LogUtil.info(TAG, "folderDataArray is null") - let sysDefFolderArray = [SysDefData.sys_def_allNotes, SysDefData.sys_def_unClassified, - SysDefData.sys_def_myFavorites, SysDefData.sys_def_recentDeletes, - SysDefData.sys_def_personal, SysDefData.sys_def_life, SysDefData.sys_def_work] - sysDefFolderArray.forEach((sysDefFolder) => { - let folderData = new FolderData(sysDefFolder.id, sysDefFolder.name, sysDefFolder.uuid, sysDefFolder.color, - sysDefFolder.folder_type, sysDefFolder.is_deleted, sysDefFolder.created_time, - sysDefFolder.modified_time) + try { + relationalStore.getRdbStore(context, SysDefData.dbInfo.db_name) + .then(async (store) => { + LogUtil.info(TAG, "initAppStorage, store is " + store) + globalThis.rdbStore = store + // query folder + let columns_folder = [] + let predicates_folder = new relationalStore.RdbPredicates(TableName.FolderTable) + let resultSet_folder = await globalThis.rdbStore.query(predicates_folder, columns_folder) + while (resultSet_folder.goToNextRow()) { + let id = resultSet_folder.getLong(resultSet_folder.getColumnIndex(FolderTableColumn.Id)) + let name = resultSet_folder.getString(resultSet_folder.getColumnIndex(FolderTableColumn.Name)) + let uuid = resultSet_folder.getString(resultSet_folder.getColumnIndex(FolderTableColumn.Uuid)) + let color = resultSet_folder.getString(resultSet_folder.getColumnIndex(FolderTableColumn.Color)) + let folder_type = resultSet_folder.getLong(resultSet_folder.getColumnIndex(FolderTableColumn.FolderType)) + let is_deleted = resultSet_folder.getLong(resultSet_folder.getColumnIndex(FolderTableColumn.IsDeleted)) + let created_time = resultSet_folder.getLong(resultSet_folder.getColumnIndex(FolderTableColumn.CreatedTime)) + let modified_time = resultSet_folder.getLong(resultSet_folder.getColumnIndex(FolderTableColumn.ModifiedTime)) + let folderData = new FolderData(id, name, uuid, color, folder_type, is_deleted, created_time, modified_time) folderDataArray.push(folderData) - }) + } + resultSet_folder.close(); LogUtil.info(TAG, "folderDataArray[query] : " + folderDataArray.length) - } - AppStorage.SetOrCreate('AllFolderArray', folderDataArray) - AppStorage.SetOrCreate('AllNoteArray', noteDataArray) - LogUtil.info(TAG, "AppStorage[query] set AllFolderArray and AllNoteArray success") + // query note + let columns_note = [] + let predicates_note = new relationalStore.RdbPredicates(TableName.NoteTable) + let resultSet_note = await globalThis.rdbStore.query(predicates_note, columns_note) + while (resultSet_note.goToNextRow()) { + let id = resultSet_note.getLong(resultSet_note.getColumnIndex(NoteTableColumn.Id)) + let title = resultSet_note.getString(resultSet_note.getColumnIndex(NoteTableColumn.Title)) + let uuid = resultSet_note.getString(resultSet_note.getColumnIndex(NoteTableColumn.Uuid)) + let folder_uuid = resultSet_note.getString(resultSet_note.getColumnIndex(NoteTableColumn.FolderUuid)) + // 暂时规避备忘录二次打开白屏问题,后续数据库解决 + let content_text = ''; + let content_img = ''; + try { + content_text = resultSet_note.getString(resultSet_note.getColumnIndex(NoteTableColumn.ContentText)) + content_img = resultSet_note.getString(resultSet_note.getColumnIndex(NoteTableColumn.ContentImg)) + } catch (err) { + LogUtil.error(TAG, "initAppStorage, content_img = error : " + err) + } + let noteType = resultSet_note.getLong(resultSet_note.getColumnIndex(NoteTableColumn.NoteType)) + let is_top = resultSet_note.getLong(resultSet_note.getColumnIndex(NoteTableColumn.IsTop)) + let is_favorite = resultSet_note.getLong(resultSet_note.getColumnIndex(NoteTableColumn.IsFavorite)) + let is_deleted = resultSet_note.getLong(resultSet_note.getColumnIndex(NoteTableColumn.IsDeleted)) + let created_time = resultSet_note.getLong(resultSet_note.getColumnIndex(NoteTableColumn.CreatedTime)) + let modified_time = resultSet_note.getLong(resultSet_note.getColumnIndex(NoteTableColumn.ModifiedTime)) + let deleted_time = resultSet_note.getLong(resultSet_note.getColumnIndex(NoteTableColumn.DeletedTime)) + let slider_value = resultSet_note.getLong(resultSet_note.getColumnIndex(NoteTableColumn.SliderValue)) + let noteData = new NoteData(id, title, uuid, folder_uuid, content_text, content_img, noteType, is_top, is_favorite, is_deleted, created_time, modified_time, deleted_time, slider_value) + noteDataArray.push(noteData) + } + resultSet_note.close(); + LogUtil.info(TAG, "noteDataArray[query] : " + noteDataArray.length) + if (folderDataArray === null || folderDataArray === undefined || folderDataArray.length === 0) { + LogUtil.info(TAG, "folderDataArray is null") + let sysDefFolderArray = [SysDefData.sys_def_allNotes, SysDefData.sys_def_unClassified, + SysDefData.sys_def_myFavorites, SysDefData.sys_def_recentDeletes, + SysDefData.sys_def_personal, SysDefData.sys_def_life, SysDefData.sys_def_work] + sysDefFolderArray.forEach((sysDefFolder) => { + let folderData = new FolderData(sysDefFolder.id, sysDefFolder.name, sysDefFolder.uuid, sysDefFolder.color, + sysDefFolder.folder_type, sysDefFolder.is_deleted, sysDefFolder.created_time, + sysDefFolder.modified_time) + folderDataArray.push(folderData) + }) + LogUtil.info(TAG, "folderDataArray[query] : " + folderDataArray.length) + } + AppStorage.SetOrCreate('AllFolderArray', folderDataArray) + AppStorage.SetOrCreate('AllNoteArray', noteDataArray) + LogUtil.info(TAG, "AppStorage[query] set AllFolderArray and AllNoteArray success") - // save continue data - let isContinue = AppStorage.Get('IsContinue'); - LogUtil.info(TAG, "initAppStorage, isContinue is " + isContinue) - if (isContinue) { - let continueNote: string = AppStorage.Get('ContinueNote') - let continueSection = AppStorage.Get('ContinueSection') + // save continue data + let isContinue = AppStorage.Get('IsContinue'); + LogUtil.info(TAG, "initAppStorage, isContinue is " + isContinue) + if (isContinue) { + let continueNote: string = AppStorage.Get('ContinueNote') + let continueSection = AppStorage.Get('ContinueSection') - let noteObj = JSON.parse(continueNote) - let noteData = new NoteData(noteObj.uuid, noteObj.title, noteObj.uuid, noteObj.folder_uuid, - noteObj.content_text, noteObj.content_img, noteObj.note_type, noteObj.is_top, noteObj.is_favorite, - noteObj.is_deleted, noteObj.created_time, noteObj.modified_time, noteObj.deleted_time, noteObj.slider_value) + let noteObj = JSON.parse(continueNote) + let noteData = new NoteData(noteObj.uuid, noteObj.title, noteObj.uuid, noteObj.folder_uuid, + noteObj.content_text, noteObj.content_img, noteObj.note_type, noteObj.is_top, noteObj.is_favorite, + noteObj.is_deleted, noteObj.created_time, noteObj.modified_time, noteObj.deleted_time, noteObj.slider_value) - // save img to FileDir - LogUtil.info(TAG, "initAppStorage, save img to FileDir") - let imgNameArray = this.getImgNameFromHtml(noteData) - imgNameArray.forEach((imgName: string) => { - this.writeToFileDir(imgName) - }) + // save img to FileDir + LogUtil.info(TAG, "initAppStorage, save img to FileDir") + let imgNameArray = this.getImgNameFromHtml(noteData) + imgNameArray.forEach((imgName: string) => { + this.writeToFileDir(imgName) + }) - // if not exit this note - let exist = false - let folderUuid = "" - for (let note of noteDataArray) { - if (noteData.created_time == note.created_time) { - exist = true - folderUuid = note.folder_uuid - break - } - } - LogUtil.info(TAG, "initAppStorage, exist : " + exist) - if (!exist) { - // 迁移过来的笔记在本地不存在,则保存在未分类文件夹 - noteData.folder_uuid = SysDefFolderUuid.UnClassified - noteDataArray.push(noteData) - AppStorage.SetOrCreate('AllNoteArray', noteDataArray) - this.insert(TableName.NoteTable, noteData.toNoteObject(), null) - AppStorage.SetOrCreate('Folder', FolderUtil.getFolderData(folderDataArray, SysDefFolderUuid.UnClassified)) - } else { - // 迁移过来的笔记在本地存在,则进行修改 - for (let i = 0; i < noteDataArray.length; i++) { - if (noteData.created_time == noteDataArray[i].created_time) { - noteDataArray[i] = noteData - LogUtil.info(TAG, "initAppStorage, update noteData in noteDataArray success") + // if not exit this note + let exist = false + let folderUuid = "" + for (let note of noteDataArray) { + if (noteData.created_time == note.created_time) { + exist = true + folderUuid = note.folder_uuid break } } - let predicates_note = this.getRdbPredicates(TableName.NoteTable) - predicates_note.equalTo(NoteTableColumn.CreatedTime, noteData.created_time) - this.update(noteData.toNoteObject(), predicates_note, null) - AppStorage.SetOrCreate('Folder', FolderUtil.getFolderData(folderDataArray, folderUuid)) - } - AppStorage.SetOrCreate('Note', noteData) - AppStorage.SetOrCreate('ContinueNote', JSON.stringify(noteData.toNoteObject())) - AppStorage.SetOrCreate('Section', continueSection) - AppStorage.SetOrCreate('NewNote', noteData) - } else { - LogUtil.info(TAG, "initAppStorage, IsContinue false") - AppStorage.SetOrCreate('Folder', AppStorage.Get('AllFolderArray')[0]) - let note = NoteUtil.getFirstNoteData(AppStorage.Get('AllNoteArray'), SysDefFolderUuid.AllNotes) - AppStorage.SetOrCreate('Note', note) - if (note) { - AppStorage.SetOrCreate('ContinueNote', JSON.stringify(note.toNoteObject())) + LogUtil.info(TAG, "initAppStorage, exist : " + exist) + if (!exist) { + // 迁移过来的笔记在本地不存在,则保存在未分类文件夹 + noteData.folder_uuid = SysDefFolderUuid.UnClassified + noteDataArray.push(noteData) + AppStorage.SetOrCreate('AllNoteArray', noteDataArray) + this.insert(TableName.NoteTable, noteData.toNoteObject(), null) + AppStorage.SetOrCreate('Folder', FolderUtil.getFolderData(folderDataArray, SysDefFolderUuid.UnClassified)) + } else { + // 迁移过来的笔记在本地存在,则进行修改 + for (let i = 0; i < noteDataArray.length; i++) { + if (noteData.created_time == noteDataArray[i].created_time) { + noteDataArray[i] = noteData + LogUtil.info(TAG, "initAppStorage, update noteData in noteDataArray success") + break + } + } + let predicates_note = this.getRdbPredicates(TableName.NoteTable) + predicates_note.equalTo(NoteTableColumn.CreatedTime, noteData.created_time) + this.update(noteData.toNoteObject(), predicates_note, null) + AppStorage.SetOrCreate('Folder', FolderUtil.getFolderData(folderDataArray, folderUuid)) + } + AppStorage.SetOrCreate('Note', noteData) + AppStorage.SetOrCreate('ContinueNote', JSON.stringify(noteData.toNoteObject())) + AppStorage.SetOrCreate('Section', continueSection) + AppStorage.SetOrCreate('NewNote', noteData) + } else { + LogUtil.info(TAG, "initAppStorage, IsContinue false") + AppStorage.SetOrCreate('Folder', AppStorage.Get('AllFolderArray')[0]) + let note = NoteUtil.getFirstNoteData(AppStorage.Get('AllNoteArray'), SysDefFolderUuid.AllNotes) + AppStorage.SetOrCreate('Note', note) + if (note) { + AppStorage.SetOrCreate('ContinueNote', JSON.stringify(note.toNoteObject())) + } + AppStorage.SetOrCreate('Section', 3) } - AppStorage.SetOrCreate('Section', 3) - } - AppStorage.SetOrCreate('DBQueryFinished', 1) - LogUtil.info(TAG, "initAppStorage, set DBQueryFinished 1") - }) - .catch((err) => { - LogUtil.error(TAG, "initAppStorage, error : " + err) - }) + AppStorage.SetOrCreate('DBQueryFinished', 1) + LogUtil.info(TAG, "initAppStorage, set DBQueryFinished 1") + }) + } catch (err) { + LogUtil.error(TAG, "initAppStorage, error : " + err) + } }, getImgNameFromHtml(noteData: NoteData): any { -- Gitee