diff --git a/config/index.js b/config/index.js index ff995be6..e13a9495 100644 --- a/config/index.js +++ b/config/index.js @@ -10,7 +10,7 @@ module.exports = { assetsSubDirectory: '', assetsPublicPath: '/', proxyTable: { - + /** '/api/m1/xm': { target: 'http://localhost:7067', changeOrigin: true, @@ -18,7 +18,7 @@ module.exports = { '^/api/m1/xm': '/xm' } }, - /** + '/api/m1/arc': { target: 'http://localhost:7012', changeOrigin: true, diff --git a/src/api/login.js b/src/api/login.js index ff633af4..d5943f55 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -1,4 +1,4 @@ -import axios from 'axios'//免登录访问 +import axios from '@/utils/requestNoAuth'//免登录访问 import axiosAuth from '@/utils/request'//待token访问 @@ -8,27 +8,7 @@ import { getToken, setToken, removeToken,getCacheUserInfo,setCacheUserInfo,remov import config from '@/common/config' let base=config.getOauth2LoginBasePath(); - - -var curlDomain=window.location.protocol+"//"+window.location.host; // 返回https://mp.csdn.net -var baseApiUrl=""; -if(process.env.BASE_API ){ - if(process.env.BASE_API.indexOf("http")<0 && process.env.BASE_API.indexOf("wwww.")<0){ - baseApiUrl=curlDomain+"/"+process.env.BASE_API+"/"+process.env.VERSION; - }else{ - baseApiUrl=process.env.BASE_API+"/"+process.env.VERSION; - } - -}else{ - baseApiUrl=curlDomain+"/api/"+process.env.VERSION -} -var indexOfHttp=baseApiUrl.indexOf("://"); -if(indexOfHttp>0){ - baseApiUrl=baseApiUrl.substr(0,indexOfHttp+3)+baseApiUrl.substr(indexOfHttp+3,baseApiUrl.length).replace("//","/"); -}else{ - baseApiUrl=baseApiUrl.replace("//","/") -} - + //let base=''; export function doLoginByUserloginid(userloginid, password,grantType,authType,deptid,userid) { @@ -41,7 +21,7 @@ export function doLoginByUserloginid(userloginid, password,grantType,authType,de userid:userid, } return axios({ - url: baseApiUrl+'/'+base+'/login/token?grantType='+grantType, + url: base+'/login/token?grantType='+grantType, method: 'post', data }) @@ -66,7 +46,7 @@ export function checkUserid(userid ) { userid: userid } return axios({ - url: baseApiUrl+'/'+base+'/user/check/userid', + url: base+'/user/check/userid', method: 'post', data }) @@ -77,7 +57,7 @@ export function checkDisplayUserid(displayUserid ) { displayUserid: displayUserid } return axios({ - url: baseApiUrl+'/'+base+'/user/check/displayUserid', + url: base+'/user/check/displayUserid', method: 'post', data }) @@ -89,14 +69,14 @@ export function checkPhoneno(phoneno ) { phoneno: phoneno } return axios({ - url: baseApiUrl+'/'+base+'/user/check/phoneno', + url: base+'/user/check/phoneno', method: 'post', data }) } export function queryByUserloginid( params ) { return axios({ - url: baseApiUrl+'/'+base+'/user/queryByUserloginid', + url: base+'/user/queryByUserloginid', method: 'get', params:params }) @@ -114,7 +94,7 @@ export function doRegister( userInfo ) { branchId:userInfo.branchId } return axios({ - url: baseApiUrl+'/'+base+'/user/register', + url: base+'/user/register', method: 'post', data }) @@ -129,7 +109,7 @@ export function resetPasswordByPhoneno( userInfo ) { userid:userInfo.userid } return axios({ - url: baseApiUrl+'/'+base+'/user/password/reset?type=sms', + url: base+'/user/password/reset?type=sms', method: 'post', data }) @@ -165,7 +145,7 @@ export function getUserInfo(params) { export function sendEmail(params) { const data=params; return axios({ - url: baseApiUrl+'/'+base+'/user/sendEmail', + url: base+'/user/sendEmail', method: 'post', data }) @@ -176,7 +156,7 @@ export function sendEmail(params) { export function validEmailCode(params) { return axios({ - url: baseApiUrl+'/'+base+'/user/validEmailCode', + url: base+'/user/validEmailCode', method: 'get', params:params }) diff --git a/src/api/sms/sms.js b/src/api/sms/sms.js index 026f654b..1f433d20 100644 --- a/src/api/sms/sms.js +++ b/src/api/sms/sms.js @@ -1,4 +1,6 @@ -import axios from '@/utils/request' +import axiosAuth from '@/utils/request' +import axios from '@/utils/requestNoAuth'//免登录访问 + import config from '@/common/config' @@ -8,8 +10,12 @@ let base=config.getSmsBasePath(); * 发送短信验证码、验证短信验证码接口 **/ + +//发送短信验证码 +export const sendNoAuthSmsCode = params => { return axios.post(`${base}/sms/sendSmsCode`, params); }; + //发送短信验证码 -export const sendSmsCode = params => { return axios.post(`${base}/sms/sendSmsCode`, params); }; +export const sendSmsCode = params => { return axiosAuth.post(`${base}/sms/sendSmsCode`, params); }; //验证短信验证码 -export const validateSmsCode = params => { return axios.post(`${base}/sms/validateSmsCode`, params); }; \ No newline at end of file +export const validateSmsCode = params => { return axiosAuth.post(`${base}/sms/validateSmsCode`, params); }; \ No newline at end of file diff --git a/src/utils/requestNoAuth.js b/src/utils/requestNoAuth.js new file mode 100644 index 00000000..7b770b93 --- /dev/null +++ b/src/utils/requestNoAuth.js @@ -0,0 +1,78 @@ +import axios from 'axios' +import { Message } from 'element-ui' +import store from '@/store' +import { getToken } from '@/utils/auth' +import router from '@/router' +var curlDomain=window.location.protocol+"//"+window.location.host; // 返回https://mp.csdn.net +var baseApiUrl=""; +if(process.env.BASE_API ){ + if(process.env.BASE_API.indexOf("http")<0 && process.env.BASE_API.indexOf("wwww.")<0){ + baseApiUrl=curlDomain+"/"+process.env.BASE_API+"/"+process.env.VERSION; + }else{ + baseApiUrl=process.env.BASE_API+"/"+process.env.VERSION; + } + +}else{ + baseApiUrl=curlDomain+"/api/"+process.env.VERSION +} +var indexOfHttp=baseApiUrl.indexOf("://"); +if(indexOfHttp>0){ + baseApiUrl=baseApiUrl.substr(0,indexOfHttp+3)+baseApiUrl.substr(indexOfHttp+3,baseApiUrl.length).replace("//","/"); +}else{ + baseApiUrl=baseApiUrl.replace("//","/") +} +// create an axios instance +const service = axios.create({ + baseURL:baseApiUrl, // api的base_url + timeout: 25000 // request timeout +}) + +// request interceptor +service.interceptors.request.use(config => { + // Do something before request is sent + var token=getToken(); + if(token==null ||token=='' ||token=="" || token ==undefined ){ + return config; + }else{ + //config.headers['Authorization'] = 'Bearer '+token // 让每个请求携带token-- ['X-Token']为自定义key 请根据实际情况自行修改 + } + + return config +}, error => { + // Do something with request error + console.log(error) // for debug + Promise.reject(error) +}) + +// respone interceptor +service.interceptors.response.use( + response => { + if(response.data && response.data.tips && response.data.tips.msg == 'Full authentication is required to access this resource'){ + Message.closeAll() + Message.error('会话过期,请重新登陆') + //response.data.tips.msg="会话过期,请重新登陆"; + store.dispatch('FedLogOut').then(() => { + router.replace({path: '/login'}) + }) + } + return response + }, + error => { + console.log(error)// for debug + if(error.response){ + switch (error.response.status) { + case 401: + // 返回 401 清除token信息并跳转到登录页面 + Message.closeAll() + Message.error('会话过期,请重新登陆') + store.dispatch('FedLogOut').then(() => { + router.replace({path: '/login'}) + }) + return; + } + } + Message.closeAll() + return Promise.reject(error) + }) + +export default service diff --git a/src/views/layout/components/UserInfo.vue b/src/views/layout/components/UserInfo.vue index fc751590..25fd5205 100644 --- a/src/views/layout/components/UserInfo.vue +++ b/src/views/layout/components/UserInfo.vue @@ -194,7 +194,7 @@ export default { if(res0.data.data.length<=1){ this.$notify.warning("当前没有关联的账户,无须切换"); }else{ - this.phonenoUsersVisible=true; + this.phonenoUsersVisible=true; } }else{ this.$notify.error(res0.data.tips.msg); @@ -264,7 +264,7 @@ export default { setToken( res.data.data.accessToken.tokenValue) removeCacheUserInfo(); this.$store.dispatch('GetUserInfo').then((res2)=>{ - this.$router.push({ path: '/' }); + this.$router.go(0) }).catch(err=>{ }); diff --git a/src/views/login/components/login.vue b/src/views/login/components/login.vue index 3679cbf9..cee6a46c 100644 --- a/src/views/login/components/login.vue +++ b/src/views/login/components/login.vue @@ -2,18 +2,18 @@
第三方登录方式 @@ -47,12 +49,12 @@