root 3 лет назад
Родитель
Сommit
1600e24b9b
4 измененных файлов с 55 добавлено и 14 удалено
  1. 11 2
      src/api/user.js
  2. 24 4
      src/store/modules/user.js
  3. 0 1
      src/utils/request.js
  4. 20 7
      src/views/login/index.vue

+ 11 - 2
src/api/user.js

@@ -1,9 +1,18 @@
 import request from '@/utils/request'
 
 
-export function login(data) {
+export function login(data, pageId = '') {
+  let url = pageId ? '/v1/oauth/login?page_id='+pageId : '/v1/oauth/login'
   return request({
-    url: '/v1/oauth/login',
+    url,
+    method: 'post',
+    data
+  })
+}
+
+export function isLoginVerify(data) {
+  return request({
+    url: '/v1/oauth/is-login-verify',
     method: 'post',
     data
   })

+ 24 - 4
src/store/modules/user.js

@@ -1,4 +1,4 @@
-import { login, logout, getInfo } from '@/api/user'
+import { login, logout, getInfo, isLoginVerify } from '@/api/user'
 import { getToken, setToken, removeToken } from '@/utils/auth'
 import router, { resetRouter } from '@/router'
 
@@ -29,11 +29,22 @@ const mutations = {
 }
 
 const actions = {
+  // 登录
   login({ commit }, userInfo) {
-    const { username, password } = userInfo
+    let requestData = {}
+    let pageId = ''
+    if (userInfo.isLoginVerify) {
+      requestData = userInfo
+      pageId = userInfo.pageId
+    } else {
+      requestData = {
+        userName: userInfo.userName,
+        password: userInfo.password
+      }
+    }
+    console.log('111',pageId)
     return new Promise((resolve, reject) => {
-      login({ username: username.trim(), password: password }).then(response => {
-        console.log(1111)
+      login(requestData, pageId).then(response => {
         const { data } = response
         console.log('resp----->', response)
         commit('SET_TOKEN', data.token)
@@ -44,6 +55,15 @@ const actions = {
       })
     })
   },
+  isLoginVerify( { commit }, data ) {
+    return new Promise((resolve, reject) => {
+      isLoginVerify({userName: data.userName}).then(response => {
+        resolve(response.data)
+      }).catch(error => {
+        reject(error)
+      })
+    })
+  },
   // user login
   // login({ commit }, userInfo) {
   //   const { username, password } = userInfo

+ 0 - 1
src/utils/request.js

@@ -48,7 +48,6 @@ service.interceptors.response.use(
     })
     return
   } else {
-    console.log(response,'tttt')
     if (!data) {
       return {data: responseData}
     }

+ 20 - 7
src/views/login/index.vue

@@ -55,7 +55,7 @@
         :placeholder="$t('login.verifyCode')">
         </el-input>
       </el-form-item>
-      <el-image :src="captchaUrl" @click="changeCaptcha" class="login-captcha">
+      <el-image :src="captchaUrl" @click="changeCaptcha" v-show="isLoginVerify" class="login-captcha">
       </el-image>
       <el-button :loading="loading" type="primary" style="width:100%;margin-bottom:30px;" @click.native.prevent="handleLogin">
         {{ $t('login.logIn') }}
@@ -114,8 +114,8 @@ export default {
     }
     return {
       loginForm: {
-        username: 'admin',
-        password: '111111',
+        username: '',
+        password: '',
         verifyCode: ''
       },
       loginRules: {
@@ -127,7 +127,7 @@ export default {
       loading: false,
       showDialog: false,
       redirect: undefined,
-      isLoginVerify: true,
+      isLoginVerify: false,
       captchaUrl: '',
       pageId:'',
       otherQuery: {}
@@ -188,7 +188,15 @@ export default {
       this.$refs.loginForm.validate(valid => {
         if (valid) {
           this.loading = true
-          this.$store.dispatch('user/login', this.loginForm)
+          let loginData = {
+            userName: this.loginForm.username,
+            password: this.loginForm.password,
+            verifyCode: this.loginForm.verifyCode,
+            pageId: this.pageId,
+            isLoginVerify: this.isLoginVerify
+          }
+          console.log('form---->',loginData)
+          this.$store.dispatch('user/login', loginData)
             .then((response) => {
               this.$router.push({ path: this.redirect || '/', query: this.otherQuery })
               this.loading = false
@@ -209,8 +217,13 @@ export default {
     // 是否展示验证码
     refreshLoginVerifyStatus() {
       if (this.loginForm.username) {
-        // 发送请求
-        console.log('======',this.loginForm.username, '<----->')
+        this.$store.dispatch('user/isLoginVerify', { userName:this.loginForm.username })
+        .then(response => {
+          this.isLoginVerify = response === 1;
+        })
+        .catch((err) => {
+          console.log(err)
+        })
       }
     },
     changeCaptcha() {