Przeglądaj źródła

1.修复用户注册重复问题
2.废除username查询sso账号方法

laiguoran 5 lat temu
rodzic
commit
61cdd3b2a2

+ 8 - 2
modules/all_models/user.js

@@ -38,10 +38,16 @@ const userdList = mongoose.Schema({
 
 // 表结构
 let schema = {
-    ssoId: Number,
+    ssoId: {
+        type: Number,
+        unique: true
+    },
     username: String,
     email: String,
-    mobile: String,
+    mobile: {
+        type: String,
+        unique: true
+    },
     qq: {
         type: String,
         default: ''

+ 6 - 6
modules/users/models/user_model.js

@@ -165,23 +165,23 @@ class UserModel extends BaseModel {
      * @return {Promise}
      */
     async markUser(userData, request = null) {
-        let userDataFromDb2 = await this.findDataBySsoId(userData.ssoId);
-        let userDataFromDb = await this.findDataByName(userData.username);  //后面新增的账号可淘汰这方法,当前使用是为了兼容旧的账号
+        let userDataFromDb = await this.findDataBySsoId(userData.ssoId);
+        // let userDataFromDb = await this.findDataByName(userData.username);  //后面新增的账号可淘汰这方法,当前使用是为了兼容旧的账号
         let result = false;
         userData.latest_login = new Date().getTime();
-        if (userDataFromDb === null && userDataFromDb2 === null) {
+        if (userDataFromDb === null) {
             // 不存在用户则入库
             this.setScene();//恢复场景,用户有可能公司real_name等信息为空,不能设置为必填
             result = await this.addUser(userData);
             userDataFromDb = result;
         } else {
             // 存在则新增登录信息并更新账号信息
-            // let condition = {ssoId: sessionUser.ssoId};
-            let condition = { username: userData.username };
+            let condition = {ssoId: userData.ssoId};
+            // let condition = { username: userData.username };
             let UpdateData = {
                 email: userData.email,
                 mobile: userData.mobile,
-                ssoId: userData.ssoId,
+                // ssoId: userData.ssoId,
                 qq: userData.qq,
                 latest_login: userData.latest_login,
                 isUserActive: userData.isUserActive,

+ 5 - 1
web/users/js/login.js

@@ -266,7 +266,7 @@ $(document).ready(function () {
 });
 
 function login(captchaObj) {
-
+    $('#login').attr('disabled', true);
     let geetest_challenge = $('input[name="geetest_challenge"]').val();
     let geetest_validate = $('input[name="geetest_validate"]').val();
     let geetest_seccode = $('input[name="geetest_seccode"]').val();
@@ -315,19 +315,23 @@ function login(captchaObj) {
                 // captchaObj.reset();
                 $('#check_ssoId').val(response.ssoId);
                 $('#phone').modal('show');
+                $('#login').removeAttr('disabled');
             } else if(response.error === 3) {
                 // captchaObj.reset();
                 $('#phonepass').modal('show');
                 $('#mobileLogin').val(response.data);
+                $('#login').removeAttr('disabled');
             } else {
                 // $('#phonepass').modal('hide');
                 let msg = response.msg !== undefined ? response.msg : '未知错误';
                 showError(msg, $("input"));
+                $('#login').removeAttr('disabled');
                 // captchaObj.reset();
             }
         },
         error: function (result) {
             showError('内部程序错误', null);
+            $('#login').removeAttr('disabled');
         }
     });
 }