Browse Source

账号登录

OnePsycho 5 years ago
parent
commit
73e01dbb77
4 changed files with 58 additions and 16 deletions
  1. 6 1
      src/api/loginMG.js
  2. 3 1
      src/components/BaseRegister.vue
  3. 13 4
      src/components/navcon.vue
  4. 36 10
      src/views/login.vue

+ 6 - 1
src/api/loginMG.js

@@ -9,7 +9,12 @@ export const sendSMS = (params) => { return loginreq("post", "/api/login/sendSMS
 // 手机短信验证登录
 // 手机短信验证登录
 export const phoneLogin = (params) => { return loginreq("post", "/api/login/phoneLogin", params) };
 export const phoneLogin = (params) => { return loginreq("post", "/api/login/phoneLogin", params) };
 
 
-// 手机短信验证登录
+// 账号密码登录
+export const accountLogin = (params) => { return loginreq("post", "/api/login/accountLogin", params) };
+
+
+
+// 注册
 export const register = (params) => { return loginreq("post", "/api/Lecturer/register", params) };
 export const register = (params) => { return loginreq("post", "/api/Lecturer/register", params) };
 
 
 
 

+ 3 - 1
src/components/BaseRegister.vue

@@ -110,6 +110,7 @@ export default {
   },
   },
   created() {
   created() {
     this.registerForm = this.user;
     this.registerForm = this.user;
+    
   },
   },
   methods: {
   methods: {
     /** 登录提交表单 */
     /** 登录提交表单 */
@@ -173,7 +174,8 @@ export default {
       bindDing(this.dingLoginCode).then(res => {
       bindDing(this.dingLoginCode).then(res => {
         if (!res.error) this.$message.success("绑定成功!");
         if (!res.error) this.$message.success("绑定成功!");
       });
       });
-    }
+    },
+
   }
   }
 };
 };
 </script>
 </script>

+ 13 - 4
src/components/navcon.vue

@@ -49,14 +49,20 @@
             <img :src="avatar" />
             <img :src="avatar" />
           </div>
           </div>
         </el-form-item>
         </el-form-item>
-        <el-form-item label="修改账号" prop="expires">
+        <el-form-item label="修改账号" prop="account">
           <el-input
           <el-input
             v-model="updateForm.account"
             v-model="updateForm.account"
-            :disabled="updateForm.setaccount === 0"
             auto-complete="off"
             auto-complete="off"
             placeholder="请输入新账号"
             placeholder="请输入新账号"
           ></el-input>
           ></el-input>
-          <p class="error-tip">当前用户可修改账号次数为 0</p>
+          <!-- <p class="error-tip">当前用户可修改账号次数为 0</p> -->
+        </el-form-item>
+        <el-form-item label="修改用户名" prop="username">
+          <el-input
+            v-model="updateForm.username"
+            auto-complete="off"
+            placeholder="请输入新用户名"
+          ></el-input>
         </el-form-item>
         </el-form-item>
         <el-form-item label="设置新密码" prop="password">
         <el-form-item label="设置新密码" prop="password">
           <el-input type="password" v-model="updateForm.password" label="请输入新密码"></el-input>
           <el-input type="password" v-model="updateForm.password" label="请输入新密码"></el-input>
@@ -102,6 +108,8 @@ export default {
       user: {},
       user: {},
       // rules表单验证
       // rules表单验证
       rules: {
       rules: {
+        account:[{ required: true, message: "请输入账号", trigger: "blur" }],
+        username:[{ required: true, message: "请输入用户名", trigger: "blur" }],
         password: [
         password: [
           { required: false, message: "请输入新密码", trigger: "blur" }
           { required: false, message: "请输入新密码", trigger: "blur" }
         ]
         ]
@@ -111,7 +119,7 @@ export default {
   // 创建完毕状态(里面是操作)
   // 创建完毕状态(里面是操作)
   created() {
   created() {
     this.user = JSON.parse(localStorage.getItem("user"));
     this.user = JSON.parse(localStorage.getItem("user"));
-    this.updateForm = this.user;
+    this.updateForm = JSON.parse(JSON.stringify(this.user));
   },
   },
   methods: {
   methods: {
     //控制剪切框的显示和隐藏
     //控制剪切框的显示和隐藏
@@ -175,6 +183,7 @@ export default {
                     message: "更新成功"
                     message: "更新成功"
                   });
                   });
                   localStorage.setItem("user", JSON.stringify(this.updateForm));
                   localStorage.setItem("user", JSON.stringify(this.updateForm));
+                  this.user = this.updateForm
                 } else {
                 } else {
                   this.$message({
                   this.$message({
                     type: "info",
                     type: "info",

+ 36 - 10
src/views/login.vue

@@ -99,10 +99,11 @@
   </div>
   </div>
 </template>
 </template>
 <script type="text/ecmascript-6">
 <script type="text/ecmascript-6">
-import { init, sendSMS, phoneLogin, dingLogin, bindDing } from "../api/loginMG";
+import { init, sendSMS, phoneLogin, accountLogin , dingLogin, bindDing } from "../api/loginMG";
 import { setCookie, getCookie, delCookie } from "../utils/util";
 import { setCookie, getCookie, delCookie } from "../utils/util";
 import BaseRegister from "../components/BaseRegister";
 import BaseRegister from "../components/BaseRegister";
 import md5 from "js-md5";
 import md5 from "js-md5";
+
 export default {
 export default {
   name: "login",
   name: "login",
   components: { BaseRegister },
   components: { BaseRegister },
@@ -140,13 +141,13 @@ export default {
             trigger: "blur"
             trigger: "blur"
           }
           }
         ],
         ],
-        smsCode: [
-          {
-            required: !this.isLoginByPsw,
-            message: "请输入验证码",
-            trigger: "blur"
-          }
-        ]
+        // smsCode: [
+        //   {
+        //     required: !this.isLoginByPsw,
+        //     message: "请输入验证码",
+        //     trigger: "blur"
+        //   }
+        // ]
       }
       }
     };
     };
   },
   },
@@ -157,8 +158,10 @@ export default {
     this.getCode();
     this.getCode();
 
 
     this.getScanCode();
     this.getScanCode();
+
   },
   },
   methods: {
   methods: {
+
     getScanCode() {
     getScanCode() {
       // 获取钉钉扫码登录后返回的CODE
       // 获取钉钉扫码登录后返回的CODE
       this.dingLoginCode = this.getQueryVariable("code");
       this.dingLoginCode = this.getQueryVariable("code");
@@ -284,13 +287,35 @@ export default {
                   confirmButtonText: "确定"
                   confirmButtonText: "确定"
                 }
                 }
               );
               );
-              this.isLoginLoading = false;
             }
             }
           }
           }
         });
         });
       } else {
       } else {
         this.$message.error("手机号与验证码不能为空!");
         this.$message.error("手机号与验证码不能为空!");
       }
       }
+
+      this.isLoginLoading = false
+
+    },
+
+    /** 访问登录接口 */
+    onAccountLogin() {
+      let account = this.loginForm.username
+      let password = this.loginForm.password
+      let captcha = this.loginForm.captcha
+      let randCode = this.randomUUID
+      if (account && password && captcha) {
+        accountLogin({ account:account,password:password,captcha:captcha,randCode:randCode }).then(res => {
+            if(res.error){
+              this.$message.error(res.error.message)
+            }else{
+              this.onLoginSuccess(res.result.data)
+            }
+        });
+      } else {
+        this.$message.error("请将信息填写完整!");
+      }
+      this.isLoginLoading = false
     },
     },
 
 
     onLoginSuccess(data) {
     onLoginSuccess(data) {
@@ -350,8 +375,9 @@ export default {
     submitForm(formName) {
     submitForm(formName) {
       this.$refs[formName].validate(valid => {
       this.$refs[formName].validate(valid => {
         if (valid) {
         if (valid) {
+          console.log(this.isLoginByPsw);
           this.isLoginLoading = true;
           this.isLoginLoading = true;
-          this.onPhoneLogin();
+          this.isLoginByPsw ? this.onAccountLogin() : this.onPhoneLogin();
         } else {
         } else {
           // 获取图形验证码
           // 获取图形验证码
           this.getCode();
           this.getCode();