assets-obfuscator-setting.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. (() => {
  2. 'use strict';
  3. return function init ( panel ) {
  4. let viewEL = panel.$.view;
  5. let tmpl = 'packages://build-helper/panel/assets-obfuscator-setting.tmpl';
  6. Editor.import(tmpl).then(content => {
  7. viewEL.innerHTML = content;
  8. let assetsObfuscator = `assetsObfuscator`;
  9. let obfuscator = panel.getSettingItem(assetsObfuscator) || {};
  10. // 混淆开关
  11. let checkboxEle = viewEL.querySelector('ui-checkbox');
  12. checkboxEle.value = obfuscator.enable;
  13. checkboxEle.addEventListener('change', (event) => {
  14. obfuscator.enable = event.target.value;
  15. panel.setSettingItem(assetsObfuscator, obfuscator);
  16. });
  17. // 混淆密码
  18. let pwdEle = viewEL.querySelector('#pwd');
  19. pwdEle.value = obfuscator.pwd;
  20. pwdEle.addEventListener('confirm', event => {
  21. obfuscator.pwd = event.target.value;
  22. panel.setSettingItem(assetsObfuscator, obfuscator);
  23. });
  24. // 随机生成密码
  25. let charList = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];
  26. let genEle = viewEL.querySelector('#gen');
  27. genEle.addEventListener('click', (event) => {
  28. charList.sort(function (){
  29. return Math.random() - 0.5;
  30. });
  31. pwdEle.value = charList.toString().replace(/,/g, '');
  32. obfuscator.pwd = pwdEle.value;
  33. panel.setSettingItem(assetsObfuscator, obfuscator);
  34. });
  35. });
  36. };
  37. })();