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.
- package/apps/{index.html → _index.html} +1 -1
- package/apps/{zimoli/index.html → index.jsp} +22 -6
- package/apps/kugou/main.js +1 -3
- package/coms/basic/bdecode.js +38 -0
- package/coms/basic/bdecode_test.js +13 -0
- package/coms/basic/bencode.js +14 -0
- package/coms/basic/bencode_test.js +20 -0
- package/coms/basic/combine.js +21 -0
- package/coms/basic/cross_.js +11 -4
- package/coms/basic/queue.js +2 -2
- package/coms/basic/submit_.js +3 -1
- package/{apps → coms}/kugou/api.js +2 -0
- package/coms/kugou/buildList.js +7 -1
- package/coms/kugou/player.js +1 -0
- package/coms/kugou/song.html +1 -1
- package/coms/kugou/song.js +1 -0
- package/coms/kugou/song.less +12 -1
- package/coms/zimoli/button.less +49 -0
- package/coms/zimoli/cloneVisible.js +1 -0
- package/coms/zimoli/data.js +8 -2
- package/coms/zimoli/input.js +6 -4
- package/coms/zimoli/picture.js +6 -5
- package/coms/zimoli/picture_.js +4 -2
- package/coms/zimoli/render.js +2 -1
- package/package.json +1 -1
- package/public/efront.js +1 -1
- package/readme.md +0 -1
- package/apps/zimoli/book/main.js +0 -8
- package/apps/zimoli/broadcast/main.js +0 -8
- package/apps/zimoli/collection/add.html +0 -13
- package/apps/zimoli/collection/add.js +0 -14
- package/apps/zimoli/collection/add.less +0 -0
- package/apps/zimoli/collection/main.html +0 -0
- package/apps/zimoli/collection/main.js +0 -13
- package/apps/zimoli/collection/main.less +0 -8
- package/apps/zimoli/config.js +0 -14
- package/apps/zimoli/extra/pending.html +0 -1
- package/apps/zimoli/extra/pending.js +0 -8
- package/apps/zimoli/extra/pending.less +0 -15
- package/apps/zimoli/files/info.js +0 -7
- package/apps/zimoli/files/main.js +0 -108
- package/apps/zimoli/files/main.less +0 -26
- package/apps/zimoli/images/avatar.png +0 -0
- package/apps/zimoli/images/background.jpg +0 -0
- package/apps/zimoli/kugou/font/demo.css +0 -539
- package/apps/zimoli/kugou/font/demo_index.html +0 -1159
- package/apps/zimoli/kugou/font/iconfont.css +0 -189
- package/apps/zimoli/kugou/font/iconfont.eot +0 -0
- package/apps/zimoli/kugou/font/iconfont.js +0 -1
- package/apps/zimoli/kugou/font/iconfont.svg +0 -155
- package/apps/zimoli/kugou/font/iconfont.ttf +0 -0
- package/apps/zimoli/kugou/font/iconfont.woff +0 -0
- package/apps/zimoli/kugou/font/iconfont.woff2 +0 -0
- package/apps/zimoli/kugou/listen.html +0 -15
- package/apps/zimoli/kugou/listen.js +0 -37
- package/apps/zimoli/kugou/listen.less +0 -114
- package/apps/zimoli/kugou/mine.html +0 -53
- package/apps/zimoli/kugou/mine.js +0 -21
- package/apps/zimoli/kugou/mine.less +0 -106
- package/apps/zimoli/kugou/search.js +0 -109
- package/apps/zimoli/kugou/search.less +0 -50
- package/apps/zimoli/kugou/sing.js +0 -42
- package/apps/zimoli/kugou/sing.less +0 -93
- package/apps/zimoli/kugou/view.html +0 -39
- package/apps/zimoli/kugou/view.js +0 -17
- package/apps/zimoli/kugou/view.less +0 -84
- package/apps/zimoli/login/qq.js +0 -20
- package/apps/zimoli/login/qq_callback.html +0 -15
- package/apps/zimoli/main.js +0 -87
- package/apps/zimoli/main.less +0 -81
- package/apps/zimoli/message/chatList.js +0 -57
- package/apps/zimoli/message/chatList.less +0 -52
- package/apps/zimoli/message/commentList.js +0 -55
- package/apps/zimoli/message/commentList.less +0 -55
- package/apps/zimoli/message/informList.js +0 -69
- package/apps/zimoli/message/informList.less +0 -51
- package/apps/zimoli/message/main.js +0 -59
- package/apps/zimoli/message/main.less +0 -51
- package/apps/zimoli/message/praiseList.js +0 -3
- package/apps/zimoli/message/praiseList.less +0 -7
- package/apps/zimoli/nearby/main.js +0 -8
- package/apps/zimoli/skin/main.js +0 -47
- package/apps/zimoli/skin/main.less +0 -31
- package/apps/zimoli/user/getPassword.js +0 -82
- package/apps/zimoli/user/getPassword.less +0 -14
- package/apps/zimoli/user/login.html +0 -12
- package/apps/zimoli/user/login.js +0 -50
- package/apps/zimoli/user/login.less +0 -139
- package/apps/zimoli/user/profile-bg.jpg +0 -0
- package/apps/zimoli/user/profile.html +0 -32
- package/apps/zimoli/user/profile.js +0 -63
- package/apps/zimoli/user/profile.less +0 -50
- package/apps/zimoli/user/register.js +0 -20
- package/apps/zimoli/user/register.less +0 -3
- package/apps/zimoli/user/setting.js +0 -90
- package/apps/zimoli/user/setting.less +0 -11
- package/apps/zimoli/user/welcome.js +0 -36
- package/apps/zimoli/user/welcome.less +0 -136
- package/apps/zimoli/watch/main.html +0 -22
- package/apps/zimoli/watch/main.js +0 -76
- package/apps/zimoli/watch/main.less +0 -54
- package/apps/zimoli/yuanfen/main.js +0 -55
- package/apps/zimoli/yuanfen/main.json +0 -0
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
titlebar(i18n("设置", "Settings"));
|
|
2
|
-
var page = createVboxWithState(state);
|
|
3
|
-
var opt = function () {
|
|
4
|
-
var elem = option.apply(null, arguments);
|
|
5
|
-
elem.setAttribute("ng-click", "go('/extra/pending',this.innerText)");
|
|
6
|
-
return elem;
|
|
7
|
-
};
|
|
8
|
-
var settings = extend({
|
|
9
|
-
go,
|
|
10
|
-
useHello: {
|
|
11
|
-
name: i18n("Hello酷狗问候音", "Hello Kugou greetings"),
|
|
12
|
-
value: true,
|
|
13
|
-
},
|
|
14
|
-
helloSrc: {
|
|
15
|
-
name: i18n("选择问候音", "Choose greeting voice "),
|
|
16
|
-
value: ""
|
|
17
|
-
},
|
|
18
|
-
autoDownloadAvatar: {
|
|
19
|
-
name: i18n("自动下载写真/封面", "Auto download photo/cover"),
|
|
20
|
-
value: true,
|
|
21
|
-
},
|
|
22
|
-
autoRotateAvatar: {
|
|
23
|
-
name: i18n("头像/封面自动旋转", "Automatic rotation of head/cover"),
|
|
24
|
-
value: true,
|
|
25
|
-
},
|
|
26
|
-
autoSave: {
|
|
27
|
-
name: i18n("边听边存", "Listen and save"),
|
|
28
|
-
value: false
|
|
29
|
-
},
|
|
30
|
-
shakeSwitch: {
|
|
31
|
-
name: i18n("摇一摇切歌", "Shake to switch songs"),
|
|
32
|
-
value: false
|
|
33
|
-
},
|
|
34
|
-
costTips: {
|
|
35
|
-
name: i18n("流量消耗提醒", "Flow consumption reminder"),
|
|
36
|
-
value: false
|
|
37
|
-
},
|
|
38
|
-
carLrc: {
|
|
39
|
-
name: i18n("车载歌词", "Vehicle lyrics"),
|
|
40
|
-
value: false
|
|
41
|
-
}
|
|
42
|
-
}, state());
|
|
43
|
-
var createSwitchOption = function (name, modelName) {
|
|
44
|
-
var _model = Switch();
|
|
45
|
-
var option = field(name, _model, false, 180);
|
|
46
|
-
_model.setAttribute("ng-model", modelName);
|
|
47
|
-
return option;
|
|
48
|
-
}
|
|
49
|
-
var comments = [
|
|
50
|
-
group(
|
|
51
|
-
createSwitchOption(settings.useHello.name, "useHello.value"),
|
|
52
|
-
function () {
|
|
53
|
-
var _option = opt(settings.helloSrc.name, settings.helloSrc.value, 180);
|
|
54
|
-
_option.setAttribute("ng-if", "useHello.value")
|
|
55
|
-
return _option;
|
|
56
|
-
}()
|
|
57
|
-
),
|
|
58
|
-
group(
|
|
59
|
-
opt(i18n("皮肤中心", "Skin Store"), "", 180),
|
|
60
|
-
opt(i18n("音质选择", "Tone quality"), "", 180),
|
|
61
|
-
createSwitchOption(settings.autoDownloadAvatar.name, "autoDownloadAvatar.value"),
|
|
62
|
-
createSwitchOption(settings.autoRotateAvatar.name, "autoRotateAvatar.value"),
|
|
63
|
-
createSwitchOption(settings.autoSave.name, "autoSave.value"),
|
|
64
|
-
createSwitchOption(settings.shakeSwitch.name, "shakeSwitch.value"),
|
|
65
|
-
createSwitchOption(settings.costTips.name, "costTips.value"),
|
|
66
|
-
createSwitchOption(settings.carLrc.name, "carLrc.value")
|
|
67
|
-
),
|
|
68
|
-
group(
|
|
69
|
-
opt(i18n("清除缓存", "Clear cache"), "441.2M", 180),
|
|
70
|
-
opt(i18n("清空消息记录", "Clean up message records"), "", false, 180)
|
|
71
|
-
),
|
|
72
|
-
group(
|
|
73
|
-
opt(i18n("匹配通讯录", "Matching Contacts Book"), i18n("未匹配", "Unmatched"), 180),
|
|
74
|
-
opt(i18n("消息与隐私设置", "Message and Privacy Settings"), "", 180)
|
|
75
|
-
),
|
|
76
|
-
group(
|
|
77
|
-
opt(i18n("关于酷狗音乐", "About Kugou"), "", 180),
|
|
78
|
-
opt(i18n("意见反馈", "Feedback"), "", 180),
|
|
79
|
-
opt(i18n("给酷狗评分", "Scoring Kugou"), "", 180)
|
|
80
|
-
)
|
|
81
|
-
]
|
|
82
|
-
appendChild(page, comments);
|
|
83
|
-
render(page, settings);
|
|
84
|
-
page.initialStyle = {
|
|
85
|
-
marginLeft: "100%",
|
|
86
|
-
zIndex: 2
|
|
87
|
-
}
|
|
88
|
-
function main() {
|
|
89
|
-
return page;
|
|
90
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
var page = div();
|
|
2
|
-
var template = `<div>
|
|
3
|
-
<div class=close ng-click=go(-1)><btn>×</btn></div>
|
|
4
|
-
<div class=logo></div>
|
|
5
|
-
<div class=option>
|
|
6
|
-
<btn ng-click=go('/user/login',args)>${i18n("登录", 'Login')}</btn>
|
|
7
|
-
<btn ng-click=go('/user/register',args)>${i18n("注册", 'Register')}</btn>
|
|
8
|
-
</div>
|
|
9
|
-
<div class=line><span>${i18n("其他登录方式", 'Other way to login')}</span></div>
|
|
10
|
-
<div class=methods>
|
|
11
|
-
<btn ng-click="go('/extra/pending',this.innerText)">
|
|
12
|
-
${i18n('微博', 'weblog')}
|
|
13
|
-
</btn>
|
|
14
|
-
<btn ng-click=go("/login/qq")>
|
|
15
|
-
QQ
|
|
16
|
-
</btn>
|
|
17
|
-
<btn ng-click="go('/extra/pending',this.innerText)">
|
|
18
|
-
${i18n('微信', 'Wechat')}
|
|
19
|
-
</btn>
|
|
20
|
-
</div>
|
|
21
|
-
<div class=tips>${i18n("登录代表你同意<a>酷狗服务</a>和<a>隐私条款</a>", "Login represent that you agree <a>酷狗服务</a> and <a>隐私条款</a>")}</div>
|
|
22
|
-
</div>`.replace(/>\s+</g, "><");
|
|
23
|
-
page.innerHTML = template;
|
|
24
|
-
page.initialStyle = {
|
|
25
|
-
transform: "scale(1.36)",
|
|
26
|
-
opacity: 0,
|
|
27
|
-
zIndex: 2
|
|
28
|
-
};
|
|
29
|
-
function main(args) {
|
|
30
|
-
render(page, {
|
|
31
|
-
btn: button,
|
|
32
|
-
go,
|
|
33
|
-
args
|
|
34
|
-
});
|
|
35
|
-
return page;
|
|
36
|
-
}
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
& {
|
|
2
|
-
position: absolute;
|
|
3
|
-
height : 100%;
|
|
4
|
-
width : 100%;
|
|
5
|
-
top : 0;
|
|
6
|
-
left : 0;
|
|
7
|
-
right : 0;
|
|
8
|
-
bottom : 0;
|
|
9
|
-
|
|
10
|
-
[layer=left] & {
|
|
11
|
-
background: url('images/background.jpg') no-repeat right 0px bottom 0px / cover;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
.close {
|
|
16
|
-
.button {
|
|
17
|
-
color : #fff;
|
|
18
|
-
box-shadow: none;
|
|
19
|
-
|
|
20
|
-
[layer=main] & {
|
|
21
|
-
color: #666;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
&:active {
|
|
25
|
-
color: red;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
background : none;
|
|
29
|
-
width : 50px;
|
|
30
|
-
height : 50px;
|
|
31
|
-
line-height: 50px;
|
|
32
|
-
text-align : center;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
.logo {
|
|
37
|
-
[layer=main] & {
|
|
38
|
-
color: #666;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
height : 100px;
|
|
42
|
-
margin-top : 60px;
|
|
43
|
-
color : #fff;
|
|
44
|
-
font-size : 40px;
|
|
45
|
-
text-align : center;
|
|
46
|
-
line-height: 100px;
|
|
47
|
-
|
|
48
|
-
&:after {
|
|
49
|
-
content: "efront.cc";
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.option {
|
|
54
|
-
max-width : 640px;
|
|
55
|
-
margin : 0 auto;
|
|
56
|
-
text-align: center;
|
|
57
|
-
|
|
58
|
-
.button {
|
|
59
|
-
display : block;
|
|
60
|
-
border-radius: 18px;
|
|
61
|
-
margin : 20px;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
.line {
|
|
66
|
-
text-align: center;
|
|
67
|
-
overflow : hidden;
|
|
68
|
-
max-width : 640px;
|
|
69
|
-
margin : 0 auto;
|
|
70
|
-
border : 20pt solid transparent;
|
|
71
|
-
@length : 1000px;
|
|
72
|
-
@color : #ddd;
|
|
73
|
-
|
|
74
|
-
>span {
|
|
75
|
-
z-index : 1;
|
|
76
|
-
color : @color;
|
|
77
|
-
position: relative;
|
|
78
|
-
|
|
79
|
-
&:before,
|
|
80
|
-
&:after {
|
|
81
|
-
content : "";
|
|
82
|
-
display : block;
|
|
83
|
-
width : @length;
|
|
84
|
-
top : 50%;
|
|
85
|
-
position : absolute;
|
|
86
|
-
height : 1px;
|
|
87
|
-
background-color: @color;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
&:before {
|
|
91
|
-
left: -@length;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
&:after {
|
|
95
|
-
right: -@length;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
.methods {
|
|
101
|
-
text-align: center;
|
|
102
|
-
|
|
103
|
-
.button {
|
|
104
|
-
[layer=main] & {
|
|
105
|
-
color: #666;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
height : 60px;
|
|
109
|
-
line-height: 60px;
|
|
110
|
-
margin : 0 8px;
|
|
111
|
-
width : 60px;
|
|
112
|
-
background : none;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
.tips {
|
|
117
|
-
color : #ccc;
|
|
118
|
-
text-align : center;
|
|
119
|
-
user-select: none;
|
|
120
|
-
position : absolute;
|
|
121
|
-
bottom : 0;
|
|
122
|
-
width : 100%;
|
|
123
|
-
left : 0;
|
|
124
|
-
height : 50px;
|
|
125
|
-
line-height: 50px;
|
|
126
|
-
cursor : default;
|
|
127
|
-
|
|
128
|
-
a {
|
|
129
|
-
color : blue;
|
|
130
|
-
cursor: pointer;
|
|
131
|
-
|
|
132
|
-
&:active {
|
|
133
|
-
border-bottom: 1px solid;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
<div id='fxplayer-box'>
|
|
2
|
-
<video webkit-playsinline="true" playsinline="true" autoplay x-webkit-airplay="allow"></video>
|
|
3
|
-
<div class="change">
|
|
4
|
-
</div>
|
|
5
|
-
</div>
|
|
6
|
-
<option>
|
|
7
|
-
<div>
|
|
8
|
-
<div class="avatar" ng-style="{backgroundImage:'url(\''+room.imgPath+'\')'}"></div>
|
|
9
|
-
</div>
|
|
10
|
-
<div>
|
|
11
|
-
<div>
|
|
12
|
-
<span class=name style="user-select:text" ng-bind=room.nickName></span>
|
|
13
|
-
(房号<span style="user-select:text" ng-bind='room.roomId'></span>)
|
|
14
|
-
</div>
|
|
15
|
-
<div>
|
|
16
|
-
观众:<span ng-bind=Math.random()*10000|0></span>
|
|
17
|
-
</div>
|
|
18
|
-
</div>
|
|
19
|
-
<div>
|
|
20
|
-
<button>关注</button>
|
|
21
|
-
</div>
|
|
22
|
-
</option>
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
titlebar("直播");
|
|
2
|
-
var page = div();
|
|
3
|
-
page.innerHTML = Main;
|
|
4
|
-
var scope = render(page, {
|
|
5
|
-
videosrc: '',
|
|
6
|
-
room: {},
|
|
7
|
-
button,
|
|
8
|
-
option
|
|
9
|
-
}).$scope;
|
|
10
|
-
var resize = function () {
|
|
11
|
-
player.resize("fxplayer-box", page.clientWidth, page.clientWidth * .75);
|
|
12
|
-
};
|
|
13
|
-
onappend(page, function () {
|
|
14
|
-
var offresize = on("resize")(window, resize);
|
|
15
|
-
onremove(page, offresize);
|
|
16
|
-
});
|
|
17
|
-
onremove(page, function () {
|
|
18
|
-
player.stopLive("fxplayer-box");
|
|
19
|
-
});
|
|
20
|
-
page.initialStyle = 'margin-left:100%;z-index:2';
|
|
21
|
-
var player = {
|
|
22
|
-
init() { },
|
|
23
|
-
stopLive() {
|
|
24
|
-
var videoElement = page.getElementsByTagName("video")[0];
|
|
25
|
-
videoElement.removeAttribute("src");
|
|
26
|
-
videoElement.outterHTML = videoElement.outterHTML;
|
|
27
|
-
},
|
|
28
|
-
resize(_, width, height) {
|
|
29
|
-
var videoElement = page.getElementsByTagName("video")[0];
|
|
30
|
-
videoElement.width = width | 0;
|
|
31
|
-
videoElement.height = height | 0;
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
if (/iPhone|Android/.test(navigator.userAgent)) {
|
|
35
|
-
var currentRequest;
|
|
36
|
-
var main = function (params) {
|
|
37
|
-
scope.room = params;
|
|
38
|
-
currentRequest && currentRequest.abort();
|
|
39
|
-
var videoElement = page.getElementsByTagName("video")[0];
|
|
40
|
-
videoElement.poster = params.imgPath;
|
|
41
|
-
currentRequest = kugou$kugouapi.getStreamAddress(params).done(function (xhr) {
|
|
42
|
-
var data = kugou$getJsonpData(xhr);
|
|
43
|
-
videoElement.src = data.hls[+/Android/.test(navigator.userAgent)];
|
|
44
|
-
resize();
|
|
45
|
-
});
|
|
46
|
-
videoElement.play();
|
|
47
|
-
return page;
|
|
48
|
-
};
|
|
49
|
-
} else {
|
|
50
|
-
var currentRequest;
|
|
51
|
-
remove(page.getElementsByTagName("video")[0]);
|
|
52
|
-
var constructor = function (params) {
|
|
53
|
-
scope.room = params;
|
|
54
|
-
currentRequest && currentRequest.abort();
|
|
55
|
-
player.stopLive("fxplayer-box");
|
|
56
|
-
currentRequest = kugou$kugouapi.fanxingRoom(params).done(function (xhr) {
|
|
57
|
-
if (!page.isMounted) return;
|
|
58
|
-
var data = kugou$getJsonpData(xhr);
|
|
59
|
-
if (!data.sid) return alert("直播已结束!");
|
|
60
|
-
scope.videosrc = data.httpflv[0];
|
|
61
|
-
player.init({
|
|
62
|
-
id: "fxplayer-box",
|
|
63
|
-
url: scope.videosrc
|
|
64
|
-
});
|
|
65
|
-
resize();
|
|
66
|
-
});
|
|
67
|
-
return page;
|
|
68
|
-
}
|
|
69
|
-
var main = new Promise(function (ok) {
|
|
70
|
-
init('kugou$fxPlayer', function (kugou$fxPlayer) {
|
|
71
|
-
player = kugou$fxPlayer;
|
|
72
|
-
player.enableLog(false);
|
|
73
|
-
ok(constructor);
|
|
74
|
-
})
|
|
75
|
-
})
|
|
76
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
& {
|
|
2
|
-
background-color: #fff;
|
|
3
|
-
position: absolute;
|
|
4
|
-
top: 0;
|
|
5
|
-
bottom: 0;
|
|
6
|
-
width: 100%;
|
|
7
|
-
left: 0; // border-top: 50px solid transparent;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
&+.titlebar {
|
|
11
|
-
background: transparent;
|
|
12
|
-
box-shadow: none;
|
|
13
|
-
border: none;
|
|
14
|
-
color: transparent;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
.change {
|
|
18
|
-
position: absolute;
|
|
19
|
-
right: 10px;
|
|
20
|
-
top: 10px;
|
|
21
|
-
background: url("https://s4fx.kgimg.com/pub/rmobile/images/changeRoom_000853a.png") center / contain;
|
|
22
|
-
width: 40px;
|
|
23
|
-
height: 40px;
|
|
24
|
-
border-radius: 50%;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
#fxplayer-box {
|
|
28
|
-
min-height: 50px;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.option {
|
|
32
|
-
.body {
|
|
33
|
-
text-align: left;
|
|
34
|
-
line-height: 24px;
|
|
35
|
-
>div:nth-child(1) {
|
|
36
|
-
color: #888;
|
|
37
|
-
.name {
|
|
38
|
-
color: #000;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
>div:nth-child(2) {
|
|
42
|
-
color: #a7a7a7;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
.avatar {
|
|
48
|
-
border-radius: 50%;
|
|
49
|
-
height: 40px;
|
|
50
|
-
width: 40px;
|
|
51
|
-
background-position: center;
|
|
52
|
-
background-repeat: no-repeat;
|
|
53
|
-
background-size: cover;
|
|
54
|
-
}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
// 中文编码 utf-8
|
|
2
|
-
var qq_icon = icon("QQ", 0xffffff);
|
|
3
|
-
var loginBtn = button(qq_icon);
|
|
4
|
-
onclick(loginBtn, function () {
|
|
5
|
-
go("/user/login");
|
|
6
|
-
});
|
|
7
|
-
css(qq_icon, "width:28px;height:28px;margin:-14px;top:50%;left:50%;position:absolute;");
|
|
8
|
-
css(loginBtn, "display:inline-block;position:absolute;right:0;top:0;height:100%;width:60px;background-color:transparent");
|
|
9
|
-
var tbar = titlebar("EFRONT.cc", [loginBtn], false);
|
|
10
|
-
css(tbar,"text-align:left;padding-left:20px;")
|
|
11
|
-
var page = createElement(div, tbar, slider());
|
|
12
|
-
css(page, "font-size:40px;color:#fff;padding-top:50px;");
|
|
13
|
-
|
|
14
|
-
var group_sample = createElement(div);
|
|
15
|
-
css(group_sample, "width:100%;height:auto;position:relative;");
|
|
16
|
-
var title_sample = createElement(div);
|
|
17
|
-
css(title_sample, "width:100%;height:50px;position:relative;");
|
|
18
|
-
var body_sample = createElement(div);
|
|
19
|
-
css(body_sample, "width:");
|
|
20
|
-
// var group=function(title,objects){
|
|
21
|
-
// var title=createElement(div);
|
|
22
|
-
// appendChild(div,title);
|
|
23
|
-
// var images=objects.map(function(object){
|
|
24
|
-
// var image=new Image;
|
|
25
|
-
// image.src=object.image||object.images[0];
|
|
26
|
-
// image.onclick=function(){
|
|
27
|
-
// go(object.url);
|
|
28
|
-
// };
|
|
29
|
-
// return image;
|
|
30
|
-
// });
|
|
31
|
-
// var body=createElement(div);
|
|
32
|
-
// appendChild(body,images);
|
|
33
|
-
// var group=createElement(div);
|
|
34
|
-
|
|
35
|
-
// };
|
|
36
|
-
appendChild(page, group(
|
|
37
|
-
option(icon("menu"), ""),
|
|
38
|
-
option(icon("menu"), ""),
|
|
39
|
-
option(icon("menu"), ""),
|
|
40
|
-
option(icon("menu"), ""),
|
|
41
|
-
option(icon("menu"), ""),
|
|
42
|
-
option(icon("menu"), ""),
|
|
43
|
-
option(icon("menu"), "")
|
|
44
|
-
), group(
|
|
45
|
-
option(icon("menu"), ""),
|
|
46
|
-
option(icon("menu"), ""),
|
|
47
|
-
option(icon("menu"), ""),
|
|
48
|
-
option(icon("menu"), ""),
|
|
49
|
-
option(icon("menu"), ""),
|
|
50
|
-
option(icon("menu"), "")
|
|
51
|
-
));
|
|
52
|
-
|
|
53
|
-
function main() {
|
|
54
|
-
return vbox(page);
|
|
55
|
-
}
|
|
File without changes
|