Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
M
Moecube Store
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MyCard
Moecube Store
Commits
94c38fe1
Commit
94c38fe1
authored
Feb 08, 2013
by
神楽坂玲奈
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
login
parent
d01d0db1
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
211 additions
and
131 deletions
+211
-131
assets/javascripts/room_show.coffee
assets/javascripts/room_show.coffee
+25
-1
assets/javascripts/room_show.js
assets/javascripts/room_show.js
+32
-2
rooms/show.html
rooms/show.html
+128
-104
vendor/javascripts/jquery.cookie.js
vendor/javascripts/jquery.cookie.js
+26
-24
No files found.
assets/javascripts/room_show.coffee
View file @
94c38fe1
login
=
(
username
,
password
)
->
$
(
'#username'
).
html
username
$
(
'#login'
).
hide
()
$
(
'#userinfo'
).
show
()
$
(
'#need_login'
).
hide
()
$
(
'#join'
).
show
()
$
(
'#logout'
).
click
->
$
.
cookie
(
'username'
,
''
)
$
.
cookie
(
'password'
,
''
)
window
.
location
.
reload
()
$
(
'#login'
).
submit
->
$
.
cookie
(
'username'
,
@
username
.
value
)
$
.
cookie
(
'password'
,
@
password
.
value
)
login
(
$
.
cookie
(
'username'
),
$
.
cookie
(
'password'
))
false
matched
=
window
.
location
.
href
.
match
/\/(?:(.*?)(?::(.*?))?@)?([\d\.]+)\:(\d+)(?:\/(.*))?/
matched
=
window
.
location
.
href
.
match
/\/(?:(.*?)(?::(.*?))?@)?([\d\.]+)\:(\d+)(?:\/(.*))?/
if
matched
==
null
if
matched
==
null
alert
"解析房间信息失败"
alert
"解析房间信息失败"
...
@@ -31,5 +48,12 @@ $('#server_ip').html room.server.ip
...
@@ -31,5 +48,12 @@ $('#server_ip').html room.server.ip
$
(
'#server_port'
).
html
room
.
server
.
port
$
(
'#server_port'
).
html
room
.
server
.
port
$
(
'#server_auth'
).
html
room
.
server
.
auth
$
(
'#server_auth'
).
html
room
.
server
.
auth
if
room
.
server
.
auth
and
!
(
$
.
cookie
(
'username'
)
&&
$
.
cookie
(
'password'
))
$
(
'#join'
).
hide
()
$
(
'#need_login'
).
show
()
if
$
.
cookie
(
'username'
)
&&
$
.
cookie
(
'password'
)
login
(
$
.
cookie
(
'username'
),
$
.
cookie
(
'password'
))
$
(
'#join'
).
click
->
$
(
'#join'
).
click
->
mycard
.
join
room
.
server
.
ip
,
room
.
server
.
port
,
mycard
.
room_name
(
room
.
name
,
room
.
password
)
mycard
.
join
room
.
server
.
ip
,
room
.
server
.
port
,
mycard
.
room_name
(
room
.
name
,
room
.
password
),
$
.
cookie
(
'username'
),
(
$
.
cookie
(
'password'
)
if
room
.
server
.
auth
)
\ No newline at end of file
\ No newline at end of file
assets/javascripts/room_show.js
View file @
94c38fe1
// Generated by CoffeeScript 1.4.0
// Generated by CoffeeScript 1.4.0
(
function
()
{
(
function
()
{
var
matched
,
room
,
url
;
var
login
,
matched
,
room
,
url
;
login
=
function
(
username
,
password
)
{
$
(
'
#username
'
).
html
(
username
);
$
(
'
#login
'
).
hide
();
$
(
'
#userinfo
'
).
show
();
$
(
'
#need_login
'
).
hide
();
return
$
(
'
#join
'
).
show
();
};
$
(
'
#logout
'
).
click
(
function
()
{
$
.
cookie
(
'
username
'
,
''
);
$
.
cookie
(
'
password
'
,
''
);
return
window
.
location
.
reload
();
});
$
(
'
#login
'
).
submit
(
function
()
{
$
.
cookie
(
'
username
'
,
this
.
username
.
value
);
$
.
cookie
(
'
password
'
,
this
.
password
.
value
);
login
(
$
.
cookie
(
'
username
'
),
$
.
cookie
(
'
password
'
));
return
false
;
});
matched
=
window
.
location
.
href
.
match
(
/
\/(?:(
.*
?)(?:
:
(
.*
?))?
@
)?([\d\.]
+
)\:(\d
+
)(?:\/(
.*
))?
/
);
matched
=
window
.
location
.
href
.
match
(
/
\/(?:(
.*
?)(?:
:
(
.*
?))?
@
)?([\d\.]
+
)\:(\d
+
)(?:\/(
.*
))?
/
);
...
@@ -42,8 +63,17 @@
...
@@ -42,8 +63,17 @@
$
(
'
#server_auth
'
).
html
(
room
.
server
.
auth
);
$
(
'
#server_auth
'
).
html
(
room
.
server
.
auth
);
if
(
room
.
server
.
auth
&&
!
(
$
.
cookie
(
'
username
'
)
&&
$
.
cookie
(
'
password
'
)))
{
$
(
'
#join
'
).
hide
();
$
(
'
#need_login
'
).
show
();
}
if
(
$
.
cookie
(
'
username
'
)
&&
$
.
cookie
(
'
password
'
))
{
login
(
$
.
cookie
(
'
username
'
),
$
.
cookie
(
'
password
'
));
}
$
(
'
#join
'
).
click
(
function
()
{
$
(
'
#join
'
).
click
(
function
()
{
return
mycard
.
join
(
room
.
server
.
ip
,
room
.
server
.
port
,
mycard
.
room_name
(
room
.
name
,
room
.
password
));
return
mycard
.
join
(
room
.
server
.
ip
,
room
.
server
.
port
,
mycard
.
room_name
(
room
.
name
,
room
.
password
)
,
$
.
cookie
(
'
username
'
),
(
room
.
server
.
auth
?
$
.
cookie
(
'
password
'
)
:
void
0
)
);
});
});
}).
call
(
this
);
}).
call
(
this
);
rooms/show.html
View file @
94c38fe1
<!DOCTYPE html>
<!DOCTYPE html>
<html
lang=
"zh_cn"
>
<html
lang=
"zh_cn"
>
<head>
<head>
<meta
charset=
"utf-8"
>
<meta
charset=
"utf-8"
>
<title>
Mycard - 加入房间
</title>
<title>
Mycard - 加入房间
</title>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
>
...
@@ -24,11 +24,11 @@
...
@@ -24,11 +24,11 @@
<!--[if IE 6]>
<!--[if IE 6]>
<link href="/vendor/stylesheets/bootstrap/ie6.min.css" rel="stylesheet">
<link href="/vendor/stylesheets/bootstrap/ie6.min.css" rel="stylesheet">
<![endif]-->
<![endif]-->
</head>
</head>
<body>
<body>
<div
class=
"navbar navbar-inverse navbar-fixed-top"
>
<div
class=
"navbar navbar-inverse navbar-fixed-top"
>
<div
class=
"navbar-inner"
>
<div
class=
"navbar-inner"
>
<div
class=
"container"
>
<div
class=
"container"
>
<a
class=
"btn btn-navbar"
data-toggle=
"collapse"
data-target=
".nav-collapse"
>
<a
class=
"btn btn-navbar"
data-toggle=
"collapse"
data-target=
".nav-collapse"
>
...
@@ -37,6 +37,7 @@
...
@@ -37,6 +37,7 @@
<span
class=
"icon-bar"
></span>
<span
class=
"icon-bar"
></span>
</a>
</a>
<a
class=
"brand"
href=
"#"
>
Mycard 在线大厅
</a>
<a
class=
"brand"
href=
"#"
>
Mycard 在线大厅
</a>
<div
class=
"nav-collapse collapse"
>
<div
class=
"nav-collapse collapse"
>
<!--<ul class="nav">
<!--<ul class="nav">
<li class="active"><a href="#">Home</a></li>
<li class="active"><a href="#">Home</a></li>
...
@@ -55,50 +56,71 @@
...
@@ -55,50 +56,71 @@
</ul>
</ul>
</li>
</li>
</ul>-->
</ul>-->
<form
class=
"navbar-form pull-right"
>
<form
id=
"login"
class=
"navbar-form pull-right"
>
<input
class=
"span2"
type=
"text
"
placeholder=
"用户名"
>
<input
class=
"span2"
type=
"text"
name=
"username
"
placeholder=
"用户名"
>
<input
class=
"span2"
typ
e=
"password"
placeholder=
"密码"
>
<input
class=
"span2"
type=
"password"
nam
e=
"password"
placeholder=
"密码"
>
<button
type=
"submit"
class=
"btn"
>
登录
</button>
<button
type=
"submit"
class=
"btn"
>
登录
</button>
</form>
</form>
</div>
<!--/.nav-collapse -->
<form
id=
"userinfo"
class=
"navbar-form pull-right"
style=
"display: none"
>
<span
id=
"username"
></span>
<a
id=
"logout"
>
退出
</a>
</form>
</div>
</div>
<!--/.nav-collapse -->
</div>
</div>
</div>
</div>
</div>
<div
class=
"container"
>
<div
class=
"container"
>
<!-- Main hero unit for a primary marketing message or call to action -->
<!-- Main hero unit for a primary marketing message or call to action -->
<div
class=
"hero-unit"
>
<div
class=
"hero-unit"
>
<h1>
加入房间
</h1>
<h1>
加入房间
</h1>
<dl
id=
"room"
>
<dl
id=
"room"
>
<h2>
房间信息
</h2>
<h2>
房间信息
</h2>
<dt>
房间名称
</dt><dd
id=
"name"
></dd>
<dt>
房间名称
</dt>
<div
id=
"show_password_wrapper"
style=
"display: none;"
><dt>
房间密码
</dt><dd
id=
"show_password"
></dd></div>
<dd
id=
"name"
></dd>
<div
id=
"input_password_wrapper"
style=
"display: none;"
><dt>
房间密码
</dt><input
id=
"input_password"
placeholder=
"如果加入后只有自己,是密码错误"
/></div>
<div
id=
"show_password_wrapper"
style=
"display: none;"
>
<dt>
房间密码
</dt>
<dd
id=
"show_password"
></dd>
</div>
<div
id=
"input_password_wrapper"
style=
"display: none;"
>
<dt>
房间密码
</dt>
<input
id=
"input_password"
placeholder=
"如果加入后只有自己,是密码错误"
/></div>
<h2>
服务器信息
</h2>
<h2>
服务器信息
</h2>
<dt>
服务器IP
</dt><dd
id=
"server_ip"
></dd>
<dt>
服务器IP
</dt>
<dt>
服务器端口
</dt><dd
id=
"server_port"
></dd>
<dd
id=
"server_ip"
></dd>
<dt>
服务器认证
</dt><dd
id=
"server_auth"
></dd>
<dt>
服务器端口
</dt>
<dd
id=
"server_port"
></dd>
<dt>
服务器认证
</dt>
<dd
id=
"server_auth"
></dd>
</dl>
</dl>
<p><a
id=
"join"
class=
"btn btn-primary btn-large"
>
加入房间
</a></p>
<p><
h2
id=
"need_login"
style=
"display:none"
>
请戳页面右上角登录
</h2><
a
id=
"join"
class=
"btn btn-primary btn-large"
>
加入房间
</a></p>
</div>
</div>
<!-- Example row of columns -->
<!-- Example row of columns -->
<div
class=
"row"
>
<div
class=
"row"
>
<div
class=
"span4"
>
<div
class=
"span4"
>
<h2>
注意
</h2>
<h2>
注意
</h2>
<p>
需要本地安装了mycard才能自动加入房间,如果没有安装,请手动打开ygopro点联机模式填写上面的资料。
</p>
<p>
需要本地安装了mycard才能自动加入房间,如果没有安装,请手动打开ygopro点联机模式填写上面的资料。
</p>
<p><a
class=
"btn"
href=
"https://github.com/zh99998/mycard/wiki/%E5%AF%B9%E6%88%98:%E7%9B%B4%E6%8E%A5%E8%BF%9E%E6%8E%A5#wiki-wrapper"
>
手动直连教程
»
</a></p>
<p><a
class=
"btn"
href=
"https://github.com/zh99998/mycard/wiki/%E5%AF%B9%E6%88%98:%E7%9B%B4%E6%8E%A5%E8%BF%9E%E6%8E%A5#wiki-wrapper"
>
手动直连教程
»
</a>
</p>
</div>
</div>
<div
class=
"span4"
>
<div
class=
"span4"
>
<h2>
浏览器支持
</h2>
<h2>
浏览器支持
</h2>
<p>
我们推荐使用
<a
href=
"http://www.google.com/chrome"
>
chrome浏览器
</a>
访问本站以达到最佳体验,如果您不方便更换浏览器,建议安装
<a
href=
"http://www.google.com/chromeframe"
>
谷歌浏览器内嵌框架
</a>
。
<p>
我们推荐使用
<a
href=
"http://www.google.com/chrome"
>
chrome浏览器
</a>
访问本站以达到最佳体验,如果您不方便更换浏览器,建议安装
<a
href=
"http://www.google.com/chromeframe"
>
谷歌浏览器内嵌框架
</a>
。
在开发阶段,我们将优先支持chrome,正式版本将会支持IE8或更高,以及chrome, firefox, opera的较新版本。
在开发阶段,我们将优先支持chrome,正式版本将会支持IE8或更高,以及chrome, firefox, opera的较新版本。
</p>
</p>
<!--<p><a class="btn" href="#">View details »</a></p>-->
<!--<p><a class="btn" href="#">View details »</a></p>-->
</div>
</div>
<div
class=
"span4"
>
<div
class=
"span4"
>
<h2>
联系我们
</h2>
<h2>
联系我们
</h2>
<p>
如果使用这个系统出现了什么问题,或者想帮助我们进行开发,请联系:
<a
href=
"mailto:zh99998@gmail.com"
>
zh99998@gmail.com
</a></p>
<p>
如果使用这个系统出现了什么问题,或者想帮助我们进行开发,请联系:
<a
href=
"mailto:zh99998@gmail.com"
>
zh99998@gmail.com
</a></p>
<!--<p><a class="btn" href="#">View details »</a></p>-->
<!--<p><a class="btn" href="#">View details »</a></p>-->
</div>
</div>
...
@@ -110,35 +132,37 @@
...
@@ -110,35 +132,37 @@
<p>
©
Mycard 2013
</p>
<p>
©
Mycard 2013
</p>
</footer>
</footer>
</div>
<!-- /container -->
</div>
<!-- /container -->
<!-- Le javascript
================================================== -->
<!-- Le javascript
<!-- Placed at the end of the document so the pages load faster -->
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<!--<script src="../assets/js/jquery.js"></script>
<script src="../assets/js/bootstrap-transition.js"></script>
<!--<script src="../assets/js/jquery.js"></script>
<script src="../assets/js/bootstrap-alert.js"></script>
<script src="../assets/js/bootstrap-transition.js"></script>
<script src="../assets/js/bootstrap-modal.js"></script>
<script src="../assets/js/bootstrap-alert.js"></script>
<script src="../assets/js/bootstrap-dropdown.js"></script>
<script src="../assets/js/bootstrap-modal.js"></script>
<script src="../assets/js/bootstrap-scrollspy.js"></script>
<script src="../assets/js/bootstrap-dropdown.js"></script>
<script src="../assets/js/bootstrap-tab.js"></script>
<script src="../assets/js/bootstrap-scrollspy.js"></script>
<script src="../assets/js/bootstrap-tooltip.js"></script>
<script src="../assets/js/bootstrap-tab.js"></script>
<script src="../assets/js/bootstrap-popover.js"></script>
<script src="../assets/js/bootstrap-tooltip.js"></script>
<script src="../assets/js/bootstrap-button.js"></script>
<script src="../assets/js/bootstrap-popover.js"></script>
<script src="../assets/js/bootstrap-collapse.js"></script>
<script src="../assets/js/bootstrap-button.js"></script>
<script src="../assets/js/bootstrap-carousel.js"></script>
<script src="../assets/js/bootstrap-collapse.js"></script>
<script src="../assets/js/bootstrap-typeahead.js"></script>-->
<script src="../assets/js/bootstrap-carousel.js"></script>
<script
src=
"/vendor/javascripts/jquery-1.8.2.min.js"
></script>
<script src="../assets/js/bootstrap-typeahead.js"></script>-->
<script
src=
"/vendor/javascripts/bootstrap.min.js"
></script>
<script
src=
"/vendor/javascripts/jquery-1.8.2.min.js"
></script>
<script
src=
"/vendor/javascripts/bootstrap.min.js"
></script>
<script
src=
"/vendor/javascripts/jQuery-URL-Parser.js"
></script>
<script
src=
"/vendor/javascripts/underscore-min.js"
></script>
<script
src=
"/vendor/javascripts/jQuery-URL-Parser.js"
></script>
<script
src=
"/vendor/javascripts/underscore.string.min.js"
></script>
<script
src=
"/vendor/javascripts/jquery.cookie.js"
></script>
<script
src=
"/vendor/javascripts/underscore-min.js"
></script>
<script
src=
"/vendor/javascripts/mycard.js"
></script>
<script
src=
"/vendor/javascripts/underscore.string.min.js"
></script>
<script
src=
"/assets/javascripts/room_show.js"
></script>
<script
src=
"/vendor/javascripts/mycard.js"
></script>
</body>
<script
src=
"/assets/javascripts/room_show.js"
></script>
</body>
</html>
</html>
vendor/javascripts/jquery.cookie.js
View file @
94c38fe1
/*!
/*!
* jQuery Cookie Plugin v1.3.
0
* jQuery Cookie Plugin v1.3.
1
* https://github.com/carhartl/jquery-cookie
* https://github.com/carhartl/jquery-cookie
*
*
* Copyright 2013 Klaus Hartl
* Copyright 2013 Klaus Hartl
* Released under the MIT license
* Released under the MIT license
*/
*/
(
function
(
$
,
document
,
undefined
)
{
(
function
(
factory
)
{
if
(
typeof
define
===
'
function
'
&&
define
.
amd
&&
define
.
amd
.
jQuery
)
{
// AMD. Register as anonymous module.
define
([
'
jquery
'
],
factory
);
}
else
{
// Browser globals.
factory
(
jQuery
);
}
}(
function
(
$
)
{
var
pluses
=
/
\+
/g
;
var
pluses
=
/
\+
/g
;
...
@@ -14,15 +22,17 @@
...
@@ -14,15 +22,17 @@
}
}
function
decoded
(
s
)
{
function
decoded
(
s
)
{
return
unRfc2068
(
decodeURIComponent
(
s
.
replace
(
pluses
,
'
'
)
));
return
decodeURIComponent
(
s
.
replace
(
pluses
,
'
'
));
}
}
function
unRfc2068
(
value
)
{
function
converted
(
s
)
{
if
(
value
.
indexOf
(
'
"
'
)
===
0
)
{
if
(
s
.
indexOf
(
'
"
'
)
===
0
)
{
// This is a quoted cookie as according to RFC2068, unescape
// This is a quoted cookie as according to RFC2068, unescape
value
=
value
.
slice
(
1
,
-
1
).
replace
(
/
\\
"/g
,
'
"
'
).
replace
(
/
\\\\
/g
,
'
\\
'
);
s
=
s
.
slice
(
1
,
-
1
).
replace
(
/
\\
"/g
,
'
"
'
).
replace
(
/
\\\\
/g
,
'
\\
'
);
}
}
return
value
;
try
{
return
config
.
json
?
JSON
.
parse
(
s
)
:
s
;
}
catch
(
er
)
{}
}
}
var
config
=
$
.
cookie
=
function
(
key
,
value
,
options
)
{
var
config
=
$
.
cookie
=
function
(
key
,
value
,
options
)
{
...
@@ -31,10 +41,6 @@
...
@@ -31,10 +41,6 @@
if
(
value
!==
undefined
)
{
if
(
value
!==
undefined
)
{
options
=
$
.
extend
({},
config
.
defaults
,
options
);
options
=
$
.
extend
({},
config
.
defaults
,
options
);
if
(
value
===
null
)
{
options
.
expires
=
-
1
;
}
if
(
typeof
options
.
expires
===
'
number
'
)
{
if
(
typeof
options
.
expires
===
'
number
'
)
{
var
days
=
options
.
expires
,
t
=
options
.
expires
=
new
Date
();
var
days
=
options
.
expires
,
t
=
options
.
expires
=
new
Date
();
t
.
setDate
(
t
.
getDate
()
+
days
);
t
.
setDate
(
t
.
getDate
()
+
days
);
...
@@ -54,23 +60,19 @@
...
@@ -54,23 +60,19 @@
// read
// read
var
decode
=
config
.
raw
?
raw
:
decoded
;
var
decode
=
config
.
raw
?
raw
:
decoded
;
var
cookies
=
document
.
cookie
.
split
(
'
;
'
);
var
cookies
=
document
.
cookie
.
split
(
'
;
'
);
var
result
=
key
?
null
:
{};
var
result
=
key
?
undefined
:
{};
for
(
var
i
=
0
,
l
=
cookies
.
length
;
i
<
l
;
i
++
)
{
for
(
var
i
=
0
,
l
=
cookies
.
length
;
i
<
l
;
i
++
)
{
var
parts
=
cookies
[
i
].
split
(
'
=
'
);
var
parts
=
cookies
[
i
].
split
(
'
=
'
);
var
name
=
decode
(
parts
.
shift
());
var
name
=
decode
(
parts
.
shift
());
var
cookie
=
decode
(
parts
.
join
(
'
=
'
));
var
cookie
=
decode
(
parts
.
join
(
'
=
'
));
if
(
config
.
json
)
{
cookie
=
JSON
.
parse
(
cookie
);
}
if
(
key
&&
key
===
name
)
{
if
(
key
&&
key
===
name
)
{
result
=
co
okie
;
result
=
co
nverted
(
cookie
)
;
break
;
break
;
}
}
if
(
!
key
)
{
if
(
!
key
)
{
result
[
name
]
=
co
okie
;
result
[
name
]
=
co
nverted
(
cookie
)
;
}
}
}
}
...
@@ -80,11 +82,11 @@
...
@@ -80,11 +82,11 @@
config
.
defaults
=
{};
config
.
defaults
=
{};
$
.
removeCookie
=
function
(
key
,
options
)
{
$
.
removeCookie
=
function
(
key
,
options
)
{
if
(
$
.
cookie
(
key
)
!==
null
)
{
if
(
$
.
cookie
(
key
)
!==
undefined
)
{
$
.
cookie
(
key
,
null
,
options
);
$
.
cookie
(
key
,
''
,
$
.
extend
(
options
,
{
expires
:
-
1
})
);
return
true
;
return
true
;
}
}
return
false
;
return
false
;
};
};
})
(
jQuery
,
document
);
}));
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment