1. 多级需求和方案设想及其结论(项目根本)

1. 在关键字的前面注释其使用场景

如果没有注释, 则默认是通用意义

1.1. 使用其他标签作为注释

2. 用中文括号()包围注释标签, 放在前面

作为注释的标签也能够被批量重命名

1.2. 重命名的时候再遍历库中所有的标签, 找到注释标签, 然后重命名
用正则表达式/(?<=()注释标签(?=))/g尝试匹配每一个标签
用新标签替换匹配项, 得到更新标签
用更新标签替换掉旧标签
  1. 用rename方法

2. 合并的时候判断关键字交集需要用注释标签去解释关键字

2.1. 提取标签代表的时候, 先对标签按/分级

child::标签分级(完毕)

2.2. 拆分关键字的时候, 关键字和前面(解释)一起出现

child::把同义词标签分割为多个关键字(完毕)

3. 3. 根据关键字导入库中的标签时, 把本文其他关键字作为场景

3.1. 遍历每一个场景关键字

3.2. 对于每一个场景关键字, 生成这样一段正则表达式片段:(?<=(|\/|#|^|-)场景关键字(?=-)|(?<=-)场景关键字(?=)|$|-|\/)

3.3. 用|把若干个场景关键字的正则片段拼接起来

4. 如果一个关键字同时有广义和符合本文的特殊意义, 则用特殊意义代替广义(根据一组关键字从库中找到相关同义词标签)

4.1. 遍历一个库中的每一个标签✔

4.2. (放弃)之一:

4.3. 对一个关键字, 先匹配本文意义下的关键字

4.4. 如果该关键字已经匹配有本文意义的标签了, 则就不用尝试匹配广义的关键字了

4.3. 之一:同时匹配本文意义和广义✔

child::用一组关键字尝试匹配一个同义词标签(完毕)

4.4. 对于当前同义词标签, 记录下其对应哪个关键字, 是广义还是特殊意义

4.5. 用一个Map对象, 关键字为键名, 键值为一个对象, 对象中有两个键值对, 键名分别是specialMeaning和generalized, 值都是对应的同义词标签

4.5. 遍历完所有标签之后, 收集每个关键字所匹配到的标签(完毕)

收集的时候, 如果有本文意义的标签, 则只取本文意义的标签, 而舍弃广义下的标签

如果specialMeaning不为空,则舍弃generalized

4.6. 对收集完的标签去重✔

5. 手动重命名一个标签的时候, 同时也重命名注释中的该标签✔

5.1. 获取用户输入的新标签

监听用户点击确认按钮或回车键的事件

直接获取输入框中的内容

6. 注释标签中可以使用分级标签✔

child::分级标签也可作为注释标签(完毕)

1. 调研材料及结论(项目动力)

1. 调研代办(项目至始至终都要写):

1. 随想(未整理, 灵点子)

4. 项目结论(用以回顾项目以学习)

5. 项目代办(项目完毕后再写)

6.