diff --git a/novel-front/src/main/resources/static/mobile/js/common.js b/novel-front/src/main/resources/static/mobile/js/common.js index a62d25c..feea8a3 100644 --- a/novel-front/src/main/resources/static/mobile/js/common.js +++ b/novel-front/src/main/resources/static/mobile/js/common.js @@ -1,3 +1,48 @@ +var needLoginPath = ['/user/favorites.html','/user/comment.html','/user/feedback.html', + '/user/feedback_list.html','/user/read_history.html','/user/set_name.html', + '/user/set_password.html','/user/set_sex.html','/user/setup.html','/user/userinfo.html', + "/pay/index.html," + + "/author/register.html","/author/index.html"]; +var isLogin = false; + +jQuery.cookie = function (name, value, options) { + if (typeof value != 'undefined') { + options = options || {}; + if (value === null) { + value = ''; + options.expires = -1; + } + var expires = ''; + if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) { + var date; + if (typeof options.expires == 'number') { + date = new Date(); + date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)); + } else { + date = options.expires; + } + expires = '; expires=' + date.toUTCString(); + } + var path = options.path ? '; path=' + options.path : ''; + var domain = options.domain ? '; domain=' + options.domain : ''; + var secure = options.secure ? '; secure' : ''; + document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join(''); + } else { + var cookieValue = null; + if (document.cookie && document.cookie != '') { + var cookies = document.cookie.split(';'); + for (var i = 0; i < cookies.length; i++) { + var cookie = jQuery.trim(cookies[i]); + if (cookie.substring(0, name.length + 1) == (name + '=')) { + cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); + break; + } + } + } + return cookieValue; + } +}; + Array.prototype.indexOf = function (val) { for (var i = 0; i < this.length; i++) { if (this[i] == val) return i; @@ -12,15 +57,54 @@ Array.prototype.remove = function (val) { } }; -var token = localStorage.getItem("token"); -if (token) { - $.get("/user/isLogin", {"token": token}, function (data) { - if (data.code != 1) {//未登录 - localStorage.removeItem("token"); +var token = $.cookie('Authorization'); +if(!token){ + if(needLoginPath.indexOf(window.location.pathname) != -1){ + location.href = '/user/login.html?originUrl='+decodeURIComponent(location.href); + } + + $(".user_link").html("登录|注册"); +}else{ + $.ajax({ + type: "POST", + url: "/user/refreshToken", + data: {}, + dataType: "json", + success: function(data){ + if(data.code == 200){ + $(".user_link").html(""+(data.data.nickName.substring(0,3))+"... 退出"); + ; + if("/user/login.html" == window.location.pathname){ + var orginUrl = getSearchString("originUrl"); + window.location.href = orginUrl == undefined || orginUrl.isBlank() ? "/" : orginUrl; + return; + } + isLogin = true; + if(localStorage.getItem("autoLogin") == 1){ + $.cookie('Authorization', data.data.token, { expires: 7 ,path: '/' }); + }else { + $.cookie('Authorization', data.data.token,{ path: '/' }); + } + }else{ + if(needLoginPath.indexOf(window.location.pathname) != -1){ + location.href = '/user/login.html'; + } + $(".user_link").html("登录|注册"); + } + }, + error: function () { + layer.alert('网络异常'); } - }) + + }); } +function logout() { + $.cookie('Authorization', null,{ path: '/' }); + location.reload(); +} + + function readHistory() { diff --git a/novel-front/src/main/resources/templates/mobile/common/js.html b/novel-front/src/main/resources/templates/mobile/common/js.html index f53f536..e022d12 100644 --- a/novel-front/src/main/resources/templates/mobile/common/js.html +++ b/novel-front/src/main/resources/templates/mobile/common/js.html @@ -1,3 +1,3 @@ - + diff --git a/novel-front/src/main/resources/templates/mobile/index.html b/novel-front/src/main/resources/templates/mobile/index.html index ec2ab3b..251ed03 100644 --- a/novel-front/src/main/resources/templates/mobile/index.html +++ b/novel-front/src/main/resources/templates/mobile/index.html @@ -40,6 +40,20 @@ -webkit-transition: all .3s; } + .user_link{ + position: relative; + display: inline-block; + vertical-align: middle; + line-height: 50px; + padding: 0 20px; + color: #fff; + float: right; + } + .user_link a{ + + color: #fff; + } + @@ -85,7 +99,7 @@