Commit fb74243c authored by antoor's avatar antoor

Rewriting add/edit shell algorithm

重写添加/编辑shell算法
parent 1d6d6659
// //
// Shell管理模块 // Shell管理模块
// //
'use strict'; 'use strict';
...@@ -40,7 +40,7 @@ class ShellManager { ...@@ -40,7 +40,7 @@ class ShellManager {
antSword['menubar'].reg('shell-add', this::this.addData); antSword['menubar'].reg('shell-add', this::this.addData);
this.loadData(); this.loadData();
} }
// 清空缓存 // 清空缓存
clearCache(id) { clearCache(id) {
...@@ -123,37 +123,30 @@ class ShellManager { ...@@ -123,37 +123,30 @@ class ShellManager {
})() }, })() },
{ type: 'combo', label: LANG['list']['add']['form']['type'], name: 'type', readonly: true, options: (() => { { type: 'combo', label: LANG['list']['add']['form']['type'], name: 'type', readonly: true, options: (() => {
let ret = []; let ret = [];
[ for (let c in antSword['core']) {
{ name: 'php', encoder: ['base64', 'chr'] }, let encoders = antSword['core'][c].prototype.encoders;
{ name: 'asp', encoder: [] }, ret.push({
{ name: 'aspx', encoder: [] }, text: c.toUpperCase(),
// { name: 'jsp', encoder: [] }, value: c,
// { name: 'py', encoder: [] }, selected: c === 'php',
// { name: 'cfm', encoder: [] }, list: ((c) => {
// { name: 'nodejs', encoder: ['base64', 'aes', 'urlencode'] }, let _ = [
{ name: 'custom', encoder: ['base64', 'hex'] } { type: 'settings', position: 'label-right', offsetLeft: 60, labelWidth: 100 },
].map((_) => { { type: 'label', label: LANG['list']['add']['form']['encoder'] },
let obj = { { type: 'radio', name: `encoder_${c}`, value: 'default', label: 'default', checked: true }
text: _['name'].toUpperCase(), ];
value: _['name'], encoders.map((e) => {
selected: _['name'] === 'php', _.push({
list: [ type: 'radio',
{ type: 'settings', position: 'label-right', offsetLeft: 60, labelWidth: 100 }, name: `encoder_${c}`,
{ type: 'label', label: LANG['list']['add']['form']['encoder'] }, value: e,
{ type: 'radio', name: 'encoder_' + _['name'], value: 'default', label: 'default', checked: true } label: e
] })
}; });
// 编码器对象 return _;
_['encoder'].map((e) => { })(c)
obj['list'].push({
type: 'radio',
name: 'encoder_' + _['name'],
value: e,
label: e
});
}); });
ret.push(obj); }
});
return ret; return ret;
})() } })() }
]} ]}
...@@ -245,35 +238,38 @@ class ShellManager { ...@@ -245,35 +238,38 @@ class ShellManager {
return ret; return ret;
})() }, })() },
{ type: 'combo', label: LANG['list']['edit']['form']['type'], name: 'type', readonly: true, options: (() => { { type: 'combo', label: LANG['list']['edit']['form']['type'], name: 'type', readonly: true, options: (() => {
let ret = []; let ret = [];
[ for (let c in antSword['core']) {
{ name: 'php', encoder: ['base64', 'chr'] }, let encoders = antSword['core'][c].prototype.encoders;
{ name: 'asp', encoder: [] }, ret.push({
{ name: 'aspx', encoder: [] }, text: c.toUpperCase(),
{ name: 'custom', encoder: ['base64', 'hex'] } value: c,
].map((_) => { selected: data['type'] === c,
let obj = { list: ((c) => {
text: _['name'].toUpperCase(), let _ = [
value: _['name'], { type: 'settings', position: 'label-right', offsetLeft: 60, labelWidth: 100 },
selected: data['type'] === _['name'], { type: 'label', label: LANG['list']['add']['form']['encoder'] },
list: [ { type: 'radio', name: `encoder_${c}`, value: 'default', label: 'default',
{ type: 'settings', position: 'label-right', offsetLeft: 60, labelWidth: 100 }, checked: (
{ type: 'label', label: LANG['list']['edit']['form']['encoder'] }, data['encoder'] === 'default') ||
{ type: 'radio', name: 'encoder_' + _['name'], value: 'default', label: 'default', checked: (data['encoder'] === 'default') || (_['name'] !== data['type']) || (!_['encoder'].indexOf(data['encoder'])) } (c !== data['type']) ||
] (!encoders.indexOf(data['encoder']))
}; }
// 编码器对象 ];
_['encoder'].map((e) => { encoders.map((e) => {
obj['list'].push({ _.push({
type: 'radio', type: 'radio',
name: 'encoder_' + _['name'], name: `encoder_${c}`,
value: e, value: e,
label: e, label: e,
checked: data['encoder'] === e checked: data['encoder'] === e
}); })
});
return _;
})(c)
}); });
ret.push(obj); }
});
return ret; return ret;
})() } })() }
]} ]}
...@@ -440,4 +436,4 @@ class ShellManager { ...@@ -440,4 +436,4 @@ class ShellManager {
} }
export default ShellManager; export default ShellManager;
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment