lion 3 years ago
commit eb2bda5973

@ -13,7 +13,8 @@ export function loginOss(data) {
return request({
url: '/api/admin/auth/oss-login',
method: 'post',
data
data,
noloading: true
})
}

@ -14,18 +14,21 @@ let loading;
const service = axios.create({
baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url
// withCredentials: true, // send cookies when cross-domain requests
timeout: 50000 // request timeout
timeout: 500000 // request timeout
})
// request interceptor
service.interceptors.request.use(
config => {
// do something before request is sent
loading = Loading.service({
lock: true,
background: "rgba(0,0,0,0.4)",
text: "正在加载中..."
})
if (!config.noloading) {
// do something before request is sent
loading = Loading.service({
lock: true,
background: "rgba(0,0,0,0.4)",
text: "正在加载中..."
})
}
if (store.getters.token) {
// let each request carry token
// ['X-Token'] is a custom headers key
@ -56,11 +59,13 @@ service.interceptors.response.use(
* You can also judge the status by HTTP Status Code
*/
response => {
if (loading) {
loading.close()
}
const res = response.data
loading.close()
// if the custom code is not 20000, it is judged as an error.
if (res.hasOwnProperty("errcode")) {
if (res.errcode) {
Message({
message: res.errmsg || 'Error',
type: 'error',
@ -87,7 +92,9 @@ service.interceptors.response.use(
}
},
error => {
loading.close()
if (loading) {
loading.close()
}
console.log('err' + error) // for debug
Message({
message: error.message,

@ -1,5 +1,5 @@
<template>
<div class="login-container">
<div class="login-container" v-if="showLogin">
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form" auto-complete="on"
label-position="left">
@ -12,7 +12,7 @@
<svg-icon icon-class="user" />
</span>
<el-input ref="username" v-model="loginForm.username" placeholder="请输入账号" name="username" type="text"
tabindex="1" auto-complete="on" />
tabindex="1" auto-complete="off" />
</el-form-item>
<el-form-item prop="password">
@ -20,8 +20,8 @@
<svg-icon icon-class="password" />
</span>
<el-input :key="passwordType" ref="password" v-model="loginForm.password" :type="passwordType"
placeholder="请输入密码" name="password" tabindex="2" auto-complete="on" @keyup.enter.native="handleLogin" />
<!-- <span class="show-pwd" @click="showPwd">
placeholder="请输入密码" name="password" tabindex="2" auto-complete="off" @keyup.enter.native="handleLogin" />
<!-- <span class="show-pwd" @click="showPwd">
<svg-icon :icon-class="passwordType === 'password' ? 'eye' : 'eye-open'" />
</span> -->
</el-form-item>
@ -31,6 +31,7 @@
</el-form>
</div>
<div v-else class="login-container-w"></div>
</template>
<script>
@ -56,6 +57,7 @@
}
}
return {
showLogin: false,
loginForm: {
username: '',
password: ''
@ -77,15 +79,16 @@
redirect: undefined
}
},
watch: {
$route: {
handler: function(route) {
this.redirect = route.query && route.query.redirect
},
immediate: true
beforeCreate() {
},
created() {
var query = this.$route.query;
if (query.tp) {
this.showLogin = false;
} else {
this.showLogin = true;
}
},created() {
var query = this.$route.query;
if (query.token && query.userid && query.tp) {
this.loading = true
this.$store.dispatch('user/loginskip', {
@ -102,6 +105,14 @@
})
}
},
watch: {
$route: {
handler: function(route) {
this.redirect = route.query && route.query.redirect
},
immediate: true
}
},
methods: {
showPwd() {
if (this.passwordType === 'password') {
@ -188,6 +199,13 @@
$dark_gray:#889aa4;
$light_gray:#eee;
.login-container-w {
min-height: 100%;
width: 100%;
background-color: #ffffff;
overflow: hidden;
}
.login-container {
min-height: 100%;
width: 100%;

Loading…
Cancel
Save