efront 3.35.14 → 3.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apps/blank/index.html +1 -21
- package/apps/blank/main.js +1 -1
- package/apps/kugou/singer/keywords.less +1 -0
- package/apps/sciters/main.js +31 -0
- package/coms/basic/#loader.js +3 -4
- package/coms/basic/i18n.js +25 -0
- package/coms/basic/i18n.md +10 -0
- package/coms/basic/parseYML.js +1 -0
- package/coms/basic/refilm_decode.js +2 -1
- package/coms/basic/strings.js +3 -3
- package/coms/compile/Javascript.js +1 -20
- package/coms/compile/autoi18n.js +17 -0
- package/coms/compile/autoi18n_test.js +6 -0
- package/coms/compile/common.js +22 -0
- package/coms/compile/translate.js +131 -0
- package/coms/compile/wraphtml.js +3 -0
- package/coms/docs/md5.js +174 -0
- package/coms/frame/route.js +1 -1
- package/coms/zimoli/XMLHttpRequest.js +33 -1
- package/coms/zimoli/alert.js +1 -1
- package/coms/zimoli/appendChild.js +2 -1
- package/coms/zimoli/button.less +1 -0
- package/coms/zimoli/createEvent.js +8 -3
- package/coms/zimoli/cross.js +1 -1
- package/coms/zimoli/cross_test.js +8 -2
- package/coms/zimoli/forceUpdate.js +2 -6
- package/coms/zimoli/list.js +1 -1
- package/coms/zimoli/on.js +4 -2
- package/coms/zimoli/render.js +5 -2
- package/coms/zimoli/transition.js +4 -5
- package/coms/zimoli/tree.js +5 -3
- package/coms/zimoli/zimoli.js +3 -3
- package/docs/index.html +1 -12
- package/docs/main.xht +2 -1
- package/docs//345/267/245/345/205/267//345/233/275/351/231/205/345/214/226.xht +578 -0
- package/package.json +1 -1
- package/public/efront.js +1 -1
- package/readme.md +1 -1
- package/coms/zimoli/i18n.js +0 -192
package/apps/blank/index.html
CHANGED
|
@@ -8,32 +8,12 @@
|
|
|
8
8
|
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
|
|
9
9
|
<meta charset="utf-8" />
|
|
10
10
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
|
11
|
-
<link rel="Shortcut Icon" href="/favicon.ico" type="image/x-icon" />
|
|
11
|
+
<link rel="Shortcut Icon" href="http://efront.cc/favicon.ico" type="image/x-icon" />
|
|
12
12
|
<meta name="viewport" content="initial-scale=1,maximum-scale=1,width=device-width" />
|
|
13
13
|
<title>Efront 空项目</title>
|
|
14
14
|
<script deleteoncompile efrontloader>
|
|
15
15
|
// 若要在开发环境使用内置组件,请保留此script标签中的代码,在编译发布时,这里的代码会自动删除
|
|
16
16
|
</script>
|
|
17
|
-
<style>
|
|
18
|
-
html {
|
|
19
|
-
height: 100%;
|
|
20
|
-
font-family: "SF Pro SC", "SF Pro Text", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
*,
|
|
24
|
-
::before,
|
|
25
|
-
::after {
|
|
26
|
-
box-sizing: border-box;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
body {
|
|
30
|
-
border: none;
|
|
31
|
-
margin: 0;
|
|
32
|
-
padding: 0;
|
|
33
|
-
height: 100%;
|
|
34
|
-
overflow: hidden;
|
|
35
|
-
}
|
|
36
|
-
</style>
|
|
37
17
|
</head>
|
|
38
18
|
|
|
39
19
|
<body scroll=no max-render=1440></body>
|
package/apps/blank/main.js
CHANGED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
var init_console = function () {
|
|
2
|
+
init_console = function () { };
|
|
3
|
+
var pad = document.createElement("console");
|
|
4
|
+
css(pad, 'position:fixed;bottom:0;top:0;right:0;width:300px;overflow:auto;padding:6px 10px;background:#eee;border-top:1px solid #ccc');
|
|
5
|
+
pad.style.zIndex = 999;
|
|
6
|
+
var log = function (type, style) {
|
|
7
|
+
return function () {
|
|
8
|
+
var log = document.createElement(type);
|
|
9
|
+
css(log, style);
|
|
10
|
+
css(log, 'display:block');
|
|
11
|
+
log.innerHTML = Array.apply(null, arguments).join(" ").replace(/</g, '<').replace(/>/g, ">");
|
|
12
|
+
pad.appendChild(log);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
console.log = log("log", 'color:#333');
|
|
16
|
+
console.error = log("error", 'color:#f00');
|
|
17
|
+
console.info = log("info", 'color:#02f');
|
|
18
|
+
console.clear = function () {
|
|
19
|
+
remove(pad.children);
|
|
20
|
+
};
|
|
21
|
+
onclick(pad, function () {
|
|
22
|
+
pad.style.transition="background-color 300ms linear"
|
|
23
|
+
// pad.style.backgroundColor = "#000";
|
|
24
|
+
pad.innerHTML= pad.style.getPropertyValue("transition").length;
|
|
25
|
+
})
|
|
26
|
+
document.body.appendChild(pad)
|
|
27
|
+
};
|
|
28
|
+
function main() {
|
|
29
|
+
init_console();
|
|
30
|
+
return alert_test();
|
|
31
|
+
}
|
package/coms/basic/#loader.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var window = this;
|
|
3
3
|
var isProduction = true;
|
|
4
|
-
// <!-- isProduction = false -->
|
|
5
|
-
|
|
4
|
+
// <!-- isProduction = false; -->
|
|
6
5
|
var {
|
|
7
6
|
parseInt,
|
|
8
7
|
XMLHttpRequest,
|
|
@@ -832,7 +831,7 @@ modules.modules = modules;
|
|
|
832
831
|
var requires_count = 3;
|
|
833
832
|
var hook = function (requires_count) {
|
|
834
833
|
if (requires_count !== 0) return;
|
|
835
|
-
"alert confirm innerWidth innerHeight close prompt".split(/\s+/).map(removeGlobalProperty);
|
|
834
|
+
"alert confirm innerWidth innerHeight close prompt data".split(/\s+/).map(removeGlobalProperty);
|
|
836
835
|
modules.Promise = Promise;
|
|
837
836
|
modules.hook_time = +new Date;
|
|
838
837
|
if (document) {
|
|
@@ -855,7 +854,7 @@ var initIfNotDefined = function (defined, path, onload) {
|
|
|
855
854
|
else hook(--requires_count);
|
|
856
855
|
};
|
|
857
856
|
|
|
858
|
-
if (
|
|
857
|
+
if (localStorage) loadResponseTreeFromStorage();
|
|
859
858
|
initIfNotDefined([].map, "[]map", map => map);
|
|
860
859
|
"use ../basic_/#checkPromise.js";
|
|
861
860
|
initIfNotDefined(Promise, "Promise", promise => Promise = promise);
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var languageMap = {};
|
|
3
|
+
var languageIndex = 0;
|
|
4
|
+
function i18n() {
|
|
5
|
+
return arguments[isFinite(this) ? this : languageIndex];
|
|
6
|
+
};
|
|
7
|
+
i18n.lang = function (type) {
|
|
8
|
+
var id = getLanguageIndexFromName(type) || 0;
|
|
9
|
+
return i18n.bind(id);
|
|
10
|
+
};
|
|
11
|
+
var getLanguageIndexFromName = function (language) {
|
|
12
|
+
if (isFinite(language)) return language;
|
|
13
|
+
if (language in languageMap) return languageMap[language];
|
|
14
|
+
language = String(language).toLowerCase();
|
|
15
|
+
for (var k in languageMap) {
|
|
16
|
+
for (var kk of k.toLowerCase().split("-")) {
|
|
17
|
+
if (language.indexOf(kk) >= 0) return languageMap[k];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return languageIndex;
|
|
21
|
+
};
|
|
22
|
+
i18n.setLanguage = function (language) {
|
|
23
|
+
languageIndex = getLanguageIndexFromName(language);
|
|
24
|
+
};
|
|
25
|
+
if (this.navigator) i18n.setLanguage(this.navigator.language);
|
package/coms/basic/parseYML.js
CHANGED
|
@@ -386,7 +386,8 @@ function parse(piece) {
|
|
|
386
386
|
} else if (/^[\/]/.test(type)) {
|
|
387
387
|
type = type.slice(1);
|
|
388
388
|
}
|
|
389
|
-
if (typeof options === "string") {
|
|
389
|
+
if (typeof options === "string" && !/^\$#\d+$/.test(options)) {
|
|
390
|
+
console.log(options)
|
|
390
391
|
options = is(options);
|
|
391
392
|
var needUnfold = /^\[|\]$/.test(options);
|
|
392
393
|
options = options.replace(/^\[|\]$/g, '');
|
package/coms/basic/strings.js
CHANGED
|
@@ -9,8 +9,8 @@ var escapeMap = {
|
|
|
9
9
|
var unescapeMap = {};
|
|
10
10
|
for (var k in escapeMap) unescapeMap[escapeMap[k]] = k;
|
|
11
11
|
|
|
12
|
-
function encode(str) {
|
|
13
|
-
return
|
|
12
|
+
function encode(str, q = "\"") {
|
|
13
|
+
return q + str.replace(new RegExp(`[\\\\${q}]`, 'g'), "\\$&").replace(/[\r\n\t\v\f\u0008\u0000-\u001f\u007f-\uffff]/g, a => {
|
|
14
14
|
if (escapeMap.hasOwnProperty(a)) return escapeMap[a];
|
|
15
15
|
var code = a.charCodeAt(0).toString(16);
|
|
16
16
|
switch (code.length) {
|
|
@@ -22,7 +22,7 @@ function encode(str) {
|
|
|
22
22
|
return "\\u0" + code;
|
|
23
23
|
}
|
|
24
24
|
return "\\u" + code;
|
|
25
|
-
}) +
|
|
25
|
+
}) + q;
|
|
26
26
|
}
|
|
27
27
|
function decode(s) {
|
|
28
28
|
var r = /^(['"`])([\s\S]*)\1$/.exec(s);
|
|
@@ -20,6 +20,7 @@ const {
|
|
|
20
20
|
createScoped,
|
|
21
21
|
snapExpressHead,
|
|
22
22
|
relink,
|
|
23
|
+
replace,
|
|
23
24
|
skipAssignment,
|
|
24
25
|
} = require("./common");
|
|
25
26
|
var straps = `if,in,do,as,of
|
|
@@ -288,26 +289,6 @@ var collectProperty = function (o, text) {
|
|
|
288
289
|
q.defined[text] = o;
|
|
289
290
|
};
|
|
290
291
|
|
|
291
|
-
var replace = function (o, ...args) {
|
|
292
|
-
var queue = o.queue;
|
|
293
|
-
var i = queue.indexOf(o);
|
|
294
|
-
if (i >= 0) queue.splice(i, 1, ...args);
|
|
295
|
-
var prev = o.prev;
|
|
296
|
-
var next = o.next;
|
|
297
|
-
if (!args.length) {
|
|
298
|
-
if (prev) prev.next = next;
|
|
299
|
-
else queue.first = next;
|
|
300
|
-
if (next) next.prev = prev;
|
|
301
|
-
else queue.last = prev;
|
|
302
|
-
}
|
|
303
|
-
else {
|
|
304
|
-
if (prev) prev.next = args[0], args[0].prev = prev;
|
|
305
|
-
else queue.first = args[0];
|
|
306
|
-
if (next) next.prev = args[args.length - 1], args[args.length - 1].next = next;
|
|
307
|
-
else queue.last = args[args.length - 1];
|
|
308
|
-
}
|
|
309
|
-
return args.length ? args[0] : next;
|
|
310
|
-
};
|
|
311
292
|
var hasComma = function (c) {
|
|
312
293
|
for (var cc of c) {
|
|
313
294
|
if (cc.type === STAMP && cc.text === ',') return true;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
var { SCOPED } = require("./common");
|
|
2
|
+
|
|
3
|
+
var getTranslated = function () {
|
|
4
|
+
};
|
|
5
|
+
module.exports = function (code, i18nfiles) {
|
|
6
|
+
var prefixed = translate.getI18nPrefixed(code);
|
|
7
|
+
for (var p of prefixed) {
|
|
8
|
+
if (p.transtype === "手动") {
|
|
9
|
+
p.type = SCOPED;
|
|
10
|
+
p.entry = '(';
|
|
11
|
+
p.leave = ')';
|
|
12
|
+
delete p.text;
|
|
13
|
+
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
console.log(prefixed);
|
|
17
|
+
};
|
package/coms/compile/common.js
CHANGED
|
@@ -1032,6 +1032,27 @@ var createExpressList = function (code) {
|
|
|
1032
1032
|
}
|
|
1033
1033
|
return list;
|
|
1034
1034
|
};
|
|
1035
|
+
var replace = function (o, ...args) {
|
|
1036
|
+
var queue = o.queue;
|
|
1037
|
+
var i = queue.indexOf(o);
|
|
1038
|
+
if (i >= 0) queue.splice(i, 1, ...args);
|
|
1039
|
+
var prev = o.prev;
|
|
1040
|
+
var next = o.next;
|
|
1041
|
+
if (!args.length) {
|
|
1042
|
+
if (prev) prev.next = next;
|
|
1043
|
+
else queue.first = next;
|
|
1044
|
+
if (next) next.prev = prev;
|
|
1045
|
+
else queue.last = prev;
|
|
1046
|
+
}
|
|
1047
|
+
else {
|
|
1048
|
+
if (prev) prev.next = args[0], args[0].prev = prev;
|
|
1049
|
+
else queue.first = args[0];
|
|
1050
|
+
if (next) next.prev = args[args.length - 1], args[args.length - 1].next = next;
|
|
1051
|
+
else queue.last = args[args.length - 1];
|
|
1052
|
+
}
|
|
1053
|
+
return args.length ? args[0] : next;
|
|
1054
|
+
};
|
|
1055
|
+
|
|
1035
1056
|
module.exports = {
|
|
1036
1057
|
/* 1 */COMMENT,
|
|
1037
1058
|
/* 2 */SPACE,
|
|
@@ -1059,5 +1080,6 @@ module.exports = {
|
|
|
1059
1080
|
saveTo,
|
|
1060
1081
|
rename,
|
|
1061
1082
|
relink,
|
|
1083
|
+
replace,
|
|
1062
1084
|
mergeTo
|
|
1063
1085
|
};
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
var scanner2 = require("./scanner2");
|
|
2
|
+
var { SCOPED, QUOTED, SCOPED, PIECE, number_reg, replace, createString } = require("./common");
|
|
3
|
+
var strings = require("../basic/strings");
|
|
4
|
+
var program = null;
|
|
5
|
+
var patchTranslate = function (c) {
|
|
6
|
+
if (c.length) {
|
|
7
|
+
c.translate = c.map((o, i) => o.type === PIECE ? strings.decode(`\`${o.text}\``) : ` $#${i + 1 >> 1} `).join('');
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
if (/^['"`]/.test(c.text) && c.text.length > 2) {
|
|
11
|
+
var text = strings.decode(c.text);
|
|
12
|
+
c.translate = text;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
}
|
|
17
|
+
function getAllText(code, dest = []) {
|
|
18
|
+
for (var cx = 0, dx = code.length; cx < dx; cx++) {
|
|
19
|
+
var c = code[cx];
|
|
20
|
+
if (c.type === QUOTED) {
|
|
21
|
+
if (c.length) {
|
|
22
|
+
getAllText(c, dest);
|
|
23
|
+
if (c.entry !== '`') continue;
|
|
24
|
+
patchTranslate(c);
|
|
25
|
+
dest.push(c);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
if (/^['"`]/.test(c.text) && c.text.length > 2) {
|
|
29
|
+
var text = strings.decode(c.text);
|
|
30
|
+
if (number_reg.test(text) || program.stamp_reg.test(text) || program.space_reg.test(text)) continue;
|
|
31
|
+
patchTranslate(c);
|
|
32
|
+
dest.push(c);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
else if (c.type === SCOPED) {
|
|
37
|
+
getAllText(c, dest);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return dest;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
var [手动, 字段名] = Array(2).fill(0).map((_, i) => i + 1);
|
|
44
|
+
function getI18nPrefixedText(code, dist = []) {
|
|
45
|
+
var { used, envs } = code;
|
|
46
|
+
var get = function (arr, f, t) {
|
|
47
|
+
for (var n of arr) {
|
|
48
|
+
if (!n || n.type !== QUOTED || n.length && n.entry !== '`') continue;
|
|
49
|
+
var c = n;
|
|
50
|
+
c.transtype = t;
|
|
51
|
+
patchTranslate(c);
|
|
52
|
+
f(c);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
if (envs.i18n) get(used.i18n.filter(o => o.text === 'i18n').map(o => {
|
|
56
|
+
var n = o.next;
|
|
57
|
+
if (n && n.type === SCOPED && n.entry !== '{') n = n.next;
|
|
58
|
+
return n;
|
|
59
|
+
}), c => dist.push(c), 手动);
|
|
60
|
+
if (envs.refilm) get(used.refilm.filter(o => o.text === 'refilm').map(o => o.next), c => {
|
|
61
|
+
c.fields = refilm([c.translate]);
|
|
62
|
+
dist.push(c);
|
|
63
|
+
}, 字段名);
|
|
64
|
+
return dist;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
function translate([imap, supports], code) {
|
|
68
|
+
var texts = getI18nPrefixedText(code);
|
|
69
|
+
var getm = function (tt) {
|
|
70
|
+
if (!imap[tt]) {
|
|
71
|
+
console.warn(`<yellow>国际化翻译缺失:</yellow>${tt}`);
|
|
72
|
+
imap[tt] = supports.map(_ => tt);
|
|
73
|
+
}
|
|
74
|
+
return imap[tt].map(m => strings.encode(m || tt, '`'));
|
|
75
|
+
};
|
|
76
|
+
var used = code.used;
|
|
77
|
+
for (var t of texts) {
|
|
78
|
+
if (t.transtype === 手动) {
|
|
79
|
+
var p = t.prev;
|
|
80
|
+
if (p.type === SCOPED) {
|
|
81
|
+
p.prev.text = 'i18n.lang';
|
|
82
|
+
p.entry = "(";
|
|
83
|
+
p.leave = ")";
|
|
84
|
+
}
|
|
85
|
+
var tt = t.translate;
|
|
86
|
+
replace(t, ...scanner2(`(${getm(tt)})`.replace(/\$#(\d+)/g, (_, i) => {
|
|
87
|
+
var a = (i << 1) - 1;
|
|
88
|
+
if (a in t) return createString(t[a]);
|
|
89
|
+
return _;
|
|
90
|
+
})));
|
|
91
|
+
}
|
|
92
|
+
else if (t.transtype === 字段名) {
|
|
93
|
+
var i = t.queue.indexOf(t.prev);
|
|
94
|
+
var e = t.queue.indexOf(t, i);
|
|
95
|
+
var ui = used.refilm.indexOf(t.prev);
|
|
96
|
+
used.refilm.splice(ui, 1);
|
|
97
|
+
if (!used.i18n) {
|
|
98
|
+
used.i18n = [];
|
|
99
|
+
code.envs.i18n = true;
|
|
100
|
+
}
|
|
101
|
+
t.queue.splice(i, e + 1 - i, ...scanner2("[" + t.fields.map(f => {
|
|
102
|
+
return "{" + Object.keys(f).map(k => {
|
|
103
|
+
var v = f[k];
|
|
104
|
+
if (/\$#\d+/.test(v)) v = v.replace(/\$#(\d+)/g, (_, i) => {
|
|
105
|
+
var a = (i << 1) - 1;
|
|
106
|
+
if (a in t) return createString(t[a]);
|
|
107
|
+
return _;
|
|
108
|
+
});
|
|
109
|
+
else if (k === 'name') v = `i18n(${getm(v)})`;
|
|
110
|
+
else v = JSON.stringify(v);
|
|
111
|
+
return JSON.stringify(k) + ":" + v;
|
|
112
|
+
}).join(',') + "}";
|
|
113
|
+
}).join(',') + "]"));
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
if (used.refilm && !used.refilm.length) {
|
|
117
|
+
delete code.envs.refilm;
|
|
118
|
+
delete code.used.refilm;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
translate.getAllText = function (data) {
|
|
122
|
+
var code = scanner2(String(data));
|
|
123
|
+
program = code.program;
|
|
124
|
+
var texts = [];
|
|
125
|
+
getAllText(code, texts);
|
|
126
|
+
return texts;
|
|
127
|
+
};
|
|
128
|
+
translate.手动 = 手动;
|
|
129
|
+
translate.字段名 = 字段名;
|
|
130
|
+
translate.getI18nPrefixed = getI18nPrefixedText;
|
|
131
|
+
module.exports = translate;
|
package/coms/docs/md5.js
ADDED
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
function md5(string) {
|
|
2
|
+
|
|
3
|
+
function RotateLeft(lValue, iShiftBits) {
|
|
4
|
+
return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits));
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
function AddUnsigned(lX,lY) {
|
|
8
|
+
var lX4,lY4,lX8,lY8,lResult;
|
|
9
|
+
lX8 = (lX & 0x80000000);
|
|
10
|
+
lY8 = (lY & 0x80000000);
|
|
11
|
+
lX4 = (lX & 0x40000000);
|
|
12
|
+
lY4 = (lY & 0x40000000);
|
|
13
|
+
lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF);
|
|
14
|
+
if (lX4 & lY4) {
|
|
15
|
+
return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
|
|
16
|
+
}
|
|
17
|
+
if (lX4 | lY4) {
|
|
18
|
+
if (lResult & 0x40000000) {
|
|
19
|
+
return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
|
|
20
|
+
} else {
|
|
21
|
+
return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
|
|
22
|
+
}
|
|
23
|
+
} else {
|
|
24
|
+
return (lResult ^ lX8 ^ lY8);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function F(x,y,z) { return (x & y) | ((~x) & z); }
|
|
29
|
+
function G(x,y,z) { return (x & z) | (y & (~z)); }
|
|
30
|
+
function H(x,y,z) { return (x ^ y ^ z); }
|
|
31
|
+
function I(x,y,z) { return (y ^ (x | (~z))); }
|
|
32
|
+
|
|
33
|
+
function FF(a,b,c,d,x,s,ac) {
|
|
34
|
+
a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac));
|
|
35
|
+
return AddUnsigned(RotateLeft(a, s), b);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
function GG(a,b,c,d,x,s,ac) {
|
|
39
|
+
a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac));
|
|
40
|
+
return AddUnsigned(RotateLeft(a, s), b);
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
function HH(a,b,c,d,x,s,ac) {
|
|
44
|
+
a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac));
|
|
45
|
+
return AddUnsigned(RotateLeft(a, s), b);
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
function II(a,b,c,d,x,s,ac) {
|
|
49
|
+
a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac));
|
|
50
|
+
return AddUnsigned(RotateLeft(a, s), b);
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
function ConvertToWordArray(codes) {
|
|
54
|
+
var lWordCount;
|
|
55
|
+
var lMessageLength = codes.length;
|
|
56
|
+
var lNumberOfWords_temp1=lMessageLength + 8;
|
|
57
|
+
var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64;
|
|
58
|
+
var lNumberOfWords = (lNumberOfWords_temp2+1)*16;
|
|
59
|
+
var lWordArray=Array(lNumberOfWords-1);
|
|
60
|
+
var lBytePosition = 0;
|
|
61
|
+
var lByteCount = 0;
|
|
62
|
+
while ( lByteCount < lMessageLength ) {
|
|
63
|
+
lWordCount = (lByteCount-(lByteCount % 4))/4;
|
|
64
|
+
lBytePosition = (lByteCount % 4)*8;
|
|
65
|
+
lWordArray[lWordCount] = (lWordArray[lWordCount] | (codes[lByteCount]<<lBytePosition));
|
|
66
|
+
lByteCount++;
|
|
67
|
+
}
|
|
68
|
+
lWordCount = (lByteCount-(lByteCount % 4))/4;
|
|
69
|
+
lBytePosition = (lByteCount % 4)*8;
|
|
70
|
+
lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80<<lBytePosition);
|
|
71
|
+
lWordArray[lNumberOfWords-2] = lMessageLength<<3;
|
|
72
|
+
lWordArray[lNumberOfWords-1] = lMessageLength>>>29;
|
|
73
|
+
return lWordArray;
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
function WordToHex(lValue) {
|
|
77
|
+
var WordToHexValue="",WordToHexValue_temp="",lByte,lCount;
|
|
78
|
+
for (lCount = 0;lCount<=3;lCount++) {
|
|
79
|
+
lByte = (lValue>>>(lCount*8)) & 255;
|
|
80
|
+
WordToHexValue_temp = "0" + lByte.toString(16);
|
|
81
|
+
WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2);
|
|
82
|
+
}
|
|
83
|
+
return WordToHexValue;
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
var x=Array();
|
|
87
|
+
var k,AA,BB,CC,DD,a,b,c,d;
|
|
88
|
+
var S11=7, S12=12, S13=17, S14=22;
|
|
89
|
+
var S21=5, S22=9 , S23=14, S24=20;
|
|
90
|
+
var S31=4, S32=11, S33=16, S34=23;
|
|
91
|
+
var S41=6, S42=10, S43=15, S44=21;
|
|
92
|
+
|
|
93
|
+
string = encodeUTF8(string);
|
|
94
|
+
|
|
95
|
+
x = ConvertToWordArray(string);
|
|
96
|
+
|
|
97
|
+
a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476;
|
|
98
|
+
|
|
99
|
+
for (k=0;k<x.length;k+=16) {
|
|
100
|
+
AA=a; BB=b; CC=c; DD=d;
|
|
101
|
+
a=FF(a,b,c,d,x[k+0], S11,0xD76AA478);
|
|
102
|
+
d=FF(d,a,b,c,x[k+1], S12,0xE8C7B756);
|
|
103
|
+
c=FF(c,d,a,b,x[k+2], S13,0x242070DB);
|
|
104
|
+
b=FF(b,c,d,a,x[k+3], S14,0xC1BDCEEE);
|
|
105
|
+
a=FF(a,b,c,d,x[k+4], S11,0xF57C0FAF);
|
|
106
|
+
d=FF(d,a,b,c,x[k+5], S12,0x4787C62A);
|
|
107
|
+
c=FF(c,d,a,b,x[k+6], S13,0xA8304613);
|
|
108
|
+
b=FF(b,c,d,a,x[k+7], S14,0xFD469501);
|
|
109
|
+
a=FF(a,b,c,d,x[k+8], S11,0x698098D8);
|
|
110
|
+
d=FF(d,a,b,c,x[k+9], S12,0x8B44F7AF);
|
|
111
|
+
c=FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1);
|
|
112
|
+
b=FF(b,c,d,a,x[k+11],S14,0x895CD7BE);
|
|
113
|
+
a=FF(a,b,c,d,x[k+12],S11,0x6B901122);
|
|
114
|
+
d=FF(d,a,b,c,x[k+13],S12,0xFD987193);
|
|
115
|
+
c=FF(c,d,a,b,x[k+14],S13,0xA679438E);
|
|
116
|
+
b=FF(b,c,d,a,x[k+15],S14,0x49B40821);
|
|
117
|
+
a=GG(a,b,c,d,x[k+1], S21,0xF61E2562);
|
|
118
|
+
d=GG(d,a,b,c,x[k+6], S22,0xC040B340);
|
|
119
|
+
c=GG(c,d,a,b,x[k+11],S23,0x265E5A51);
|
|
120
|
+
b=GG(b,c,d,a,x[k+0], S24,0xE9B6C7AA);
|
|
121
|
+
a=GG(a,b,c,d,x[k+5], S21,0xD62F105D);
|
|
122
|
+
d=GG(d,a,b,c,x[k+10],S22,0x2441453);
|
|
123
|
+
c=GG(c,d,a,b,x[k+15],S23,0xD8A1E681);
|
|
124
|
+
b=GG(b,c,d,a,x[k+4], S24,0xE7D3FBC8);
|
|
125
|
+
a=GG(a,b,c,d,x[k+9], S21,0x21E1CDE6);
|
|
126
|
+
d=GG(d,a,b,c,x[k+14],S22,0xC33707D6);
|
|
127
|
+
c=GG(c,d,a,b,x[k+3], S23,0xF4D50D87);
|
|
128
|
+
b=GG(b,c,d,a,x[k+8], S24,0x455A14ED);
|
|
129
|
+
a=GG(a,b,c,d,x[k+13],S21,0xA9E3E905);
|
|
130
|
+
d=GG(d,a,b,c,x[k+2], S22,0xFCEFA3F8);
|
|
131
|
+
c=GG(c,d,a,b,x[k+7], S23,0x676F02D9);
|
|
132
|
+
b=GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A);
|
|
133
|
+
a=HH(a,b,c,d,x[k+5], S31,0xFFFA3942);
|
|
134
|
+
d=HH(d,a,b,c,x[k+8], S32,0x8771F681);
|
|
135
|
+
c=HH(c,d,a,b,x[k+11],S33,0x6D9D6122);
|
|
136
|
+
b=HH(b,c,d,a,x[k+14],S34,0xFDE5380C);
|
|
137
|
+
a=HH(a,b,c,d,x[k+1], S31,0xA4BEEA44);
|
|
138
|
+
d=HH(d,a,b,c,x[k+4], S32,0x4BDECFA9);
|
|
139
|
+
c=HH(c,d,a,b,x[k+7], S33,0xF6BB4B60);
|
|
140
|
+
b=HH(b,c,d,a,x[k+10],S34,0xBEBFBC70);
|
|
141
|
+
a=HH(a,b,c,d,x[k+13],S31,0x289B7EC6);
|
|
142
|
+
d=HH(d,a,b,c,x[k+0], S32,0xEAA127FA);
|
|
143
|
+
c=HH(c,d,a,b,x[k+3], S33,0xD4EF3085);
|
|
144
|
+
b=HH(b,c,d,a,x[k+6], S34,0x4881D05);
|
|
145
|
+
a=HH(a,b,c,d,x[k+9], S31,0xD9D4D039);
|
|
146
|
+
d=HH(d,a,b,c,x[k+12],S32,0xE6DB99E5);
|
|
147
|
+
c=HH(c,d,a,b,x[k+15],S33,0x1FA27CF8);
|
|
148
|
+
b=HH(b,c,d,a,x[k+2], S34,0xC4AC5665);
|
|
149
|
+
a=II(a,b,c,d,x[k+0], S41,0xF4292244);
|
|
150
|
+
d=II(d,a,b,c,x[k+7], S42,0x432AFF97);
|
|
151
|
+
c=II(c,d,a,b,x[k+14],S43,0xAB9423A7);
|
|
152
|
+
b=II(b,c,d,a,x[k+5], S44,0xFC93A039);
|
|
153
|
+
a=II(a,b,c,d,x[k+12],S41,0x655B59C3);
|
|
154
|
+
d=II(d,a,b,c,x[k+3], S42,0x8F0CCC92);
|
|
155
|
+
c=II(c,d,a,b,x[k+10],S43,0xFFEFF47D);
|
|
156
|
+
b=II(b,c,d,a,x[k+1], S44,0x85845DD1);
|
|
157
|
+
a=II(a,b,c,d,x[k+8], S41,0x6FA87E4F);
|
|
158
|
+
d=II(d,a,b,c,x[k+15],S42,0xFE2CE6E0);
|
|
159
|
+
c=II(c,d,a,b,x[k+6], S43,0xA3014314);
|
|
160
|
+
b=II(b,c,d,a,x[k+13],S44,0x4E0811A1);
|
|
161
|
+
a=II(a,b,c,d,x[k+4], S41,0xF7537E82);
|
|
162
|
+
d=II(d,a,b,c,x[k+11],S42,0xBD3AF235);
|
|
163
|
+
c=II(c,d,a,b,x[k+2], S43,0x2AD7D2BB);
|
|
164
|
+
b=II(b,c,d,a,x[k+9], S44,0xEB86D391);
|
|
165
|
+
a=AddUnsigned(a,AA);
|
|
166
|
+
b=AddUnsigned(b,BB);
|
|
167
|
+
c=AddUnsigned(c,CC);
|
|
168
|
+
d=AddUnsigned(d,DD);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
var temp = WordToHex(a)+WordToHex(b)+WordToHex(c)+WordToHex(d);
|
|
172
|
+
|
|
173
|
+
return temp.toLowerCase();
|
|
174
|
+
}
|
package/coms/frame/route.js
CHANGED
|
@@ -171,7 +171,7 @@
|
|
|
171
171
|
zimoli.go(menu);
|
|
172
172
|
return result;
|
|
173
173
|
};
|
|
174
|
-
on("zimoli")(
|
|
174
|
+
on("zimoli")(document, function (event) {
|
|
175
175
|
var { zimoli } = event;
|
|
176
176
|
data.setInstance("option-buttons", zimoli.options || [], false);
|
|
177
177
|
var menu = getChild(zimoli);
|
|
@@ -1 +1,33 @@
|
|
|
1
|
-
this.XMLHttpRequest
|
|
1
|
+
if (this.XMLHttpRequest) return this.XMLHttpRequest;
|
|
2
|
+
if (this.ActiveXObject) return this.ActiveXObject.bind(null, 'Microsoft.XMLHTTP');
|
|
3
|
+
if (!this.fetch) return;
|
|
4
|
+
var window = this;
|
|
5
|
+
return class XMLHttpRequest {
|
|
6
|
+
onload = null;
|
|
7
|
+
onerror = null;
|
|
8
|
+
onreadystatechange = null;
|
|
9
|
+
readyState = 0;
|
|
10
|
+
fetch = window.fetch;
|
|
11
|
+
open(method, url) {
|
|
12
|
+
this.readyState = 1;
|
|
13
|
+
this.method = method;
|
|
14
|
+
this.url = url;
|
|
15
|
+
}
|
|
16
|
+
send(data) {
|
|
17
|
+
var u = new URL(this.url);
|
|
18
|
+
if (!u.host) u.host = location.host || 'localhost'
|
|
19
|
+
this.fetch(this.url, { method: this.method }).then(d => {
|
|
20
|
+
|
|
21
|
+
this.fetched = d;
|
|
22
|
+
this.readyState = 4;
|
|
23
|
+
this.status = d.status;
|
|
24
|
+
this.responseText = d.text();
|
|
25
|
+
if (this.onreadystatechange) this.onreadystatechange({ target: this });
|
|
26
|
+
if (this.onload) this.onload({ target: this });
|
|
27
|
+
}, e => {
|
|
28
|
+
this.readyState = 4;
|
|
29
|
+
if (this.onreadystatechange) this.onreadystatechange({ target: this });
|
|
30
|
+
if (this.onerror) this.onerror({ target: this });
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
package/coms/zimoli/alert.js
CHANGED
|
@@ -26,7 +26,7 @@ var _text = function (bgcolor, parameters) {
|
|
|
26
26
|
var box = div();
|
|
27
27
|
css(box, `top:${fromPixel(alerts.length ? Math.max.apply(Math, alerts.map(e => e.offsetTop + e.children[0].offsetHeight)) : 0)};height:0;line-height:${fromPixel(singleHeight - 20)};left:0;right:0;font-size:${fromPixel(fontSize)}; transition: all 0.2s ease-out;position:absolute;text-align:center;`);
|
|
28
28
|
box.innerHTML = `<div style='width: 720px;white-space:pre-wrap;max-width:100%;display:inline-block;height:auto;padding:${fromPixel(10)} ${fromPixel(20)};background-color:${bgcolor};color:${color.pair(bgcolor, 1)};'>${[].slice.call(parameters, 0).join(", ")}</div>`;
|
|
29
|
-
box.initialStyle = `margin:-${fromPixel(singleHeight)}
|
|
29
|
+
box.initialStyle = `margin-top:-${fromPixel(singleHeight)};opacity:0;`;
|
|
30
30
|
return box;
|
|
31
31
|
};
|
|
32
32
|
function alert() {
|
|
@@ -10,7 +10,8 @@ function hasEnterStyle(e) {
|
|
|
10
10
|
|
|
11
11
|
function _onappend(node, append = createEvent("append"), mount = createEvent("mounted")) {
|
|
12
12
|
if (node.isMounted) return;
|
|
13
|
-
|
|
13
|
+
node.isMounted = true;
|
|
14
|
+
if (node.nodeType !== 1 && node.nodeType !== 8) return;
|
|
14
15
|
dispatch(node, append);
|
|
15
16
|
var children = Array.apply(null, node.childNodes);
|
|
16
17
|
for (var c of children) {
|