index.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. var data1 = "";
  2. var data2 = "";
  3. var okData = "";
  4. var map = {
  5. "A": "氢",
  6. "B": "氦",
  7. "C": "锂",
  8. "D": "铍",
  9. "E": "硼",
  10. "F": "碳",
  11. "G": "氮",
  12. "H": "氧",
  13. "I": "氟",
  14. "J": "氖",
  15. "K": "钠",
  16. "L": "镁",
  17. "M": "铝",
  18. "N": "硅",
  19. "O": "磷",
  20. "P": "硫",
  21. "Q": "氯",
  22. "R": "氩",
  23. "S": "钾",
  24. "T": "钙",
  25. "U": "钪",
  26. "V": "钛",
  27. "W": "钒",
  28. "X": "铬",
  29. "Y": "锰",
  30. "Z": "铁",
  31. "a": "钴",
  32. "b": "镍",
  33. "c": "铜",
  34. "d": "锌",
  35. "e": "镓",
  36. "f": "锗",
  37. "g": "砷",
  38. "h": "硒",
  39. "i": "溴",
  40. "j": "氪",
  41. "k": "铷",
  42. "l": "锶",
  43. "m": "钇",
  44. "n": "锆",
  45. "o": "铌",
  46. "p": "钼",
  47. "q": "锝",
  48. "r": "钌",
  49. "s": "铑",
  50. "t": "钯",
  51. "u": "银",
  52. "v": "镉",
  53. "w": "铟",
  54. "x": "锡",
  55. "y": "锑",
  56. "z": "碲",
  57. "0": "碘",
  58. "1": "氙",
  59. "2": "铯",
  60. "3": "钡",
  61. "4": "镧",
  62. "5": "铈",
  63. "6": "镨",
  64. "7": "钕",
  65. "8": "钷",
  66. "9": "钐",
  67. "+": "加",
  68. "/": "杠",
  69. "=": "等"
  70. };
  71. var rmap = {};
  72. function writeLocal() {
  73. json = `{"data1": "${data1}", "data2": "${data2}"}`;
  74. localStorage.emojidata1 = json;
  75. document.getElementById('data1').value = data1;
  76. document.getElementById('data2').value = data2;
  77. }
  78. function readLocal() {
  79. json = localStorage.emojidata1;
  80. if (json != null) {
  81. json = JSON.parse(json);
  82. } else {
  83. json = null;
  84. }
  85. // console.log(json);
  86. return json;
  87. }
  88. function onLoad() {
  89. killDevTool();
  90. document.getElementById('updateTime').innerText = "2021-04-18 更新";
  91. localData = readLocal();
  92. if (localData != null) {
  93. data1 = localData.data1;
  94. data2 = localData.data2;
  95. document.getElementById('data1').value = data1;
  96. document.getElementById('data2').value = data2;
  97. } else {
  98. writeLocal();
  99. }
  100. }
  101. function doEncode() {
  102. data1 = document.getElementById('data1').value;
  103. data1 = data1.replace(/\r/g, ' ').replace('/\t/g', ' ');
  104. let wordArray = CryptoJS.enc.Utf8.parse(data1);
  105. let base64 = CryptoJS.enc.Base64.stringify(wordArray);
  106. console.log(base64);
  107. let list = base64.split("");
  108. let new_list = [];
  109. list.forEach(item => {
  110. new_list.push(map[item]);
  111. })
  112. data2 = new_list.join("");
  113. document.getElementById('data2').value = data2;
  114. writeLocal();
  115. }
  116. function doDecode() {
  117. let valid = [];
  118. // 转换map
  119. for (let key in map) {
  120. let value = map[key];
  121. [value, key] = [key, value];
  122. rmap[key] = value;
  123. }
  124. // 检查输入字符是否合法
  125. for (let key in map) {
  126. valid.push(map[key]);
  127. }
  128. data1 = document.getElementById('data1').value;
  129. let list = data1.split("");
  130. let new_list = [];
  131. for (i in list) {
  132. if (valid.indexOf(list[i]) > -1) {
  133. new_list.push(rmap[list[i]]);
  134. } else {
  135. alert("#1 中的 " + list[i] + " 不在周期表中");
  136. break;
  137. }
  138. }
  139. let str = new_list.join("");
  140. console.log(str);
  141. try {
  142. str = CryptoJS.enc.Base64.parse(str);
  143. data2 = CryptoJS.enc.Utf8.stringify(str);
  144. } catch (err) {
  145. alert(err.message + '\n检查 #1 解码数据');
  146. data2 = "";
  147. }
  148. if (data2.length < 1) {
  149. data1 = "";
  150. data2 = "";
  151. document.getElementById('data1').value = data1;
  152. document.getElementById('data2').value = data2;
  153. }
  154. writeLocal();
  155. }
  156. function copy() {
  157. document.getElementById('data2').select();
  158. document.execCommand("copy");
  159. var btn3 = document.getElementById('copy');
  160. btn3.innerHTML = "复制成功...";
  161. setTimeout(() => {
  162. btn3.innerHTML = "拷贝 #2 内容";
  163. }, 1500);
  164. }
  165. function clearText() {
  166. data1 = "";
  167. data2 = "";
  168. document.getElementById('data1').value = data1;
  169. document.getElementById('data2').value = data2;
  170. writeLocal();
  171. }
  172. function killDevTool() {
  173. let text = '<h1>本页面禁止使用开发者工具<br />DevTools are forbidden on this Page.</h1>';
  174. let obj = new Image();
  175. Object.defineProperty(obj, 'id', {
  176. get: function() {
  177. document.write(text)
  178. }
  179. });
  180. console.log(obj);
  181. }