Browse Source

Merge branch 'master' of http://smartcost.f3322.net:3000/SmartCost/YangHuCost

zhangweicheng 6 năm trước cách đây
mục cha
commit
add4e2e34f

+ 3 - 1
modules/all_models/user.js

@@ -83,6 +83,8 @@ let schema = {
     used_list: {
         type: [userdList],
         default: []
-    }
+    },
+    // 是否邮箱已通过验证
+    isUserActive: Number
 };
 mongoose.model(collectionName, new Schema(schema, {versionKey: false}));

+ 2 - 0
modules/users/controllers/login_controller.js

@@ -53,6 +53,7 @@ class LoginController {
                     username: userData.username,
                     email: userData.useremail,
                     mobile: userData.mobile,
+                    isUserActive: userData.isUserActive,
                 };
 
                 request.session.sessionUser = sessionUser;
@@ -181,6 +182,7 @@ class LoginController {
                 username: userData.username,
                 email: userData.useremail,
                 mobile: userData.mobile,
+                isUserActive: userData.isUserActive,
             };
 
             request.session.sessionUser = sessionUser;

+ 2 - 1
modules/users/controllers/user_controller.js

@@ -101,7 +101,8 @@ class UserController extends BaseController {
             // 获取登录信息
             let logModel = new LogModel();
             let logCount = await logModel.count();
-            let pageSize = 3;
+            logCount = logCount > 30 ? 30 : logCount;
+            let pageSize = 10;
             logList = await logModel.getLog(sessionUser.id, LogType.LOGIN_LOG, page, pageSize);
 
             // 分页数据

+ 3 - 2
modules/users/models/log_model.js

@@ -63,7 +63,8 @@ class LogModel extends BaseModel {
         ip = ip.split(':');
         ip = ip[3] === undefined ? '' : ip[3];
 
-        let ipInfo = '127.0.0.1';//await this.getIpInfoFromApi(ip);
+        // let ipInfo = '127.0.0.1';//await this.getIpInfoFromApi(ip);
+        let ipInfo = await this.getIpInfoFromApi(ip);
 
         let userAgentObject = new UAParser(request.headers['user-agent']);
         let osInfo = userAgentObject.getOS();
@@ -153,4 +154,4 @@ class LogModel extends BaseModel {
     }
 }
 
-export default LogModel;
+export default LogModel;

+ 3 - 1
modules/users/models/user_model.js

@@ -137,7 +137,8 @@ class UserModel extends BaseModel {
                 email : userData.email,
                 mobile : userData.mobile,
                 ssoId : userData.ssoId,
-                latest_login:userData.latest_login
+                latest_login:userData.latest_login,
+                isUserActive: userData.isUserActive,
             };
             let updateResult = await this.updateUser(condition,UpdateData);
             if (updateResult.ok === 1) {
@@ -240,6 +241,7 @@ class UserModel extends BaseModel {
             mobile: userData.mobile,
             create_time: new Date().getTime(),
             latest_login: new Date().getTime(),
+            isUserActive: userData.isUserActive,
         };
         return this.db.create(insertData);
     }

+ 37 - 26
web/users/html/user-safe.html

@@ -11,9 +11,6 @@
     <link rel="stylesheet" href="/lib/font-awesome/font-awesome.min.css">
     <link rel="shortcut icon" href="/web/building_saas/css/favicon.ico">
     <link rel="icon" type="image/gif" href="/web/building_saas/css/animated_favicon1.gif">
-    <!-- JS. -->
-    <!--<script type="text/javascript" src="/lib/bootstrap/bootstrap-paginator.js"></script>-->
-    <!--<script src="/web/building_saas/js/global.js"></script>-->
 </head>
 
 <body>
@@ -41,48 +38,60 @@
                     </ul>
                 </div>
             </div>
-            <div class="col-lg-10">
+            <div class="col-lg-10 side-content">
                 <div class="col-lg-4">
                     <legend class="my-3">账号安全</legend>
                     <from>
                         <div class="form-group">
                             <label class="form-control-label">登录密码</label>
                             <div class="form-control-static">
-                                <button class="btn btn-secondary btn-sm">修改密码</button>
+                                <a class="btn btn-outline-primary btn-sm" href="https://sso.smartcost.com.cn/chpasswd" target="_blank">修改密码</a>
                             </div>
                         </div>
                         <div class="form-group">
                             <label class="form-control-label">邮箱地址</label>
-                            <p class="form-control-static mb-0"><%= userData.email %><span
-                                    class="badge badge-default">未验证</span></p>
-                            <button class="btn btn-secondary btn-sm">验证邮箱</button>
-                            <button class="btn btn-secondary btn-sm">更换邮箱</button>
-                            <p class="form-control-static mb-0"><%= userData.email %><span
-                                    class="badge badge-success">已验证</span></p>
-                            <button class="btn btn-secondary btn-sm">更换邮箱</button>
+                            <% if (userData.email !== '') { %>
+                            <p class="form-control-static mb-0"><%= userData.email %><% if (userData.isUserActive === 0) { %><span
+                                    class="badge badge-default">未验证</span><% } else { %><span
+                                    class="badge badge-success">已验证</span><% } %></p>
+                            <% if (userData.isUserActive === 0) { %><a class="btn btn-outline-primary btn-sm" target="_blank" href="https://sso.smartcost.com.cn/profile">验证邮箱</a>
+                            <a class="btn btn-outline-primary btn-sm" target="_blank" href="https://sso.smartcost.com.cn/nactchm">更换邮箱</a>
+                            <% } else { %>
+                            <a class="btn btn-outline-primary btn-sm" href="https://sso.smartcost.com.cn/changeMail" target="_blank">更换邮箱</a>
+                            <% } %>
+                            <% } else { %>
+                            <a class="btn btn-outline-primary btn-sm" href="https://sso.smartcost.com.cn/addMail" target="_blank">添加邮箱</a>
+                            <% } %>
                         </div>
                         <div class="form-group">
                             <label class="form-control-label">手机号码</label>
-                            <p class="form-control-static mb-0"><%= userData.mobile %></p>
-                            <button class="btn btn-secondary btn-sm">更换手机</button>
-                            <div class="form-control-static">
-                                <button class="btn btn-secondary btn-sm">添加手机</button>
-                            </div>
+                            <p class="form-control-static mb-0"><%= userData.mobile %> <span class="badge badge-success">已验证</span></p>
+                            <a class="btn btn-outline-primary btn-sm" href="https://sso.smartcost.com.cn/changeMobile" target="_blank">更换手机</a>
                         </div>
                         <div class="form-group">
                             <label class="form-control-label">异常登录提醒</label>
                             <div class="form-control-static">
-                                <label class="custom-control custom-checkbox" data-toggle="modal"
-                                       data-target="#phoneTips">
-                                    <input type="checkbox" class="custom-control-input">
-                                    <span class="custom-control-indicator"></span>
-                                    <span class="custom-control-description">开启</span>
-                                </label>
+                                <div class="custom-control custom-checkbox" >
+                                    <input type="checkbox" class="custom-control-input" id="customCheck1">
+                                    <label class="custom-control-label" for="customCheck1" >开启</label>
+                                </div>
                                 <p class="text-muted">
                                     账号出现异常登录时将给你的手机号码发送通知。
                                 </p>
                             </div>
                         </div>
+                        <div class="form-group">
+                            <label class="form-control-label">关闭账号登录</label>
+                            <div class="form-control-static">
+                                <div class="custom-control custom-checkbox" >
+                                    <input type="checkbox" class="custom-control-input" id="customCheck2">
+                                    <label class="custom-control-label" for="customCheck2" >关闭</label>
+                                </div>
+                                <p class="text-muted">
+                                    关闭账号登录后,只能通过短信验证码方式登录。
+                                </p>
+                            </div>
+                        </div>
                     </from>
                 </div>
                 <div class="mt-5">
@@ -128,8 +137,10 @@
     </div>
 </div>
 </body>
-<!--<script type="text/javascript">-->
-    <!--autoFlashHeight();-->
-<!--</script>-->
+<script src="/web/building_saas/js/global.js"></script>
+<script src="/web/users/js/user.js"></script>
+<script type="text/javascript">
+    autoFlashHeight();
+</script>
 
 </html>