Bladeren bron

首页登录记录项目名称和code

laiguoran 5 jaren geleden
bovenliggende
commit
62108ee491
3 gewijzigde bestanden met toevoegingen van 70 en 1 verwijderingen
  1. 26 0
      app/controller/login_controller.js
  2. 1 0
      app/router.js
  3. 43 1
      app/view/login/login.ejs

+ 26 - 0
app/controller/login_controller.js

@@ -72,6 +72,32 @@ module.exports = app => {
             ctx.redirect('/');
         }
 
+        /**
+         * 获取项目名
+         *
+         * @param {Object} ctx - egg全局context
+         * @return {void}
+         */
+        async projectName(ctx) {
+            const response = {
+                err: 0,
+                msg: '',
+            };
+            const code = ctx.query.code;
+            try {
+                const data = await ctx.service.project.getProjectByCode(code);
+                if (data) {
+                    response.data = data.name;
+                } else {
+                    throw '项目不存在';
+                }
+            } catch (err) {
+                response.err = 1;
+                response.msg = err;
+            }
+            ctx.body = response;
+        }
+
     }
 
     return LoginController;

+ 1 - 0
app/router.js

@@ -20,6 +20,7 @@ module.exports = app => {
     app.get('/', 'loginController.index');
     app.get('/logout', 'loginController.logout');
     app.post('/login', 'loginController.login');
+    app.get('/project/name', 'loginController.projectName');
 
     app.get('/sign', 'signController.index');
     app.post('/sign/save', 'signController.save');

+ 43 - 1
app/view/login/login.ejs

@@ -7,13 +7,15 @@
     <title>用户登录-计量支付</title>
     <link rel="stylesheet" href="public/css/bootstrap/bootstrap.min.css">
     <link rel="stylesheet" href="public/css/main.css">
+    <link rel="stylesheet" href="/public/css/toast.css">
     <link rel="stylesheet" href="public/css/font-awesome/font-awesome.min.css">
 </head>
 <body class="login-body">
 <div class="container">
     <!--演示版-->
     <form class="form-signin" method="post" action="/login">
-        <h4 class="d-flex justify-content-center mb-4">纵横云计量</h4>
+        <h4 class="d-flex justify-content-center mb-4"><span id="project_name"></span>纵横云计量</h4>
+        <p class="text-center mb-4 text-muted"></p>
         <!--<nav class="nav nav-tabs nav-justified mb-3" role="tablist" id="login-tab">-->
             <!--<a class="nav-item nav-link" data-toggle="tab" data-type="1" href="#preview" role="tab">演示版登录</a>-->
             <!--<a class="nav-item nav-link active" data-toggle="tab" data-type="2" href="#paid" role="tab">项目版登录</a>-->
@@ -57,6 +59,10 @@
     <!--项目版-->
     <div class="text-white fixed-bottom"><p class="text-center mb-1">Copyright © 2018 <a href="https://smartcost.com.cn" target="_blank" class="text-white">珠海纵横创新软件有限公司</a>.All Rights Reserved.<a class="text-white ml-2" href="http://www.miitbeian.gov.cn" target="_blank">粤ICP备14032472号</a></p></div>
 </div>
+<div class="toast" style="text-align: center">
+    <i class="icon fa"></i>
+    <span class="message"></span>
+</div>
 <!-- JS. -->
 <script src="/public/js/jquery/jquery-3.2.1.min.js"></script>
 <script src="/public/js/popper/popper.min.js"></script>
@@ -64,6 +70,12 @@
 <script src="/public/js/global.js"></script>
 <script type="text/javascript">
 $(document).ready(function() {
+    const lSPName = getLocalCache('project_name');
+    const lSPCode = getLocalCache('project_code');
+    if (lSPName !== undefined) {
+        $('#project_name').text(lSPName);
+        $('#project').val(lSPCode);
+    }
     $("#login-tab a[data-toggle='tab']").on('shown.bs.tab', function () {
         let type = $(this).data('type');
         type = parseInt(type);
@@ -80,6 +92,36 @@ $(document).ready(function() {
     //         $('#error-msg').text('账号格式有误');
     //     }
     // })
+    $('#project').blur(function () {
+        if ($(this).val() == '') {
+            $('#project_name').text('');
+            removeLocalCache('project_code');
+            removeLocalCache('project_name');
+        } else {
+            const pcode = getLocalCache('project_code');
+            if ($(this).val() !== pcode) {
+                const pc = $(this).val();
+                $.ajax({
+                    type: 'get',
+                    url: '/project/name',
+                    data: { code: pc },
+                    dataType: 'json',
+                    success: function (result) {
+                        setLocalCache('project_code', pc);
+                        if (result.err === 1) {
+                            $('#project_name').text('');
+                            console.log(result.msg);
+                            toast(result.msg, 'error', 'exclamation-circle');
+                            removeLocalCache('project_name');
+                        } else {
+                            setLocalCache('project_name', result.data);
+                            $('#project_name').text(result.data);
+                        }
+                    }
+                })
+            }
+        }
+    })
 });
 </script>
 </body>