efront 3.3.7 → 3.4.2
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/pivot/api.yml +3 -0
- package/apps/pivot/auth/login.html +9 -0
- package/apps/pivot/auth/login.js +30 -0
- package/apps/pivot/auth/login.less +11 -0
- package/apps/pivot/home/short.html +1 -0
- package/apps/pivot/home/short.js +5 -0
- package/apps/pivot/home/short.less +1 -0
- package/apps/pivot/home/welcome.html +14 -0
- package/apps/pivot/home/welcome.js +24 -0
- package/apps/pivot/home/welcome.less +8 -0
- package/apps/pivot/index.html +41 -0
- package/apps/pivot/main.js +18 -0
- package/apps/pivot/menu.yml +3 -0
- package/apps/zimoli/book/main.js +1 -1
- package/apps/zimoli/broadcast/main.js +1 -1
- package/apps/zimoli/index.html +1 -0
- package/apps/zimoli/main.js +1 -1
- package/apps/zimoli/nearby/main.js +1 -1
- package/apps/zimoli/yuanfen/main.js +1 -1
- package/coms/basic/crypt.js +1 -1
- package/coms/basic/loader.js +1 -1
- package/coms/basic/refilm_decode.js +13 -2
- package/coms/basic/valid.js +10 -0
- package/coms/compile/common.js +451 -0
- package/coms/compile/scanner2.js +8 -405
- package/coms/crypt/encode62.js +23 -33
- package/coms/crypt/encode62_test.js +2 -1
- package/coms/frame/left.html +11 -6
- package/coms/frame/left.js +6 -3
- package/coms/frame/left.less +38 -36
- package/coms/frame/main.js +1 -1
- package/coms/frame/route.js +52 -4
- package/coms/frame/top.less +12 -13
- package/coms/kugou/buildList.js +1 -0
- package/coms/kugou/player.js +3 -0
- package/coms/layer/glance.less +4 -2
- package/coms/zimoli/alert.js +8 -4
- package/coms/zimoli/avatar.js +0 -1
- package/coms/zimoli/checker.html +1 -1
- package/coms/zimoli/checker.less +8 -13
- package/coms/zimoli/cross.js +1 -1
- package/coms/zimoli/css.js +1 -0
- package/coms/zimoli/data.js +8 -3
- package/coms/zimoli/encode62.js +13 -0
- package/coms/zimoli/field.html +2 -0
- package/coms/zimoli/field.js +41 -17
- package/coms/zimoli/field.less +19 -0
- package/coms/zimoli/form.js +8 -0
- package/coms/zimoli/menu.js +11 -1
- package/coms/zimoli/menu.less +1 -1
- package/coms/zimoli/menuItem.js +4 -1
- package/coms/zimoli/model.js +1 -0
- package/coms/zimoli/radio.html +1 -3
- package/coms/zimoli/radio.less +10 -22
- package/coms/zimoli/render.js +34 -63
- package/coms/zimoli/renderDefaults.js +1 -0
- package/coms/zimoli/submit.js +41 -0
- package/coms/zimoli/view.js +0 -5
- package/coms/zimoli/view.less +17 -11
- package/coms/zimoli/zimoli.js +11 -9
- package/data/mime.json +3 -0
- package/package.json +1 -1
- package/public/efront.js +1 -1
- package/coms/zimoli/beian.html +0 -1
- package/coms/zimoli/beian.js +0 -5
- package/coms/zimoli/beian.less +0 -13
package/coms/compile/scanner2.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
var createNamelist = require("./namelist");
|
|
2
2
|
|
|
3
|
-
const
|
|
3
|
+
const {
|
|
4
4
|
/*-1 */COMMENT,
|
|
5
5
|
/* 0 */SPACE,
|
|
6
6
|
/* 1 */STRAP,
|
|
@@ -12,104 +12,12 @@ const [
|
|
|
12
12
|
/* 7 */SCOPED,
|
|
13
13
|
/* 8 */LABEL,
|
|
14
14
|
/* 9 */PROPERTY,
|
|
15
|
-
|
|
15
|
+
number_reg,
|
|
16
|
+
skipAssignment,
|
|
17
|
+
createScoped,
|
|
18
|
+
} = require("./common");
|
|
16
19
|
|
|
17
|
-
var saveTo = function (used, k, o) {
|
|
18
|
-
if (!(used[k] instanceof Array)) used[k] = [];
|
|
19
|
-
used[k].push(o);
|
|
20
|
-
};
|
|
21
20
|
|
|
22
|
-
var mergeTo = function (used, used0) {
|
|
23
|
-
for (var k in used0) {
|
|
24
|
-
var v = used0[k];
|
|
25
|
-
for (var s of v) saveTo(used, k, s);
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
var skipAssignment = function (o) {
|
|
29
|
-
var needpunc = false;
|
|
30
|
-
var o0 = o;
|
|
31
|
-
loop: while (o) switch (o.type) {
|
|
32
|
-
case STAMP:
|
|
33
|
-
switch (o.text) {
|
|
34
|
-
case ",":
|
|
35
|
-
case ";":
|
|
36
|
-
break loop;
|
|
37
|
-
case "++":
|
|
38
|
-
case "--":
|
|
39
|
-
o = o.next;
|
|
40
|
-
break;
|
|
41
|
-
case "!":
|
|
42
|
-
case "~":
|
|
43
|
-
case "+":
|
|
44
|
-
case "-":
|
|
45
|
-
o = o.next;
|
|
46
|
-
needpunc = false;
|
|
47
|
-
break;
|
|
48
|
-
default:
|
|
49
|
-
if (/^[!~\+\-]+$/.test(o.text)) {
|
|
50
|
-
needpunc = false;
|
|
51
|
-
o = o.next;
|
|
52
|
-
break;
|
|
53
|
-
}
|
|
54
|
-
if (!needpunc) break loop;
|
|
55
|
-
needpunc = false;
|
|
56
|
-
o = o.next;
|
|
57
|
-
}
|
|
58
|
-
break;
|
|
59
|
-
case SCOPED:
|
|
60
|
-
if (needpunc && o.entry === "{") break loop;
|
|
61
|
-
o = o.next;
|
|
62
|
-
needpunc = true;
|
|
63
|
-
break;
|
|
64
|
-
case EXPRESS:
|
|
65
|
-
if (/^\.|\.$/.test(o.text)) {
|
|
66
|
-
o = o.next;
|
|
67
|
-
break;
|
|
68
|
-
}
|
|
69
|
-
else if (/^\[/.test(o.text)) {
|
|
70
|
-
needpunc = true;
|
|
71
|
-
o = o.next;
|
|
72
|
-
break;
|
|
73
|
-
}
|
|
74
|
-
case VALUE:
|
|
75
|
-
case QUOTED:
|
|
76
|
-
if (needpunc) break loop;
|
|
77
|
-
needpunc = true;
|
|
78
|
-
o = o.next;
|
|
79
|
-
break;
|
|
80
|
-
case STRAP:
|
|
81
|
-
if (needpunc) {
|
|
82
|
-
if (!/^(in|instanceof)$/.test(o.text)) break loop;
|
|
83
|
-
o = o.next;
|
|
84
|
-
needpunc = false;
|
|
85
|
-
}
|
|
86
|
-
else if (o.text === "class") {
|
|
87
|
-
o = o.next;
|
|
88
|
-
while (o && !o.isClass) o = o.next;
|
|
89
|
-
while (o && o.isClass) o = o.next;
|
|
90
|
-
needpunc = true;
|
|
91
|
-
break;
|
|
92
|
-
}
|
|
93
|
-
else if (o.text === "function") {
|
|
94
|
-
o = o.next;
|
|
95
|
-
if (o && o.type === EXPRESS) o = o.next;
|
|
96
|
-
if (o) o = o.next;
|
|
97
|
-
if (o) o = o.next;
|
|
98
|
-
needpunc = true;
|
|
99
|
-
break;
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
o = o.next;
|
|
103
|
-
needpunc = false;
|
|
104
|
-
}
|
|
105
|
-
break;
|
|
106
|
-
default:
|
|
107
|
-
console.log(o);
|
|
108
|
-
throw new Error('代码结构异常!');
|
|
109
|
-
o = o.next;
|
|
110
|
-
}
|
|
111
|
-
return o;
|
|
112
|
-
};
|
|
113
21
|
|
|
114
22
|
var needBreak = function (prev, next) {
|
|
115
23
|
if (!prev || !next) return;
|
|
@@ -139,78 +47,6 @@ var needBreak = function (prev, next) {
|
|
|
139
47
|
}
|
|
140
48
|
};
|
|
141
49
|
|
|
142
|
-
var getDeclared = function (o, kind) {
|
|
143
|
-
var declared = Object.create(null), used = Object.create(null); var skiped = [];
|
|
144
|
-
loop: while (o) {
|
|
145
|
-
while (o && o.type === STAMP && o.text === ',') o = o.next;
|
|
146
|
-
if (!o) break;
|
|
147
|
-
if (o.isprop) {
|
|
148
|
-
skiped.push(o);
|
|
149
|
-
if (o.next && o.next.type === STAMP && o.next.text === ":") {
|
|
150
|
-
o = o.next;
|
|
151
|
-
o = o.next;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
switch (o.type) {
|
|
155
|
-
case PROPERTY:
|
|
156
|
-
if (o.next && o.next.type === STAMP && o.next.text === ":") {
|
|
157
|
-
o = o.next.next;
|
|
158
|
-
continue;
|
|
159
|
-
}
|
|
160
|
-
case STRAP:
|
|
161
|
-
case VALUE:
|
|
162
|
-
case EXPRESS:
|
|
163
|
-
var n = o.text.replace(/^\.\.\.|\.\.\.$/g, '');
|
|
164
|
-
declared[n] = true;
|
|
165
|
-
o.kind = kind;
|
|
166
|
-
saveTo(used, n, o);
|
|
167
|
-
o = o.next;
|
|
168
|
-
break;
|
|
169
|
-
case SCOPED:
|
|
170
|
-
var [d, u, _, s] = getDeclared(o.first, kind);
|
|
171
|
-
while (s.length) skiped.push.apply(skiped, s.splice(0, 1024));
|
|
172
|
-
mergeTo(used, u);
|
|
173
|
-
Object.assign(declared, d);
|
|
174
|
-
o = o.next;
|
|
175
|
-
break;
|
|
176
|
-
|
|
177
|
-
default:
|
|
178
|
-
console.log(o);
|
|
179
|
-
throw new Error("代码结构异常");
|
|
180
|
-
}
|
|
181
|
-
if (!o) break;
|
|
182
|
-
switch (o.type) {
|
|
183
|
-
case STRAP:
|
|
184
|
-
if (/^(in|of)$/.test(o.text)) {
|
|
185
|
-
o = o.next;
|
|
186
|
-
var o0 = skipAssignment(o);
|
|
187
|
-
do {
|
|
188
|
-
skiped.push(o);
|
|
189
|
-
o = o.next;
|
|
190
|
-
} while (o !== o0);
|
|
191
|
-
o = o0;
|
|
192
|
-
break;
|
|
193
|
-
}
|
|
194
|
-
break loop;
|
|
195
|
-
case STAMP:
|
|
196
|
-
if (o.text === "=") {
|
|
197
|
-
o = o.next;
|
|
198
|
-
var o0 = skipAssignment(o);
|
|
199
|
-
do {
|
|
200
|
-
skiped.push(o);
|
|
201
|
-
o = o.next;
|
|
202
|
-
} while (o !== o0);
|
|
203
|
-
o = o0;
|
|
204
|
-
break;
|
|
205
|
-
}
|
|
206
|
-
break;
|
|
207
|
-
}
|
|
208
|
-
if (!o) break;
|
|
209
|
-
if (o.type !== STAMP) break;
|
|
210
|
-
if (o.text !== ',') break;
|
|
211
|
-
}
|
|
212
|
-
return [declared, used, o, skiped];
|
|
213
|
-
}
|
|
214
50
|
|
|
215
51
|
var compress = function (scoped, maped) {
|
|
216
52
|
var { lets, vars, used } = scoped;
|
|
@@ -316,7 +152,7 @@ var detour = function (o, ie) {
|
|
|
316
152
|
class Program extends Array {
|
|
317
153
|
COMMENT = COMMENT
|
|
318
154
|
SPACE = SPACE
|
|
319
|
-
|
|
155
|
+
STRAP = STRAP
|
|
320
156
|
STAMP = STAMP
|
|
321
157
|
VALUE = VALUE
|
|
322
158
|
QUOTED = QUOTED
|
|
@@ -443,240 +279,7 @@ class Program extends Array {
|
|
|
443
279
|
}
|
|
444
280
|
get scoped() {
|
|
445
281
|
if (this._scoped) return this._scoped;
|
|
446
|
-
|
|
447
|
-
var scoped = this._scoped = [];
|
|
448
|
-
var run = function (o, id) {
|
|
449
|
-
loop: while (o) {
|
|
450
|
-
var isCatch = false;
|
|
451
|
-
var isFunction = false;
|
|
452
|
-
var isScope = false;
|
|
453
|
-
var isArrow = false;
|
|
454
|
-
switch (o.type) {
|
|
455
|
-
case QUOTED:
|
|
456
|
-
if (o.length) {
|
|
457
|
-
run(o.first);
|
|
458
|
-
}
|
|
459
|
-
break;
|
|
460
|
-
case STAMP:
|
|
461
|
-
break;
|
|
462
|
-
case PROPERTY:
|
|
463
|
-
if (o.next) {
|
|
464
|
-
if (o.next.type !== STAMP || o.next.text !== ",") break;
|
|
465
|
-
}
|
|
466
|
-
case VALUE:
|
|
467
|
-
if (program.number_reg.test(o.text)) break;
|
|
468
|
-
case EXPRESS:
|
|
469
|
-
if (o.prev && o.prev.type === EXPRESS) {
|
|
470
|
-
if (/\.$/.test(o.prev.text)) break;
|
|
471
|
-
}
|
|
472
|
-
var u = o.text.replace(/^([^\.\[]*)[\s\S]*$/, '$1');
|
|
473
|
-
if (!u) break;
|
|
474
|
-
if (o.next && o.next.type === STAMP && o.next.text === "=>") {
|
|
475
|
-
isScope = true;
|
|
476
|
-
isArrow = true;
|
|
477
|
-
}
|
|
478
|
-
else {
|
|
479
|
-
saveTo(used, u, o);
|
|
480
|
-
}
|
|
481
|
-
break;
|
|
482
|
-
case LABEL:
|
|
483
|
-
var name = o.text;
|
|
484
|
-
name = name.slice(0, name.length - 1);
|
|
485
|
-
vars[name] = true;
|
|
486
|
-
o.kind = "label";
|
|
487
|
-
saveTo(used, name, o);
|
|
488
|
-
break;
|
|
489
|
-
|
|
490
|
-
case STRAP:
|
|
491
|
-
var s = o.text;
|
|
492
|
-
switch (s) {
|
|
493
|
-
case "var":
|
|
494
|
-
case "import":
|
|
495
|
-
var m = vars;
|
|
496
|
-
case "let":
|
|
497
|
-
case "const":
|
|
498
|
-
m = m || lets;
|
|
499
|
-
var [declared, used0, o0, skiped] = getDeclared(o.next, s);
|
|
500
|
-
while (skiped.length) {
|
|
501
|
-
var o1 = run(skiped[0], 0);
|
|
502
|
-
let sindex = skiped.indexOf(o1);
|
|
503
|
-
if (sindex < 0) break;
|
|
504
|
-
skiped.splice(0, sindex + 1);
|
|
505
|
-
}
|
|
506
|
-
o = o0;
|
|
507
|
-
mergeTo(used, used0);
|
|
508
|
-
Object.assign(m, declared);
|
|
509
|
-
continue loop;
|
|
510
|
-
case "function":
|
|
511
|
-
isFunction = true;
|
|
512
|
-
case "catch":
|
|
513
|
-
isCatch = true;
|
|
514
|
-
case "class":
|
|
515
|
-
if (!o.isExpress) {
|
|
516
|
-
o = o.next;
|
|
517
|
-
|
|
518
|
-
if (o.type === EXPRESS) {
|
|
519
|
-
vars[o.text] = true;
|
|
520
|
-
o.kind = isFunction ? 'function' : 'class';
|
|
521
|
-
saveTo(used, o.text, o);
|
|
522
|
-
|
|
523
|
-
o = o.next;
|
|
524
|
-
}
|
|
525
|
-
}
|
|
526
|
-
isScope = true;
|
|
527
|
-
break;
|
|
528
|
-
|
|
529
|
-
}
|
|
530
|
-
break;
|
|
531
|
-
case SCOPED:
|
|
532
|
-
if (o.entry === "(") {
|
|
533
|
-
if (o.next && o.next.type === STAMP && o.next.text === "=>"
|
|
534
|
-
|| o.prev && (o.prev.type === PROPERTY || o.prev.isprop)) {
|
|
535
|
-
isArrow = true;
|
|
536
|
-
isScope = true;
|
|
537
|
-
}
|
|
538
|
-
else {
|
|
539
|
-
run(o.first);
|
|
540
|
-
}
|
|
541
|
-
}
|
|
542
|
-
else if (o.entry === "{") {
|
|
543
|
-
isScope = true;
|
|
544
|
-
}
|
|
545
|
-
else {
|
|
546
|
-
run(o.first);
|
|
547
|
-
}
|
|
548
|
-
break;
|
|
549
|
-
}
|
|
550
|
-
if (isScope) {
|
|
551
|
-
var _used = used;
|
|
552
|
-
var _lets = lets;
|
|
553
|
-
var _vars = vars;
|
|
554
|
-
var _scoped = scoped;
|
|
555
|
-
used = Object.create(null);
|
|
556
|
-
lets = Object.create(null);
|
|
557
|
-
vars = Object.create(null);
|
|
558
|
-
scoped = [];
|
|
559
|
-
var isExpress = o.isExpress;
|
|
560
|
-
|
|
561
|
-
if (isFunction || isArrow) {
|
|
562
|
-
scoped.used = used;
|
|
563
|
-
scoped.vars = vars;
|
|
564
|
-
lets = vars;
|
|
565
|
-
if (isFunction) vars.this = true, vars.arguments = true;
|
|
566
|
-
isFunction = true;
|
|
567
|
-
} else {
|
|
568
|
-
vars = _vars;
|
|
569
|
-
scoped.lets = lets;
|
|
570
|
-
scoped.used = used;
|
|
571
|
-
}
|
|
572
|
-
if (isArrow);
|
|
573
|
-
else if (o.isExpress && o.type !== SCOPED) {
|
|
574
|
-
o = o.next;
|
|
575
|
-
if (o.type === EXPRESS) {
|
|
576
|
-
vars[o.text] = true;
|
|
577
|
-
o.kind = isFunction ? 'function' : 'class';
|
|
578
|
-
saveTo(used, o.text, o);
|
|
579
|
-
o = o.next;
|
|
580
|
-
}
|
|
581
|
-
}
|
|
582
|
-
if (!isFunction) while (o.type !== SCOPED) {
|
|
583
|
-
// if (o.next && o.next.type === STAMP && o.next.text === "=>") break;
|
|
584
|
-
o = run(o, 0);
|
|
585
|
-
o = o.next;
|
|
586
|
-
if (!o) break loop;
|
|
587
|
-
}
|
|
588
|
-
|
|
589
|
-
if (o.entry === "(") {
|
|
590
|
-
o.isExpress = isExpress;
|
|
591
|
-
if (isFunction || isCatch) {
|
|
592
|
-
var [declared, used0, o0, skiped] = getDeclared(o.first, 'argument');
|
|
593
|
-
mergeTo(used, used0);
|
|
594
|
-
while (skiped.length) {
|
|
595
|
-
var o1 = run(skiped[0], 0);
|
|
596
|
-
var sindex = skiped.indexOf(o1);
|
|
597
|
-
if (sindex < 0) break;
|
|
598
|
-
skiped.splice(0, sindex + 1);
|
|
599
|
-
}
|
|
600
|
-
Object.assign(isCatch ? lets : vars, declared);
|
|
601
|
-
}
|
|
602
|
-
else {
|
|
603
|
-
run(o.first);
|
|
604
|
-
}
|
|
605
|
-
o = o.next;
|
|
606
|
-
if (!o) break;
|
|
607
|
-
if (o.type === STAMP && o.text === "=>") o = o.next;
|
|
608
|
-
}
|
|
609
|
-
else if (isArrow) {
|
|
610
|
-
vars[o.text] = true;
|
|
611
|
-
o.kind = 'argument';
|
|
612
|
-
saveTo(used, o.text, o);
|
|
613
|
-
o = o.next.next;
|
|
614
|
-
}
|
|
615
|
-
if (!o) break;
|
|
616
|
-
if (o.type === SCOPED && o.entry === "{") {
|
|
617
|
-
o.isExpress = isExpress;
|
|
618
|
-
run(o.first);
|
|
619
|
-
}
|
|
620
|
-
else {
|
|
621
|
-
do {
|
|
622
|
-
if (o.type === STAMP && o.text === ";") break;
|
|
623
|
-
o = run(o, 0);
|
|
624
|
-
var next = o.next;
|
|
625
|
-
if (!next) break;
|
|
626
|
-
var e = o;
|
|
627
|
-
if (o.type === STAMP && /^(\+\+|\-\-)$/.test(o.text) || ~[VALUE, QUOTED, SCOPED].indexOf(o.type) || EXPRESS === o.type && !/\.$/.test(o.text)) {
|
|
628
|
-
if (~[VALUE, QUOTED, PROPERTY, LABEL].indexOf(next.type)) break;
|
|
629
|
-
if (EXPRESS === next.type && !/^\./.test(next.text)) break;
|
|
630
|
-
if (next.type === SCOPED && next.entry === "{") break;
|
|
631
|
-
}
|
|
632
|
-
o = next;
|
|
633
|
-
} while (o);
|
|
634
|
-
}
|
|
635
|
-
var map = isFunction ? vars : lets;
|
|
636
|
-
var keepscope = false;
|
|
637
|
-
for (var k in map) {
|
|
638
|
-
keepscope = true;
|
|
639
|
-
break;
|
|
640
|
-
}
|
|
641
|
-
if (keepscope) {
|
|
642
|
-
for (var k in used) {
|
|
643
|
-
if (!(k in map)) {
|
|
644
|
-
for (var u of used[k]) {
|
|
645
|
-
saveTo(_used, k, u);
|
|
646
|
-
}
|
|
647
|
-
}
|
|
648
|
-
}
|
|
649
|
-
_scoped.push(scoped);
|
|
650
|
-
}
|
|
651
|
-
else {
|
|
652
|
-
mergeTo(_used, used);
|
|
653
|
-
if (scoped.length) _scoped.push(scoped);
|
|
654
|
-
}
|
|
655
|
-
if (vars.this) {
|
|
656
|
-
delete vars.this;
|
|
657
|
-
delete vars.arguments;
|
|
658
|
-
}
|
|
659
|
-
used = _used;
|
|
660
|
-
lets = _lets;
|
|
661
|
-
vars = _vars;
|
|
662
|
-
scoped = _scoped;
|
|
663
|
-
}
|
|
664
|
-
if (id >= 0) break;
|
|
665
|
-
if (o) o = o.next;
|
|
666
|
-
}
|
|
667
|
-
return o;
|
|
668
|
-
};
|
|
669
|
-
run(this.first);
|
|
670
|
-
scoped.used = used;
|
|
671
|
-
scoped.vars = vars;
|
|
672
|
-
var envs = Object.create(null);
|
|
673
|
-
for (var u in used) {
|
|
674
|
-
if (!(u in vars)) {
|
|
675
|
-
if (!/^(true|false|null|this|arguments)$/.test(u)) envs[u] = true;
|
|
676
|
-
}
|
|
677
|
-
}
|
|
678
|
-
scoped.envs = envs;
|
|
679
|
-
return this._scoped;
|
|
282
|
+
return this._scoped = createScoped(this);
|
|
680
283
|
}
|
|
681
284
|
getUndecleared() {
|
|
682
285
|
return this.envs;
|
|
@@ -717,7 +320,7 @@ class Javascript {
|
|
|
717
320
|
]
|
|
718
321
|
stamps = "/=+;|:?<>-!~@#%^&*,".split("")
|
|
719
322
|
value_reg = /^(false|true|null|Infinity|NaN|undefined|arguments|this|eval)$/
|
|
720
|
-
number_reg =
|
|
323
|
+
number_reg = number_reg;
|
|
721
324
|
transive = /^(new|var|let|const|yield|void|in|of|typeof|delete|case|return|await|export|default|instanceof|throw|extends|import|from)$/
|
|
722
325
|
straps = `if,in,do,as,of
|
|
723
326
|
var,for,new,try,let,get,set
|
package/coms/crypt/encode62.js
CHANGED
|
@@ -7,7 +7,7 @@ src.split("").forEach((s, i) => map[s] = i);
|
|
|
7
7
|
function encode62(string) {
|
|
8
8
|
string = String(string)
|
|
9
9
|
string = string.length + string + "2017-08-19";
|
|
10
|
-
var buff =
|
|
10
|
+
var buff = src.split('');
|
|
11
11
|
for (var cx = 0, dx = buff.length + src.length, sl = string.length, cl = buff.length; cx < dx; cx++) {
|
|
12
12
|
var s1 = string.charCodeAt(cx % sl) % cl;
|
|
13
13
|
var s2 = cx % cl;
|
|
@@ -15,7 +15,7 @@ function encode62(string) {
|
|
|
15
15
|
buff[s1] = buff[s2];
|
|
16
16
|
buff[s2] = btemp;
|
|
17
17
|
}
|
|
18
|
-
return buff.
|
|
18
|
+
return buff.join('');
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
|
|
@@ -35,9 +35,23 @@ Object.assign(encode62, {
|
|
|
35
35
|
},
|
|
36
36
|
timeencode(string) {
|
|
37
37
|
var { time_delta } = this;
|
|
38
|
-
var
|
|
38
|
+
var time_free = time_delta / 6 | 0;
|
|
39
|
+
var time_stamp = +new Date() - time_free;
|
|
39
40
|
var time_rest = time_stamp % time_delta;
|
|
40
|
-
|
|
41
|
+
var time_rest_str = time_rest.toString(36);
|
|
42
|
+
var time_delta_str = time_delta.toString(36);
|
|
43
|
+
return this.encode62(string, time_stamp.toString(36)) + repeat("0", time_delta_str.length - time_rest_str.length) + time_rest_str;
|
|
44
|
+
},
|
|
45
|
+
timeupdate(string) {
|
|
46
|
+
var { time_delta } = this;
|
|
47
|
+
var time_rest = string.slice(string.length - time_delta.toString(36).length, string.length);
|
|
48
|
+
var time_start = parseInt((new Date() - parseInt(time_rest, 36)) / time_delta) * time_delta;
|
|
49
|
+
var time_stamp = time_start + parseInt(time_rest, 36);
|
|
50
|
+
if (time_stamp + (time_delta >> 1) > +new Date()) {
|
|
51
|
+
return string;
|
|
52
|
+
} else {
|
|
53
|
+
return this.timeencode(this.timedecode(string));
|
|
54
|
+
}
|
|
41
55
|
},
|
|
42
56
|
encode62(data, sign) {
|
|
43
57
|
if (!sign) return data;
|
|
@@ -53,15 +67,6 @@ Object.assign(encode62, {
|
|
|
53
67
|
});
|
|
54
68
|
return result;
|
|
55
69
|
},
|
|
56
|
-
encode(data, sign) {
|
|
57
|
-
if (!sign) return data;
|
|
58
|
-
var result = Buffer.from(data);
|
|
59
|
-
sign = Buffer.from(sign);
|
|
60
|
-
for (var cx = 0, dx = data.length; cx < dx; cx++) {
|
|
61
|
-
result[cx] = result[cx] ^ sign[cx % sign.length];
|
|
62
|
-
}
|
|
63
|
-
return result;
|
|
64
|
-
},
|
|
65
70
|
decode(data, sign) {
|
|
66
71
|
if (!sign) return data;
|
|
67
72
|
var result = Buffer.from(data);
|
|
@@ -75,7 +80,7 @@ Object.assign(encode62, {
|
|
|
75
80
|
return encode62(string);
|
|
76
81
|
},
|
|
77
82
|
genb() {
|
|
78
|
-
return encode62(Date.now() + "" + Math.random());
|
|
83
|
+
return encode62(Date.now() * Math.random() + "" + Math.random().toString(36) + Math.random().toString(36).toUpperCase());
|
|
79
84
|
},
|
|
80
85
|
huan(x, y) {
|
|
81
86
|
return x.split("").map(s => y[map[s]]).join("");
|
|
@@ -90,24 +95,9 @@ Object.assign(encode62, {
|
|
|
90
95
|
y.split("").forEach((a, j) => y_map[a] = j);
|
|
91
96
|
return z.split("").map(c => src[y_map[c]]).join("");
|
|
92
97
|
},
|
|
93
|
-
ab2c(a, b) {
|
|
94
|
-
return this.huan(a, b);
|
|
95
|
-
},
|
|
96
|
-
ba2d(a, b) {
|
|
97
|
-
return this.huan(b, a);
|
|
98
|
-
},
|
|
99
|
-
ca2b(c, a) {
|
|
100
|
-
return this.yuan(c, a);
|
|
101
|
-
},
|
|
102
|
-
cb2a(c, b) {
|
|
103
|
-
return this.suan(c, b);
|
|
104
|
-
},
|
|
105
|
-
da2b(d, a) {
|
|
106
|
-
return this.suan(d, a);
|
|
107
|
-
},
|
|
108
|
-
db2a(d, b) {
|
|
109
|
-
return this.yuan(d, b);
|
|
110
|
-
}
|
|
111
98
|
});
|
|
112
|
-
|
|
99
|
+
encode62.ab2c = encode62.ba2d = encode62.huan;
|
|
100
|
+
encode62.db2a = encode62.ca2b = encode62.yuan;
|
|
101
|
+
encode62.da2b = encode62.cb2a = encode62.suan;
|
|
102
|
+
encode62.encode = encode62.decode;
|
|
113
103
|
encode62.decode62 = encode62.encode62;
|
package/coms/frame/left.html
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
<div class="navbar-header">
|
|
2
|
-
<
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
<div ng-if="!user.isLogin" class="navbar-header">
|
|
2
|
+
<!-- <avatar></avatar> -->
|
|
3
|
+
<a @click="popup('#/user/login')" class="dashboard_text">请登录</a>
|
|
4
|
+
</div>
|
|
5
|
+
<div -else class="navbar-header">
|
|
6
|
+
<span class="dashboard_text" @click="go('/user/profile')">
|
|
7
|
+
<avatar ng-src="user.avatar" size=30></avatar>
|
|
8
|
+
<span ng-bind="user.name"></span>
|
|
9
|
+
<span ng-bind="user.roles"></span>
|
|
10
|
+
</span>
|
|
5
11
|
</div>
|
|
6
12
|
<ylist mode=inline ng-src="menu in menus" class="sidebar-menu" ng-active="menus.open(event.value)">
|
|
7
|
-
</ylist>
|
|
8
|
-
<btn class="setting" ng-click="go('/user/setting')"><i class="fa fa-gear"></i>设置</btn>
|
|
13
|
+
</ylist>
|
package/coms/frame/left.js
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
var page =
|
|
1
|
+
var page = document.createElement("都说我负天下人_可你们天下人_又何曾善待过我");
|
|
2
2
|
page.innerHTML = left;
|
|
3
|
-
|
|
3
|
+
if (!user.avatar) user.avatar = "user/avatar.png";
|
|
4
|
+
frame$route.fetch('menu.yml')
|
|
4
5
|
render(page, {
|
|
5
6
|
ylist: menu,
|
|
6
7
|
btn: button,
|
|
7
8
|
go,
|
|
8
9
|
user,
|
|
9
|
-
|
|
10
|
+
avatar,
|
|
11
|
+
popup,
|
|
12
|
+
menus: frame$route,
|
|
10
13
|
});
|
|
11
14
|
function main() {
|
|
12
15
|
return page;
|