Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <div id="pages">
- <div id="loginForm">
- <form name="loginForm" method="post" action="<%=ctxPath%>/api/gettoken">
- 用户名:<input type="text" name="u" />
- 密码:<input type="text" name="p" />
- <input type="submit" value="登录" />
- </form>
- </div>
- <div id="main">
- <p class="login-info"></p>
- </div>
- </div>
- <script type="text/javascript" src="<%=ctxPath%>/js/flower.js/flower-0.1.js"></script>
- <script type="text/javascript" src="<%=ctxPath%>/js/json3/lib/json3.min.js"></script>
- <script type="text/javascript" src="<%=ctxPath%>/js/flower-widgets/pages.js"></script>
- <script type="text/javascript">
- Flower.cookie.load();
- var token;
- // init UI
- var pages = new FlowerUI.Pages(document.getElementById('pages'));
- pages.setInitFunc(1, function(elem) {
- var info = elem.children[0];
- info.innerHTML = '登录成功,token = ' + token;
- });
- function checkLogin() {
- token = Flower.cookie.get('token');
- if (token) {
- return true;
- }
- return false;
- }
- function executeDFA(dfa, start) {
- var cur = start || 'start';
- while (cur) {
- cur = dfa[cur]();
- }
- }
- var flow = {
- checkLogin: function() {
- if (checkLogin()) {
- return 'main';
- }
- return 'showLoginForm';
- },
- showLoginForm: function() {
- pages.switchTo(0);
- },
- main: function() {
- pages.switchTo(1);
- }
- };
- flow.start = flow.checkLogin;
- executeDFA(flow);
- function onerror(status, respText) {
- alert('Error: HTTP ' + status + '\n' + respText);
- }
- var loginAjaxForm = new Flower.AjaxForm(document.loginForm, function(respText) {
- var result = JSON.parse(respText);
- if (result.token && result.token.length > 0) {
- Flower.cookie.set('token', result.token, 10 * Flower.TimeUnits.MINUTES);
- executeDFA(flow);
- } else {
- alert('未知错误,无法获取 token');
- }
- }, onerror);
- Flower.eventer.addEventListener(document.loginForm, 'submit', function(e) {
- try {
- Flower.assert.notEmpty(document.loginForm.u.value, '用户名不能为空');
- Flower.assert.notEmpty(document.loginForm.p.value, '密码不能为空');
- loginAjaxForm.submit();
- } catch (e) {
- if (e instanceof Flower.AssertError) {
- alert(e.message);
- } else throw e;
- }
- e = e || window.event;
- Flower.eventer.preventDefault(e);
- return false;
- });
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement