diff --git a/build-profile.json5 b/build-profile.json5 index 71f35fa3a49b4a08a75351af255c8f8335f32584..ae2169a384584c7476627fe1ba635139ca75dfe7 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 e91259fa1e88ef3eb557e737ebb7e01ac50ca183..58e3ac40a271fbd0e2fa8bd9e7f36bfc7cbd3c96 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 4288cfb51ecac3c5c8eba557170f4a9debbe1ae5..fe612a72024252be586a19ab49da2d09a96a6191 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 fa00ab4c2e8444531d646818d43f6d7980b59c85..d1b0ec660b7e8ca942bea9702b559e03684403cd 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 Binary files /dev/null and b/common/resources/src/main/resources/rawfile/icon/picture_white.png differ diff --git a/common/resources/src/main/resources/rawfile/icon/styles.png b/common/resources/src/main/resources/rawfile/icon/styles.png new file mode 100644 index 0000000000000000000000000000000000000000..9a7332e079ff0a7ab8207d809b3f169998962163 Binary files /dev/null and b/common/resources/src/main/resources/rawfile/icon/styles.png differ diff --git a/common/resources/src/main/resources/rawfile/icon/todo1.png b/common/resources/src/main/resources/rawfile/icon/todo1.png new file mode 100644 index 0000000000000000000000000000000000000000..d7142eeee391576b5dc518ab68b35ffc711f31b9 Binary files /dev/null and b/common/resources/src/main/resources/rawfile/icon/todo1.png differ diff --git a/common/resources/src/main/resources/rawfile/rich_editor.js b/common/resources/src/main/resources/rawfile/rich_editor.js index 5d62c95576e4fe6ca8a46737bb581b87375e9138..affaa66895109c312b1936c7fd92c7b429a040db 100644 --- a/common/resources/src/main/resources/rawfile/rich_editor.js +++ b/common/resources/src/main/resources/rawfile/rich_editor.js @@ -15,485 +15,495 @@ var RICH_EDITOR = {}; -RICH_EDITOR.editor = document.getElementById('editorjs'); +RICH_EDITOR.editor = document.getElementById('editorjs_box'); RICH_EDITOR.setHtml = function (contents) { - var base64regex = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/; - if (base64regex.test(contents)) { - RICH_EDITOR.editor.innerHTML = decodeURIComponent(escape(atob(contents))); - } else { - RICH_EDITOR.editor.innerHTML = contents; - } + var base64regex = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/; + if (base64regex.test(contents)) { + RICH_EDITOR.editor.innerHTML = decodeURIComponent(escape(atob(contents))); + } else { + RICH_EDITOR.editor.innerHTML = contents; + } }; RICH_EDITOR.getHtml = function () { - return RICH_EDITOR.editor.innerHTML; + return document.getElementById('editorjs_box').innerHTML; }; RICH_EDITOR.undo = function () { - document.execCommand('undo', false, null); + document.execCommand('undo', false, null); }; RICH_EDITOR.redo = function () { - document.execCommand('redo', false, null); + document.execCommand('redo', false, null); }; RICH_EDITOR.setBold = function () { - document.execCommand('bold'); + document.execCommand('bold'); }; RICH_EDITOR.setItalic = function () { - document.execCommand('italic', false, null); + document.execCommand('italic', false, null); }; RICH_EDITOR.setSubscript = function () { - document.execCommand('subscript', false, null); + document.execCommand('subscript', false, null); }; RICH_EDITOR.setSuperscript = function () { - document.execCommand('superscript', false, null); + document.execCommand('superscript', false, null); }; RICH_EDITOR.setStrikeThrough = function () { - document.execCommand('strikeThrough', false, null); + document.execCommand('strikeThrough', false, null); }; RICH_EDITOR.setUnderline = function () { - document.execCommand('underline', false, null); + document.execCommand('underline', false, null); }; RICH_EDITOR.getListStyle = function () { - var selection; - var type; - if (window.getSelection) { - selection = getSelection(); - } - if (!selection) { - return - } - var range = selection.getRangeAt ? selection.getRangeAt(0) : selection.createRange(); - try { - var child = range.commonAncestorContainer; - for (var i = 0; i < 10; i++) { - if (child.nodeName === 'OL') { - console.info('insertOrderedList'); - document.execCommand('insertOrderedList', false, null); - return child.style['list-style']; - } - if (child.nodeName === 'UL') { - console.info('insertUnorderedList'); - document.execCommand('insertUnorderedList', false, null); - return child.style['list-style']; - } - if (child.parentNode) { - child = child.parentNode; - } - } - } catch (err) { - console.error(err); + var selection; + var type; + if (window.getSelection) { + selection = getSelection(); + } + if (!selection) { + return + } + var range = selection.getRangeAt ? selection.getRangeAt(0) : selection.createRange(); + try { + var child = range.commonAncestorContainer; + for (var i = 0; i < 10; i++) { + if (child.nodeName === 'OL') { + console.info('insertOrderedList'); + document.execCommand('insertOrderedList', false, null); + return child.style['list-style']; + } + if (child.nodeName === 'UL') { + console.info('insertUnorderedList'); + document.execCommand('insertUnorderedList', false, null); + return child.style['list-style']; + } + if (child.parentNode) { + child = child.parentNode; + } } + } catch (err) { + console.error(err); + } }; RICH_EDITOR.setNumbers = function () { - let listStyle = RICH_EDITOR.getListStyle(); - if (listStyle === 'decimal') { - return; - } - document.execCommand('insertOrderedList', false, null); - var selection; - var type; - if (window.getSelection) { - selection = getSelection(); - } - if (!selection) { - return - } - var range = selection.getRangeAt ? selection.getRangeAt(0) : selection.createRange(); - try { - var child = range.commonAncestorContainer; - for (var i = 0; i < 10; i++) { - if (child.nodeName === 'OL') { - child.style['list-style'] = 'decimal'; - break; - } - if (child.parentNode) { - child = child.parentNode; - } - } - } catch (err) { - console.error(err); + let listStyle = RICH_EDITOR.getListStyle(); + if (listStyle === 'decimal') { + return; + } + document.execCommand('insertOrderedList', false, null); + var selection; + var type; + if (window.getSelection) { + selection = getSelection(); + } + if (!selection) { + return + } + var range = selection.getRangeAt ? selection.getRangeAt(0) : selection.createRange(); + try { + var child = range.commonAncestorContainer; + for (var i = 0; i < 10; i++) { + if (child.nodeName === 'OL') { + child.style['list-style'] = 'decimal'; + break; + } + if (child.parentNode) { + child = child.parentNode; + } } + } catch (err) { + console.error(err); + } }; RICH_EDITOR.setABC = function () { - let listStyle = RICH_EDITOR.getListStyle(); - if (listStyle === 'lower-alpha') { - return; - } - document.execCommand('insertOrderedList', false, null); - var selection; - var type; - if (window.getSelection) { - selection = getSelection(); - } - if (!selection) { - return - } - var range = selection.getRangeAt ? selection.getRangeAt(0) : selection.createRange(); - try { - var child = range.commonAncestorContainer; - for (var i = 0; i < 10; i++) { - if (child.nodeName === 'OL') { - child.style['list-style'] = 'lower-alpha'; - break; - } - if (child.parentNode) { - child = child.parentNode; - } - } - } catch (err) { - console.error(err); + let listStyle = RICH_EDITOR.getListStyle(); + if (listStyle === 'lower-alpha') { + return; + } + document.execCommand('insertOrderedList', false, null); + var selection; + var type; + if (window.getSelection) { + selection = getSelection(); + } + if (!selection) { + return + } + var range = selection.getRangeAt ? selection.getRangeAt(0) : selection.createRange(); + try { + var child = range.commonAncestorContainer; + for (var i = 0; i < 10; i++) { + if (child.nodeName === 'OL') { + child.style['list-style'] = 'lower-alpha'; + break; + } + if (child.parentNode) { + child = child.parentNode; + } } + } catch (err) { + console.error(err); + } }; RICH_EDITOR.setBullets = function () { - let listStyle = RICH_EDITOR.getListStyle(); - if (listStyle === 'disc') { - return; - } - document.execCommand('insertUnorderedList', false, null); - var selection; - var type; - if (window.getSelection) { - selection = getSelection(); - } - if (!selection) { - return - } - var range = selection.getRangeAt ? selection.getRangeAt(0) : selection.createRange(); - try { - var child = range.commonAncestorContainer; - for (var i = 0; i < 10; i++) { - if (child.nodeName === 'UL') { - child.style['list-style'] = 'disc'; - break; - } - if (child.parentNode) { - child = child.parentNode; - } - } - } catch (err) { - console.error(err); + let listStyle = RICH_EDITOR.getListStyle(); + if (listStyle === 'disc') { + return; + } + document.execCommand('insertUnorderedList', false, null); + var selection; + var type; + if (window.getSelection) { + selection = getSelection(); + } + if (!selection) { + return + } + var range = selection.getRangeAt ? selection.getRangeAt(0) : selection.createRange(); + try { + var child = range.commonAncestorContainer; + for (var i = 0; i < 10; i++) { + if (child.nodeName === 'UL') { + child.style['list-style'] = 'disc'; + break; + } + if (child.parentNode) { + child = child.parentNode; + } } + } catch (err) { + console.error(err); + } }; RICH_EDITOR.setSquare = function () { - let listStyle = RICH_EDITOR.getListStyle(); - if (listStyle === 'square') { - return; - } - document.execCommand('insertUnorderedList', false, null); - var selection; - var type; - if (window.getSelection) { - selection = getSelection(); - } - if (!selection) { - return - } - var range = selection.getRangeAt ? selection.getRangeAt(0) : selection.createRange(); - try { - var child = range.commonAncestorContainer; - for (var i = 0; i < 10; i++) { - if (child.nodeName === 'UL') { - child.style['list-style'] = 'square'; - break; - } - if (child.parentNode) { - child = child.parentNode; - } - } - } catch (err) { - console.error(err); + let listStyle = RICH_EDITOR.getListStyle(); + if (listStyle === 'square') { + return; + } + document.execCommand('insertUnorderedList', false, null); + var selection; + var type; + if (window.getSelection) { + selection = getSelection(); + } + if (!selection) { + return + } + var range = selection.getRangeAt ? selection.getRangeAt(0) : selection.createRange(); + try { + var child = range.commonAncestorContainer; + for (var i = 0; i < 10; i++) { + if (child.nodeName === 'UL') { + child.style['list-style'] = 'square'; + break; + } + if (child.parentNode) { + child = child.parentNode; + } } + } catch (err) { + console.error(err); + } }; RICH_EDITOR.setTextColor = function (color) { - document.execCommand('foreColor', false, color); + document.execCommand('foreColor', false, color); }; RICH_EDITOR.setFontSize = function (fontSize) { - document.execCommand('fontSize', false, fontSize); + document.execCommand('fontSize', false, fontSize); }; RICH_EDITOR.execFontSize = function (size, unit) { - if (size === '12') { - document.execCommand('fontSize', false, 3); - } else if (size === '16') { - document.execCommand('fontSize', false, 4); - } else if (size === '20') { - document.execCommand('fontSize', false, 5); - } else if (size === '24') { - document.execCommand('fontSize', false, 6); - } else if (size === '28') { - document.execCommand('fontSize', false, 7); - } + if (size === '12') { + document.execCommand('fontSize', false, 3); + } else if (size === '16') { + document.execCommand('fontSize', false, 4); + } else if (size === '20') { + document.execCommand('fontSize', false, 5); + } else if (size === '24') { + document.execCommand('fontSize', false, 6); + } else if (size === '28') { + document.execCommand('fontSize', false, 7); + } }; var pad = 24; RICH_EDITOR.setIndent = function () { - var parents = document.getElementById('editorjs'); - parents.removeAttribute('padding-left'); - pad = pad + 24; - parents.style.paddingLeft = pad + 'px'; + var parents = document.getElementById('editorjs_box'); + parents.removeAttribute('padding-left'); + if (pad >= 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 3d97ea6274d1ac4eac118f45f18b1890c26b16fa..75a1864a85cd8b2ecd876f56ce37a61c6c56fc70 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 f08c05fcabb4216ee21708311e852e8f44bf4974..04232653e03f28ffe5f1e063dc3cc1692bb07368 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 872aac9b36a008afb5e51dbcd234e5c4bc3398f2..29e579931f32b8a1f650efc2b5450056c54fc046 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 26dbb627176eac08f8c6b9538b23d7fb95b14a47..df10ebbcea14f1f4bb109524d408689f3a2e58f7 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 5f7ca5c72db2968c1a1611771f9ed69902e70bba..5d3e9a48d5999a900beea29a7db83ef6ef0288b0 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 ef1081797586b03349993126daeb95f01ec4b921..68fe7be298c032b0ddbd3a103e54115c2e5b6349 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 dfc5b629181435aeb2399ed6ec88dedd14d12006..7fba116031a8f41befe5d8a1d6ae1e57e673ccb8 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 bfc9563909a3f6eb7569a8d6fc1bbed6d59b7a7d..7df0a6b71fa485f32a0b3e935c0171af45478ed1 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 1f2eea62816b45f0850f40a3858e59a9d0845202..77cec258371ea8159c5794f1200643f8cca2a18b 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 40433ef881f66969b9577f0128976ca6fec905af..9ccc36d49cd011c5458fb23a75e2fd877075c991 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 80e210416a721fb4a6fb0e160f2caa923894392a..aefe438bbd00e1691b5ab9b605e9114afb3b2a42 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 5397f2ae44634a092bc76dc6bdb7941fceffca92..b6341e4676dc6ddb25f92909bf92a7e50a278e74 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 b018db380d13d92f1f1614033138510c30851c54..59e4f56c0a4bea18561f15c85b62119f538e9bf6 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 3690ba2b96ad47d3df3597074014b6f6e5157bf5..73c4ac6aa75fdc8d52299f4b138203cec6f5e838 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 d897a2a5aec786c17e89e9d8e8e68f5e3e607fcf..0000000000000000000000000000000000000000 --- 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 2c2ccfe70b4e73ee03e1d1dcc901b1a13a281c1e..984f794a9bba38dcaf0a72a8a1f79707ddfc69a8 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 9afcbf432788a5a95f77bd548412897ac7cfa28e..654e7957e93d7e8c26d7fa74a0a4d477766f71c9 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 11200f672cfa3a981668dbdee5a700935bf7be99..5f781eef66760e9268ec99f02a6d758a49983cfc 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 78995a63d00afcb47436e06bada44487ee8a1a5b..f5687b76ffe9ff7c4c74adfa36c5f3116fd3e9a2 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 3bb0587bbcdefb46ad42e78a7c5a73269226cfa5..a5dc32d310c03cd7fd0cabf19ce305e7fdc1c4b9 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 77b194ec8fa073559cb44e369709fa309bf67706..0733cca2e99b1098f6da206e87c1eb714684b1ad 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 749915350de205cce4dc3ee7600064b7fab41a14..0dcbb1e86c2359f9767cde00d565f22b1840447e 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 66e9356fe86810d6ed4b97d144cf7912787ed09b..37d98674b11770663369046eaad087b7ae620f45 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