old
parent
b5a24297eb
commit
5b5e686b8c
|
@ -1 +1 @@
|
||||||
html{font-size:1vw;width:100%;height:100%}body{position:fixed;left:0;top:0;display:flex;width:100%;height:100%;line-height:1.5;font-size:1.4rem;color:#62778d}.layout-left{display:flex;flex-direction:column;width:18rem;height:64rem;background:#526273}.layout-left wc-scroll{flex:1}.layout-left .domain-list{width:100%}.layout-left .domain-list .item{display:flex;justify-content:flex-end;align-items:center;height:4rem;padding:0 2rem 0 1rem;color:#f3f5fb;cursor:pointer;transition:background .1s ease-in-out}.layout-left .domain-list .item wc-icon{--size:1.2rem;margin:auto -1.5rem auto .5rem;color:#7e909a}.layout-left .domain-list .item:hover,.layout-left .domain-list .item.active{background:#62778d}.layout-left .domain-list .item.active{border-left:0.3rem solid #ffb618}.layout-left .domain-list .item.blank{justify-content:center;cursor:default}.layout-left .domain-list .item.blank:hover{background:none}.layout-left .action{display:flex;align-items:center;height:5rem;padding:0 1rem}.layout-right{flex:1;display:flex;flex-direction:column;background:#f7f8fb}.layout-right .toolbar{display:flex;align-items:center;justify-content:space-between;height:4rem;padding:0 1.5rem;background:#e8ebf4;box-shadow:0 0.2rem 0.5rem rgba(0,0,0,0.1)}.layout-right .toolbar wc-input{width:20rem}.layout-right .main{overflow:hidden;flex:1;display:flex;flex-direction:column;margin:2rem 1rem;padding:0 .5rem;background:#fff}.layout-right .thead{display:flex;align-items:center;justify-content:center;height:4rem;margin-bottom:.8rem;border-bottom:0.1rem solid #e8ebf4;text-align:center}.layout-right .thead span{flex:1}.layout-right .thead .long{flex:1.5}.layout-right wc-scroll{flex:1}.layout-right .record-list{width:100%;line-height:4rem}.layout-right .record-list .item{display:flex;justify-content:center;align-items:center;height:4rem;padding:0 1rem;border-bottom:0.1rem solid #e8ebf4;text-align:center}.layout-right .record-list .item wc-input,.layout-right .record-list .item span,.layout-right .record-list .item section{flex:1}.layout-right .record-list .item .long{flex:1.5}.layout-right .record-list .item section{display:flex;align-items:center;justify-content:center}.layout-right .record-list .item:hover{background:#f3f5fb}.layout-right .record-list .item:last-child{border-bottom:none}.permission-error{position:fixed;left:0;top:0;z-index:102401;display:none;flex-direction:column;align-items:center;width:100%;height:100%;padding:5rem;background:rgba(250,146,146,0.35);-webkit-backdrop-filter:blur(0.5rem);backdrop-filter:blur(0.5rem)}.permission-error pre{font-family:'Courier New', Courier, monospace;font-size:1.6rem;color:#eb3b48}.permission-error fieldset{width:60rem;padding:0 3rem 3rem;border:0.1rem solid #ffb618;border-radius:.8rem}.permission-error fieldset legend{padding:0 1rem;font-size:1.6rem}.permission-error fieldset dt{margin-top:2rem;font-weight:bold}.permission-error fieldset code{display:block;padding:.8rem 1rem;margin-top:.8rem;border-left:0.3rem solid #dae1e9;background:rgba(255,255,255,0.3);font-family:'Courier New', Courier, monospace}.permission-error.show{display:flex}
|
html{font-size:1vw;width:100%;height:100%}body{position:fixed;left:0;top:0;display:flex;width:100%;height:100%;line-height:1.5;font-size:1.4rem;color:#62778d}.layout-left{display:flex;flex-direction:column;width:18rem;height:64rem;background:#526273}.layout-left wc-scroll{flex:1}.layout-left .domain-list{width:100%}.layout-left .domain-list .item{display:flex;justify-content:flex-end;align-items:center;height:4rem;padding:0 2rem 0 1rem;color:#f3f5fb;cursor:pointer;transition:background .1s ease-in-out}.layout-left .domain-list .item wc-icon{--size:1.2rem;margin:auto -1.5rem auto .5rem;color:#7e909a}.layout-left .domain-list .item:hover,.layout-left .domain-list .item.active{background:#62778d}.layout-left .domain-list .item.active{border-left:0.3rem solid #ffb618}.layout-left .domain-list .item.blank{justify-content:center;cursor:default}.layout-left .domain-list .item.blank:hover{background:none}.layout-left .action{display:flex;align-items:center;height:5rem;padding:0 1rem}.layout-right{flex:1;display:flex;flex-direction:column;background:#f7f8fb}.layout-right .toolbar{display:flex;align-items:center;justify-content:space-between;height:4rem;padding:0 1.5rem;background:#e8ebf4;box-shadow:0 0.2rem 0.5rem rgba(0,0,0,0.1)}.layout-right .toolbar wc-input{width:20rem}.layout-right .main{overflow:hidden;flex:1;display:flex;flex-direction:column;margin:2rem 1rem;padding:0 .5rem;background:#fff}.layout-right .thead{display:flex;align-items:center;justify-content:center;height:4rem;margin-bottom:.8rem;border-bottom:0.1rem solid #e8ebf4;text-align:center}.layout-right .thead span{flex:1}.layout-right .thead .long{flex:1.5}.layout-right wc-scroll{flex:1}.layout-right .record-list{width:100%;line-height:4rem}.layout-right .record-list .item{display:flex;justify-content:center;align-items:center;height:4rem;padding:0 1rem;border-bottom:0.1rem solid #e8ebf4;text-align:center}.layout-right .record-list .item wc-input,.layout-right .record-list .item span,.layout-right .record-list .item section{flex:1}.layout-right .record-list .item .long{flex:1.5}.layout-right .record-list .item section{display:flex;align-items:center;justify-content:center}.layout-right .record-list .item:hover{background:#f3f5fb}.layout-right .record-list .item:last-child{border-bottom:none}.permission-error{position:fixed;left:0;top:0;z-index:102401;display:flex;flex-direction:column;align-items:center;width:100%;height:100%;padding:5rem;background:rgba(255,233,233,0.95);-webkit-backdrop-filter:blur(0.5rem);backdrop-filter:blur(0.5rem)}.permission-error pre{font-family:'Courier New', Courier, monospace;font-size:1.6rem;color:#eb3b48}.permission-error fieldset{width:60rem;padding:0 3rem 3rem;border:0.1rem solid #ffb618;border-radius:.8rem}.permission-error fieldset legend{padding:0 1rem;font-size:1.6rem}.permission-error fieldset dt{margin-top:2rem;font-weight:bold}.permission-error fieldset code{display:block;padding:.8rem 1rem;margin-top:.8rem;border-left:0.3rem solid #dae1e9;background:rgba(255,255,255,0.3);font-family:'Courier New', Courier, monospace}.permission-error.show{display:flex}
|
||||||
|
|
|
@ -106,9 +106,9 @@ body {
|
||||||
|
|
||||||
.permission-error {
|
.permission-error {
|
||||||
position:fixed;left:0;top:0;z-index:102401;
|
position:fixed;left:0;top:0;z-index:102401;
|
||||||
display:none;flex-direction:column;align-items:center;
|
display:flex;flex-direction:column;align-items:center;
|
||||||
width:100%;height:100%;padding:5rem;
|
width:100%;height:100%;padding:5rem;
|
||||||
background:rgba(250, 146, 146, .35);
|
background:rgba(255, 233, 233, .95);
|
||||||
backdrop-filter:blur(.5rem);
|
backdrop-filter:blur(.5rem);
|
||||||
|
|
||||||
pre {font-family:'Courier New', Courier, monospace;font-size:1.6rem;color:nth($cr, 2);}
|
pre {font-family:'Courier New', Courier, monospace;font-size:1.6rem;color:nth($cr, 2);}
|
||||||
|
|
|
@ -18,20 +18,15 @@ const WIN = remote.getCurrentWindow()
|
||||||
|
|
||||||
const $doc = Anot(document)
|
const $doc = Anot(document)
|
||||||
|
|
||||||
|
var dict = {}
|
||||||
|
|
||||||
Anot({
|
Anot({
|
||||||
$id: 'app',
|
$id: 'app',
|
||||||
state: {
|
state: {
|
||||||
filter: '',
|
filter: '',
|
||||||
curr: '', //当前选中的域名
|
curr: '', //当前选中的域名
|
||||||
domains: [],
|
domains: [],
|
||||||
records: [
|
records: [],
|
||||||
{
|
|
||||||
record: '',
|
|
||||||
value: '',
|
|
||||||
enabled: true,
|
|
||||||
remark: ''
|
|
||||||
}
|
|
||||||
],
|
|
||||||
permissionShow: false
|
permissionShow: false
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
@ -72,11 +67,19 @@ Anot({
|
||||||
},
|
},
|
||||||
toggleDomain(name) {
|
toggleDomain(name) {
|
||||||
this.curr = name
|
this.curr = name
|
||||||
|
this.records = dict[name]
|
||||||
},
|
},
|
||||||
check() {
|
check() {
|
||||||
var check = ipcRenderer.sendSync('dns-host', { type: 'check' })
|
var check = ipcRenderer.sendSync('dns-host', { type: 'check' })
|
||||||
|
|
||||||
if (check) {
|
if (check) {
|
||||||
|
dict = ipcRenderer.sendSync('dns-host', { type: 'history' })
|
||||||
|
|
||||||
|
var tmp = []
|
||||||
|
for (var k in dict) {
|
||||||
|
tmp.push(k)
|
||||||
|
}
|
||||||
|
this.domains = tmp
|
||||||
} else {
|
} else {
|
||||||
this.permissionShow = true
|
this.permissionShow = true
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,18 +60,42 @@ ipcMain.on('dns-host', (ev, conn) => {
|
||||||
var records = cache.split(/[\n\r]+/)
|
var records = cache.split(/[\n\r]+/)
|
||||||
var list = []
|
var list = []
|
||||||
var dict = {}
|
var dict = {}
|
||||||
var tmp = {}
|
|
||||||
records.forEach(str => {
|
records.forEach(str => {
|
||||||
str = str.trim()
|
str = str.trim()
|
||||||
if (/^(#*?)\s*(\d+\.\d+\.\d+\.\d+)\s+(.*)/.test(str)) {
|
let matches = str.match(/^(#*?)\s*(\d+\.\d+\.\d+\.\d+)\s+(.*)/)
|
||||||
list.push({
|
|
||||||
ip: RegExp.$2,
|
if (matches) {
|
||||||
domains: RegExp.$3,
|
let names = matches[3].split(/\s+/).map(it => it.trim())
|
||||||
enabled: !RegExp.$1
|
let name
|
||||||
})
|
while ((name = names.pop())) {
|
||||||
|
list.push({ ip: matches[2], enabled: !matches[1], name })
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
records = null
|
records = null
|
||||||
list.forEach(it => {})
|
|
||||||
|
list.forEach(it => {
|
||||||
|
it.name = it.name.split('.')
|
||||||
|
let domain = it.name.splice(-2, 2).join('.')
|
||||||
|
if (dict[domain]) {
|
||||||
|
dict[domain].push({
|
||||||
|
value: it.ip,
|
||||||
|
enabled: it.enabled,
|
||||||
|
record: it.name.join('.') || '@',
|
||||||
|
remark: ''
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
dict[domain] = [
|
||||||
|
{
|
||||||
|
value: it.ip,
|
||||||
|
enabled: it.enabled,
|
||||||
|
record: it.name.join('.') || '@',
|
||||||
|
remark: ''
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
})
|
||||||
|
list = null
|
||||||
|
ev.returnValue = dict
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in New Issue