init
This commit is contained in:
commit
9e8671c9c2
11
package.json
Normal file
11
package.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "chinese-word",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "",
|
||||
"license": "ISC"
|
||||
}
|
78
utils.js
Normal file
78
utils.js
Normal file
@ -0,0 +1,78 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const DataFile = path.join(__dirname, './data.json')
|
||||
let data = JSON.parse(fs.readFileSync(DataFile, 'utf8'))
|
||||
|
||||
function structure() {
|
||||
return {
|
||||
// 汉字
|
||||
word: "",
|
||||
// 拼音
|
||||
pinyin: [],
|
||||
// 笔画
|
||||
stroke: 0,
|
||||
// 类型 0-未标注 1-常用字 2-生僻字
|
||||
type: 0,
|
||||
// 来源(从original文件夹中哪个来源录入的)
|
||||
from: [],
|
||||
// 是否人工确认过
|
||||
confirm: false,
|
||||
}
|
||||
}
|
||||
|
||||
function saveData() {
|
||||
fs.writeFileSync(DataFile, JSON.stringify(data), 'utf8')
|
||||
}
|
||||
|
||||
function addData(wordStruct, saveData = true) {
|
||||
let word = wordStruct.word
|
||||
if (Object.keys(data).includes(word)) {
|
||||
// 已经存在
|
||||
let struct = data[word]
|
||||
let isNeedUpdate = false
|
||||
|
||||
// 合并拼音
|
||||
for (let py of wordStruct.pinyin) {
|
||||
if (!struct.pinyin.includes(py)) {
|
||||
struct.pinyin.push(py)
|
||||
isNeedUpdate = true
|
||||
}
|
||||
}
|
||||
struct.pinyin.sort()
|
||||
|
||||
// 合并笔画
|
||||
if (wordStruct.stroke > 0 && wordStruct.stroke != struct.stroke) {
|
||||
if (struct.stroke != 0) {
|
||||
console.log(`${wordStruct.word} 字的笔画(stroke)出现歧义 [${struct.stroke}, ${wordStruct.stroke}],当前保存 ${wordStruct.stroke}`)
|
||||
}
|
||||
struct.stroke = wordStruct.stroke
|
||||
}
|
||||
|
||||
// 合并类型
|
||||
if (wordStruct.type > 0 && wordStruct.type != struct.type) {
|
||||
if (struct.type != 0) {
|
||||
console.log(`${wordStruct.word} 字的类型(type)出现歧义 [${struct.type}, ${wordStruct.type}],当前保存 ${wordStruct.type}`)
|
||||
}
|
||||
struct.type = wordStruct.type
|
||||
}
|
||||
|
||||
if (isNeedUpdate) {
|
||||
data[word] = struct
|
||||
saveData && saveData()
|
||||
}
|
||||
} else {
|
||||
// 还不存在
|
||||
data[wordStruct.word] = wordStruct
|
||||
isNeedUpdate = true
|
||||
|
||||
saveData && saveData()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
structure,
|
||||
addData,
|
||||
saveData
|
||||
}
|
Loading…
Reference in New Issue
Block a user