2021-08-21-补记Wiznote Lite开源代码阅读相关内容-6-Wiznote Lite开源版本前端存在的问题

1.Wiznote Lite的bug描述

对Wiznote Lite代码剖析后,我在前端react部分增加了输入密码的环节,后端electron传递该参数至wiznote-sdk-js模块中,最终实现了对云端数据加密、本地数据不加密的魔改。

然而,在使用中发现了一个bug,该bug即使我用github上原版的进行编译,编译成功后也同样存在。应该是react部分存在一些问题,像是又将markdown变成了html 。

当时该bug的记录如下:

当前遇到两个bug。
web端loadNote/getNoteMarkdown、saveNote/setNoteMarkdown等,electron端通过调用wiznote-sdk-js的接口传递回后,在electron端输出笔记内容都正常转为markdown内容,但在web端显示时出现错误,具体体现为:

  1. 虽然html端已经将&amp;,&lt,&gt转化为了&,<,>,但在web端仍然显示回了&amp;,&lt, &gt,这样在重新保存时会将错误的内容写回本地。再次读取时本地也出现错误:本地html原始为&amp->&amp;amp;,&lt->&amp;lt,&gt->&amp;gt,再次读取时web端同本地html内容。
  2. 在本地html中双引号为", web端显示为&qout;,同样是变成了html的格式。在输出时看到,electron在wiznote-sdk-js输出时结果都是正常的,应当是web的问题。

准备通过浏览器调试web端,但单独web端浏览器调试时,使用OnlineApi作为接口,而OnlineApi不完全(已经增加了一部分接口),导致浏览器载入时出问题,暂时无法调试。
后续可能继续尝试通过增加OnlineApi的接口。
否则则可以尝试换过去版本编译测试,或者在github上提issue。

这里“html端”的意思是本地数据保存成html的形式。
单独调试web端(npm run react-start),虽然增加了几个OnlineApi中函数,但还未完全解决,现在看到的情况是界面出现后,很快变成如下状态(2021-08-21:还未继续修改):
image

2.bug截图

  1. 使用自改加密版本写的时候,发现bug:
    image
    image
    note_data.ts中:
    image
    node_modules/wiznote-sdk-js-share/src/note_analysis.ts:
    image

meta:这里出现双引号bug。为什么读出来时没有替换成功?不对,替换成功了,只是没有包含双引号的替换。这是这个项目的bug。

  1. 第二次发现bug:
    image
    image

3. bug测试日志

使用log打印出前端react在调用后端数据时,后端传递的实际数据,发现读取数据是正常的。

以下为2021年8月5日补充测试现象。

**现象**:倒数第二行的大于号,db读取输出仍然正常,web端显示出问题,再次修改保存则本地端原先内容也出现问题。
[2021-08-02 17:37:37.907] [info]  xxxxx sync done
[2021-08-02 17:37:39.358] [info]  In db.getNoteMaarkdown:markdown = # 测试html markdown问题

&lt;

this.lafdjlafj-&gt;-&gt;

dsfsf

&lt;

T

SSDSATDSFSFS

>

<
[2021-08-02 17:39:45.637] [info]  In db.getNoteMaarkdown:markdown = # 测试html markdown问题

&lt;

this.lafdjlafj-&gt;-&gt;

dsfsf

&lt;

T

SSDSATDSFSFS

&lt;

<>

posted @ 2021-08-21 15:58  日光散林间  阅读(31)  评论(0编辑  收藏  举报