瀏覽代碼

登录后,自动调整登录前页面

MaiXinRong 8 年之前
父節點
當前提交
1cef5768f6
共有 3 個文件被更改,包括 21 次插入3 次删除
  1. 11 0
      public/web/urlUtil.js
  2. 2 2
      server.js
  3. 8 1
      web/users/login.html

+ 11 - 0
public/web/urlUtil.js

@@ -0,0 +1,11 @@
+/**
+ * Created by Mai on 2017/4/18.
+ */
+var scUrlUtil = {
+    GetQueryString: function (name) {
+        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
+        var r = window.location.search.substr(1).match(reg);
+        if (r != null) return unescape(r[2]);
+        return null;
+    }
+};

+ 2 - 2
server.js

@@ -38,8 +38,8 @@ app.use(session({
 
 app.use(function (req, res, next) {
     var url = req.originalUrl;
-    if (req.originalUrl !== "/login" && !req.session.userAccount) {
-        return res.redirect("/login");
+    if (!/^\/login/.test(req.originalUrl) && !req.session.userAccount) {
+        return res.redirect("/login" + '?referer=' + req.originalUrl);
     }
     next();
 });

+ 8 - 1
web/users/login.html

@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="/web/css/main.css">
     <link rel="stylesheet" href="/web/css/font-awesome/font-awesome.min.css">
     <script src="/lib/jquery/jquery.min.js"></script>
+    <script src="/public/web/urlUtil.js"></script>
 </head>
 <body>
     <div class="container">
@@ -36,6 +37,8 @@
 
         <script>
             $(document).ready(function () {
+                var referer = scUrlUtil.GetQueryString('referer');
+
                 $("#login").click(function () {
                     var account = $("#inputEmail").val();
                     var pw = $("#inputPassword").val();
@@ -47,7 +50,11 @@
                         success: function (result) {
                             if (result.data) {
 //                                $('#ver').modal('show');
-                                location.href = '/';
+                                if (referer) {
+                                    location.href = referer;
+                                } else {
+                                    location.href = '/';
+                                }
                             }
                             else {
                                 $('#hint').html(result.error);