From e53ef08a53b31d6794576ee4238db3939526dcc6 Mon Sep 17 00:00:00 2001 From: wangzhiyu Date: Wed, 10 May 2023 14:23:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E4=BB=A3=E7=A0=81=E5=88=B03.?= =?UTF-8?q?2Release?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wangzhiyu --- build-profile.json5 | 2 +- common/resources/package.json | 24 +- .../src/main/resources/rawfile/editor.html | 12 +- .../main/resources/rawfile/editor_style.css | 13 +- .../resources/rawfile/icon/picture_white.png | Bin 0 -> 10031 bytes .../main/resources/rawfile/icon/styles.png | Bin 0 -> 7716 bytes .../src/main/resources/rawfile/icon/todo1.png | Bin 0 -> 12224 bytes .../src/main/resources/rawfile/rich_editor.js | 666 ++++----- .../main/ets/default/baseUtil/DateUtil.ets | 1 - .../main/ets/default/baseUtil/FolderUtil.ets | 2 +- .../main/ets/default/baseUtil/LayoutUtil.ets | 9 +- .../main/ets/default/baseUtil/NoteUtil.ets | 5 +- .../ets/default/baseUtil/RdbStoreUtil.ets | 14 +- .../model/databaseModel/SysDefData.ets | 4 +- .../default/model/searchModel/SearchModel.ets | 5 - features/build-profile.json5 | 2 +- features/package.json | 30 +- .../main/ets/components/FolderListComp.ets | 27 +- .../src/main/ets/components/NoteContent.ets | 60 +- .../main/ets/components/NoteContentComp.ets | 88 +- .../components/NoteContentCompPortrait.ets | 199 +-- .../src/main/ets/components/NoteListComp.ets | 55 +- package-lock.json | 1236 ----------------- package.json | 6 +- product/default/package.json | 32 +- .../src/main/ets/Application/AbilityStage.ts | 2 +- .../src/main/ets/MainAbility/MainAbility.ts | 4 +- .../default/src/main/ets/pages/MyNoteHome.ets | 24 +- .../src/main/ets/pages/NoteContentHome.ets | 19 +- .../default/src/main/ets/pages/NoteHome.ets | 5 +- .../src/main/ets/pages/NoteHomePortrait.ets | 4 - 31 files changed, 691 insertions(+), 1859 deletions(-) create mode 100644 common/resources/src/main/resources/rawfile/icon/picture_white.png create mode 100644 common/resources/src/main/resources/rawfile/icon/styles.png create mode 100644 common/resources/src/main/resources/rawfile/icon/todo1.png delete mode 100644 package-lock.json diff --git a/build-profile.json5 b/build-profile.json5 index 71f35fa..ae2169a 100644 --- a/build-profile.json5 +++ b/build-profile.json5 @@ -53,4 +53,4 @@ "srcPath": "./features", } ] -} \ No newline at end of file +} diff --git a/common/resources/package.json b/common/resources/package.json index e91259f..58e3ac4 100644 --- a/common/resources/package.json +++ b/common/resources/package.json @@ -1,14 +1,14 @@ { - "license":"ISC", - "types":"", - "devDependencies":{}, - "name":"@ohos/resources", - "description":"a npm package which contains arkUI2.0 page", - "ohos":{ - "org":"" + "license": "ISC", + "types": "", + "devDependencies": {}, + "name": "@ohos/resources", + "description": "a npm package which contains arkUI2.0 page", + "ohos": { + "org": "" }, - "main":"index.ets", - "repository":{}, - "version":"1.0.0", - "dependencies":{} -} \ No newline at end of file + "main": "index.ets", + "repository": {}, + "version": "1.0.0", + "dependencies": {} +} diff --git a/common/resources/src/main/resources/rawfile/editor.html b/common/resources/src/main/resources/rawfile/editor.html index 4288cfb..fe612a7 100644 --- a/common/resources/src/main/resources/rawfile/editor.html +++ b/common/resources/src/main/resources/rawfile/editor.html @@ -5,7 +5,7 @@ "editorJs" - + @@ -15,19 +15,19 @@
- -
+
+
- + 清单
- + 样式
- + 相册
diff --git a/common/resources/src/main/resources/rawfile/editor_style.css b/common/resources/src/main/resources/rawfile/editor_style.css index fa00ab4..d1b0ec6 100644 --- a/common/resources/src/main/resources/rawfile/editor_style.css +++ b/common/resources/src/main/resources/rawfile/editor_style.css @@ -26,19 +26,18 @@ body { margin: 0; } -#editorjs { - padding-left: 1px; - padding-right: 24px; + +#editorjs_box { width: 100%; - height: 100%; + height: 90%; outline: 0px solid transparent; background-repeat: no-repeat; background-position: center; background-size: cover; color: #182431; opacity: 0.9; - overflow: scroll; user-select: none; + overflow: scroll; } #editorjs[placeholder]:empty:not(:focus):before { @@ -51,8 +50,6 @@ body { background: #F88805; border: 1px solid #F88805; outline: none; - margin-left: 0px; - margin-right: 0px; opacity: 1; } @@ -68,8 +65,6 @@ body { -webkit-user-select: none; border-radius: 50%; font-size: 0.8rem; - margin-left: 0px; - margin-top: 0px; margin-right: 10px; margin-bottom: 6px; outline: none; diff --git a/common/resources/src/main/resources/rawfile/icon/picture_white.png b/common/resources/src/main/resources/rawfile/icon/picture_white.png new file mode 100644 index 0000000000000000000000000000000000000000..02b70f59bd3f39dc496b558d63e803adff2bd05e GIT binary patch literal 10031 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 408) { + return + } + pad = pad + 24; + parents.style.paddingLeft = pad + 'px'; }; RICH_EDITOR.setOutdent = function () { - var parents = document.getElementById('editorjs'); - parents.removeAttribute('padding-left'); - if (pad === 24) { - parents.style.paddingLeft = 24 + 'px'; - } else { - pad = pad - 24; - parents.style.paddingLeft = pad + 'px'; - } + var parents = document.getElementById('editorjs_box'); + parents.removeAttribute('padding-left'); + if (pad === 24) { + parents.style.paddingLeft = 24 + 'px'; + } else { + pad = pad - 24; + parents.style.paddingLeft = pad + 'px'; + } }; RICH_EDITOR.setJustifyLeft = function () { - document.execCommand('justifyLeft', false, null); + document.execCommand('justifyLeft', false, null); }; RICH_EDITOR.setJustifyCenter = function () { - document.execCommand('justifyCenter', false, null); + document.execCommand('justifyCenter', false, null); }; RICH_EDITOR.setJustifyRight = function () { - document.execCommand('justifyRight', false, null); + document.execCommand('justifyRight', false, null); }; RICH_EDITOR.insertImage = function (url) { - var html = '

picvision

'; - RICH_EDITOR.insertHTML(html); - RICH_EDITOR.editor.scrollIntoView(false); + var html = '

picvision

'; + document.getElementById('editorjs_box').innerHTML += html + document.getElementById('editorjs_box').scrollIntoView(false); }; RICH_EDITOR.insertHTML = function (html) { - document.execCommand('insertHTML', false, html); + document.execCommand('insertHTML', false, html); }; RICH_EDITOR.setDone = function () { - var html = '  '; - document.execCommand('insertHTML', false, html); + var html = '  '; + document.execCommand('insertHTML', false, html); }; RICH_EDITOR.addTodo = function (e) { - var KEY_ENTER; - KEY_ENTER = 13; - if (e.which === KEY_ENTER) { - var node = RICH_EDITOR.getSelectedAnchorNode(); - if (node && node.nodeName === '#text') { - node = node.parentElement; - } - if (node && node.nodeName === 'SPAN' && node.previousElementSibling - && node.previousElementSibling.className === 'note-checkbox') { - RICH_EDITOR.setTodo(); - e.preventDefault(); - } + var KEY_ENTER; + KEY_ENTER = 13; + if (e.which === KEY_ENTER) { + var node = RICH_EDITOR.getSelectedAnchorNode(); + if (node && node.nodeName === '#text') { + node = node.parentElement; + } + if (node && node.nodeName === 'SPAN' && node.previousElementSibling + && node.previousElementSibling.className === 'note-checkbox') { + RICH_EDITOR.setTodo(); + e.preventDefault(); } + } }; RICH_EDITOR.setTodo = function () { - var parent = document.getElementById('editorjs'); - var isContentEmpty = parent.innerHTML.trim().length === 0 || parent.innerHTML === '
'; - var html = (isContentEmpty ? '' : '
') - + '' - + ' '; - document.execCommand('insertHTML', false, html); + var parent = document.getElementById('editorjs_box'); + var isContentEmpty = parent.innerHTML.trim().length === 0 || parent.innerHTML === '
'; + var html = (isContentEmpty ? '' : '
') + + '' + + ' '; + document.execCommand('insertHTML', false, html); }; function onCheckChange(checkbox) { - if (checkbox.checked === true) { - checkbox.setAttribute('checked', 'checked'); - } else { - checkbox.removeAttribute('checked'); - } + if (checkbox.checked === true) { + checkbox.setAttribute('checked', 'checked'); + } else { + checkbox.removeAttribute('checked'); + } } RICH_EDITOR.restorerange = function () { - var selection = window.getSelection(); - selection.removeAllRanges(); - var range = document.createRange(); - range.setStart(RICH_EDITOR.currentSelection.startContainer, RICH_EDITOR.currentSelection.startOffset); - range.setEnd(RICH_EDITOR.currentSelection.endContainer, RICH_EDITOR.currentSelection.endOffset); - selection.addRange(range); + var selection = window.getSelection(); + selection.removeAllRanges(); + var range = document.createRange(); + range.setStart(RICH_EDITOR.currentSelection.startContainer, RICH_EDITOR.currentSelection.startOffset); + range.setEnd(RICH_EDITOR.currentSelection.endContainer, RICH_EDITOR.currentSelection.endOffset); + selection.addRange(range); }; // 获取光标开始位置归属节点 RICH_EDITOR.getSelectedAnchorNode = function () { - var node; - var selection; - if (window.getSelection) { - selection = getSelection(); - node = selection.anchorNode; - } - if (!node && document.selection) { - selection = document.selection; - var range = selection.getRangeAt ? selection.getRangeAt(0) : selection.createRange(); - node = range.commonAncestorContainer ? range.commonAncestorContainer : range.parentElement - ? range.parentElement() : range.item(0); - } - return node; + var node; + var selection; + if (window.getSelection) { + selection = getSelection(); + node = selection.anchorNode; + } + if (!node && document.selection) { + selection = document.selection; + var range = selection.getRangeAt ? selection.getRangeAt(0) : selection.createRange(); + node = range.commonAncestorContainer ? range.commonAncestorContainer : range.parentElement + ? range.parentElement() : range.item(0); + } + return node; }; + +RICH_EDITOR.cancelSelection = function () { + var selection = window.getSelection(); + selection.removeAllRanges(); +} + var callBackToApp; + function getHtmlContent() { - console.log('getHtmlContent'); - var htmlString = RICH_EDITOR.getHtml(); - let imgName = getImagePathFromContent(htmlString); - htmlString = window.btoa(unescape(encodeURIComponent(htmlString))); - callBackToApp.callbackImagePath(imgName); - var str = callBackToApp.callbackhtml(htmlString); - console.log('getHtmlContent end'); + console.log('getHtmlContent'); + var htmlString = RICH_EDITOR.getHtml(); + let imgName = getImagePathFromContent(htmlString); + htmlString = window.btoa(unescape(encodeURIComponent(htmlString))); + callBackToApp.callbackImagePath(imgName); + var str = callBackToApp.callbackhtml(htmlString); + console.log('getHtmlContent end'); } function saveHtmlContent() { - console.log('saveHtmlContent'); - var htmlString = RICH_EDITOR.getHtml(); - let imgName = getImagePathFromContent(htmlString); - htmlString = window.btoa(unescape(encodeURIComponent(htmlString))); - - callBackToApp.callbackImagePath(imgName); - var str = callBackToApp.callbackhtmlSave(htmlString); - console.log('saveHtmlContent end'); + console.log('saveHtmlContent'); + var htmlString = RICH_EDITOR.getHtml(); + let imgName = getImagePathFromContent(htmlString); + htmlString = window.btoa(unescape(encodeURIComponent(htmlString))); + + callBackToApp.callbackImagePath(imgName); + var str = callBackToApp.callbackhtmlSave(htmlString); + console.log('saveHtmlContent end'); } function getImagePathFromContent(contentInfo) { - let imgReg = /]+>/g; - let imgName = ""; - let srcReg = /src=[\'\"]?([^\'\"]*)[\'\"]?/i; - let imgArray = contentInfo.match(imgReg); - // 取第一张图片做为标题栏后的缩略图 - if (imgArray && imgArray.length > 0) { - let src = imgArray[0].match(srcReg); - if (src != null && src.length > 1) { - imgName = src[1]; - if (imgName.indexOf('shuxue.png') >= 0 || imgName.indexOf('cake.png') >= 0) { - imgName = "/res/" + imgName; - } - } + let imgReg = /]+>/g; + let imgName = ""; + let srcReg = /src=[\'\"]?([^\'\"]*)[\'\"]?/i; + let imgArray = contentInfo.match(imgReg); + // 取第一张图片做为标题栏后的缩略图 + if (imgArray && imgArray.length > 0) { + let src = imgArray[0].match(srcReg); + if (src != null && src.length > 1) { + imgName = src[1]; + if (imgName.indexOf('shuxue.png') >= 0 || imgName.indexOf('cake.png') >= 0) { + imgName = "/res/" + imgName; + } } - return imgName; + } + return imgName; } function scheduledSaveContent() { - console.info('scheduledSaveContent'); - var htmlString = RICH_EDITOR.getHtml(); - let imgName = getImagePathFromContent(htmlString); - htmlString = window.btoa(unescape(encodeURIComponent(htmlString))); - callBackToApp.callbackImagePath(imgName); - var str = callBackToApp.callbackScheduledSave(htmlString); - console.info('scheduledSaveContent end'); + console.info('scheduledSaveContent'); + var htmlString = RICH_EDITOR.getHtml(); + let imgName = getImagePathFromContent(htmlString); + htmlString = window.btoa(unescape(encodeURIComponent(htmlString))); + callBackToApp.callbackImagePath(imgName); + var str = callBackToApp.callbackScheduledSave(htmlString); + console.info('scheduledSaveContent end'); } document.body.addEventListener('paste', (event) => { - let length = event.clipboardData.items.length; - if (length > 0) { - let file = event.clipboardData.items[0].getAsFile(); - const reader = new FileReader(); - reader.onloadend = () => { - callBackToApp.callbackPasteImage(reader.result); - } - reader.readAsDataURL(file); - event.preventDefault(); + let length = event.clipboardData.items.length; + if (length > 0) { + let file = event.clipboardData.items[0].getAsFile(); + const reader = new FileReader(); + reader.onloadend = () => { + callBackToApp.callbackPasteImage(reader.result); } + reader.readAsDataURL(file); + event.preventDefault(); + } }); RICH_EDITOR.getFontSizes = function () { - document.execCommand('fontSize', false, null); - var fontElements = window.getSelection().anchorNode.parentNode; - var getSize = parseInt(window.getComputedStyle(fontElements, null).fontSize) - var str = callBackToApp.callbackGetSize(getSize); + document.execCommand('fontSize', false, null); + var fontElements = window.getSelection().anchorNode.parentNode; + var getSize = parseInt(window.getComputedStyle(fontElements, null).fontSize) + var str = callBackToApp.callbackGetSize(getSize); }; RICH_EDITOR.insertImageHtml = function (contents) { - let selection = window.getSelection(); - if (!selection.rangeCount) - return false; - selection.deleteFromDocument(); - let img = document.createElement('img'); - img.src = contents; - selection.getRangeAt(0).insertNode(img); + let selection = window.getSelection(); + if (!selection.rangeCount) + return false; + selection.deleteFromDocument(); + let img = document.createElement('img'); + img.src = contents; + selection.getRangeAt(0).insertNode(img); }; document.addEventListener('click', (e) => { - console.info(`lsq: e is ${JSON.stringify(e)}`) - var parent = document.getElementById('editorjs'); - if (parent.id !== 'editorjs') { - e.preventDefault() - } + console.info(`lsq: e is ${JSON.stringify(e)}`) + var parent = document.getElementById('editorjs_box'); + if (parent.id !== 'editorjs_box') { + e.preventDefault() + } }) document.getElementById('addToDo').addEventListener('click', () => { - callBackToApp.addToDo() + callBackToApp.addToDo() }) document.getElementById('chooseStyle').addEventListener('click', () => { - callBackToApp.chooseStyle() + callBackToApp.chooseStyle() }) document.getElementById('openAlbum').addEventListener('click', () => { - callBackToApp.openAlbum() + callBackToApp.openAlbum() }) function changeSizeToRk() { - document.getElementById('img1').style.width = '40px'; - document.getElementById('img1').style.height = '40px'; - document.getElementById('img2').style.width = '40px'; - document.getElementById('img2').style.height = '40px'; - document.getElementById('img3').style.width = '40px'; - document.getElementById('img3').style.height = '40px'; - document.getElementById('lable1').style.fontSize = '20px'; - document.getElementById('lable2').style.fontSize = '20px'; - document.getElementById('lable3').style.fontSize = '20px'; + document.getElementById('img1').style.width = '40px'; + document.getElementById('img1').style.height = '40px'; + document.getElementById('img2').style.width = '40px'; + document.getElementById('img2').style.height = '40px'; + document.getElementById('img3').style.width = '40px'; + document.getElementById('img3').style.height = '40px'; + document.getElementById('lable1').style.fontSize = '20px'; + document.getElementById('lable2').style.fontSize = '20px'; + document.getElementById('lable3').style.fontSize = '20px'; } function changeSizeToPhone() { - document.getElementById('img1').style.width = '24px'; - document.getElementById('img1').style.height = '24px'; - document.getElementById('img2').style.width = '24px'; - document.getElementById('img2').style.height = '24px'; - document.getElementById('img3').style.width = '24px'; - document.getElementById('img3').style.height = '24px'; - document.getElementById('lable1').style.fontSize = '12px'; - document.getElementById('lable2').style.fontSize = '12px'; - document.getElementById('lable3').style.fontSize = '12px'; + document.getElementById('img1').style.width = '24px'; + document.getElementById('img1').style.height = '24px'; + document.getElementById('img2').style.width = '24px'; + document.getElementById('img2').style.height = '24px'; + document.getElementById('img3').style.width = '24px'; + document.getElementById('img3').style.height = '24px'; + document.getElementById('lable1').style.fontSize = '12px'; + document.getElementById('lable2').style.fontSize = '12px'; + document.getElementById('lable3').style.fontSize = '12px'; } function changeSizeToTablet() { - document.getElementById('img1').style.width = '28px'; - document.getElementById('img1').style.height = '28px'; - document.getElementById('img2').style.width = '28px'; - document.getElementById('img2').style.height = '28px'; - document.getElementById('img3').style.width = '28px'; - document.getElementById('img3').style.height = '28px'; - document.getElementById('lable1').style.fontSize = '12px'; - document.getElementById('lable2').style.fontSize = '12px'; - document.getElementById('lable3').style.fontSize = '12px'; + document.getElementById('img1').style.width = '28px'; + document.getElementById('img1').style.height = '28px'; + document.getElementById('img2').style.width = '28px'; + document.getElementById('img2').style.height = '28px'; + document.getElementById('img3').style.width = '28px'; + document.getElementById('img3').style.height = '28px'; + document.getElementById('lable1').style.fontSize = '12px'; + document.getElementById('lable2').style.fontSize = '12px'; + document.getElementById('lable3').style.fontSize = '12px'; } function hiddenButton() { - document.getElementById('buttonBox').style.display = 'none'; + document.getElementById('buttonBox').style.display = 'none'; } -RICH_EDITOR.getFocus = function() { - return document.getElementById('editorjs').focus(); +RICH_EDITOR.getFocus = function () { + return document.getElementById('editorjs_box').focus(); } -document.getElementById('editorjs').addEventListener('click', () => { - if (callBackToApp.getBreakPoint() === 'sm') { - document.getElementById('buttonBox').style.display = 'flex'; - } +document.getElementById('editorjs_box').addEventListener('click', () => { + if (callBackToApp.getBreakPoint() === 'sm') { + document.getElementById('buttonBox').style.display = 'flex'; + } }) \ No newline at end of file diff --git a/common/utils/src/main/ets/default/baseUtil/DateUtil.ets b/common/utils/src/main/ets/default/baseUtil/DateUtil.ets index 3d97ea6..75a1864 100644 --- a/common/utils/src/main/ets/default/baseUtil/DateUtil.ets +++ b/common/utils/src/main/ets/default/baseUtil/DateUtil.ets @@ -14,7 +14,6 @@ */ import {LogUtil} from './LogUtil' -import GlobalResourceManager from './GlobalResourceManager' const TAG = "DateUtil" diff --git a/common/utils/src/main/ets/default/baseUtil/FolderUtil.ets b/common/utils/src/main/ets/default/baseUtil/FolderUtil.ets index f08c05f..0423265 100644 --- a/common/utils/src/main/ets/default/baseUtil/FolderUtil.ets +++ b/common/utils/src/main/ets/default/baseUtil/FolderUtil.ets @@ -18,7 +18,6 @@ import FolderData from '../model/databaseModel/FolderData' import NoteData from '../model/databaseModel/NoteData' import {SysDefFolderUuid, FolderType, Favorite, Delete} from '../model/databaseModel/EnumData' import GlobalResourceManager from './GlobalResourceManager' -import StyleConstants from '../constants/StyleConstants' import {LogUtil} from './LogUtil' const TAG = "FolderUtil" @@ -38,6 +37,7 @@ export class FolderUtil { }) if (folderData == undefined) { LogUtil.info(TAG, "no folder get " + folderUuid) + folderData = new FolderData(0, "", new Date().getTime() + "", "", FolderType.CusDef, Delete.No, new Date().getTime(), new Date().getTime()) } return folderData } diff --git a/common/utils/src/main/ets/default/baseUtil/LayoutUtil.ets b/common/utils/src/main/ets/default/baseUtil/LayoutUtil.ets index 872aac9..29e5799 100644 --- a/common/utils/src/main/ets/default/baseUtil/LayoutUtil.ets +++ b/common/utils/src/main/ets/default/baseUtil/LayoutUtil.ets @@ -13,15 +13,8 @@ * limitations under the License. */ -import {WidthWeightMessage, unSelectedNoteBgColorMap, selectedNoteBgColorMap, folderTextMap, widthWeightMessageMap} from '../model/NoteBaseData' -import FolderData from '../model/databaseModel/FolderData' -import NoteData from '../model/databaseModel/NoteData' -import {SysDefFolderUuid, FolderType, Favorite, Delete} from '../model/databaseModel/EnumData' -import GlobalResourceManager from './GlobalResourceManager' -import StyleConstants from '../constants/StyleConstants' +import {WidthWeightMessage, widthWeightMessageMap} from '../model/NoteBaseData' import {LogUtil} from './LogUtil' -import FolderUtil from './FolderUtil' -import NoteUtil from './NoteUtil' const TAG = "LayoutUtil" diff --git a/common/utils/src/main/ets/default/baseUtil/NoteUtil.ets b/common/utils/src/main/ets/default/baseUtil/NoteUtil.ets index 26dbb62..df10ebb 100644 --- a/common/utils/src/main/ets/default/baseUtil/NoteUtil.ets +++ b/common/utils/src/main/ets/default/baseUtil/NoteUtil.ets @@ -13,18 +13,15 @@ * limitations under the License. */ -import {WidthWeightMessage, unSelectedNoteBgColorMap, selectedNoteBgColorMap, folderTextMap, widthWeightMessageMap -} from '../model/NoteBaseData' +import {unSelectedNoteBgColorMap, selectedNoteBgColorMap} from '../model/NoteBaseData' import FolderData from '../model/databaseModel/FolderData' import NoteData from '../model/databaseModel/NoteData' import {SysDefFolderUuid, FolderType, Favorite, Delete, TableName, NoteTableColumn, } from '../model/databaseModel/EnumData' -import GlobalResourceManager from './GlobalResourceManager' import StyleConstants from '../constants/StyleConstants' import {LogUtil} from './LogUtil' import FolderUtil from './FolderUtil' import RdbStoreUtil from './RdbStoreUtil' -import prompt from '@system.prompt' const TAG = "NoteUtil" diff --git a/common/utils/src/main/ets/default/baseUtil/RdbStoreUtil.ets b/common/utils/src/main/ets/default/baseUtil/RdbStoreUtil.ets index 5f7ca5c..5d3e9a4 100644 --- a/common/utils/src/main/ets/default/baseUtil/RdbStoreUtil.ets +++ b/common/utils/src/main/ets/default/baseUtil/RdbStoreUtil.ets @@ -14,7 +14,6 @@ */ import { atob } from 'js-base64' -import ohosDataRdb from '@ohos.data.rdb' import fileio from '@ohos.fileio' import { LogUtil } from './LogUtil' import FolderUtil from './FolderUtil' @@ -24,6 +23,7 @@ import FolderData from '../model/databaseModel/FolderData' import NoteData from '../model/databaseModel/NoteData' import { TableSql, TableName, FolderTableColumn, NoteTableColumn, SysDefFolderUuid } from '../model/databaseModel/EnumData' +import relationalStore from '@ohos.data.relationalStore' const TAG = "RdbStoreUtil" @@ -38,7 +38,7 @@ export default { * create db and table */ createRdbStore(context) { - ohosDataRdb.getRdbStore(context, SysDefData.dbInfo.db_name, SysDefData.dbInfo.db_verison) + relationalStore.getRdbStore(context, SysDefData.dbInfo.db_name) .then(async (store) => { LogUtil.info(TAG, "createRdbStore, store is " + store) globalThis.rdbStore = store @@ -170,13 +170,13 @@ export default { initAppStorage(context) { let folderDataArray = [] let noteDataArray = [] - ohosDataRdb.getRdbStore(context, SysDefData.dbInfo.db_name, SysDefData.dbInfo.db_verison) + 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 ohosDataRdb.RdbPredicates(TableName.FolderTable) + 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)) @@ -190,10 +190,11 @@ export default { 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 ohosDataRdb.RdbPredicates(TableName.NoteTable) + 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)) @@ -220,6 +221,7 @@ export default { 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) AppStorage.SetOrCreate('AllFolderArray', folderDataArray) @@ -476,7 +478,7 @@ export default { * @param tableName */ getRdbPredicates(tableName) { - return new ohosDataRdb.RdbPredicates(tableName) + return new relationalStore.RdbPredicates(tableName) }, updataNoteImage(noteData: NoteData): string { diff --git a/common/utils/src/main/ets/default/model/databaseModel/SysDefData.ets b/common/utils/src/main/ets/default/model/databaseModel/SysDefData.ets index ef10817..68fe7be 100644 --- a/common/utils/src/main/ets/default/model/databaseModel/SysDefData.ets +++ b/common/utils/src/main/ets/default/model/databaseModel/SysDefData.ets @@ -14,6 +14,7 @@ */ import {SysDefFolder, SysDefFolderUuid, FolderType, NoteType, Favorite, Top, Delete} from './EnumData' +import relationalStore from '@ohos.data.relationalStore' export default { /** @@ -21,7 +22,8 @@ export default { */ dbInfo: { db_name: { - name: "note.db" // 数据库名称 + name: "note.db", // 数据库名称 + securityLevel: relationalStore.SecurityLevel.S1 }, db_verison: 1 // 数据库版本 }, diff --git a/common/utils/src/main/ets/default/model/searchModel/SearchModel.ets b/common/utils/src/main/ets/default/model/searchModel/SearchModel.ets index dfc5b62..7fba116 100644 --- a/common/utils/src/main/ets/default/model/searchModel/SearchModel.ets +++ b/common/utils/src/main/ets/default/model/searchModel/SearchModel.ets @@ -15,11 +15,6 @@ import {LogUtil} from '../../baseUtil/LogUtil' import NoteData from '../../model/databaseModel/NoteData' -import ohosDataRdb from '@ohos.data.rdb'; -import {TableName, NoteTableColumn} from '../../model/databaseModel/EnumData' -import NoteUtil from '../../baseUtil/NoteUtil' -import RdbStoreUtil from '../../baseUtil/RdbStoreUtil' -import SysDefData from '../../model/databaseModel/SysDefData' import util from '@ohos.util' const TAG = "SearchModel" diff --git a/features/build-profile.json5 b/features/build-profile.json5 index bfc9563..7df0a6b 100644 --- a/features/build-profile.json5 +++ b/features/build-profile.json5 @@ -26,4 +26,4 @@ "name": "ohosTest", } ] -} \ No newline at end of file +} diff --git a/features/package.json b/features/package.json index 1f2eea6..77cec25 100644 --- a/features/package.json +++ b/features/package.json @@ -1,17 +1,17 @@ { - "license": "ISC", - "types": "", - "devDependencies": {}, - "name": "@ohos/component", - "description": "a npm package which contains arkUI2.0 page", - "ohos": { - "org": "" - }, - "main": "index.ets", - "repository": {}, - "version": "1.0.0", - "dependencies": { - "@ohos/utils": "file:../common/utils", - "@ohos/source": "file:../common/resources" - } + "license": "ISC", + "types": "", + "devDependencies": {}, + "name": "@ohos/component", + "description": "a npm package which contains arkUI2.0 page", + "ohos": { + "org": "" + }, + "main": "index.ets", + "repository": {}, + "version": "1.0.0", + "dependencies": { + "@ohos/utils": "file:../common/utils", + "@ohos/source": "file:../common/resources" + } } diff --git a/features/src/main/ets/components/FolderListComp.ets b/features/src/main/ets/components/FolderListComp.ets index 40433ef..9ccc36d 100644 --- a/features/src/main/ets/components/FolderListComp.ets +++ b/features/src/main/ets/components/FolderListComp.ets @@ -25,7 +25,6 @@ import { DeleteFileType } from '@ohos/utils/src/main/ets/default/model/databaseModel/EnumData' import { NewOrEditFolderDialog, DeleteDialog } from './CusDialogComp' -import StyleConstants from '@ohos/utils/src/main/ets/default/constants/StyleConstants' import RdbStoreUtil from '@ohos/utils/src/main/ets/default/baseUtil/RdbStoreUtil' import FolderUtil from '@ohos/utils/src/main/ets/default/baseUtil/FolderUtil' import NoteUtil from '@ohos/utils/src/main/ets/default/baseUtil/NoteUtil' @@ -38,7 +37,7 @@ export struct FolderListComp { @Consume('SectionStatus') sectionStatus: number @Consume('ExpandStatus') expandStatus: boolean // 笔记本折叠展开状态 @StorageLink('breakPoint') breakPoints: string = 'lg' - controllerShow: WebController + controllerShow: WebviewController TAG = "FolderListComp" @Consume('AsideWidth') asideWidth: number @@ -174,7 +173,7 @@ export struct NoteAndCreateComp { @Component struct FolderItemComp { - @State folderItem: FolderData = undefined + @State folderItem: FolderData = new FolderData(0, "", new Date().getTime() + "", "", FolderType.CusDef, Delete.No, new Date().getTime(), new Date().getTime()) @StorageLink('AllNoteArray') AllNoteArray: NoteData[] = [] @StorageLink('AllFolderArray') AllFolderArray: FolderData[] = [] @StorageLink('CheckedNoteArray') CheckedNoteArray: NoteData[] = [] @@ -184,7 +183,7 @@ struct FolderItemComp { @Consume('Longpress') longpress: boolean @Consume('SelectedColor') selectedColor: string @Consume('PortraitModel') portraitModel: boolean - controllerShow: WebController + controllerShow: WebviewController @State isLongPress: boolean = false TAG = "FolderListComp" @StorageLink('isUpdate') isUpdate: boolean = false @@ -278,9 +277,9 @@ struct FolderItemComp { } // 刷新web界面 if (this.portraitModel == false) { - this.controllerShow.runJavaScript({ - script: "RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')" - }) + this.controllerShow.runJavaScript( + "RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')" + ) } // save continue data let continueNote: string = JSON.stringify(this.selectedNoteData.toNoteObject()) @@ -374,7 +373,7 @@ struct FolderItemComp { build() { Flex() { - if (this.folderItem.folder_type == FolderType.CusDef) { + if (this.folderItem?.folder_type == FolderType.CusDef) { Flex({ alignItems: ItemAlign.Center, wrap: FlexWrap.NoWrap, justifyContent: FlexAlign.SpaceBetween }) { Row() { Image(FolderUtil.getFolderIcon(this.folderItem.uuid)) @@ -423,9 +422,9 @@ struct FolderItemComp { } // 刷新web界面 if (this.portraitModel == false) { - this.controllerShow.runJavaScript({ - script: "RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')" - }) + this.controllerShow.runJavaScript( + "RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')" + ) } // save continue data let continueNote: string = JSON.stringify(this.selectedNoteData.toNoteObject()) @@ -482,9 +481,9 @@ struct FolderItemComp { } // 刷新web界面 if (this.portraitModel == false) { - this.controllerShow.runJavaScript({ - script: "RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')" - }) + this.controllerShow.runJavaScript( + "RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')" + ) } // save continue data let continueNote: string = JSON.stringify(this.selectedNoteData.toNoteObject()) diff --git a/features/src/main/ets/components/NoteContent.ets b/features/src/main/ets/components/NoteContent.ets index 80e2104..aefe438 100644 --- a/features/src/main/ets/components/NoteContent.ets +++ b/features/src/main/ets/components/NoteContent.ets @@ -26,14 +26,11 @@ import { Delete } from '@ohos/utils/src/main/ets/default/model/databaseModel/EnumData' import StyleConstants from '@ohos/utils/src/main/ets/default/constants/StyleConstants' -import { EditContentDialog, DeleteDialog, EditTitleDialog } from './CusDialogComp' +import { EditContentDialog, EditTitleDialog } from './CusDialogComp' import FolderUtil from '@ohos/utils/src/main/ets/default/baseUtil/FolderUtil' import NoteUtil from '@ohos/utils/src/main/ets/default/baseUtil/NoteUtil' -import prompt from '@system.prompt' -import featureAbility from '@ohos.ability.featureAbility' import { LogUtil } from '@ohos/utils/src/main/ets/default/baseUtil/LogUtil' import OperationUtils from '@ohos/utils/src/main/ets/default/baseUtil/OperationUtils' -import mediaquery from '@ohos.mediaquery' import router from '@system.router'; import inputMethod from '@ohos.inputMethod'; import { folderTextMap } from '@ohos/utils/src/main/ets/default/model/NoteBaseData' @@ -49,7 +46,7 @@ export struct NoteContent { @Provide('Issave') issave: number = 0 @Provide('EditModel') editModel: boolean = false @StorageLink('dpi') dpi: number = 240 - controllerShow: WebController + controllerShow: WebviewController private editContentFlag = false @StorageLink('ScrollTopPercent') scrollTopPercent: number = 0.0 @@ -57,6 +54,7 @@ export struct NoteContent { if (scrollTop < 0) { return } + AppStorage.SetOrCreate('ScrollTopPercent', scrollTop / this.controllerShow.getPageHeight()) } restoreScrollTop() { @@ -67,6 +65,9 @@ export struct NoteContent { if (scrollTopPercent < 0) { return } + this.controllerShow.runJavaScript( + 'document.documentElement.scrollTop = ' + this.controllerShow.getPageHeight() * scrollTopPercent + ) AppStorage.Delete('remoteScrollTopPercent') } @@ -146,7 +147,7 @@ export struct NoteContent { realHtml = "file://" + filePath } LogUtil.info(TAG, 'paste info11' + realHtml) - this.controllerShow.runJavaScript({ script: "javascript:RICH_EDITOR.insertImageHtml('" + realHtml + "')" }) + this.controllerShow.runJavaScript("javascript:RICH_EDITOR.insertImageHtml('" + realHtml + "')") } else { LogUtil.info(TAG, 'paste info22223') } @@ -187,28 +188,28 @@ export struct NoteContent { }) .onPageEnd((e) => { if (this.dpi <= 240) { - this.controllerShow.runJavaScript({ script: "changeSizeToRk()" }) + this.controllerShow.runJavaScript("changeSizeToRk()") } else if (this.dpi <= 320 && this.dpi > 240) { - this.controllerShow.runJavaScript({ script: "changeSizeToPhone()" }) + this.controllerShow.runJavaScript("changeSizeToPhone()") } else { - this.controllerShow.runJavaScript({ script: "changeSizeToTablet()" }) + this.controllerShow.runJavaScript("changeSizeToTablet()") } if (AppStorage.Get('breakPoint') !== 'sm') { - this.controllerShow.runJavaScript({ script: "hiddenButton()" }) + this.controllerShow.runJavaScript("hiddenButton()") } LogUtil.info(TAG, "finish loadurl") if (this.selectedNoteData) { let self = this - this.controllerShow.runJavaScript({ - script: "RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')", - callback: () => { + this.controllerShow.runJavaScript( + "RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')", + () => { // wait for the image in the note to load setTimeout(function () { self.restoreScrollTop() self.restoreFocus() }, 100) } - }) + ) } }) .zoomAccess(false) @@ -216,7 +217,7 @@ export struct NoteContent { .onlineImageAccess(true) .fileAccess(true) .domStorageAccess(true) - .height('70%') + .height('88%') .width('100%') .onScroll((event) => { this.storeScrollTop(event.yOffset) @@ -227,7 +228,7 @@ export struct NoteContent { clearInterval(timeID) } timeID = setInterval(() => { - this.controllerShow.runJavaScript({ script: "scheduledSaveContent()" }) + this.controllerShow.runJavaScript("scheduledSaveContent()") }, 3000) LogUtil.info(TAG, "setInterval timeID : " + timeID) this.issave = 0 @@ -235,7 +236,6 @@ export struct NoteContent { }) } .margin({ left: 12, right: 24, top: 16 }) - .width(StyleConstants.PERCENTAGE_100) } .height(StyleConstants.PERCENTAGE_100) } @@ -261,7 +261,7 @@ export struct ToolBarComp { @StorageLink('AllNoteArray') AllNoteArray: NoteData[] = AppStorage.Link('AllNoteArray') @Consume('Issave') issave: number @Consume('EditModel') editModel: boolean - controllerShow: WebController + controllerShow: WebviewController editContentDialogCtl: CustomDialogController = new CustomDialogController({ builder: EditContentDialog({ confirm: this.confirm.bind(this) }), alignment: DialogAlignment.Bottom, @@ -270,7 +270,7 @@ export struct ToolBarComp { }) confirm(excuteJs: string) { - this.controllerShow.runJavaScript({ script: excuteJs }) + this.controllerShow.runJavaScript(excuteJs) } build() { @@ -280,8 +280,8 @@ export struct ToolBarComp { .height(24) .width(24) .onClick(() => { - this.controllerShow.runJavaScript({ script: "RICH_EDITOR.setInputEnabled(false)" }) - this.controllerShow.runJavaScript({ script: "getHtmlContent()" }) + this.controllerShow.runJavaScript("RICH_EDITOR.setInputEnabled(false)") + this.controllerShow.runJavaScript("getHtmlContent()") // 清除定时器 if (timeID != undefined) { LogUtil.info(TAG, "zoom, clearInterval timeID : " + timeID) @@ -322,7 +322,7 @@ export struct ToolBarComp { // @ts-ignore inputMethod.getController().stopInputSession(); // 清单 - this.controllerShow.runJavaScript({ script: "javascript:RICH_EDITOR.setTodo()" }) + this.controllerShow.runJavaScript("javascript:RICH_EDITOR.setTodo()") }) }.width(42) .height(42) @@ -364,19 +364,19 @@ export struct ToolBarComp { let imageUri = "" if (param != null && param != undefined) { let uri = param['select-item-list']; - imageUri = uri; + imageUri = uri[0]; } // 拷贝 if (imageUri != null && imageUri != "") { OperationUtils.copy(imageUri).then((uriPath) => { var path = "file://" + uriPath LogUtil.info(TAG, 'image uri is:' + path) - this.controllerShow.runJavaScript({ - script: "javascript:RICH_EDITOR.insertImage('" + path + "')" - }) + this.controllerShow.runJavaScript( + "javascript:RICH_EDITOR.insertImage('" + path + "')" + ) this.issave = 1 // 保存笔记信息到数据库 - this.controllerShow.runJavaScript({ script: "getHtmlContent()" }) + this.controllerShow.runJavaScript("getHtmlContent()") }) } } @@ -395,7 +395,7 @@ export struct ToolBarComp { // 退出键盘 // @ts-ignore inputMethod.getController().stopInputSession(); - this.controllerShow.runJavaScript({ script: "RICH_EDITOR.undo()" }) + this.controllerShow.runJavaScript("RICH_EDITOR.undo()") }) }.width(42) .height(42) @@ -410,7 +410,7 @@ export struct ToolBarComp { // 退出键盘 // @ts-ignore inputMethod.getController().stopInputSession(); - this.controllerShow.runJavaScript({ script: "RICH_EDITOR.redo()" }) + this.controllerShow.runJavaScript("RICH_EDITOR.redo()") }) }.width(42) .height(42) @@ -426,7 +426,7 @@ export struct ToolBarComp { .onClick(() => { this.issave = 1 // 保存笔记信息到数据库 - this.controllerShow.runJavaScript({ script: "getHtmlContent()" }) + this.controllerShow.runJavaScript("getHtmlContent()") }) }.width(42) .height(42) diff --git a/features/src/main/ets/components/NoteContentComp.ets b/features/src/main/ets/components/NoteContentComp.ets index 5397f2a..b6341e4 100644 --- a/features/src/main/ets/components/NoteContentComp.ets +++ b/features/src/main/ets/components/NoteContentComp.ets @@ -35,6 +35,7 @@ import OperationUtils from '@ohos/utils/src/main/ets/default/baseUtil/OperationU import mediaquery from '@ohos.mediaquery' import inputMethod from '@ohos.inputMethod'; import { folderTextMap } from '@ohos/utils/src/main/ets/default/model/NoteBaseData' +import abilityAccessCtrl from '@ohos.abilityAccessCtrl'; const TAG = "NoteContentComp" @@ -55,7 +56,7 @@ export struct NoteContentComp { @Consume('Issave') issave: number @Consume('Search') search: boolean @StorageLink('dpi') dpi: number = 240 - controllerShow: WebController + controllerShow: WebviewController private editContentFlag = false @State uri1: string = "" private context = getContext(this) @@ -68,7 +69,7 @@ export struct NoteContentComp { if (!this.refreshCurrentNote) { return } - this.controllerShow.runJavaScript({ script: "RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')" }) + this.controllerShow.runJavaScript("RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')") this.refreshCurrentNote = false } @@ -76,6 +77,7 @@ export struct NoteContentComp { if (scrollTop < 0) { return } + AppStorage.SetOrCreate('ScrollTopPercent', scrollTop / this.controllerShow.getPageHeight()) } restoreScrollTop() { @@ -86,6 +88,9 @@ export struct NoteContentComp { if (scrollTopPercent < 0) { return } + this.controllerShow.runJavaScript( + 'document.documentElement.scrollTop = ' + this.controllerShow.getPageHeight() * scrollTopPercent + ) } restoreFocus() { @@ -181,7 +186,7 @@ export struct NoteContentComp { realHtml = "file://" + filePath } LogUtil.info(TAG, 'paste info11-' + realHtml) - this.controllerShow.runJavaScript({ script: "javascript:RICH_EDITOR.insertImageHtml('" + realHtml + "')" }) + this.controllerShow.runJavaScript("javascript:RICH_EDITOR.insertImageHtml('" + realHtml + "')") LogUtil.info(TAG, 'paste info11--' + realHtml) } else { LogUtil.info(TAG, 'paste info22225') @@ -224,34 +229,35 @@ export struct NoteContentComp { methodList: ["callbackhtml", "callbackhtmlSave", "callbackScheduledSave", "callbackGetSize", "callbackPasteImage", "callbackImagePath"], controller: this.controllerShow }) + .enabled(this.sectionStatus !== 1 ? false : true) .onPageEnd((e) => { if (this.dpi <= 240) { - this.controllerShow.runJavaScript({ script: "changeSizeToRk()" }) + this.controllerShow.runJavaScript("changeSizeToRk()") } else if (this.dpi <= 320 && this.dpi > 240) { - this.controllerShow.runJavaScript({ script: "changeSizeToPhone()" }) + this.controllerShow.runJavaScript("changeSizeToPhone()") } else { - this.controllerShow.runJavaScript({ script: "changeSizeToTablet()" }) + this.controllerShow.runJavaScript("changeSizeToTablet()") } if (AppStorage.Get('breakPoint') !== 'sm') { - this.controllerShow.runJavaScript({ script: "hiddenButton()" }) + this.controllerShow.runJavaScript("hiddenButton()") } LogUtil.info(TAG, "finish loadurl") if (this.selectedNoteData) { let self = this - this.controllerShow.runJavaScript({ - script: "RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')", - callback: () => { + this.controllerShow.runJavaScript( + "RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')", + () => { // wait for the image in the note to load setTimeout(function () { self.restoreScrollTop() self.restoreFocus() }, 100) } - }) + ) } // 初次加载为为小屏预览模式 if (this.sectionStatus != 1) { - this.controllerShow.runJavaScript({ script: "RICH_EDITOR.setInputEnabled(false)" }) + this.controllerShow.runJavaScript("RICH_EDITOR.setInputEnabled(false)") } }) .imageAccess(true) @@ -278,13 +284,13 @@ export struct NoteContentComp { this.asideWidth = 0 this.lastSectionStatus = this.sectionStatus this.sectionStatus = 1 - this.controllerShow.runJavaScript({ script: "RICH_EDITOR.setInputEnabled(true)" }) + this.controllerShow.runJavaScript("RICH_EDITOR.setInputEnabled(true)") // 添加定时器:3s自动保存 if (timeId) { clearInterval(timeId) } timeId = setInterval(() => { - this.controllerShow.runJavaScript({ script: "scheduledSaveContent()" }) + this.controllerShow.runJavaScript("scheduledSaveContent()") }, 3000) LogUtil.info(TAG, "setInterval timeId : " + timeId) // save continue data @@ -333,7 +339,7 @@ export struct NoteContentOverViewComp { @Consume('RefreshFlag') refreshFlag: number @StorageLink('isUpdate') isUpdate: boolean = false NoteDataMoveArray: FolderData[] - controllerShow: WebController + controllerShow: WebviewController editTitleDialogCtl: CustomDialogController = new CustomDialogController({ builder: EditTitleDialog({ confirm: this.confirm.bind(this) }), alignment: DialogAlignment.Center, @@ -374,9 +380,9 @@ export struct NoteContentOverViewComp { RdbStoreUtil.update(this.selectedNoteData.toNoteObject(), predicates_note, null) if (this.sectionStatus != 1) { this.selectedNoteData = NoteUtil.getFirstNoteData(this.AllNoteArray, this.selectedFolderData.uuid) - this.controllerShow.runJavaScript({ - script: "RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')" - }) + this.controllerShow.runJavaScript( + "RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')" + ) this.refreshFlag = (this.refreshFlag == 0 ? 1 : 0) } else { this.selectedFolderData = FolderUtil.getFolderData(AppStorage.Get('AllFolderArray'), item.uuid) @@ -407,8 +413,6 @@ export struct NoteContentOverViewComp { .fontSize(30) .margin({ left: 0, right: 24 }) .onClick(() => { - this.editModel = true - this.sectionStatus = 1 clearInterval(timeId) this.editTitleDialogCtl.open() // save continue data @@ -465,7 +469,7 @@ export struct ToolBarComp { @StorageLink('AllNoteArray') AllNoteArray: NoteData[] = AppStorage.Link('AllNoteArray') @Consume('EditModel') editModel: boolean @Consume('Issave') issave: number - controllerShow: WebController + controllerShow: WebviewController private context = getContext(this) noteDataDeleteDialogCtl: CustomDialogController = new CustomDialogController({ builder: DeleteDialog({ onConfirm: this.onDeleteConfirm.bind(this) }), @@ -492,7 +496,7 @@ export struct ToolBarComp { } this.refreshFlag = (this.refreshFlag == 0 ? 1 : 0) this.selectedNoteData = NoteUtil.getFirstNoteData(AppStorage.Get('AllNoteArray'), this.selectedFolderData.uuid) - this.controllerShow.runJavaScript({ script: "RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')" }) + this.controllerShow.runJavaScript("RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')") this.chooseNote = false // save continue data let continueNote: string = JSON.stringify(this.selectedNoteData.toNoteObject()) @@ -509,7 +513,7 @@ export struct ToolBarComp { }) confirm(excuteJs: string) { - this.controllerShow.runJavaScript({ script: excuteJs }) + this.controllerShow.runJavaScript(excuteJs) } build() { @@ -523,16 +527,16 @@ export struct ToolBarComp { this.lastSectionStatus = this.sectionStatus this.sectionStatus = 1 this.asideWidth = 0 - this.controllerShow.runJavaScript({ script: "RICH_EDITOR.setInputEnabled(true)" }) + this.controllerShow.runJavaScript("RICH_EDITOR.setInputEnabled(true)") } else { if (this.lastSectionStatus != undefined) { this.asideWidth = 200 // 切换为小屏预览模式 - this.controllerShow.runJavaScript({ script: "RICH_EDITOR.setInputEnabled(false)" }) + this.controllerShow.runJavaScript("RICH_EDITOR.setInputEnabled(false)") this.sectionStatus = this.lastSectionStatus // 退出全屏时存库 LogUtil.info(TAG, "close note" + this.selectedNoteData.uuid) - this.controllerShow.runJavaScript({ script: "saveHtmlContent()" }) + this.controllerShow.runJavaScript("saveHtmlContent()") //退出键盘 // @ts-ignore inputMethod.getController().stopInputSession(); @@ -589,9 +593,9 @@ export struct ToolBarComp { RdbStoreUtil.update(this.selectedNoteData.toNoteObject(), predicates_note, null) this.selectedNoteData = NoteUtil.getFirstNoteData(AppStorage.Get('AllNoteArray'), this.selectedFolderData.uuid) - this.controllerShow.runJavaScript({ - script: "RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')" - }) + this.controllerShow.runJavaScript( + "RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')" + ) // save continue data let continueNote: string = JSON.stringify(this.selectedNoteData.toNoteObject()) AppStorage.SetOrCreate('ContinueNote', continueNote) @@ -607,7 +611,7 @@ export struct ToolBarComp { .width(24) .onClick(() => { // 清单 - this.controllerShow.runJavaScript({ script: "javascript:RICH_EDITOR.setTodo()" }) + this.controllerShow.runJavaScript("javascript:RICH_EDITOR.setTodo()") // 退出键盘 // @ts-ignore inputMethod.getController().stopInputSession(); @@ -642,7 +646,9 @@ export struct ToolBarComp { "ohos.permission.WRITE_MEDIA", ] let context: any = getContext(this); - await context.requestPermissionsFromUser(permissionList).then((data) => { + let AtManager = abilityAccessCtrl.createAtManager(); + // @ts-ignore + await AtManager.requestPermissionsFromUser(context, permissionList).then((data) => { LogUtil.info(TAG, 'data permissions : ' + data.permissions) LogUtil.info(TAG, 'data result: ' + data.authResults) let sum = 0 @@ -676,12 +682,12 @@ export struct ToolBarComp { OperationUtils.copy(imageUri).then((uriPath) => { var path = "file://" + uriPath LogUtil.info(TAG, 'image uri is:' + path) - this.controllerShow.runJavaScript({ - script: "javascript:RICH_EDITOR.insertImage('" + path + "')" - }) + this.controllerShow.runJavaScript( + "javascript:RICH_EDITOR.insertImage('" + path + "')" + ) this.issave = 1 // 保存笔记信息到数据库 - this.controllerShow.runJavaScript({ script: "getHtmlContent()" }) + this.controllerShow.runJavaScript("getHtmlContent()") }) } } @@ -701,7 +707,7 @@ export struct ToolBarComp { // 退出键盘 // @ts-ignore inputMethod.getController().stopInputSession(); - this.controllerShow.runJavaScript({ script: "RICH_EDITOR.undo()" }) + this.controllerShow.runJavaScript("RICH_EDITOR.undo()") }) }.width(42) .height(42) @@ -716,7 +722,7 @@ export struct ToolBarComp { // 退出键盘 // @ts-ignore inputMethod.getController().stopInputSession(); - this.controllerShow.runJavaScript({ script: "RICH_EDITOR.redo()" }) + this.controllerShow.runJavaScript("RICH_EDITOR.redo()") }) }.width(42) .height(42) @@ -731,7 +737,7 @@ export struct ToolBarComp { .fillColor(this.issave == 0 ? Color.Black : Color.Grey) .onClick(() => { // 保存笔记信息到数据库 - this.controllerShow.runJavaScript({ script: "getHtmlContent()" }) + this.controllerShow.runJavaScript("getHtmlContent()") if (this.selectedNoteData.title == "标题" && this.selectedNoteData.content_text == "") { LogUtil.info(TAG, "note is empty,save note failed") } @@ -756,9 +762,9 @@ export struct ToolBarComp { RdbStoreUtil.update(this.selectedNoteData.toNoteObject(), predicates_note, null) if (this.selectedFolderData.uuid === SysDefFolderUuid.MyFavorites) { this.selectedNoteData = NoteUtil.getFirstNoteData(AppStorage.Get('AllNoteArray'), SysDefFolderUuid.MyFavorites) - this.controllerShow.runJavaScript({ - script: "RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')" - }) + this.controllerShow.runJavaScript( + "RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')" + ) // save continue data let continueNote: string = JSON.stringify(this.selectedNoteData.toNoteObject()) AppStorage.SetOrCreate('ContinueNote', continueNote) diff --git a/features/src/main/ets/components/NoteContentCompPortrait.ets b/features/src/main/ets/components/NoteContentCompPortrait.ets index b018db3..59e4f56 100644 --- a/features/src/main/ets/components/NoteContentCompPortrait.ets +++ b/features/src/main/ets/components/NoteContentCompPortrait.ets @@ -35,7 +35,7 @@ import OperationUtils from '@ohos/utils/src/main/ets/default/baseUtil/OperationU import router from '@system.router' import inputMethod from '@ohos.inputMethod'; import { folderTextMap } from '@ohos/utils/src/main/ets/default/model/NoteBaseData' -import rs from '@ohos.resourceManager' +import abilityAccessCtrl from '@ohos.abilityAccessCtrl'; var time_id: number @@ -57,7 +57,7 @@ export struct NoteContentCompPortrait { @StorageLink('AllNoteArray') AllNoteArray: NoteData[] = AppStorage.Link('AllNoteArray') @Provide('EditModel') editModel: boolean = false @StorageLink('dpi') dpi: number = 240 - controllerShow: WebController + controllerShow: WebviewController private editContentFlag = false @StorageLink('ScrollTopPercent') scrollTopPercent: number = 0.0 editContentDialogCtl: CustomDialogController = new CustomDialogController({ @@ -68,23 +68,32 @@ export struct NoteContentCompPortrait { }) confirm(excuteJs: string) { - this.controllerShow.runJavaScript({ script: excuteJs }) + this.controllerShow.runJavaScript(excuteJs) } storeScrollTop(scrollTop: number) { if (scrollTop < 0) { return } + AppStorage.SetOrCreate('ScrollTopPercent', scrollTop / this.controllerShow.getPageHeight()) } restoreScrollTop() { - if (!AppStorage.Has('remoteScrollTopPercent')) { - return - } - var scrollTopPercent = AppStorage.Get('remoteScrollTopPercent') - if (scrollTopPercent < 0) { - return + try { + if (!AppStorage.Has('remoteScrollTopPercent')) { + return + } + var scrollTopPercent = AppStorage.Get('remoteScrollTopPercent') + if (scrollTopPercent < 0) { + return + } + this.controllerShow.runJavaScript( + 'document.documentElement.scrollTop = ' + this.controllerShow.getPageHeight() * scrollTopPercent + ) + } catch (error) { + LogUtil.info(TAG, 'restoreScrollTop error') } + } restoreFocus() { @@ -160,7 +169,7 @@ export struct NoteContentCompPortrait { realHtml = "file://" + filePath } LogUtil.info(TAG, 'paste info11' + realHtml) - this.controllerShow.runJavaScript({ script: "javascript:RICH_EDITOR.insertImageHtml('" + realHtml + "')" }) + this.controllerShow.runJavaScript("javascript:RICH_EDITOR.insertImageHtml('" + realHtml + "')") } else { LogUtil.info(TAG, 'paste info22224') } @@ -180,7 +189,7 @@ export struct NoteContentCompPortrait { }, addToDo: () => { // 清单 - this.controllerShow.runJavaScript({ script: "javascript:RICH_EDITOR.setTodo()" }) + this.controllerShow.runJavaScript("javascript:RICH_EDITOR.setTodo()") }, chooseStyle: () => { this.editContentDialogCtl.open() @@ -191,7 +200,9 @@ export struct NoteContentCompPortrait { "ohos.permission.WRITE_MEDIA", ] let context: any = getContext(this); - await context.requestPermissionsFromUser(permissionList).then((data) => { + let AtManager = abilityAccessCtrl.createAtManager(); + // @ts-ignore + await AtManager.requestPermissionsFromUser(context, permissionList).then((data) => { LogUtil.info(TAG, 'data permissions : ' + data.permissions) LogUtil.info(TAG, 'data result: ' + data.authResults) let sum = 0 @@ -214,7 +225,7 @@ export struct NoteContentCompPortrait { let imageUri = "" if (param != null && param != undefined) { let uri = param['select-item-list']; - imageUri = uri; + imageUri = uri[0]; } LogUtil.info(TAG, "image url" + imageUri) // 拷贝 @@ -222,8 +233,8 @@ export struct NoteContentCompPortrait { OperationUtils.copy(imageUri).then((uriPath) => { var path = "file://" + uriPath LogUtil.info(TAG, 'image uri is:' + path) - this.controllerShow.runJavaScript({ script: "javascript:RICH_EDITOR.getFocus()" }) - this.controllerShow.runJavaScript({ script: "javascript:RICH_EDITOR.insertImage('" + path + "')" }) + this.controllerShow.runJavaScript("javascript:RICH_EDITOR.getFocus()") + this.controllerShow.runJavaScript("javascript:RICH_EDITOR.insertImage('" + path + "')") }) } } @@ -241,10 +252,12 @@ export struct NoteContentCompPortrait { Column() { ToolBarComp({ controllerShow: this.controllerShow }) NoteContentOverViewComp() + .enabled(this.selectedNoteData && this.selectedNoteData.is_deleted == Delete.Yes ? false : true) } Column() { Web({ src: $rawfile('editor.html'), controller: this.controllerShow }) + .overviewModeAccess(false) .javaScriptAccess(true) .javaScriptProxy({ object: this.noteContent, @@ -253,25 +266,30 @@ export struct NoteContentCompPortrait { controller: this.controllerShow }) .onPageEnd((e) => { - if (this.dpi <= 240) { - this.controllerShow.runJavaScript({ script: "changeSizeToRk()" }) - } else if (this.dpi <= 320 && this.dpi > 240) { - this.controllerShow.runJavaScript({ script: "changeSizeToPhone()" }) - } else { - this.controllerShow.runJavaScript({ script: "changeSizeToTablet()" }) - } - LogUtil.info(TAG, "finish loadurl") - let self = this - this.controllerShow.runJavaScript({ - script: "RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')", - callback: () => { - // wait for the image in the note to load - setTimeout(function () { - self.restoreScrollTop() - self.restoreFocus() - }, 100) + try { + if (this.dpi <= 240) { + this.controllerShow.runJavaScript("changeSizeToRk()") + } else if (this.dpi <= 320 && this.dpi > 240) { + this.controllerShow.runJavaScript("changeSizeToPhone()") + } else { + this.controllerShow.runJavaScript("changeSizeToTablet()") } - }) + LogUtil.info(TAG, "finish loadurl") + let self = this + this.controllerShow.runJavaScript( + "RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')", + () => { + // wait for the image in the note to load + setTimeout(function () { + self.restoreScrollTop() + self.restoreFocus() + }, 100) + } + ) + } catch (error) { + LogUtil.info(TAG, 'onPageEnd error') + } + }) .imageAccess(true) .onlineImageAccess(true) @@ -283,19 +301,24 @@ export struct NoteContentCompPortrait { .onScroll((event) => { this.storeScrollTop(event.yOffset) }) + .onClick(() => { + if (time_id) { + clearInterval(time_id) + } + // 添加定时器:3s自动保存 + time_id = setInterval(() => { + try { + this.controllerShow.runJavaScript("scheduledSaveContent()") + } catch (error) { + LogUtil.info(TAG, 'setInterval error') + } + }, 3000) + LogUtil.info(TAG, "setInterval time_id : " + time_id) + this.editModel = true + }) } + .enabled(this.selectedNoteData && this.selectedNoteData.is_deleted == Delete.Yes ? false : true) .flexShrink(1) - .onClick(() => { - if (time_id) { - clearInterval(time_id) - } - // 添加定时器:3s自动保存 - time_id = setInterval(() => { - this.controllerShow.runJavaScript({ script: "scheduledSaveContent()" }) - }, 3000) - LogUtil.info(TAG, "setInterval time_id : " + time_id) - this.editModel = true - }) .margin({ top: 16 }) .width(StyleConstants.PERCENTAGE_100) } @@ -437,7 +460,7 @@ export struct ToolBarComp { @Consume('SelectedFolderData') selectedFolderData: FolderData @Consume('EditModel') editModel: boolean @StorageLink('AllNoteArray') AllNoteArray: NoteData[] = AppStorage.Link('AllNoteArray') - controllerShow: WebController + controllerShow: WebviewController onDeleteConfirm() { if (this.selectedFolderData.uuid != SysDefFolderUuid.RecentDeletes) { @@ -475,14 +498,18 @@ export struct ToolBarComp { .width(24) .responseRegion({ width: 54, height: 54 }) .onClick(() => { - this.controllerShow.runJavaScript({ script: "getHtmlContent()" }) - // 清除定时器 - if (time_id != undefined) { - LogUtil.info(TAG, "back, clearInterval time_id : " + time_id) - clearInterval(time_id) + try { + this.controllerShow.runJavaScript("getHtmlContent()") + // 清除定时器 + if (time_id != undefined) { + LogUtil.info(TAG, "back, clearInterval time_id : " + time_id) + clearInterval(time_id) + } + router.back() + NoteUtil.refreshAll() + } catch (error) { + LogUtil.info(TAG, 'back error') } - router.back() - NoteUtil.refreshAll() }) if (this.editModel == false) { @@ -490,22 +517,26 @@ export struct ToolBarComp { Image(this.selectedNoteData.is_favorite == Favorite.Yes ? $r('app.media.favorite') : $r('app.media.favorite_cancel')) .height(24).width(24) .onClick(() => { - this.selectedNoteData.is_favorite = (this.selectedNoteData.is_favorite == Favorite.Yes ? Favorite.No : Favorite.Yes) - // update note to db - let predicates_note = RdbStoreUtil.getRdbPredicates(TableName.NoteTable) - predicates_note.equalTo(NoteTableColumn.Uuid, this.selectedNoteData.uuid) - RdbStoreUtil.update(this.selectedNoteData.toNoteObject(), predicates_note, null) - if (this.selectedFolderData.uuid === SysDefFolderUuid.MyFavorites) { - this.selectedNoteData = NoteUtil.getFirstNoteData(AppStorage.Get('AllNoteArray'), SysDefFolderUuid.MyFavorites) - this.controllerShow.runJavaScript({ - script: "RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')" - }) - // save continue data - let continueNote: string = JSON.stringify(this.selectedNoteData.toNoteObject()) - AppStorage.SetOrCreate('ContinueNote', continueNote) - LogUtil.info(TAG, "ToolBarComp, set continue note success") + try { + this.selectedNoteData.is_favorite = (this.selectedNoteData.is_favorite == Favorite.Yes ? Favorite.No : Favorite.Yes) + // update note to db + let predicates_note = RdbStoreUtil.getRdbPredicates(TableName.NoteTable) + predicates_note.equalTo(NoteTableColumn.Uuid, this.selectedNoteData.uuid) + RdbStoreUtil.update(this.selectedNoteData.toNoteObject(), predicates_note, null) + if (this.selectedFolderData.uuid === SysDefFolderUuid.MyFavorites) { + this.selectedNoteData = NoteUtil.getFirstNoteData(AppStorage.Get('AllNoteArray'), SysDefFolderUuid.MyFavorites) + this.controllerShow.runJavaScript( + "RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')" + ) + // save continue data + let continueNote: string = JSON.stringify(this.selectedNoteData.toNoteObject()) + AppStorage.SetOrCreate('ContinueNote', continueNote) + LogUtil.info(TAG, "ToolBarComp, set continue note success") + } + NoteUtil.refreshAll() + } catch (error) { + LogUtil.info(TAG, 'favorite error') } - NoteUtil.refreshAll() }) Image($r('app.media.delete')).height(24).width(24) .onClick(() => { @@ -518,10 +549,14 @@ export struct ToolBarComp { Button({ type: ButtonType.Normal, stateEffect: true }) { Image($r('app.media.undo')).height(24).width(24) .onClick(() => { - // 退出键盘 - // @ts-ignore - inputMethod.getController().stopInputSession(); - this.controllerShow.runJavaScript({ script: "javascript:RICH_EDITOR.undo()" }) + try { + // 退出键盘 + // @ts-ignore + inputMethod.getController().stopInputSession(); + this.controllerShow.runJavaScript("javascript:RICH_EDITOR.undo()") + } catch (error) { + LogUtil.info(TAG, 'undo error') + } }) }.width(42) .height(42) @@ -531,10 +566,14 @@ export struct ToolBarComp { Button({ type: ButtonType.Normal, stateEffect: true }) { Image($r('app.media.todo')).height(24).width(24) .onClick(() => { - // 退出键盘 - // @ts-ignore - inputMethod.getController().stopInputSession(); - this.controllerShow.runJavaScript({ script: "javascript:RICH_EDITOR.redo()" }) + try { + // 退出键盘 + // @ts-ignore + inputMethod.getController().stopInputSession(); + this.controllerShow.runJavaScript("javascript:RICH_EDITOR.redo()") + } catch (error) { + LogUtil.info(TAG, 'todo error') + } }) }.width(42) .height(42) @@ -544,9 +583,13 @@ export struct ToolBarComp { Button({ type: ButtonType.Normal, stateEffect: true }) { Image($r('app.media.tick_thin')).height(24).width(24) .onClick(() => { - // 保存笔记信息到数据库 - this.controllerShow.runJavaScript({ script: "getHtmlContent()" }) - this.editModel = false + try { + // 保存笔记信息到数据库 + this.controllerShow.runJavaScript("getHtmlContent()") + this.editModel = false + } catch (error) { + LogUtil.info(TAG, 'tick_thin error') + } }) }.width(42) .height(42) diff --git a/features/src/main/ets/components/NoteListComp.ets b/features/src/main/ets/components/NoteListComp.ets index 3690ba2..73c4ac6 100644 --- a/features/src/main/ets/components/NoteListComp.ets +++ b/features/src/main/ets/components/NoteListComp.ets @@ -30,11 +30,9 @@ import RdbStoreUtil from '@ohos/utils/src/main/ets/default/baseUtil/RdbStoreUtil import prompt from '@system.prompt' import NoteUtil from '@ohos/utils/src/main/ets/default/baseUtil/NoteUtil' import FolderUtil from '@ohos/utils/src/main/ets/default/baseUtil/FolderUtil' -import StyleConstants from '@ohos/utils/src/main/ets/default/constants/StyleConstants' import SearchModel from '@ohos/utils/src/main/ets/default/model/searchModel/SearchModel' import { LogUtil } from '@ohos/utils/src/main/ets/default/baseUtil/LogUtil' import router from '@system.router'; -import rs from '@ohos.resourceManager' import inputMethod from '@ohos.inputMethod'; const TAG = "NoteListComp" @@ -56,7 +54,7 @@ export struct NoteListComp { @StorageLink('AllFolderArray') AllFolderArray: FolderData[] = AppStorage.Link('AllFolderArray') @Consume('SelectedFolderData') selectedFolderData: FolderData @Consume('Search') search: boolean - controllerShow: WebController + controllerShow: WebviewController @Consume('AsideWidth') asideWidth: number build() { @@ -103,10 +101,20 @@ struct NoteOverViewComp { @Consume('ExpandStatus') expandStatus: boolean @Consume('Search') search: boolean @Consume('PortraitModel') portraitModel: boolean - controllerShow: WebController + controllerShow: WebviewController @State noteNumber: number = undefined - @StorageLink('isUpdate') isUpdate: boolean = false + @StorageLink('isUpdate') @Watch('notesNumberChange') isUpdate: boolean = false @Consume('AsideWidth') asideWidth: number + @State isShow: boolean = false + + notesNumberChange() { + let noteNumbers = FolderUtil.getNoteCount(AppStorage.Get('AllNoteArray'), this.selectedFolderData.uuid) + if (noteNumbers == 0) { + this.isShow = false + } else { + this.isShow = true + } + } build() { Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) { @@ -163,7 +171,7 @@ struct NoteOverViewComp { .textOverflow({ overflow: TextOverflow.Ellipsis }) } .margin({ top: 5 }) - .visibility((FolderUtil.getNoteCount(AppStorage.Get('AllNoteArray'), this.selectedFolderData.uuid) == 0) ? Visibility.None : Visibility.Visible) + .visibility(this.isShow ? Visibility.Visible : Visibility.None) }.visibility(this.longpress ? Visibility.None : Visibility.Visible) Row() { @@ -210,7 +218,7 @@ struct NoteOverViewComp { export struct NoteItemComp { public noteItem: NoteData public spans: any[] - controllerShow: WebController + controllerShow: WebviewController @Consume('SelectedFolderData') selectedFolderData: FolderData @Consume('SelectedNoteData') selectedNoteData: NoteData @StorageLink('AllFolderArray') AllFolderArray: FolderData[] = AppStorage.Link('AllFolderArray') @@ -340,9 +348,12 @@ export struct NoteItemComp { LogUtil.info(TAG, "NoteItemComp, set continue note success") } if (this.portraitModel == false) { - this.controllerShow.runJavaScript({ - script: "RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')" - }) + this.controllerShow.runJavaScript( + "RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')" + ) + this.controllerShow.runJavaScript( + "RICH_EDITOR.cancelSelection()" + ) } if (this.portraitModel == true) { AppStorage.SetOrCreate('NewNote', this.selectedNoteData) @@ -382,7 +393,7 @@ export struct NoteItemListComp { @Consume('SelectedNoteData') selectedNoteData: NoteData @Consume('PortraitModel') portraitModel: boolean @State dateList: NoteData[] = [] - controllerShow: WebController + controllerShow: WebviewController @StorageLink('isUpdate') @Watch('updateList') isUpdate: boolean = false updateList() { @@ -394,6 +405,8 @@ export struct NoteItemListComp { } aboutToAppear() { + LogUtil.info(TAG, "inputKeyWord:" + this.inputKeyword) + this.inputKeyword = '' this.dateList = NoteUtil.getNoteDataArray(AppStorage.Get('AllNoteArray'), this.selectedFolderData.uuid) } @@ -411,9 +424,9 @@ export struct NoteItemListComp { this.selectedNoteData = NoteUtil.getFirstNoteData(AppStorage.Get('AllNoteArray'), this.selectedFolderData.uuid) } if (this.portraitModel == false) { - this.controllerShow.runJavaScript({ - script: "RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')" - }) + this.controllerShow.runJavaScript( + "RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')" + ) } // save continue data let continueNote: string = JSON.stringify(this.selectedNoteData.toNoteObject()) @@ -524,7 +537,7 @@ export struct OperateNoteComp { @Consume('PortraitModel') portraitModel: boolean @Consume('selectedAll') selectedAll: boolean @StorageLink('isUpdate') isUpdate: boolean = false - controllerShow: WebController + controllerShow: WebviewController noteDataMoveDialogCtl: CustomDialogController = new CustomDialogController({ builder: NoteDataMoveDialog({ onConfirm: this.onMoveConfirm.bind(this) }), alignment: DialogAlignment.Center, @@ -546,7 +559,7 @@ export struct OperateNoteComp { AppStorage.SetOrCreate('ContinueNote', continueNote) LogUtil.info(TAG, "onMoveConfirm, set continue note success") if (this.portraitModel == false) { - this.controllerShow.runJavaScript({ script: "RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')" }) + this.controllerShow.runJavaScript("RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')") } this.longpress = false this.refreshFlag = (this.refreshFlag == 0 ? 1 : 0) @@ -585,7 +598,7 @@ export struct OperateNoteComp { this.longpress = false this.selectedNoteData = NoteUtil.getFirstNoteData(AppStorage.Get('AllNoteArray'), this.selectedFolderData.uuid) if (this.portraitModel == false) { - this.controllerShow.runJavaScript({ script: "RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')" }) + this.controllerShow.runJavaScript("RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')") } // save continue data let continueNote: string = JSON.stringify(this.selectedNoteData.toNoteObject()) @@ -700,7 +713,7 @@ export struct AddNoteComp { @Consume('EditModel') editModel: boolean @Consume('ChooseNote') chooseNote: boolean @Consume('PortraitModel') portraitModel: boolean - controllerShow: WebController + controllerShow: WebviewController build() { Image($r('app.media.addNote')) @@ -723,9 +736,9 @@ export struct AddNoteComp { this.selectedNoteData = noteData AppStorage.SetOrCreate('NewNote', noteData) if (this.portraitModel == false) { - this.controllerShow.runJavaScript({ - script: "RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')" - }) + this.controllerShow.runJavaScript( + "RICH_EDITOR.setHtml('" + this.selectedNoteData.content_text + "')" + ) } if (this.portraitModel == true) { this.editModel = true diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index d897a2a..0000000 --- a/package-lock.json +++ /dev/null @@ -1,1236 +0,0 @@ -{ - "name": "ohos_note", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@ohos/hos-sdkmanager-common": { - "version": "1.0.4", - "resolved": "https://repo.harmonyos.com/npm/@ohos/hos-sdkmanager-common/-/@ohos/hos-sdkmanager-common-1.0.4.tgz", - "integrity": "sha512-LWrfF8Js+u54BcEAdyjzsA81iGBA4LPvQdQ1ig/pX6mvTieUPSvtjtAzdI8nnGVmJRLrHwAMHEO/syd9d8UAFw==", - "requires": { - "@ohos/sdkmanager-common": "^1.1.8" - } - }, - "@ohos/hvigor": { - "version": "1.2.2", - "resolved": "https://repo.harmonyos.com/npm/@ohos/hvigor/-/@ohos/hvigor-1.2.2.tgz", - "integrity": "sha512-GfXCf7pDnyEcxWkG7Edd23XPxgym1vY37zdNt/Gj0pZmw0f+FrP+blfCzVWfYQYlI76krzd96+kvD4lgWkIPBQ==", - "requires": { - "@ohos/hvigor-base": "1.2.2", - "fs-extra": "10.0.1", - "interpret": "1.4.0", - "liftoff": "4.0.0", - "mute-stdout": "1.0.0", - "pretty-hrtime": "1.0.0", - "v8flags": "3.2.0", - "yargs": "7.1.2" - } - }, - "@ohos/hvigor-base": { - "version": "1.2.2", - "resolved": "https://repo.harmonyos.com/npm/@ohos/hvigor-base/-/@ohos/hvigor-base-1.2.2.tgz", - "integrity": "sha512-omwL/qjTE7DTCQdHZnMKuAxKlH1JOgOxaVAae1ca8j/oPuNgY6Spn+mpYRDHIktvav6axMmHT9zV1hJykY4GEg==", - "requires": { - "fs-extra": "10.0.1", - "json5": "2.2.0", - "log4js": "6.4.1", - "once": "1.4.0", - "pretty-hrtime": "1.0.0" - } - }, - "@ohos/hvigor-ohos-plugin": { - "version": "1.2.2", - "resolved": "https://repo.harmonyos.com/npm/@ohos/hvigor-ohos-plugin/-/@ohos/hvigor-ohos-plugin-1.2.2.tgz", - "integrity": "sha512-gir91UxlhMbf2E/NjTYWJGrsNGBKD/1YYbaEdmswD/qW18UDY7jyuqSVyV/gj0h9+iji+gd53rXWzpLLztG5lg==", - "requires": { - "@ohos/hos-sdkmanager-common": "1.0.4", - "@ohos/hvigor-base": "1.2.2", - "@ohos/sdkmanager-common": "1.1.8", - "adm-zip": "0.5.9", - "ajv": "8.10.0", - "execa": "5.1.1", - "fast-xml-parser": "4.0.3", - "fs-extra": "10.0.1", - "glob": "7.2.0", - "iconv-lite": "0.6.3", - "json5": "2.2.0", - "lodash": "4.17.21", - "pretty-hrtime": "1.0.3", - "resolve-package-path": "4.0.3" - }, - "dependencies": { - "pretty-hrtime": { - "version": "1.0.3", - "resolved": "https://repo.huaweicloud.com/repository/npm/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==" - } - } - }, - "@ohos/hypium": { - "version": "1.0.2", - "resolved": "https://repo.harmonyos.com/npm/@ohos/hypium/-/@ohos/hypium-1.0.2.tgz", - "integrity": "sha512-HWW62q6hbd0PhvPTH96lo4j//owFwyCLj6Q2jmVLDW6mOt1dwJJwUQ7qUH+Cni/6MmcnyXKvt9I0moGAPK1aCw==" - }, - "@ohos/sdkmanager-common": { - "version": "1.1.8", - "resolved": "https://repo.harmonyos.com/npm/@ohos/sdkmanager-common/-/@ohos/sdkmanager-common-1.1.8.tgz", - "integrity": "sha512-mxq69+6Zg/ybeQGnOtkBzOTbNBkEdiYehRKWsAD/je53v1W+ahauLqe90pNZEiBuVYugzb6z2EaJtAXYZtE8gQ==" - }, - "adm-zip": { - "version": "0.5.9", - "resolved": "https://repo.huaweicloud.com/repository/npm/adm-zip/-/adm-zip-0.5.9.tgz", - "integrity": "sha512-s+3fXLkeeLjZ2kLjCBwQufpI5fuN+kIGBxu6530nVQZGVol0d7Y/M88/xw9HGGUcJjKf8LutN3VPRUBq6N7Ajg==" - }, - "ajv": { - "version": "8.10.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/ajv/-/ajv-8.10.0.tgz", - "integrity": "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" - }, - "array-each": { - "version": "1.0.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/array-each/-/array-each-1.0.1.tgz", - "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==" - }, - "array-slice": { - "version": "1.1.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/array-slice/-/array-slice-1.1.0.tgz", - "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==" - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://repo.huaweicloud.com/repository/npm/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://repo.huaweicloud.com/repository/npm/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://repo.huaweicloud.com/repository/npm/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://repo.huaweicloud.com/repository/npm/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "camelcase": { - "version": "3.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==" - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://repo.huaweicloud.com/repository/npm/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "dependencies": { - "which": { - "version": "2.0.2", - "resolved": "https://repo.huaweicloud.com/repository/npm/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "date-format": { - "version": "4.0.14", - "resolved": "https://repo.huaweicloud.com/repository/npm/date-format/-/date-format-4.0.14.tgz", - "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==" - }, - "debug": { - "version": "4.3.4", - "resolved": "https://repo.huaweicloud.com/repository/npm/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" - }, - "define-properties": { - "version": "1.1.4", - "resolved": "https://repo.huaweicloud.com/repository/npm/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "detect-file": { - "version": "1.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==" - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://repo.huaweicloud.com/repository/npm/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "execa": { - "version": "5.1.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "expand-tilde": { - "version": "2.0.2", - "resolved": "https://repo.huaweicloud.com/repository/npm/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", - "requires": { - "homedir-polyfill": "^1.0.1" - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://repo.huaweicloud.com/repository/npm/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://repo.huaweicloud.com/repository/npm/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-xml-parser": { - "version": "4.0.3", - "resolved": "https://repo.huaweicloud.com/repository/npm/fast-xml-parser/-/fast-xml-parser-4.0.3.tgz", - "integrity": "sha512-xhQbg3a/EYNHwK0cxIG1nZmVkHX/0tWihamn5pU4Mhd9KEVE2ga8ZJiqEUgB2sApElvAATOdMTLjgqIpvYDUkQ==", - "requires": { - "strnum": "^1.0.5" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://repo.huaweicloud.com/repository/npm/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "findup-sync": { - "version": "5.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/findup-sync/-/findup-sync-5.0.0.tgz", - "integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==", - "requires": { - "detect-file": "^1.0.0", - "is-glob": "^4.0.3", - "micromatch": "^4.0.4", - "resolve-dir": "^1.0.1" - } - }, - "fined": { - "version": "2.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/fined/-/fined-2.0.0.tgz", - "integrity": "sha512-OFRzsL6ZMHz5s0JrsEr+TpdGNCtrVtnuG3x1yzGNiQHT0yaDnXAj8V/lWcpJVrnoDpcwXcASxAZYbuXda2Y82A==", - "requires": { - "expand-tilde": "^2.0.2", - "is-plain-object": "^5.0.0", - "object.defaults": "^1.1.0", - "object.pick": "^1.3.0", - "parse-filepath": "^1.0.2" - } - }, - "flagged-respawn": { - "version": "2.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/flagged-respawn/-/flagged-respawn-2.0.0.tgz", - "integrity": "sha512-Gq/a6YCi8zexmGHMuJwahTGzXlAZAOsbCVKduWXC6TlLCjjFRlExMJc4GC2NYPYZ0r/brw9P7CpRgQmlPVeOoA==" - }, - "flatted": { - "version": "3.2.7", - "resolved": "https://repo.huaweicloud.com/repository/npm/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://repo.huaweicloud.com/repository/npm/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==" - }, - "for-own": { - "version": "1.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==", - "requires": { - "for-in": "^1.0.1" - } - }, - "fs-extra": { - "version": "10.0.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/fs-extra/-/fs-extra-10.0.1.tgz", - "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://repo.huaweicloud.com/repository/npm/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" - }, - "get-intrinsic": { - "version": "1.2.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/get-intrinsic/-/get-intrinsic-1.2.0.tgz", - "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" - }, - "glob": { - "version": "7.2.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "global-modules": { - "version": "1.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "requires": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - } - }, - "global-prefix": { - "version": "1.0.2", - "resolved": "https://repo.huaweicloud.com/repository/npm/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", - "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" - } - }, - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://repo.huaweicloud.com/repository/npm/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "has": { - "version": "1.0.3", - "resolved": "https://repo.huaweicloud.com/repository/npm/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://repo.huaweicloud.com/repository/npm/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://repo.huaweicloud.com/repository/npm/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "requires": { - "parse-passwd": "^1.0.0" - } - }, - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://repo.huaweicloud.com/repository/npm/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" - }, - "hypium": { - "version": "1.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/hypium/-/hypium-1.0.0.tgz", - "integrity": "sha512-nl+RQVv2AU/5FvFRhsXyWO5wh+2huhdqRZ3bszBWZzW+kpNI3AT4ydvVRYIfaQbYwV4UlX/rSc7BtFjLAezhow==" - }, - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://repo.huaweicloud.com/repository/npm/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://repo.huaweicloud.com/repository/npm/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://repo.huaweicloud.com/repository/npm/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.8", - "resolved": "https://repo.huaweicloud.com/repository/npm/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==" - }, - "is-absolute": { - "version": "1.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/is-absolute/-/is-absolute-1.0.0.tgz", - "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", - "requires": { - "is-relative": "^1.0.0", - "is-windows": "^1.0.1" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "is-core-module": { - "version": "2.11.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", - "requires": { - "has": "^1.0.3" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://repo.huaweicloud.com/repository/npm/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" - }, - "is-relative": { - "version": "1.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", - "requires": { - "is-unc-path": "^1.0.0" - } - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - }, - "is-unc-path": { - "version": "1.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", - "requires": { - "unc-path-regex": "^0.1.2" - } - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==" - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://repo.huaweicloud.com/repository/npm/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" - }, - "js-base64": { - "version": "3.7.4", - "resolved": "https://repo.huaweicloud.com/repository/npm/js-base64/-/js-base64-3.7.4.tgz", - "integrity": "sha512-wpM/wi20Tl+3ifTyi0RdDckS4YTD4Lf953mBRrpG8547T7hInHNPEj8+ck4gB8VDcGyeAWFK++Wb/fU1BeavKQ==" - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "json5": { - "version": "2.2.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "requires": { - "minimist": "^1.2.5" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://repo.huaweicloud.com/repository/npm/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", - "requires": { - "invert-kv": "^1.0.0" - } - }, - "liftoff": { - "version": "4.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/liftoff/-/liftoff-4.0.0.tgz", - "integrity": "sha512-rMGwYF8q7g2XhG2ulBmmJgWv25qBsqRbDn5gH0+wnuyeFt7QBJlHJmtg5qEdn4pN6WVAUMgXnIxytMFRX9c1aA==", - "requires": { - "extend": "^3.0.2", - "findup-sync": "^5.0.0", - "fined": "^2.0.0", - "flagged-respawn": "^2.0.0", - "is-plain-object": "^5.0.0", - "object.map": "^1.0.1", - "rechoir": "^0.8.0", - "resolve": "^1.20.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://repo.huaweicloud.com/repository/npm/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "log4js": { - "version": "6.4.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/log4js/-/log4js-6.4.1.tgz", - "integrity": "sha512-iUiYnXqAmNKiIZ1XSAitQ4TmNs8CdZYTAWINARF3LjnsLN8tY5m0vRwd6uuWj/yNY0YHxeZodnbmxKFUOM2rMg==", - "requires": { - "date-format": "^4.0.3", - "debug": "^4.3.3", - "flatted": "^3.2.4", - "rfdc": "^1.3.0", - "streamroller": "^3.0.2" - } - }, - "make-iterator": { - "version": "1.0.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/make-iterator/-/make-iterator-1.0.1.tgz", - "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", - "requires": { - "kind-of": "^6.0.2" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://repo.huaweicloud.com/repository/npm/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==" - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://repo.huaweicloud.com/repository/npm/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://repo.huaweicloud.com/repository/npm/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.7", - "resolved": "https://repo.huaweicloud.com/repository/npm/minimist/-/minimist-1.2.7.tgz", - "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://repo.huaweicloud.com/repository/npm/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "mute-stdout": { - "version": "1.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/mute-stdout/-/mute-stdout-1.0.0.tgz", - "integrity": "sha512-MaSQenn0f9oxIjtCufclpV00MuYTiHaXPbdcfPIM+quMqoa8cXywjHHx4LhhIAZlXqPWMdcUpYviajfmHtHRJw==" - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "requires": { - "path-key": "^3.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==" - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://repo.huaweicloud.com/repository/npm/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "object.defaults": { - "version": "1.1.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/object.defaults/-/object.defaults-1.1.0.tgz", - "integrity": "sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==", - "requires": { - "array-each": "^1.0.1", - "array-slice": "^1.0.0", - "for-own": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "object.map": { - "version": "1.0.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/object.map/-/object.map-1.0.1.tgz", - "integrity": "sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==", - "requires": { - "for-own": "^1.0.0", - "make-iterator": "^1.0.0" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", - "requires": { - "isobject": "^3.0.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://repo.huaweicloud.com/repository/npm/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", - "requires": { - "lcid": "^1.0.0" - } - }, - "parse-filepath": { - "version": "1.0.2", - "resolved": "https://repo.huaweicloud.com/repository/npm/parse-filepath/-/parse-filepath-1.0.2.tgz", - "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==", - "requires": { - "is-absolute": "^1.0.0", - "map-cache": "^0.2.0", - "path-root": "^0.1.1" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", - "requires": { - "error-ex": "^1.2.0" - } - }, - "parse-passwd": { - "version": "1.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==" - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://repo.huaweicloud.com/repository/npm/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "path-root": { - "version": "0.1.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/path-root/-/path-root-0.1.1.tgz", - "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", - "requires": { - "path-root-regex": "^0.1.0" - } - }, - "path-root-regex": { - "version": "0.1.2", - "resolved": "https://repo.huaweicloud.com/repository/npm/path-root-regex/-/path-root-regex-0.1.2.tgz", - "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==" - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "pify": { - "version": "2.3.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://repo.huaweicloud.com/repository/npm/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==" - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", - "requires": { - "pinkie": "^2.0.0" - } - }, - "pretty-hrtime": { - "version": "1.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/pretty-hrtime/-/pretty-hrtime-1.0.0.tgz", - "integrity": "sha512-CU2l5CYUAptUYq/671ajexQfXuxJFwwg0n243Kdkx8bTjeenedsWgu8TGHPm03vLfNtk3aTXgySKPp3Usykudw==" - }, - "punycode": { - "version": "2.3.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "rechoir": { - "version": "0.8.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", - "requires": { - "resolve": "^1.20.0" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://repo.huaweicloud.com/repository/npm/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==" - }, - "resolve": { - "version": "1.22.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-dir": { - "version": "1.0.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", - "requires": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" - } - }, - "resolve-package-path": { - "version": "4.0.3", - "resolved": "https://repo.huaweicloud.com/repository/npm/resolve-package-path/-/resolve-package-path-4.0.3.tgz", - "integrity": "sha512-SRpNAPW4kewOaNUt8VPqhJ0UMxawMwzJD8V7m1cJfdSTK9ieZwS6K7Dabsm4bmLFM96Z5Y/UznrpG5kt1im8yA==", - "requires": { - "path-root": "^0.1.1" - } - }, - "rfdc": { - "version": "1.3.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://repo.huaweicloud.com/repository/npm/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://repo.huaweicloud.com/repository/npm/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.12", - "resolved": "https://repo.huaweicloud.com/repository/npm/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", - "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==" - }, - "streamroller": { - "version": "3.1.4", - "resolved": "https://repo.huaweicloud.com/repository/npm/streamroller/-/streamroller-3.1.4.tgz", - "integrity": "sha512-Ha1Ccw2/N5C/IF8Do6zgNe8F3jQo8MPBnMBGvX0QjNv/I97BcNRzK6/mzOpZHHK7DjMLTI3c7Xw7Y1KvdChkvw==", - "requires": { - "date-format": "^4.0.14", - "debug": "^4.3.4", - "fs-extra": "^8.1.0" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://repo.huaweicloud.com/repository/npm/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - } - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://repo.huaweicloud.com/repository/npm/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", - "requires": { - "is-utf8": "^0.2.0" - } - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - }, - "strnum": { - "version": "1.0.5", - "resolved": "https://repo.huaweicloud.com/repository/npm/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "unc-path-regex": { - "version": "0.1.2", - "resolved": "https://repo.huaweicloud.com/repository/npm/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==" - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { - "punycode": "^2.1.0" - } - }, - "v8flags": { - "version": "3.2.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/v8flags/-/v8flags-3.2.0.tgz", - "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", - "requires": { - "homedir-polyfill": "^1.0.1" - } - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://repo.huaweicloud.com/repository/npm/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==" - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://repo.huaweicloud.com/repository/npm/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://repo.huaweicloud.com/repository/npm/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "y18n": { - "version": "3.2.2", - "resolved": "https://repo.huaweicloud.com/repository/npm/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" - }, - "yargs": { - "version": "7.1.2", - "resolved": "https://repo.huaweicloud.com/repository/npm/yargs/-/yargs-7.1.2.tgz", - "integrity": "sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA==", - "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^5.0.1" - } - }, - "yargs-parser": { - "version": "5.0.1", - "resolved": "https://repo.huaweicloud.com/repository/npm/yargs-parser/-/yargs-parser-5.0.1.tgz", - "integrity": "sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==", - "requires": { - "camelcase": "^3.0.0", - "object.assign": "^4.1.0" - } - } - } -} diff --git a/package.json b/package.json index 2c2ccfe..984f794 100644 --- a/package.json +++ b/package.json @@ -11,10 +11,10 @@ "repository": {}, "version": "1.0.0", "dependencies": { - "@ohos/hypium": "1.0.2", + "@ohos/hvigor": "1.2.2", "@ohos/hvigor-ohos-plugin": "1.2.2", "hypium": "^1.0.0", - "@ohos/hvigor": "1.2.2", - "js-base64": "^3.7.2" + "js-base64": "^3.7.2", + "@ohos/hypium": "1.0.2" } } diff --git a/product/default/package.json b/product/default/package.json index 9afcbf4..654e795 100644 --- a/product/default/package.json +++ b/product/default/package.json @@ -1,18 +1,18 @@ { - "license": "ISC", - "devDependencies": {}, - "name": "default", - "ohos": { - "org": "huawei", - "directoryLevel": "module", - "buildTool": "hvigor" - }, - "description": "example description", - "repository": {}, - "version": "1.0.0", - "dependencies": { - "@ohos/utils": "file:../../common/utils", - "@ohos/component": "file:../../features", - "@ohos/source": "file:../../common/resources" - } + "license": "ISC", + "devDependencies": {}, + "name": "default", + "ohos": { + "org": "huawei", + "directoryLevel": "module", + "buildTool": "hvigor" + }, + "description": "example description", + "repository": {}, + "version": "1.0.0", + "dependencies": { + "@ohos/utils": "file:../../common/utils", + "@ohos/component": "file:../../features", + "@ohos/source": "file:../../common/resources" + } } diff --git a/product/default/src/main/ets/Application/AbilityStage.ts b/product/default/src/main/ets/Application/AbilityStage.ts index 11200f6..5f781ee 100644 --- a/product/default/src/main/ets/Application/AbilityStage.ts +++ b/product/default/src/main/ets/Application/AbilityStage.ts @@ -1,4 +1,4 @@ -import AbilityStage from "@ohos.app.ability.AbilityStage" +import AbilityStage from '@ohos.app.ability.AbilityStage'; export default class MyAbilityStage extends AbilityStage { onCreate() { diff --git a/product/default/src/main/ets/MainAbility/MainAbility.ts b/product/default/src/main/ets/MainAbility/MainAbility.ts index 78995a6..f5687b7 100644 --- a/product/default/src/main/ets/MainAbility/MainAbility.ts +++ b/product/default/src/main/ets/MainAbility/MainAbility.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -import Ability from '@ohos.app.ability.UIAbility' +import UIAbility from '@ohos.app.ability.UIAbility'; import deviceInfo from '@ohos.deviceInfo'; import AbilityConstant from '@ohos.app.ability.AbilityConstant' import fileio from '@ohos.fileio' @@ -25,7 +25,7 @@ import window from '@ohos.window'; globalThis.rdbStore = undefined -export default class MainAbility extends Ability { +export default class MainAbility extends UIAbility { private Tag = "MainAbility_Tablet" onCreate(want, launchParam) { diff --git a/product/default/src/main/ets/pages/MyNoteHome.ets b/product/default/src/main/ets/pages/MyNoteHome.ets index 3bb0587..a5dc32d 100644 --- a/product/default/src/main/ets/pages/MyNoteHome.ets +++ b/product/default/src/main/ets/pages/MyNoteHome.ets @@ -14,15 +14,14 @@ */ import fileio from '@ohos.fileio' -import deviceInfo from '@ohos.deviceInfo'; import { NoteHomeComp } from './NoteHome' import { NoteHomePortraitComp } from './NoteHomePortrait' import { LogUtil } from '@ohos/utils/src/main/ets/default/baseUtil/LogUtil' import RdbStoreUtil from '@ohos/utils/src/main/ets/default/baseUtil/RdbStoreUtil' -import NoteData from '@ohos/utils/src/main/ets/default/model/databaseModel/NoteData' import inputMethod from '@ohos.inputMethod'; import router from '@system.router'; import abilityAccessCtrl from '@ohos.abilityAccessCtrl'; +import webview from '@ohos.web.webview'; @Entry @Component @@ -30,7 +29,7 @@ export struct MyNoteHomeComp { @StorageLink('DBQueryFinished') dBQueryFinished: number = 0 @Provide('PortraitModel') portraitModel: boolean = true @Provide('RefreshFlag') refreshFlag: number = 0 - private controllerShow: WebController = new WebController() + private controllerShow: WebviewController = new webview.WebviewController() private context = getContext(this) TAG = "MyNoteHomeComp_Tablet" @StorageLink('breakPoint') @Watch('onBreakPointChange') breakPoints: string = 'lg' @@ -70,8 +69,25 @@ export struct MyNoteHomeComp { LogUtil.warn(this.TAG, "context is error") return } - + let permissionList: Array = [ + "ohos.permission.DISTRIBUTED_DATASYNC" + ] + LogUtil.info(this.TAG, 'permissions need to require from user') let context: any = getContext(this); + let AtManager = abilityAccessCtrl.createAtManager(); + //requestPermissionsFromUser会判断权限的授权状态来决定是否唤起弹窗 + // @ts-ignore + AtManager.requestPermissionsFromUser(context, ["ohos.permission.MANAGE_DISPOSED_APP_STATUS"]).then((data) => { + LogUtil.info(this.TAG, 'data permissions : ' + data.permissions) + LogUtil.info(this.TAG, 'data result: ' + data.authResults) + let sum = 0 + for (let i = 0; i < data.authResults.length; i++) { + sum += data.authResults[i] + } + LogUtil.info(this.TAG, 'request permissions sum: ' + sum) + }).catch((err) => { + LogUtil.warn(this.TAG, 'failed to requestPermissionsFromUser : ' + err.code); + }) let dbExist = false; let dbPath = context.databaseDir + "/db/note.db" try { diff --git a/product/default/src/main/ets/pages/NoteContentHome.ets b/product/default/src/main/ets/pages/NoteContentHome.ets index 77b194e..0733cca 100644 --- a/product/default/src/main/ets/pages/NoteContentHome.ets +++ b/product/default/src/main/ets/pages/NoteContentHome.ets @@ -19,12 +19,13 @@ import { NoteContent } from '@ohos/component/src/main/ets/components/NoteContent import { LogUtil } from '@ohos/utils/src/main/ets/default/baseUtil/LogUtil' import RdbStoreUtil from '@ohos/utils/src/main/ets/default/baseUtil/RdbStoreUtil' import inputMethod from '@ohos.inputMethod' +import webview from '@ohos.web.webview'; @Entry @Component struct NoteContentHome { @Provide('RefreshFlag') refreshFlag: number = 0 - private controllerShow: WebController = new WebController() + private controllerShow: WebviewController = new webview.WebviewController() @StorageLink('DBQueryFinished') dBQueryFinished: number = 0 @StorageLink('breakPoint') breakPoints: string = 'lg' TAG = "NoteContentHome_Tablet" @@ -47,12 +48,16 @@ struct NoteContentHome { } onBackPress(): void { - LogUtil.info(this.TAG, "onBackPress") - this.controllerShow.runJavaScript({ script: "RICH_EDITOR.setInputEnabled(false)" }) - this.controllerShow.runJavaScript({ script: "getHtmlContent()" }) - if (deviceInfo.deviceType !== 'phone' && deviceInfo.deviceType !== 'default') { - // @ts-ignore - inputMethod.getController().stopInputSession(); + try { + LogUtil.info(this.TAG, "onBackPress") + this.controllerShow.runJavaScript("RICH_EDITOR.setInputEnabled(false)") + this.controllerShow.runJavaScript("getHtmlContent()") + if (deviceInfo.deviceType !== 'phone' && deviceInfo.deviceType !== 'default') { + // @ts-ignore + inputMethod.getController().stopInputSession(); + } + } catch (error) { + LogUtil.info(this.TAG, 'onBackPress error') } } diff --git a/product/default/src/main/ets/pages/NoteHome.ets b/product/default/src/main/ets/pages/NoteHome.ets index 7499153..0dcbb1e 100644 --- a/product/default/src/main/ets/pages/NoteHome.ets +++ b/product/default/src/main/ets/pages/NoteHome.ets @@ -21,10 +21,7 @@ import { LogUtil } from '@ohos/utils/src/main/ets/default/baseUtil/LogUtil' import { circleColorArray } from '@ohos/utils/src/main/ets/default/model/NoteBaseData' import FolderData from '@ohos/utils/src/main/ets/default/model/databaseModel/FolderData' import NoteData from '@ohos/utils/src/main/ets/default/model/databaseModel/NoteData' -import { SysDefFolderUuid } from '@ohos/utils/src/main/ets/default/model/databaseModel/EnumData' import LayoutUtil from '@ohos/utils/src/main/ets/default/baseUtil/LayoutUtil' -import NoteUtil from '@ohos/utils/src/main/ets/default/baseUtil/NoteUtil' -import mediaquery from '@ohos.mediaquery' @Entry @Component @@ -45,7 +42,7 @@ export struct NoteHomeComp { @Provide('EditModel') editModel: boolean = false //编辑模式:临时方案 @Provide('Issave') issave: number = 0 @StorageLink('breakPoint') breakPoints: string = 'lg' - controllerShow: WebController + controllerShow: WebviewController TAG = "NoteHomeComp_Tablet" @Provide('AsideWidth') asideWidth: number = 200 diff --git a/product/default/src/main/ets/pages/NoteHomePortrait.ets b/product/default/src/main/ets/pages/NoteHomePortrait.ets index 66e9356..37d9867 100644 --- a/product/default/src/main/ets/pages/NoteHomePortrait.ets +++ b/product/default/src/main/ets/pages/NoteHomePortrait.ets @@ -15,15 +15,11 @@ import { FolderListComp } from '@ohos/component/src/main/ets/components/FolderListComp' import { NoteListComp } from '@ohos/component/src/main/ets/components/NoteListComp' -import { NoteContentCompPortrait } from '@ohos/component/src/main/ets/components/NoteContentCompPortrait' import StyleConstants from '@ohos/utils/src/main/ets/default/constants/StyleConstants' import { LogUtil } from '@ohos/utils/src/main/ets/default/baseUtil/LogUtil' import { circleColorArray } from '@ohos/utils/src/main/ets/default/model/NoteBaseData' import FolderData from '@ohos/utils/src/main/ets/default/model/databaseModel/FolderData' import NoteData from '@ohos/utils/src/main/ets/default/model/databaseModel/NoteData' -import { SysDefFolderUuid } from '@ohos/utils/src/main/ets/default/model/databaseModel/EnumData' -import LayoutUtil from '@ohos/utils/src/main/ets/default/baseUtil/LayoutUtil' -import NoteUtil from '@ohos/utils/src/main/ets/default/baseUtil/NoteUtil' @Entry @Component -- Gitee