index.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  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 =
  174. "<h1>本页面禁止使用开发者工具<br />DevTools are forbidden on this Page.</h1>";
  175. let obj = new Image();
  176. Object.defineProperty(obj, "id", {
  177. get: function () {
  178. document.write(text);
  179. },
  180. });
  181. console.log(obj);
  182. }