efront 3.24.3 → 3.25.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.
Files changed (103) hide show
  1. package/apps/{index.html → _index.html} +1 -1
  2. package/apps/{zimoli/index.html → index.jsp} +22 -6
  3. package/apps/kugou/main.js +1 -3
  4. package/coms/basic/bdecode.js +38 -0
  5. package/coms/basic/bdecode_test.js +13 -0
  6. package/coms/basic/bencode.js +14 -0
  7. package/coms/basic/bencode_test.js +20 -0
  8. package/coms/basic/combine.js +21 -0
  9. package/coms/basic/cross_.js +11 -4
  10. package/coms/basic/queue.js +2 -2
  11. package/coms/basic/submit_.js +3 -1
  12. package/{apps → coms}/kugou/api.js +2 -0
  13. package/coms/kugou/buildList.js +7 -1
  14. package/coms/kugou/player.js +1 -0
  15. package/coms/kugou/song.html +1 -1
  16. package/coms/kugou/song.js +1 -0
  17. package/coms/kugou/song.less +12 -1
  18. package/coms/zimoli/button.less +49 -0
  19. package/coms/zimoli/cloneVisible.js +1 -0
  20. package/coms/zimoli/data.js +8 -2
  21. package/coms/zimoli/input.js +6 -4
  22. package/coms/zimoli/picture.js +6 -5
  23. package/coms/zimoli/picture_.js +4 -2
  24. package/coms/zimoli/render.js +2 -1
  25. package/package.json +1 -1
  26. package/public/efront.js +1 -1
  27. package/readme.md +0 -1
  28. package/apps/zimoli/book/main.js +0 -8
  29. package/apps/zimoli/broadcast/main.js +0 -8
  30. package/apps/zimoli/collection/add.html +0 -13
  31. package/apps/zimoli/collection/add.js +0 -14
  32. package/apps/zimoli/collection/add.less +0 -0
  33. package/apps/zimoli/collection/main.html +0 -0
  34. package/apps/zimoli/collection/main.js +0 -13
  35. package/apps/zimoli/collection/main.less +0 -8
  36. package/apps/zimoli/config.js +0 -14
  37. package/apps/zimoli/extra/pending.html +0 -1
  38. package/apps/zimoli/extra/pending.js +0 -8
  39. package/apps/zimoli/extra/pending.less +0 -15
  40. package/apps/zimoli/files/info.js +0 -7
  41. package/apps/zimoli/files/main.js +0 -108
  42. package/apps/zimoli/files/main.less +0 -26
  43. package/apps/zimoli/images/avatar.png +0 -0
  44. package/apps/zimoli/images/background.jpg +0 -0
  45. package/apps/zimoli/kugou/font/demo.css +0 -539
  46. package/apps/zimoli/kugou/font/demo_index.html +0 -1159
  47. package/apps/zimoli/kugou/font/iconfont.css +0 -189
  48. package/apps/zimoli/kugou/font/iconfont.eot +0 -0
  49. package/apps/zimoli/kugou/font/iconfont.js +0 -1
  50. package/apps/zimoli/kugou/font/iconfont.svg +0 -155
  51. package/apps/zimoli/kugou/font/iconfont.ttf +0 -0
  52. package/apps/zimoli/kugou/font/iconfont.woff +0 -0
  53. package/apps/zimoli/kugou/font/iconfont.woff2 +0 -0
  54. package/apps/zimoli/kugou/listen.html +0 -15
  55. package/apps/zimoli/kugou/listen.js +0 -37
  56. package/apps/zimoli/kugou/listen.less +0 -114
  57. package/apps/zimoli/kugou/mine.html +0 -53
  58. package/apps/zimoli/kugou/mine.js +0 -21
  59. package/apps/zimoli/kugou/mine.less +0 -106
  60. package/apps/zimoli/kugou/search.js +0 -109
  61. package/apps/zimoli/kugou/search.less +0 -50
  62. package/apps/zimoli/kugou/sing.js +0 -42
  63. package/apps/zimoli/kugou/sing.less +0 -93
  64. package/apps/zimoli/kugou/view.html +0 -39
  65. package/apps/zimoli/kugou/view.js +0 -17
  66. package/apps/zimoli/kugou/view.less +0 -84
  67. package/apps/zimoli/login/qq.js +0 -20
  68. package/apps/zimoli/login/qq_callback.html +0 -15
  69. package/apps/zimoli/main.js +0 -87
  70. package/apps/zimoli/main.less +0 -81
  71. package/apps/zimoli/message/chatList.js +0 -57
  72. package/apps/zimoli/message/chatList.less +0 -52
  73. package/apps/zimoli/message/commentList.js +0 -55
  74. package/apps/zimoli/message/commentList.less +0 -55
  75. package/apps/zimoli/message/informList.js +0 -69
  76. package/apps/zimoli/message/informList.less +0 -51
  77. package/apps/zimoli/message/main.js +0 -59
  78. package/apps/zimoli/message/main.less +0 -51
  79. package/apps/zimoli/message/praiseList.js +0 -3
  80. package/apps/zimoli/message/praiseList.less +0 -7
  81. package/apps/zimoli/nearby/main.js +0 -8
  82. package/apps/zimoli/skin/main.js +0 -47
  83. package/apps/zimoli/skin/main.less +0 -31
  84. package/apps/zimoli/user/getPassword.js +0 -82
  85. package/apps/zimoli/user/getPassword.less +0 -14
  86. package/apps/zimoli/user/login.html +0 -12
  87. package/apps/zimoli/user/login.js +0 -50
  88. package/apps/zimoli/user/login.less +0 -139
  89. package/apps/zimoli/user/profile-bg.jpg +0 -0
  90. package/apps/zimoli/user/profile.html +0 -32
  91. package/apps/zimoli/user/profile.js +0 -63
  92. package/apps/zimoli/user/profile.less +0 -50
  93. package/apps/zimoli/user/register.js +0 -20
  94. package/apps/zimoli/user/register.less +0 -3
  95. package/apps/zimoli/user/setting.js +0 -90
  96. package/apps/zimoli/user/setting.less +0 -11
  97. package/apps/zimoli/user/welcome.js +0 -36
  98. package/apps/zimoli/user/welcome.less +0 -136
  99. package/apps/zimoli/watch/main.html +0 -22
  100. package/apps/zimoli/watch/main.js +0 -76
  101. package/apps/zimoli/watch/main.less +0 -54
  102. package/apps/zimoli/yuanfen/main.js +0 -55
  103. package/apps/zimoli/yuanfen/main.json +0 -0
@@ -1,37 +0,0 @@
1
- var page = createVboxWithState(state);
2
- page.innerHTML = listen;
3
-
4
- var _images = [];
5
- var _slider = slider(_images);
6
- cross("get", "http://m.kugou.com/").done(function (xhr) {
7
- var bodyHTML = String(xhr.responseText || xhr.responseText || "").replace(RegBodyExp, "$1").replace(RegScriptExp, "").replace(/\son/ig, " no").replace(/\s(src|href)/g, " s$1");
8
- var sandbox = createElement(div);
9
- sandbox.innerHTML = bodyHTML;
10
- var images = [].map.call(sandbox.querySelector(".mod-slider").children[0].children, function (child) {
11
- var a = child.children[0];
12
- var src = a.children[0].getAttribute("ssrc");
13
- var href = a.getAttribute("shref");
14
- var image = createElement(div);
15
- css(image, `background:url('${src}') center no-repeat;background-size:contain;`)
16
- return image;
17
- });
18
- _images.splice(0, _images.length);
19
- _images.push.apply(_images, images);
20
- _slider.go(0).play();
21
- });
22
-
23
-
24
- render(page, {
25
- go,
26
- user,
27
- slider() {
28
- return _slider;
29
- },
30
- btn(a) {
31
- return button(a, "white");
32
- }
33
- });
34
-
35
- function main() {
36
- return page;
37
- }
@@ -1,114 +0,0 @@
1
- @font-face {
2
- font-family: "kugouicons";
3
- @font-path: "kugou/font/";
4
- src: url('@{font-path}iconfont.eot?t=1496068931776');
5
- /* IE9*/
6
- src: url('@{font-path}iconfont.eot?t=1496068931776#iefix') format('embedded-opentype'),
7
- /* IE6-IE8 */
8
- url('@{font-path}iconfont.woff?t=1496068931776') format('woff'),
9
- /* chrome, firefox */
10
- url('@{font-path}iconfont.ttf?t=1496068931776') format('truetype'),
11
- /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
12
- url('@{font-path}iconfont.svg?t=1496068931776#iconfont') format('svg');
13
- /* iOS 4.1- */
14
- }
15
-
16
- .user-info {
17
- width: 100%;
18
- height: 80px;
19
- padding: 20px 0 0 0;
20
- background-color: #fff;
21
- position: relative;
22
- >div {
23
- padding-left: 16px;
24
- vertical-align: top;
25
- &:nth-last-child(1) {
26
- padding-right: 16px;
27
- }
28
- display: inline-block;
29
- }
30
- .name {
31
- font-size: 16px;
32
- line-height: 26px;
33
- }
34
- .level {
35
- border-radius: 2px;
36
- font-size: 10px;
37
- padding: 0 2px;
38
- color: #fa2;
39
- border: 1px solid;
40
- height: 12px;
41
- line-height: 12px;
42
- display: inline-block;
43
- }
44
- .avatar {
45
- border: none;
46
- width: 50px;
47
- height: 50px;
48
- border-radius: 25px;
49
- }
50
- }
51
-
52
- i {
53
- font-family: kugouicons;
54
- font-style: normal;
55
- }
56
-
57
- .music-info {
58
- background-color: #fff;
59
- position: relative;
60
- padding: 0 16px;
61
- &:before {
62
- content: "";
63
- display: block;
64
- height: 1px;
65
- left: 16px;
66
- right: 16px;
67
- top: 0;
68
- background-color: #eee;
69
- position: absolute;
70
- }
71
- margin-bottom: 10px;
72
- >.button {
73
- display: inline-block;
74
- padding: 10px 0;
75
- width: 25%;
76
- height: auto;
77
- box-shadow: none;
78
- i {
79
- font-size: 24px;
80
- color: #2299ed;
81
- display: block;
82
- }
83
- }
84
- }
85
- .button-group{
86
- background-color: #fff;
87
- padding: 8px 0;
88
- >.button{
89
- display: inline-block;
90
- height: auto;
91
- padding: 8px 10px;
92
- width: 33.3333%;
93
- text-align: center;
94
- box-shadow: none;
95
- i{
96
- color: #fff;
97
- display: block;
98
- width: 50px;
99
- height: 50px;
100
- margin: auto;
101
- font-size: 26px;
102
- border-radius: 50%;
103
- line-height: 50px;
104
- }
105
- }
106
- }
107
-
108
- .slider{
109
- position: relative;
110
- >*{
111
- vertical-align: top;
112
- top:0;
113
- }
114
- }
@@ -1,53 +0,0 @@
1
- <div ng-click="go('/user/profile')" class=user-info>
2
- <div>${avatar}</div>
3
- <div class=info>
4
- <div ng-if=user.isLogin class=name ng-bind=user.name>不枝雀</div>
5
- <div class=level>LV.5</div>
6
- </div>
7
- </div>
8
- <div class=music-info>
9
- <btn ng-click="go('/files/main')"><i>&#xe610;</i>${i18n({zh:'本地音乐',en:'Local'})}</btn>
10
- <btn ng-click="go('/collection/main')"><i>&#xe616;</i>${i18n({zh:'我的收藏',en:'Favourite'})}</btn>
11
- <btn ng-click="go('/extra/pending',this.innerText)"><i>&#xe606;</i>${i18n('下载','Downloads')}</btn>
12
- <btn ng-click="go('/extra/pending',this.innerText)"><i>&#xe64d;</i>${i18n('最近','Recent')}</btn>
13
- </div>
14
- <group>
15
- <option ng-click="go('/extra/pending',this.innerText)">
16
- <div>直播</div>
17
- <div>
18
- <avatar></avatar><span>林儿初新年快乐</span> <span>直播中</span>
19
- </div>
20
- <div><i></i></div>
21
- </option>
22
- <option ng-click="go('/extra/pending',this.innerText)">
23
- <div>已购音乐</div>
24
- <div>单曲1首</div>
25
- </option>
26
- <option ng-click="go('/extra/pending',this.innerText)">
27
- <div>
28
- K歌作品
29
- </div>
30
- </option>
31
- <option ng-click="go('/extra/pending',this.innerText)">
32
- <div>
33
- 音乐圈
34
- </div>
35
- </option>
36
- <option ng-click="go('/extra/pending',this.innerText)">
37
- <div>
38
- 自建歌单
39
- </div>
40
- </option ng-click="go('/extra/pending',this.innerText)">
41
- <option ng-click="go('/extra/pending',this.innerText)">
42
- <div>
43
- 收藏歌单
44
- </div>
45
- </option>
46
- <option ng-click="go('/extra/pending',this.innerText)">
47
- <div>
48
- 推广
49
- </div>
50
- <div>好音质,长续航,跪步专用耳机</div>
51
- </option>
52
-
53
- </group>
@@ -1,21 +0,0 @@
1
- var page = createVboxWithState(state);
2
- page.innerHTML = mine;
3
-
4
- render(page, {
5
- go,
6
- user,
7
- group,
8
- option(node) {
9
- var [head, body, foot] = node.children;
10
- var opt = option(head, body, foot || true, 120);
11
- return opt;
12
- },
13
-
14
- btn(a) {
15
- return button(a, "white");
16
- }
17
- });
18
-
19
- function main() {
20
- return page;
21
- }
@@ -1,106 +0,0 @@
1
- @font-face {
2
- font-family: "kugouicons";
3
- @font-path: "kugou/font/";
4
- src: url('@{font-path}iconfont.eot?t=1496068931776');
5
- /* IE9*/
6
- src: url('@{font-path}iconfont.eot?t=1496068931776#iefix') format('embedded-opentype'),
7
- /* IE6-IE8 */
8
- url('@{font-path}iconfont.woff?t=1496068931776') format('woff'),
9
- /* chrome, firefox */
10
- url('@{font-path}iconfont.ttf?t=1496068931776') format('truetype'),
11
- /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
12
- url('@{font-path}iconfont.svg?t=1496068931776#iconfont') format('svg');
13
- /* iOS 4.1- */
14
- }
15
-
16
- .user-info {
17
- width: 100%;
18
- height: 80px;
19
- padding: 20px 0 0 0;
20
- background-color: #fff;
21
- position: relative;
22
- >div {
23
- padding-left: 16px;
24
- vertical-align: top;
25
- &:nth-last-child(1) {
26
- padding-right: 16px;
27
- }
28
- display: inline-block;
29
- }
30
- .name {
31
- font-size: 16px;
32
- line-height: 26px;
33
- }
34
- .level {
35
- border-radius: 2px;
36
- font-size: 10px;
37
- padding: 0 2px;
38
- color: #fa2;
39
- border: 1px solid;
40
- height: 12px;
41
- line-height: 12px;
42
- display: inline-block;
43
- }
44
- .avatar {
45
- border: none;
46
- width: 50px;
47
- height: 50px;
48
- border-radius: 25px;
49
- }
50
- }
51
-
52
- i {
53
- font-family: kugouicons;
54
- font-style: normal;
55
- }
56
-
57
- .music-info {
58
- background-color: #fff;
59
- position: relative;
60
- padding: 0 16px;
61
- &:before {
62
- content: "";
63
- display: block;
64
- height: 1px;
65
- left: 16px;
66
- right: 16px;
67
- top: 0;
68
- background-color: #eee;
69
- position: absolute;
70
- }
71
- margin-bottom: 10px;
72
- >.button {
73
- display: inline-block;
74
- padding: 10px 0;
75
- width: 25%;
76
- height: auto;
77
- box-shadow: none;
78
- i {
79
- font-size: 24px;
80
- color: #2299ed;
81
- display: block;
82
- }
83
- }
84
- }
85
- .button-group{
86
- background-color: #fff;
87
- padding: 8px 0;
88
- >div{
89
- display: inline-block;
90
- height: auto;
91
- padding: 8px 10px;
92
- width: 33.3333%;
93
- text-align: center;
94
- box-shadow: none;
95
- i{
96
- color: #fff;
97
- display: block;
98
- width: 50px;
99
- height: 50px;
100
- margin: auto;
101
- font-size: 26px;
102
- border-radius: 50%;
103
- line-height: 50px;
104
- }
105
- }
106
- }
@@ -1,109 +0,0 @@
1
-
2
- var _titlebar = titlebar(i18n("搜索", 'Search'));
3
- var inputBox = createWithClass(div, "input-box");
4
- var textInput = createWithClass(input, "input");
5
- appendChild(inputBox, textInput);
6
- var page = createVboxWithState(state);
7
- appendChild(page, inputBox);
8
- var hot_keywords = [/*热搜*/], history_keywords = state().keywords || [];
9
- var keywords_pad = createWithClass(div, "keyword-pad");
10
- var updateKeywords = function () {
11
- remove(keywords_pad.children);
12
- var keywords = history_keywords.concat(hot_keywords).map(function (str) {
13
- var label = div();
14
- text(label, str);
15
- onclick(label, function () {
16
- textInput.value = str;
17
- dispatch(textInput, "input");
18
- });
19
- return label;
20
- });
21
- appendChild(keywords_pad, keywords);
22
- };
23
-
24
- appendChild(page, keywords_pad);
25
- var result_pad = createWithClass(div, "result-pad");
26
-
27
- var updateHotKeyword = function () {
28
- cross("get", "http://mobilecdn.kugou.com/api/v3/search/hot?format=jsonp&plat=0&count=30&callback=kgJSONP").done(function (xhr) {
29
- var data = kugou$getJsonpData(xhr);
30
- hot_keywords = data.info.map(a => a.keyword);
31
- updateKeywords();
32
- });
33
- };
34
- var searchIng = createElement(div);
35
- text(searchIng, i18n("搜索中..", "Searching"));
36
- var searchNoResult = createElement(div);
37
- text(searchNoResult, "没有找到匹配的项");
38
- var updateResultWithKeyword = function () {
39
- var keyword = textInput.value;
40
- if (updateResultWithKeyword.ing) updateResultWithKeyword.ing.abort();
41
- remove(result_pad.children);
42
- appendChild(result_pad, searchIng);
43
- var url = `http://mobilecdn.kugou.com/api/v3/search/song?format=jsonp&keyword=${keyword}&page=1&pagesize=30&showtype=1&callback=kgJSONP`;
44
- // var url = `http://songsearch.kugou.com/song_search_v2?callback=kgJSONP&keyword=${keyword}&page=1&pagesize=30&userid=-1&clientver=&platform=WebFilter&tag=em&filter=2&iscorrection=1&privilege_filter=0&_=${+new Date}`;
45
- // `http://searchtip.kugou.com/getSearchTip?MusicTipCount=5&MVTipCount=2&albumcount=2&keyword=${encodeURIComponent(keyword)}&callback=kgJSONP&_=${+new Date}`;
46
- updateResultWithKeyword.ing = cross("get", url).done(function (xhr) {
47
- if (keyword !== textInput.value) return;
48
- remove(result_pad.children);
49
- var data = kugou$getJsonpData(xhr);
50
- if (!data.info && data.lists instanceof Array) {
51
- data.info = data.lists;
52
- }
53
- if (data.info && data.info.length) {
54
- var songs = data.info.map(function (data) {
55
- var singer = String(data.SingerName || data.singername);
56
- var song = String(data.SongName || data.songname);
57
- var block = createElement(div);
58
- var _singer = createElement(div);
59
- var _song = createElement(div);
60
- singer = mark(singer.trim(), keyword);
61
- song = mark(song.trim(), keyword);
62
- _singer.innerHTML = singer;
63
- _song.innerHTML = song;
64
- appendChild(block, _singer, _song);
65
- block.hash = data.FileHash || data.HQFileHash || data.SQFileHash || data.hash;
66
- onclick(block, function () {
67
- kugou$player.play(this.hash);
68
- });
69
- return block;
70
- });
71
- appendChild(result_pad, songs)
72
- } else {
73
- appendChild(result_pad, searchNoResult);
74
- }
75
- });
76
- };
77
- var input_timer = 0;
78
- oninput(textInput, function (event) {
79
- clearTimeout(input_timer);
80
- var value = textInput.value;
81
- if (value) {
82
- updateResultWithKeyword.ing && updateResultWithKeyword.ing.abort();
83
- input_timer = setTimeout(function () {
84
- if (textInput.value === value) updateResultWithKeyword(value);
85
- }, 300);
86
- appendChild(page, result_pad);
87
- remove(keywords_pad);
88
- } else {
89
- remove(result_pad);
90
- appendChild(page, keywords_pad);
91
- }
92
- });
93
- onback(function () {
94
- textInput.value = "";
95
- });
96
- onappend(page, function () {
97
- textInput.value = state.keyword || "";
98
- dispatch(textInput, "input");
99
- });
100
- onremove(page, function () {
101
- var _state = state();
102
- _state.keyword = textInput.value;
103
- state(_state);
104
- });
105
- updateHotKeyword();
106
- page.initialStyle = 'margin-left:100%;z-index:1;';
107
- function main() {
108
- return page;
109
- }
@@ -1,50 +0,0 @@
1
- & {
2
- padding-top: 50px;
3
- height: 100%;
4
- width: 100%;
5
- background-color: #fff;
6
- position: absolute;
7
- left:0;
8
- top:0;
9
- right: 0;
10
- bottom: 0;
11
- z-index: 1;
12
- }
13
-
14
- .input-box {
15
- height: 50px;
16
- position: relative;
17
- padding: 10px 12px;
18
- >input {
19
- height: 30px;
20
- border: none;
21
- width: 100%;
22
- border-radius: 3px;
23
- font-size: 14px;
24
- padding: 0 10px;
25
- border:1px solid #2ca2f9;
26
- }
27
- }
28
-
29
- .keyword-pad {
30
- >div {
31
- padding: 10px 12px;
32
- background-color: #fff;
33
- }
34
- >div+div {
35
- border-top: 1px solid #ccc;
36
- }
37
- }
38
-
39
- .result-pad {
40
- b{
41
- color: rgb(44,162,149);
42
- }
43
- >div {
44
- padding: 10px 12px;
45
- background-color: #fff;
46
- }
47
- >div+div {
48
- border-top: 1px solid #ccc;
49
- }
50
- }
@@ -1,42 +0,0 @@
1
- var page = createVboxWithState(state);
2
- page.innerHTML = `
3
- <div class=option-buttons>
4
- <div ng-click="go('/extra/pending',this.innerText)">
5
- <div class=icon></div>
6
- <div class=name>${i18n('发现', "Discover")}</div>
7
- </div>
8
- <div ng-click="go('/extra/pending',this.innerText)">
9
- <div class=icon style=font-size:50px;></div>
10
- <div class=name>${i18n('我要唱', "Sing by Myself")}</div>
11
- </div>
12
- <div ng-click="go('/extra/pending',this.innerText)">
13
- <div class=icon></div>
14
- <div class=name>${i18n('我的', 'Mine')}</div>
15
- </div>
16
- </div>
17
- <div class=news-slider>
18
- <div class=head ng-click="go('/extra/pending',this.innerText)">
19
- <span>${i18n('头条', 'First Line')}</span>
20
- ${i18n("装了这个app,不用再去ktv", "With this app installed, you don't have to go to KTV anymore.")}
21
- <i>&#xe602;</i>
22
- </div>
23
- </div>
24
- <div class=slider-options>
25
- <div ng-click="go('/extra/pending',this.innerText)">${i18n('关注', 'Follow')}</div>
26
- <div ng-click="go('/extra/pending',this.innerText)">${i18n('好友', 'Friends')}</div>
27
- <div ng-click="go('/extra/pending',this.innerText)">${i18n('热门', 'Hot')}</div>
28
- <div ng-click="go('/extra/pending',this.innerText)">${i18n('附近', 'Nearby')}</div>
29
- </div>
30
- <div class=message-list>
31
- <div></div>
32
- <div></div>
33
- <div></div>
34
- <div></div>
35
- </div>
36
- `.replace(/>\s+</g, "><");
37
- render(page, {
38
- go
39
- });
40
- function main() {
41
- return page;
42
- }
@@ -1,93 +0,0 @@
1
- @font-face {
2
- font-family: "kugouicons";
3
- @font-path: "kugou/font/";
4
- src: url('@{font-path}iconfont.eot?t=1496068931776');
5
- /* IE9*/
6
- src: url('@{font-path}iconfont.eot?t=1496068931776#iefix') format('embedded-opentype'),
7
- /* IE6-IE8 */
8
- url('@{font-path}iconfont.woff?t=1496068931776') format('woff'),
9
- /* chrome, firefox */
10
- url('@{font-path}iconfont.ttf?t=1496068931776') format('truetype'),
11
- /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
12
- url('@{font-path}iconfont.svg?t=1496068931776#iconfont') format('svg');
13
- /* iOS 4.1- */
14
- }
15
-
16
- i {
17
- font-family: kugouicons;
18
- font-style: normal;
19
- }
20
-
21
- .option-buttons {
22
- padding: 10px 0;
23
- text-align: center;
24
- background-color: #fff;
25
- >div {
26
- display: inline-block;
27
- width: 30%;
28
- vertical-align: middle;
29
- >.icon {
30
- line-height: 60px;
31
- margin: 0 auto;
32
- font-size: 40px;
33
- background: #666;
34
- border-radius: 50%;
35
- width: 1em;
36
- height: 1em;
37
- }
38
- >.name {
39
- height: 20px;
40
- }
41
- }
42
- }
43
-
44
- .news-slider {
45
- line-height: 40px;
46
- background-color: #fff;
47
- position: relative;
48
- padding: 0 16px;
49
- margin-bottom: 10px;
50
- &:after {
51
- content: "";
52
- display: block;
53
- position: absolute;
54
- left: 16px;
55
- right: 16px;
56
- top: 0;
57
- height: 1px;
58
- background-color: #eee;
59
- }
60
- >.head {
61
- >span {
62
- background-color: #c44;
63
- color: #fff;
64
- font-weight: 600;
65
- }
66
- padding: 0 2px;
67
- }
68
-
69
- >div {
70
- display: inline-block;
71
- }
72
- }
73
-
74
- .slider-options {
75
- background-color: #fff;
76
- text-align: center;
77
- border-bottom: 1px solid #eee;
78
- >div {
79
- width: 25%;
80
- line-height: 40px;
81
- display: inline-block;
82
- }
83
- }
84
-
85
- .message-list {
86
- >div{
87
- height: 100px;
88
- background: #fff;
89
- }
90
- >div+div {
91
- margin-top: 10px;
92
- }
93
- }
@@ -1,39 +0,0 @@
1
- <div class=rank-area>
2
- <div ng-click="go('/extra/pending',this.innerText)">
3
- <div class=head>${i18n("小时榜", "Rank")}</div>
4
- <div class=disp>${i18n("统计本小时主播的收礼排名", "Statistical Hour Anchor's Gift Ranking.")}</div>
5
- </div>
6
- <div>
7
- <div class=avatar></div>
8
- <div class=avatar></div>
9
- <div class=avatar></div>
10
- </div>
11
- </div>
12
- <div class=filter-buttons>
13
- <div ng-click="go('/extra/pending',this.innerText)">
14
- <div class=icon></div>
15
- <div class=name>${i18n("新秀", "Rising")}</div>
16
- </div>
17
- <div ng-click="go('/extra/pending',this.innerText)">
18
- <div class=icon></div>
19
- <div class=name>${i18n("附近", "Nearby")}</div>
20
- </div>
21
- <div ng-click="go('/extra/pending',this.innerText)">
22
- <div class=icon></div>
23
- <div class=name>${i18n("好声音", "Pleasant")}</div>
24
- </div>
25
- <div ng-click="go('/extra/pending',this.innerText)">
26
- <div class=icon></div>
27
- <div class=name>${i18n("搜索", "Search")}</div>
28
- </div>
29
- <div ng-click="go('/extra/pending',this.innerText)">
30
- <div class=icon></div>
31
- <div class=name>${i18n("我的", "Mine")}</div>
32
- </div>
33
- </div>
34
- <lattice class=video-list v-src=src min-width=180>
35
- <div ng-click="go('/watch/main',this.$scope)">
36
- <div class=img ng-style="{backgroundImage:'url(\\''+imgPath+'\\')'}"></div>
37
- <div ng-bind=nickName></div>
38
- </div>
39
- </lattice>
@@ -1,17 +0,0 @@
1
- var page = createVboxWithState(state);
2
- page.innerHTML = view;
3
- var scope = {
4
- go,
5
- src: [],
6
- lattice
7
- };
8
- render(page, scope);
9
- once("append")(page, function () {
10
- kugou$kugouapi.fanxingList().done(function (response) {
11
- var res = JSON.parse(response.responseText);
12
- scope.src = res.data.list;
13
- });
14
- });
15
- function main() {
16
- return page;
17
- }