# 新特性:

1. 系统代理中的排除列表,可配置化;可在界面中配置,也可在远程配置中配置

# 问题修复:
  1. 空指针异常导致插件关闭失败的问题修复
  2. 偶发的空指针异常导致代理请求失败,原因不明,暂时规避掉

# 配置调整:
  1. 添加几项targets配置,优化1项配置
  2. 添加几项拦截配置
  3. 添加很多项系统代理排除项,并调整白名单配置
  4. 优化dns配置
  5. `.gitignore` 中,排除掉 `package-lock.json`

# 功能优化:
  1. 远程配置内容格式不正确时,不保存它
  2. 部分日志优化
  3. 封装 merge.js 的 doDiff 和 doMarge 两个方法,方便使用和测试,同时添加测试用例 `mergeTest.js`,删除老的 `mergeTest.mjs`;doDiff优化过,使 config.json5 的内容更准确的体现用户自定义配置
  4. 打开链接的方法,全部改为异步

# 文档:
  1. 移除部分 `gitee仓库` 相关的内容,因为gitee的仓库被禁了,部分gitee地址改为github地址
  2. 代码贡献说明中,添加环境准备相关说明;同时添加4个bat脚本文件方便windows用户快速贡献代码
This commit is contained in:
王良
2024-02-21 11:29:38 +08:00
parent 0ce1a88897
commit d0096d209c
28 changed files with 562 additions and 7360 deletions

View File

@@ -0,0 +1,88 @@
const lodash = require('lodash')
const mergeApi = require('../src/merge.js')
// 默认配置
const defConfig = {
a: {
aa: { value: 1 },
bb: { value: 2 }
},
b: { c: 2 },
c: 1,
d: [1, 2, 3],
e: {
aa: 2,
ee: 5
},
f: {
x: 1
},
g: [1, 2],
h: null,
i: null
}
// 自定义配置
const customConfig = {
a: {
bb: { value: 2 },
cc: { value: 3 }
},
b: { c: 2 },
c: null,
d: [1, 2, 3, 4],
e: {
aa: 2,
ee: 5,
ff: 6
},
f: {},
g: [1, 2],
h: null
}
// doDiff
const doDiffResult = mergeApi.doDiff(defConfig, customConfig)
console.log('doDiffResult:', JSON.stringify(doDiffResult, null, 2))
console.log('\r')
// 校验doDiff结果
const doDiffExpect = {
a: {
aa: null,
cc: { value: 3 }
},
c: null,
d: [1, 2, 3, 4],
e: {
ff: 6
},
f: {
x: null
}
}
console.log('check diff result:', lodash.isEqual(doDiffResult, doDiffExpect))
console.log('\r')
// doMerge
const doMergeResult = mergeApi.doMerge(defConfig, doDiffResult)
// delete null item
mergeApi.deleteNullItems(doMergeResult)
console.log('running:', JSON.stringify(doMergeResult, null, 2))
// 校验doMerge结果
const doMergeExpect = {
a: {
bb: { value: 2 },
cc: { value: 3 }
},
b: { c: 2 },
d: [1, 2, 3, 4],
e: {
aa: 2,
ee: 5,
ff: 6
},
f: {},
g: [1, 2]
}
console.log('check merge result:', lodash.isEqual(doMergeResult, doMergeExpect))
console.log('\r')