格式化回滚

This commit is contained in:
chengxinyong
2020-03-25 17:25:06 +08:00
parent 3d670be502
commit e0f1624480
19 changed files with 220577 additions and 104088 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

20980
ci/data.sql Normal file

File diff suppressed because it is too large Load Diff

20980
ci/data1.sql Normal file

File diff suppressed because it is too large Load Diff

161
ci/fun.js Normal file
View File

@@ -0,0 +1,161 @@
/**
* 异步请求
*/
const get = function (url, data) {
return new Promise((resolve, reject) => {
var xhr = new XMLHttpRequest();
if (data) {
url = url + '?' + Object.keys(data).map(key => `${key}=${data[key]}`).join('&')
}
xhr.open('GET', url, true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if (xhr.status >= 200 && xhr.status < 400) {
let result = JSON.parse(xhr.responseText)
resolve(result);
} else {
reject ? reject() : errorMsg(result.msg || '失败')
}
}
}
xhr.send(null);
})
}
const post = function (url, data) {
return new Promise((resolve, reject) => {
var xhr = new XMLHttpRequest();
xhr.open('POST', url, true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if (xhr.status >= 200 && xhr.status < 400) {
let result = JSON.parse(xhr.responseText)
resolve(result);
successMsg(result.msg || '成功')
} else {
reject ? reject() : errorMsg(result.msg || '失败')
}
}
}
xhr.send(json2FormData(data));
})
}
const json2FormData = function (data) {
let formData = new FormData()
for (let key in data) {
formData.set(key, data[key])
}
return formData
}
Array.prototype.getMost = function(){
var obj = this.reduce((p,n) =>(p[n]++ ||(p[n] = 1),(p.max=p.max>=p[n]?p.max:p[n]), (p.key=p.max>p[n]?p.key:n), p), {});
return obj.key;
}
let result = {}
get('http://127.0.0.1:8880/%E8%AF%8D%E7%89%8C%E5%90%8D%E5%BD%92%E7%B1%BB%E9%95%BF%E5%BA%A6%E5%AF%B9%E6%AF%94.json').then(r => {
let keys = Object.keys(r);
keys.forEach(k => {
let v = r[k]
let dataList = []
let _keys = Object.keys(v);
_keys.forEach(_k => {
let _o = v[_k]
dataList = dataList.concat(Object.keys(_o).map(__k => _o[__k]))
});
result[k] = dataList.getMost()
})
})
get('http://127.0.0.1:8880/%E8%AF%8D%E7%89%8C%E5%90%8D%E5%BD%92%E7%B1%BB%E9%95%BF%E5%BA%A6%E5%AF%B9%E6%AF%94.json').then(r => {
let keys = Object.keys(r);
keys.forEach(k => {
let standard = result[k]
let v = r[k]
let _keys = Object.keys(v);
_keys.forEach(_k => {
let _o = v[_k]
Object.keys(_o).map(__k => {
let __v = _o[__k]
if (__v === standard) {
delete _o[__k]
}
})
if (Object.keys(_o).length === 0) {
delete v[_k]
}
});
if (Object.keys(v).length === 0) {
delete r[k]
}
if (r[k]) {
r[k][-1] = standard
}
})
console.log(JSON.stringify(r))
})
function diff(standard, source) {
let result = source
let len_1 = standard.length
let len_2 = source.length
if (len_1 !== len_2 || standard.indexOf('-') !== source.indexOf('-')) {
return `[?]${source}`
}
let offset = 1;
for (let i = 0; i < len_1; i++) {
let v = standard[i]
let _v = source[i]
if (v !== _v) {
let _array = result.split('')
_array.splice(i+offset, 0, `[${v}]`)
result = _array.join('')
offset = offset + 3
}
}
return result;
}
get('http://127.0.0.1:8880/有问题的对象.json').then(r => {
let keys = Object.keys(r);
keys.forEach(k => {
let v = r[k]
let standard = v[-1]
let _keys = Object.keys(v);
_keys.forEach(_k => {
let _o = v[_k]
Object.keys(_o).map(__k => {
let __v = _o[__k]
if (__v !== standard) {
// 对比差异
_o[__k] = diff(standard, __v)
}
})
});
})
console.log(JSON.stringify(r))
})
/**
* sql 生成
*/
let result = ''
for(let i = 0; i < 22; i++) {
get(`http://127.0.0.1:8880/ci.song.${i * 1000}.json`).then(r => {
result += r.map((item, idx) => {
return `insert into json_ci (author, paragraphs, rhythmic, fileIdx, idx, tags) values ('${item.author}', '${item.paragraphs.join('\\n')}', '${item.rhythmic}', ${i}, ${idx}, '${item.tags ? item.tags.join() : ""}');`
}).join('\n')
})
}
console.log(result)

885
ci/最多出现次数.json Normal file

File diff suppressed because it is too large Load Diff

16428
ci/有问题的对象.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

16428
ci/问题标记 copy.json Normal file

File diff suppressed because it is too large Load Diff

10091
ci/问题标记.json Normal file

File diff suppressed because it is too large Load Diff