Browse Source

01/18 验证码

panhui 7 years ago
parent
commit
f3ec1344b6

+ 3 - 0
src/main/java/com/izouma/awesomeadmin/web/SysMenuController.java

@@ -51,6 +51,9 @@ public class SysMenuController {
     /**
      * <p>根据条件获取。</p>
      */
+
+
+
     @RequestMapping(value = "/getOne", method = RequestMethod.GET)
     @ResponseBody
     public Result getOne(SysMenu record) {

BIN
src/main/vue/src/assets/logo2.png


+ 3 - 1
src/main/vue/src/entries/admin.js

@@ -40,6 +40,8 @@ Vue.prototype.$handleUrl = 'http://121.43.171.110:8082/webService/call'
 // Vue.prototype.$widgetBaseUrl = 'http://172.16.86.43:8180/';
 // Vue.prototype.$handleDomain = 'http://180.169.224.24:8092/'
 // Vue.prototype.$handleUrl = 'http://180.169.224.24:8092/webService/call'
+//0使用信牧图标,1使用光明图标
+Vue.prototype.$isGuangming = 1
 
 axios.defaults.withCredentials = true;
 axios.defaults.baseURL = baseUrl;
@@ -407,4 +409,4 @@ new Vue({
     template: `<keep-alive include="*">
             <router-view></router-view>
         </keep-alive>`
-});
+});

+ 2 - 2
src/main/vue/src/pages/Admin.vue

@@ -2,7 +2,7 @@
     <el-container id="app">
         <el-header class="header" height='68px'>
             <div class="logo-wrapper">
-                <img src="../assets/logo.png" alt="">
+                <img :src="$isGuangming?require('../assets/logo2.png'):require('../assets/logo.png')" alt="">
             </div>
             <div style="flex-grow: 1; margin-left: 20px; font-size: 18px;">
                 <router-link :to="{name:'dashboard'}">牧业2.0系统</router-link>
@@ -39,7 +39,7 @@
 
                 <div class="userInfo" :style="{height:collapse?'100px':'220px'}">
                     <img :style="{height:collapse?'30px':'70px',width:collapse?'30px':'70px'}" :src="userInfo ? userInfo.icon || '' : ''" class="avatar" />
-                    <div v-if="!collapse" class="name">{{userInfo.username}}</div>
+                    <div v-if="!collapse" class="name">{{userInfo.nickname||userInfo.username}}</div>
                     <div v-if="!collapse" class="workNumber">{{userInfo.workNumber}}</div>
                 </div>
 

+ 46 - 7
src/main/vue/src/pages/Login.vue

@@ -9,6 +9,10 @@
         <el-form-item prop="password" :rules="{required: true, message: '请输入密码', trigger: 'blur'}">
           <el-input v-model="userInfo.password" placeholder="密码" type="password"></el-input>
         </el-form-item>
+        <el-form-item prop="code" :rules="CodeRule">
+          <el-input v-model="userInfo.code" placeholder="验证码" style="width:210px"></el-input>
+          <img @click="randomString" style="widdth:108px;height:39px;vertical-align: middle;margin-left:30px;cursor: pointer;" :src="$baseUrl+'/auth/image?'+autoString" alt>
+        </el-form-item>
         <el-form-item label="记住我">
           <el-switch v-model="rememberMe"></el-switch>
         </el-form-item>
@@ -28,11 +32,45 @@ export default {
       loading: false,
       userInfo: {
         username: '',
-        password: ''
-      }
+        password: '',
+        code: ''
+      },
+      CodeRule: [
+        { required: true, message: '请输入图片验证码', trigger: 'blur' },
+        {
+          validator: (rule, value, callback) => {
+            if (!value) {
+              callback(new Error('请输入图片验证码'));
+            } else {
+              this.$http.get({
+                url: '/auth/verify',
+                data: {
+                  code: value,
+                }
+              }).then(res => {
+                if (res.success) {
+                  callback();
+                } else {
+                  callback(new Error('验证码错误'));
+                }
+              });
+            }
+          }, trigger: 'blur'
+        }
+      ],
+      autoString: ''
     }
   },
+  created() {
+    this.randomString()
+  },
   methods: {
+    randomString(len) {
+      var pwd = Math.random().toString(36).substr(2);
+
+      console.log(pwd)
+      this.autoString = pwd
+    },
     login() {
       this.$store.commit('updateLoginHistory', [{
         name: '/dashboard',
@@ -54,23 +92,24 @@ export default {
               this.$router.replace('/');
             } else {
               this.$message.error('登录失败');
+              this.randomString()
             }
           }).catch(() => {
             this.loading = false;
           })
 
           this.$http.post({
-            url: this.$handleDomain+'/auth/login',
+            url: this.$handleDomain + '/auth/login',
             data: {
               username: this.userInfo.username,
               password: this.userInfo.password,
               remember: this.rememberMe,
-              requireToken:true
+              requireToken: true
             }
           }).then(res => {
-           if(res.success){
-             this.$store.commit('updateToken',res.token)
-           }
+            if (res.success) {
+              this.$store.commit('updateToken', res.token)
+            }
           })
         }
       })