Commit 94c38fe1 authored by 神楽坂玲奈's avatar 神楽坂玲奈

login

parent d01d0db1
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+)(?:\/(.*))?/
if matched == null
alert "解析房间信息失败"
......@@ -31,5 +48,12 @@ $('#server_ip').html room.server.ip
$('#server_port').html room.server.port
$('#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 ->
mycard.join room.server.ip,room.server.port,mycard.room_name(room.name, room.password)
\ No newline at end of file
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
// Generated by CoffeeScript 1.4.0
(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+)(?:\/(.*))?/);
......@@ -42,8 +63,17 @@
$('#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() {
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);
<!DOCTYPE html>
<html lang="zh_cn">
<head>
<head>
<meta charset="utf-8">
<title>Mycard - 加入房间</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
......@@ -10,135 +10,159 @@
<!-- Le styles -->
<link href="/vendor/stylesheets/bootstrap/bootstrap.min.css" rel="stylesheet">
<style type="text/css">
body {
padding-top: 60px;
padding-bottom: 40px;
}
body {
padding-top: 60px;
padding-bottom: 40px;
}
</style>
<link href="/vendor/stylesheets/bootstrap/bootstrap-responsive.min.css" rel="stylesheet">
<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!--[if IE 6]>
<link href="/vendor/stylesheets/bootstrap/ie6.min.css" rel="stylesheet">
<link href="/vendor/stylesheets/bootstrap/ie6.min.css" rel="stylesheet">
<![endif]-->
</head>
</head>
<body>
<body>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="navbar-inner">
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" href="#">Mycard 在线大厅</a>
<div class="nav-collapse collapse">
<!--<ul class="nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#contact">Contact</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li class="divider"></li>
<li class="nav-header">Nav header</li>
<li><a href="#">Separated link</a></li>
<li><a href="#">One more separated link</a></li>
</ul>
</li>
</ul>-->
<form class="navbar-form pull-right">
<input class="span2" type="text" placeholder="用户名">
<input class="span2" type="password" placeholder="密码">
<button type="submit" class="btn">登录</button>
</form>
</div><!--/.nav-collapse -->
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" href="#">Mycard 在线大厅</a>
<div class="nav-collapse collapse">
<!--<ul class="nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#contact">Contact</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li class="divider"></li>
<li class="nav-header">Nav header</li>
<li><a href="#">Separated link</a></li>
<li><a href="#">One more separated link</a></li>
</ul>
</li>
</ul>-->
<form id="login" class="navbar-form pull-right">
<input class="span2" type="text" name="username" placeholder="用户名">
<input class="span2" type="password" name="password" placeholder="密码">
<button type="submit" class="btn">登录</button>
</form>
<form id="userinfo" class="navbar-form pull-right" style="display: none">
<span id="username"></span>
<a id="logout">退出</a>
</form>
</div>
<!--/.nav-collapse -->
</div>
</div>
</div>
</div>
<div class="container">
<div class="container">
<!-- Main hero unit for a primary marketing message or call to action -->
<div class="hero-unit">
<!-- Main hero unit for a primary marketing message or call to action -->
<div class="hero-unit">
<h1>加入房间</h1>
<dl id="room">
<h2>房间信息</h2>
<dt>房间名称</dt><dd id="name"></dd>
<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>
<dt>服务器IP</dt><dd id="server_ip"></dd>
<dt>服务器端口</dt><dd id="server_port"></dd>
<dt>服务器认证</dt><dd id="server_auth"></dd>
</dl>
<p><a id="join" class="btn btn-primary btn-large">加入房间</a></p>
</div>
<!-- Example row of columns -->
<div class="row">
<dl id="room">
<h2>房间信息</h2>
<dt>房间名称</dt>
<dd id="name"></dd>
<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>
<dt>服务器IP</dt>
<dd id="server_ip"></dd>
<dt>服务器端口</dt>
<dd id="server_port"></dd>
<dt>服务器认证</dt>
<dd id="server_auth"></dd>
</dl>
<p><h2 id="need_login" style="display:none">请戳页面右上角登录</h2><a id="join" class="btn btn-primary btn-large">加入房间</a></p>
</div>
<!-- Example row of columns -->
<div class="row">
<div class="span4">
<h2>注意</h2>
<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">手动直连教程 &raquo;</a></p>
<h2>注意</h2>
<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">手动直连教程 &raquo;</a>
</p>
</div>
<div class="span4">
<h2>浏览器支持</h2>
<p>我们推荐使用<a href="http://www.google.com/chrome">chrome浏览器</a>访问本站以达到最佳体验,如果您不方便更换浏览器,建议安装<a href="http://www.google.com/chromeframe">谷歌浏览器内嵌框架</a>
<h2>浏览器支持</h2>
<p>我们推荐使用<a href="http://www.google.com/chrome">chrome浏览器</a>访问本站以达到最佳体验,如果您不方便更换浏览器,建议安装<a
href="http://www.google.com/chromeframe">谷歌浏览器内嵌框架</a>
在开发阶段,我们将优先支持chrome,正式版本将会支持IE8或更高,以及chrome, firefox, opera的较新版本。
</p>
<!--<p><a class="btn" href="#">View details &raquo;</a></p>-->
</div>
</div>
<div class="span4">
<h2>联系我们</h2>
<h2>联系我们</h2>
<p>如果使用这个系统出现了什么问题,或者想帮助我们进行开发,请联系: <a href="mailto:zh99998@gmail.com">zh99998@gmail.com</a></p>
<!--<p><a class="btn" href="#">View details &raquo;</a></p>-->
<!--<p><a class="btn" href="#">View details &raquo;</a></p>-->
</div>
</div>
</div>
<hr>
<hr>
<footer>
<footer>
<p>&copy; Mycard 2013</p>
</footer>
</div> <!-- /container -->
<!-- Le javascript
================================================== -->
<!-- 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/bootstrap-alert.js"></script>
<script src="../assets/js/bootstrap-modal.js"></script>
<script src="../assets/js/bootstrap-dropdown.js"></script>
<script src="../assets/js/bootstrap-scrollspy.js"></script>
<script src="../assets/js/bootstrap-tab.js"></script>
<script src="../assets/js/bootstrap-tooltip.js"></script>
<script src="../assets/js/bootstrap-popover.js"></script>
<script src="../assets/js/bootstrap-button.js"></script>
<script src="../assets/js/bootstrap-collapse.js"></script>
<script src="../assets/js/bootstrap-carousel.js"></script>
<script src="../assets/js/bootstrap-typeahead.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/underscore.string.min.js"></script>
<script src="/vendor/javascripts/mycard.js"></script>
<script src="/assets/javascripts/room_show.js"></script>
</body>
</footer>
</div>
<!-- /container -->
<!-- Le javascript
================================================== -->
<!-- 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/bootstrap-alert.js"></script>
<script src="../assets/js/bootstrap-modal.js"></script>
<script src="../assets/js/bootstrap-dropdown.js"></script>
<script src="../assets/js/bootstrap-scrollspy.js"></script>
<script src="../assets/js/bootstrap-tab.js"></script>
<script src="../assets/js/bootstrap-tooltip.js"></script>
<script src="../assets/js/bootstrap-popover.js"></script>
<script src="../assets/js/bootstrap-button.js"></script>
<script src="../assets/js/bootstrap-collapse.js"></script>
<script src="../assets/js/bootstrap-carousel.js"></script>
<script src="../assets/js/bootstrap-typeahead.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/jquery.cookie.js"></script>
<script src="/vendor/javascripts/underscore-min.js"></script>
<script src="/vendor/javascripts/underscore.string.min.js"></script>
<script src="/vendor/javascripts/mycard.js"></script>
<script src="/assets/javascripts/room_show.js"></script>
</body>
</html>
/*!
* jQuery Cookie Plugin v1.3.0
* jQuery Cookie Plugin v1.3.1
* https://github.com/carhartl/jquery-cookie
*
* Copyright 2013 Klaus Hartl
* 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;
......@@ -14,15 +22,17 @@
}
function decoded(s) {
return unRfc2068(decodeURIComponent(s.replace(pluses, ' ')));
return decodeURIComponent(s.replace(pluses, ' '));
}
function unRfc2068(value) {
if (value.indexOf('"') === 0) {
function converted(s) {
if (s.indexOf('"') === 0) {
// 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) {
......@@ -31,10 +41,6 @@
if (value !== undefined) {
options = $.extend({}, config.defaults, options);
if (value === null) {
options.expires = -1;
}
if (typeof options.expires === 'number') {
var days = options.expires, t = options.expires = new Date();
t.setDate(t.getDate() + days);
......@@ -54,23 +60,19 @@
// read
var decode = config.raw ? raw : decoded;
var cookies = document.cookie.split('; ');
var result = key ? null : {};
var result = key ? undefined : {};
for (var i = 0, l = cookies.length; i < l; i++) {
var parts = cookies[i].split('=');
var name = decode(parts.shift());
var cookie = decode(parts.join('='));
if (config.json) {
cookie = JSON.parse(cookie);
}
if (key && key === name) {
result = cookie;
result = converted(cookie);
break;
}
if (!key) {
result[name] = cookie;
result[name] = converted(cookie);
}
}
......@@ -80,11 +82,11 @@
config.defaults = {};
$.removeCookie = function (key, options) {
if ($.cookie(key) !== null) {
$.cookie(key, null, options);
if ($.cookie(key) !== undefined) {
$.cookie(key, '', $.extend(options, { expires: -1 }));
return true;
}
return false;
};
})(jQuery, document);
}));
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment