efront 3.25.0 → 3.25.3
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/index.jsp +97 -10
- package/apps/kugou/rank/detail.js +1 -1
- package/apps/noice/index.html +43 -0
- package/apps/noice/main.html +3 -0
- package/apps/noice/main.js +96 -0
- package/apps/noice/main.less +30 -0
- package/coms/basic/FormData.js +11 -1
- package/coms/basic/Item.js +14 -5
- package/coms/basic/Tree.js +44 -5
- package/coms/basic/bdecode.js +34 -1
- package/coms/basic/cross_.js +96 -46
- package/coms/basic/decodeGBK.js +79 -0
- package/coms/basic/decodeGBK_test.js +16 -0
- package/coms/basic/isEmpty.js +1 -1
- package/coms/basic/parseKV.js +31 -3
- package/coms/basic/serialize.js +28 -4
- package/coms/frame/edit.js +3 -3
- package/coms/frame/list.html +4 -1
- package/coms/frame/list.js +18 -10
- package/coms/frame/list.less +3 -0
- package/coms/kugou/api.js +2 -1
- package/coms/kugou/buildList.html +2 -2
- package/coms/kugou/buildList.less +3 -0
- package/coms/kugou/buildScroll.js +11 -2
- package/coms/kugou/song.less +16 -0
- package/coms/pivot/bdecode2.js +26 -0
- package/coms/pivot/plist.js +34 -2
- package/coms/reptile/cross.js +4 -2
- package/coms/view//344/272/272/346/260/221/345/270/201.js +53 -0
- package/coms/zimoli/audio.js +18 -4
- package/coms/zimoli/button.less +1 -1
- package/coms/zimoli/cast.js +11 -6
- package/coms/zimoli/chooseFile.js +11 -3
- package/coms/zimoli/contextmenu.js +37 -4
- package/coms/zimoli/cross.js +1 -1
- package/coms/zimoli/css.js +14 -5
- package/coms/zimoli/data.js +1 -0
- package/coms/zimoli/getGenerator.js +2 -2
- package/coms/zimoli/lattice.js +20 -16
- package/coms/zimoli/list.js +3 -3
- package/coms/zimoli/loading.html +1 -1
- package/coms/zimoli/menu.js +7 -7
- package/coms/zimoli/menuList.js +0 -2
- package/coms/zimoli/popup.js +12 -22
- package/coms/zimoli/render.js +3 -1
- package/coms/zimoli/tree.js +8 -0
- package/coms/zimoli/tree.less +26 -0
- package/data/gbk.txt +1 -0
- package/package.json +1 -1
- package/public/efront.js +1 -1
- package/data/gbk-unicode-utf8-cn.txt +0 -6763
package/coms/kugou/api.js
CHANGED
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
"song-mix;": "mget:script:nth-last-child(2) mixsong/:hashid.html",
|
|
8
8
|
"rank-list": "get:[].panel-img-list%20li rank/list#href=a!href&=a!href\\rank-info&imgurl=img!_src&name=p|innerText",
|
|
9
9
|
"rank-info": "get:[].panel-songslist%20li rank/info/:id#src=!id&name=.panel-songs-item-name|innerText&data=.panel-songs-item-download/innerText",
|
|
10
|
+
"rank-title": "get:.page-title rank/info/:id#title=!innerText",
|
|
10
11
|
"plist-index": "get:[].panel-img-list%20li plist/index#href=a!href&=a!href\\plist-info&imgurl=img!_src&name=.panel-img-content-first|innerText&count=.panel-img-content-sub|innerText",
|
|
11
|
-
"plist-info": "
|
|
12
|
+
"plist-info": "mget:[].panel-songslist%20li plist/list/:id/#name=.panel-songs-item-name|innerText&data=.panel-songs-item-download/innerText",
|
|
12
13
|
"search-hot": "get api/v3/search/hot?format=json&plat=0&count=30",
|
|
13
14
|
"singer-class": "get:[].bd%20li singer/class#href=a!href&=a!href\\singer-list&name=a|innerText&group=?parentNode",
|
|
14
15
|
"singer-list": "get:[].singer-img-list>li singer/list/:id#href=a!href&=a!href\\singer-info0&imgurl=img!_src&name=p|innerText",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
<list ng-src="s in datas" min-width
|
|
1
|
+
<list ng-src="s in datas" min-width:=datas[0]?.name?320:120>
|
|
2
2
|
<padding>
|
|
3
|
-
<song ng-click="run(s)" ng-class="{activate:s.hash===musicList.active_hash}" ng-src="s"></song>
|
|
3
|
+
<song ng-click="run(s)" ng-class="{activate:s.hash===musicList.active_hash,imgonly:!datas[0]?.name}" ng-src="s"></song>
|
|
4
4
|
</padding>
|
|
5
5
|
</list>
|
|
6
6
|
<loading ng-if="datas.is_loading"></loading>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function Main(dataid, datapath) {
|
|
1
|
+
function Main(dataid, datapath, titleid) {
|
|
2
2
|
var _titlebar = titlebar(" ");
|
|
3
3
|
var page = createVboxWithState(state);
|
|
4
4
|
page.initialStyle = 'margin-left:100%';
|
|
@@ -24,7 +24,7 @@ function Main(dataid, datapath) {
|
|
|
24
24
|
bindScroll(_titlebar, page);
|
|
25
25
|
var loadedId;
|
|
26
26
|
function main(params) {
|
|
27
|
-
var { _text, title, name = _text || title, id } = params;
|
|
27
|
+
var { _text, title = "", name = _text || title, id } = params;
|
|
28
28
|
if (loadedId !== id) {
|
|
29
29
|
loadedId = id;
|
|
30
30
|
var ranklist = data.from(dataid, {
|
|
@@ -32,6 +32,15 @@ function Main(dataid, datapath) {
|
|
|
32
32
|
}, parseSongsList);
|
|
33
33
|
page.$scope.config = params;
|
|
34
34
|
page.$scope.datas = ranklist;
|
|
35
|
+
if (titleid) {
|
|
36
|
+
data.from(titleid, {
|
|
37
|
+
id
|
|
38
|
+
}).then(function ({ title }) {
|
|
39
|
+
console.log(arguments)
|
|
40
|
+
_titlebar.setTitle(title);
|
|
41
|
+
document.title = title;
|
|
42
|
+
})
|
|
43
|
+
}
|
|
35
44
|
}
|
|
36
45
|
_titlebar.setTitle(name);
|
|
37
46
|
document.title = name;
|
package/coms/kugou/song.less
CHANGED
|
@@ -38,6 +38,22 @@
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
}
|
|
41
|
+
&.imgonly{
|
|
42
|
+
padding: 0;
|
|
43
|
+
line-height: 0;
|
|
44
|
+
font-size: 0;
|
|
45
|
+
padding-bottom: 76%;
|
|
46
|
+
height: auto;
|
|
47
|
+
>:not(png){
|
|
48
|
+
display: none;
|
|
49
|
+
}
|
|
50
|
+
>.logo{
|
|
51
|
+
position: absolute;
|
|
52
|
+
height: 100%;
|
|
53
|
+
width: 100%;
|
|
54
|
+
margin: 0;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
41
57
|
|
|
42
58
|
>.song {
|
|
43
59
|
line-height: 30px;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
var encoding = '';
|
|
2
|
+
function kv(o) {
|
|
3
|
+
if (o instanceof Uint8Array) return /^gb/i.test(encoding) ? decodeGBK(o) : decodeUTF8(o);
|
|
4
|
+
if (isArray(o)) return o.map(kv);
|
|
5
|
+
if (isString(o)) return o;
|
|
6
|
+
if (isObject(o)) for (var k in o) {
|
|
7
|
+
if (/piece|ed2k|peer|hash$/.test(k)) continue;
|
|
8
|
+
if (/\.utf-8$/i.test(k)) {
|
|
9
|
+
var e = encoding;
|
|
10
|
+
encoding = '';
|
|
11
|
+
o[k] = kv(o[k]);
|
|
12
|
+
encoding = e;
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
o[k] = kv(o[k])
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return o
|
|
19
|
+
}
|
|
20
|
+
function bdecode2(rent) {
|
|
21
|
+
var d = bdecode(rent);
|
|
22
|
+
if (d.encoding) encoding = String.fromCharCode.apply(String, d.encoding);
|
|
23
|
+
else encoding = '';
|
|
24
|
+
d = kv(d);
|
|
25
|
+
return d;
|
|
26
|
+
}
|
package/coms/pivot/plist.js
CHANGED
|
@@ -1,5 +1,36 @@
|
|
|
1
1
|
|
|
2
|
-
function main(
|
|
2
|
+
function main() {
|
|
3
|
+
var title, type, fields, edit_ref, options, idkey, buttons;
|
|
4
|
+
var parse = function (a) {
|
|
5
|
+
switch (typeof a) {
|
|
6
|
+
case "string":
|
|
7
|
+
if (!title) title = a;
|
|
8
|
+
else if (!type) type = a;
|
|
9
|
+
else if (!edit_ref) edit_ref = a;
|
|
10
|
+
else idkey = a;
|
|
11
|
+
break;
|
|
12
|
+
case "object":
|
|
13
|
+
if (a instanceof Array) {
|
|
14
|
+
if (!fields) fields = a;
|
|
15
|
+
else if (!options) options = a;
|
|
16
|
+
}
|
|
17
|
+
else if (a !== null) {
|
|
18
|
+
({
|
|
19
|
+
fields = fields,
|
|
20
|
+
options=options,
|
|
21
|
+
buttons=buttons,
|
|
22
|
+
idkey=idkey,
|
|
23
|
+
edit_ref=edit_ref,
|
|
24
|
+
title=title,
|
|
25
|
+
type=type
|
|
26
|
+
} = a);
|
|
27
|
+
}
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
for (var a of arguments) parse(a);
|
|
32
|
+
if (!fields) parse(this);
|
|
33
|
+
if (!idkey) idkey = fields[0].key;
|
|
3
34
|
return frame$list(title, {
|
|
4
35
|
load() {
|
|
5
36
|
return data.from("list", { type }, a => JSAM.parse(encode62.timedecode(a || '')));
|
|
@@ -8,9 +39,10 @@ function main(title, type, fields, edit_ref, options, idkey = fields[0].key) {
|
|
|
8
39
|
return data.from("edit", { type, key: encode62.timeencode(o[idkey]), value: encode62.timeencode("") }).loading_promise;
|
|
9
40
|
},
|
|
10
41
|
fields,
|
|
42
|
+
buttons,
|
|
11
43
|
options,
|
|
12
44
|
}, edit_ref ? edit_ref : function (o) {
|
|
13
|
-
var p = pedit(title, type,
|
|
45
|
+
var p = pedit(title, type, o);
|
|
14
46
|
p.initialStyle = popup.style;
|
|
15
47
|
popup(p, true);
|
|
16
48
|
move.setPosition(p, [.5, .5]);
|
package/coms/reptile/cross.js
CHANGED
|
@@ -65,11 +65,13 @@ return cross_.bind(function (callback, onerror) {
|
|
|
65
65
|
xhr.readyState = 4;
|
|
66
66
|
callback();
|
|
67
67
|
});
|
|
68
|
-
|
|
68
|
+
var onerror1 = function (e) {
|
|
69
69
|
xhr.readyState = 4;
|
|
70
70
|
error = e;
|
|
71
71
|
onerror(e);
|
|
72
|
-
}
|
|
72
|
+
};
|
|
73
|
+
res.on("error", onerror1);
|
|
74
|
+
res.on('timeout', onerror1);
|
|
73
75
|
this.readyState = 2;
|
|
74
76
|
});
|
|
75
77
|
this.readyState = 1;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
// 这里使用的数级换算关系如下:
|
|
2
|
+
// 1亿 = 1万万
|
|
3
|
+
// 1兆 = 1亿亿
|
|
4
|
+
// 1京 = 1兆兆
|
|
5
|
+
// 1垓 = 1京京
|
|
6
|
+
// 1杼 = 1垓垓
|
|
7
|
+
// 1穰 = 1杼杼
|
|
8
|
+
// 1沟 = 1穰穰
|
|
9
|
+
// 1涧 = 1沟沟
|
|
10
|
+
// 1正 = 1涧涧
|
|
11
|
+
// 1载 = 1正正
|
|
12
|
+
// 可表示的数字最大为 8192 位
|
|
13
|
+
// 元拾佰仟
|
|
14
|
+
// 万拾佰仟
|
|
15
|
+
// 亿拾佰仟万拾佰仟
|
|
16
|
+
// 兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟
|
|
17
|
+
// 京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟
|
|
18
|
+
// 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟
|
|
19
|
+
// 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟
|
|
20
|
+
// 穰拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟
|
|
21
|
+
// 沟拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 穰拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟
|
|
22
|
+
// 涧拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 穰拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 沟拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 穰拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟
|
|
23
|
+
// 正拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 穰拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 沟拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 穰拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 涧拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 穰拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 沟拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 穰拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟
|
|
24
|
+
// 载拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 穰拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 沟拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 穰拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 涧拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 穰拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 沟拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 穰拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 正拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 穰拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 沟拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 穰拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 涧拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 穰拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 沟拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 穰拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟 杼拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟垓拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟京拾佰仟万拾佰仟亿拾佰仟万拾佰仟兆拾佰仟万拾佰仟亿拾佰仟万拾佰仟
|
|
25
|
+
var 数位 = "拾佰仟";
|
|
26
|
+
for (var 级 of "万亿兆京垓杼穰沟涧正载") {
|
|
27
|
+
数位 = [数位, 级, 数位].join('');
|
|
28
|
+
}
|
|
29
|
+
数位 = "元" + 数位;
|
|
30
|
+
var 数字 = "零壹贰叁肆伍陆柒捌玖";
|
|
31
|
+
var 人民币 = function (n) {
|
|
32
|
+
var [a, b] = n.split('.');
|
|
33
|
+
var res = '';
|
|
34
|
+
if (+b[1] !== 0) res = 数字[b[1]] + "分";
|
|
35
|
+
if (+b[0] !== 0) res = 数字[b[0]] + "角" + res;
|
|
36
|
+
else if (res) res = "零" + res;
|
|
37
|
+
var s = a.split('').reverse().map((a, i, q) => {
|
|
38
|
+
if (+a === 1 && i % 4 === 1 && (i + 1 === q.length || q.length > i + 2 && q[i + 1] === 0 && q[i + 2] === 0)) return 数位[i];
|
|
39
|
+
if (a > 0) return 数字[a] + 数位[i];
|
|
40
|
+
if (i % 4 === 0) return 数位[i];
|
|
41
|
+
return '零';
|
|
42
|
+
}).reverse().filter((m, i) => {
|
|
43
|
+
return !(m === '零' && (a[i + 1] === '零' || (a.length - i) % 4 === 0))
|
|
44
|
+
}).join('');
|
|
45
|
+
if (s.length < 2) {
|
|
46
|
+
if (!res) res = "零元整";
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
if (!res) res = "整";
|
|
50
|
+
res = s + res;
|
|
51
|
+
}
|
|
52
|
+
return res;
|
|
53
|
+
};
|
package/coms/zimoli/audio.js
CHANGED
|
@@ -21,7 +21,7 @@ var reportError = function (error) {
|
|
|
21
21
|
}
|
|
22
22
|
};
|
|
23
23
|
|
|
24
|
-
function init() {
|
|
24
|
+
function init(type) {
|
|
25
25
|
if (!this.audioPromise) {
|
|
26
26
|
this.audioPromise = navigator.mediaDevices.getUserMedia({
|
|
27
27
|
audio: { deviceId: this.deviceId }
|
|
@@ -32,6 +32,20 @@ function init() {
|
|
|
32
32
|
analyser.fftSize = 2048;
|
|
33
33
|
context.resume();
|
|
34
34
|
var source = context.createMediaStreamSource(stream);
|
|
35
|
+
if (/^f/i.test(type)) {
|
|
36
|
+
this.dancingArray = new Float32Array(analyser.fftSize);
|
|
37
|
+
this.getTimeDomainData = analyser.getFloatTimeDomainData;
|
|
38
|
+
this.getFrequencyData = analyser.getFloatFrequencyData;
|
|
39
|
+
} else {
|
|
40
|
+
this.dancingArray = new Uint8Array(analyser.fftSize);
|
|
41
|
+
this.getTimeDomainData = analyser.getByteTimeDomainData;
|
|
42
|
+
this.getFrequencyData = analyser.getByteFrequencyData;
|
|
43
|
+
}
|
|
44
|
+
this.maxDecibels = analyser.maxDecibels;
|
|
45
|
+
this.minDecibels = analyser.minDecibels;
|
|
46
|
+
this.source = source;
|
|
47
|
+
this.context = context;
|
|
48
|
+
this.analyser = analyser;
|
|
35
49
|
return [source, context, analyser];
|
|
36
50
|
});
|
|
37
51
|
}
|
|
@@ -70,9 +84,9 @@ async function start() {
|
|
|
70
84
|
}
|
|
71
85
|
if (commandCount !== this.commandCount) return;
|
|
72
86
|
this.context = context;
|
|
73
|
-
var dancingArray =
|
|
87
|
+
var dancingArray = this.dancingArray;
|
|
74
88
|
var animate = () => {
|
|
75
|
-
|
|
89
|
+
this.getTimeDomainData.call(analyser, dancingArray);
|
|
76
90
|
cast(this, dancingArray);
|
|
77
91
|
analyser.frame = requestAnimationFrame(animate);
|
|
78
92
|
this.onprocess instanceof Function && this.onprocess(dancingArray);
|
|
@@ -81,7 +95,7 @@ async function start() {
|
|
|
81
95
|
this.running = true;
|
|
82
96
|
|
|
83
97
|
source.connect(analyser);
|
|
84
|
-
source.connect(this.gain).connect(context.destination);
|
|
98
|
+
// source.connect(this.gain).connect(context.destination);
|
|
85
99
|
if (this.audio) this.audio.play();
|
|
86
100
|
}
|
|
87
101
|
|
package/coms/zimoli/button.less
CHANGED
package/coms/zimoli/cast.js
CHANGED
|
@@ -24,11 +24,16 @@ function cast(target, type, data) {
|
|
|
24
24
|
var datakey = `cast(${type})`;
|
|
25
25
|
type = `care(${type})`;
|
|
26
26
|
if (target[type] instanceof Array) {
|
|
27
|
-
target[type]
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
27
|
+
var listeners = target[type];
|
|
28
|
+
if (!listeners.datas) listeners.datas = [];
|
|
29
|
+
var datas = listeners.datas;
|
|
30
|
+
datas.push(data);
|
|
31
|
+
if (datas.length === 1) {
|
|
32
|
+
while (datas.length) target[type].forEach(function (listener) {
|
|
33
|
+
if (listener instanceof Function) {
|
|
34
|
+
listener.call(target, datas[0], target[datakey]);
|
|
35
|
+
}
|
|
36
|
+
}), target[datakey] = datas.shift();
|
|
37
|
+
}
|
|
33
38
|
}
|
|
34
39
|
}
|
|
@@ -28,9 +28,17 @@ function chooseFile(accept, multiple, extra) {
|
|
|
28
28
|
alert(e + "打开文件失败!");
|
|
29
29
|
}
|
|
30
30
|
} else {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
var count = 0;
|
|
32
|
+
var getFiles = function () {
|
|
33
|
+
count++;
|
|
34
|
+
if (input.files && input.files.length) {
|
|
35
|
+
ok(input.files);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
if (count > 20) return;
|
|
39
|
+
setTimeout(getFiles, 100);
|
|
40
|
+
};
|
|
41
|
+
getFiles();
|
|
34
42
|
}
|
|
35
43
|
});
|
|
36
44
|
});
|
|
@@ -18,8 +18,7 @@ var createMenu = function (event, items) {
|
|
|
18
18
|
return elem;
|
|
19
19
|
}
|
|
20
20
|
function contextmenu(target, menuItems) {
|
|
21
|
-
|
|
22
|
-
event.preventDefault();
|
|
21
|
+
var showContext = function (event) {
|
|
23
22
|
var menu;
|
|
24
23
|
if (menuItems instanceof Function) {
|
|
25
24
|
menu = menuItems.call(this, event);
|
|
@@ -32,9 +31,43 @@ function contextmenu(target, menuItems) {
|
|
|
32
31
|
position: "absolute",
|
|
33
32
|
});
|
|
34
33
|
popup(menu, event);
|
|
35
|
-
menu.focus();
|
|
36
34
|
onmousedown(menu, e => e.preventDefault());
|
|
37
|
-
|
|
35
|
+
return menu;
|
|
36
|
+
};
|
|
37
|
+
var menuHandle = 0;
|
|
38
|
+
var tm;
|
|
39
|
+
bindtouch(target, {
|
|
40
|
+
start(event) {
|
|
41
|
+
if (event.defaultPrevented) return;
|
|
42
|
+
event.preventDefault();
|
|
43
|
+
clearTimeout(menuHandle);
|
|
44
|
+
if (tm) remove(tm), tm = null;
|
|
45
|
+
menuHandle = setTimeout(function () {
|
|
46
|
+
tm = showContext(event);
|
|
47
|
+
}, 600);
|
|
48
|
+
},
|
|
49
|
+
move() {
|
|
50
|
+
if (onclick.preventClick) return clearTimeout(menuHandle);
|
|
51
|
+
},
|
|
52
|
+
end(event) {
|
|
53
|
+
clearTimeout(menuHandle);
|
|
54
|
+
if (tm) {
|
|
55
|
+
event.preventDefault();
|
|
56
|
+
setTimeout(function () {
|
|
57
|
+
if (!tm) return;
|
|
58
|
+
tm.focus();
|
|
59
|
+
onblur(tm, lazy(e => remove(tm)));
|
|
60
|
+
}, 60);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
})
|
|
64
|
+
on("contextmenu")(target, function (event) {
|
|
65
|
+
if (event.defaultPrevented) return;
|
|
66
|
+
event.preventDefault();
|
|
67
|
+
if (tm) remove(tm), tm = null;
|
|
68
|
+
tm = showContext(event);
|
|
69
|
+
tm.focus();
|
|
70
|
+
onblur(tm, lazy(e => remove(tm)));
|
|
38
71
|
});
|
|
39
72
|
return sampleElement;
|
|
40
73
|
}
|
package/coms/zimoli/cross.js
CHANGED
package/coms/zimoli/css.js
CHANGED
|
@@ -18,6 +18,11 @@ var transfromSimpleValue = function (value) {
|
|
|
18
18
|
return value;
|
|
19
19
|
};
|
|
20
20
|
var transformValue = function (value, k) {
|
|
21
|
+
if (value instanceof Array) {
|
|
22
|
+
var res = [];
|
|
23
|
+
for (var v of value) res.push(transformValue(v, k));
|
|
24
|
+
return res;
|
|
25
|
+
}
|
|
21
26
|
if (ratioPropReg.test(k) || !value) return value;
|
|
22
27
|
if (/^[\w\s\.]+$/.test(value)) return isFinite(value) ? transfromSimpleValue(value) : String(value).split(/\s+/).map(transfromSimpleValue).join(' ');
|
|
23
28
|
return value;
|
|
@@ -28,6 +33,12 @@ var partifyValue = function (v) {
|
|
|
28
33
|
var isSameValue = function (v1, v2) {
|
|
29
34
|
return partifyValue(v1) === partifyValue(v2);
|
|
30
35
|
};
|
|
36
|
+
var setValue = function (o, k, v) {
|
|
37
|
+
if (v instanceof Array) for (var v0 of v) setValue(o, k, v0);
|
|
38
|
+
else {
|
|
39
|
+
if (!isSameValue(o[k], v)) o[k] = v;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
31
42
|
/**
|
|
32
43
|
* 将中划线转成驼峰式
|
|
33
44
|
* @param {string} key
|
|
@@ -80,9 +91,7 @@ var cssTargetNode = function (targetNode, oStyle, oValue) {
|
|
|
80
91
|
styleobject[transformNodeKey(oStyle)] = transformValue(oValue, oStyle);
|
|
81
92
|
return;
|
|
82
93
|
} else {
|
|
83
|
-
|
|
84
|
-
oStyle = parseKV(oStyle, ';', ':');
|
|
85
|
-
} catch (e) { }
|
|
94
|
+
oStyle = parseKV(oStyle, ';', ':');
|
|
86
95
|
}
|
|
87
96
|
}
|
|
88
97
|
if (isObject(oStyle)) {
|
|
@@ -93,7 +102,7 @@ var cssTargetNode = function (targetNode, oStyle, oValue) {
|
|
|
93
102
|
if (key in styleobject) {
|
|
94
103
|
try {
|
|
95
104
|
var value = transformValue(oStyle[k], key);
|
|
96
|
-
|
|
105
|
+
setValue(styleobject, key, value);
|
|
97
106
|
} catch (e) {
|
|
98
107
|
console.warn(key, oStyle[k], "无效");
|
|
99
108
|
}
|
|
@@ -103,7 +112,7 @@ var cssTargetNode = function (targetNode, oStyle, oValue) {
|
|
|
103
112
|
for (var k in oStyle) {
|
|
104
113
|
var key = transformNodeKey(k);
|
|
105
114
|
var value = transformValue(oStyle[k], key);
|
|
106
|
-
if (key in styleobject
|
|
115
|
+
if (key in styleobject) setValue(styleobject, key, value);
|
|
107
116
|
}
|
|
108
117
|
}
|
|
109
118
|
}
|
package/coms/zimoli/data.js
CHANGED
|
@@ -178,6 +178,7 @@ function getUrlParamsForApi(api, url) {
|
|
|
178
178
|
return r;
|
|
179
179
|
});
|
|
180
180
|
if (api.base) base = api.base + base;
|
|
181
|
+
if (/\/$/.test(base)) base += "?";
|
|
181
182
|
var params = {};
|
|
182
183
|
url = url.replace(/[\?#]*$/g, function (match) {
|
|
183
184
|
match.split(/[&#\?]+/).forEach(function (s) {
|
|
@@ -30,7 +30,7 @@ var getGenerator = function (container, tagName = 'item') {
|
|
|
30
30
|
com = container.src[index];
|
|
31
31
|
}
|
|
32
32
|
if (com === undefined) return;
|
|
33
|
-
if (!element) {
|
|
33
|
+
if (!isNode(element)) {
|
|
34
34
|
var template1 = template.cloneNode(true);
|
|
35
35
|
if (!template1.childNodes.length) {
|
|
36
36
|
element = template1;
|
|
@@ -71,7 +71,7 @@ var getGenerator = function (container, tagName = 'item') {
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
var newItem = render(element, newScope, scopes, false);
|
|
74
|
-
if (element.with) newItem.with = render(
|
|
74
|
+
if (element.with) newItem.with = render(element.with, newScope, scopes, false);
|
|
75
75
|
}
|
|
76
76
|
return newItem;
|
|
77
77
|
};
|
package/coms/zimoli/lattice.js
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
var complete_class = "complete";
|
|
2
2
|
var inadequate_class = "lack";
|
|
3
|
-
function lattice(element, minWidth,
|
|
4
|
-
var boxCount;
|
|
3
|
+
function lattice(element, minWidth, _maxWidth, layers) {
|
|
4
|
+
var boxCount, maxWidth = _maxWidth || minWidth << 1;
|
|
5
5
|
var resize = function () {
|
|
6
6
|
var _layers = layers || _box.src || [];
|
|
7
7
|
if (!_layers.length) return;
|
|
8
|
+
var _minWidth = +(element.getAttribute("min-width") || element.getAttribute("item-width"));
|
|
9
|
+
if (_minWidth) {
|
|
10
|
+
minWidth = _minWidth;
|
|
11
|
+
maxWidth = _maxWidth || minWidth << 1;
|
|
12
|
+
}
|
|
8
13
|
var clientWidth = parseFloat(freePixel(_box.clientWidth));
|
|
9
14
|
if (!clientWidth) return;
|
|
10
15
|
var savedCount = boxCount;
|
|
@@ -80,30 +85,29 @@ function lattice(element, minWidth, maxWidth = minWidth << 1, layers) {
|
|
|
80
85
|
}
|
|
81
86
|
function main() {
|
|
82
87
|
var element, minWidth, maxWidth, layers;
|
|
88
|
+
var initMinWidth = function (arg) {
|
|
89
|
+
if (minWidth) {
|
|
90
|
+
if (arg >= minWidth) {
|
|
91
|
+
maxWidth = arg;
|
|
92
|
+
} else {
|
|
93
|
+
maxWidth = minWidth;
|
|
94
|
+
minWidth = arg;
|
|
95
|
+
}
|
|
96
|
+
} else {
|
|
97
|
+
minWidth = arg;
|
|
98
|
+
}
|
|
99
|
+
};
|
|
83
100
|
[].forEach.call(arguments, function (arg) {
|
|
84
101
|
if (isNode(arg)) {
|
|
85
102
|
element = arg;
|
|
86
103
|
} else if (isArray(arg)) {
|
|
87
104
|
layers = arg;
|
|
88
105
|
} else if (isFinite(arg)) {
|
|
89
|
-
|
|
90
|
-
if (arg >= minWidth) {
|
|
91
|
-
maxWidth = arg;
|
|
92
|
-
} else {
|
|
93
|
-
maxWidth = minWidth;
|
|
94
|
-
minWidth = arg;
|
|
95
|
-
}
|
|
96
|
-
} else {
|
|
97
|
-
minWidth = arg;
|
|
98
|
-
}
|
|
106
|
+
initMinWidth(arg);
|
|
99
107
|
}
|
|
100
108
|
});
|
|
101
109
|
if (element && element.$scope) {
|
|
102
110
|
layers = null;
|
|
103
111
|
}
|
|
104
|
-
|
|
105
|
-
if (isNode(element) && !minWidth) {
|
|
106
|
-
minWidth = +(element.getAttribute("min-width") || element.getAttribute("item-width"));
|
|
107
|
-
}
|
|
108
112
|
return lattice(element, minWidth || 240, maxWidth, layers);
|
|
109
113
|
}
|
package/coms/zimoli/list.js
CHANGED
|
@@ -190,7 +190,7 @@ function ylist(container, generator, $Y) {
|
|
|
190
190
|
var runbuild = lazy(function () {
|
|
191
191
|
patchBottom();
|
|
192
192
|
patchTop();
|
|
193
|
-
var firstElement = getFirstElement(), y;
|
|
193
|
+
var firstElement = getFirstElement(1), y;
|
|
194
194
|
if (firstElement) {
|
|
195
195
|
y = firstElement.index * getNodeTarget(firstElement).offsetHeight;
|
|
196
196
|
} else {
|
|
@@ -302,7 +302,7 @@ function ylist(container, generator, $Y) {
|
|
|
302
302
|
var cache_height = list.offsetHeight;
|
|
303
303
|
|
|
304
304
|
var childrenMap = getChildrenMap();
|
|
305
|
-
var first_element, flag_element = first_element = getFirstElement();
|
|
305
|
+
var first_element, flag_element = first_element = getFirstElement(1);
|
|
306
306
|
if (!flag_element || !isFinite(flag_element.offsetTop)) return;
|
|
307
307
|
var offset = flag_element.index || 0;
|
|
308
308
|
var offsetTop = flag_element.offsetTop;
|
|
@@ -435,7 +435,7 @@ function ylist(container, generator, $Y) {
|
|
|
435
435
|
return index + scrolled;
|
|
436
436
|
};
|
|
437
437
|
list.topIndex = function () {
|
|
438
|
-
var element = getFirstElement();
|
|
438
|
+
var element = getFirstElement(1);
|
|
439
439
|
return element ? element.index : 0;
|
|
440
440
|
};
|
|
441
441
|
list.getIndexedElement = getIndexedElement;
|
package/coms/zimoli/loading.html
CHANGED