diff --git a/src/api/itemOption.js b/src/api/itemOption.js index 40b1e2ff..df96184b 100644 --- a/src/api/itemOption.js +++ b/src/api/itemOption.js @@ -38,7 +38,7 @@ export const listOption = params => { }); return new Promise((resolve,reject) => { if(noExistsParams.length>0){ - axios.post(`${base}/mdp/common/itemOption/list/byItemCode`, noExistsParams ).then(res=>{ + axios.post(`${base}/mdp/meta/itemOption/list/byItemCode`, noExistsParams ).then(res=>{ var tips = res.data.tips; if(tips.isOk){ var data=res.data.data; @@ -84,7 +84,7 @@ export const listOptionByItemIds = params => { }); return new Promise((resolve,reject) => { if(noExistsParams.length>0){ - axios.post(`${base}/mdp/common/itemOption/listItemOptionByItemIds`, noExistsParams ).then(res=>{ + axios.post(`${base}/mdp/meta/itemOption/listItemOptionByItemIds`, noExistsParams ).then(res=>{ var tips = res.data.tips; if(tips.isOk){ var data=res.data.data; diff --git a/src/api/login.js b/src/api/login.js index 8f4bd420..d2ef9a5f 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -2,29 +2,32 @@ import axios from '@/utils/request' import config from '@/common/config' -let base=config.getSysBasePath(); +let base=config.getOauth2LoginBasePath(); -export function loginByUsername(username, password) { +//let base=''; +export function loginByUsername(username, password,deptid) { const data = { - displayUserid: username, - password: password, - loginType:'password' + userloginid: username, + password: password, + authType:'password_display_userid', + deptid:deptid } return axios({ - url: base+'/common/login', + url: base+'/login/token?grantType=password', method: 'post', data }) } -export function loginByPhoneno(phoneno, smsCode,isAdmin) { +export function loginByPhoneno(phoneno, smsCode,isAdmin,deptid) { const data = { - phoneno: phoneno, - smsCode: smsCode, - loginType:'sms', - isAdmin:true + userloginid: phoneno, + password: smsCode, + authType:'sms', + isAdmin:true, + deptid:deptid } return axios({ - url: base+'/common/login', + url: base+'/login/token?grantType=password', method: 'post', data }) @@ -39,17 +42,33 @@ export function logout() { } export function getUserInfo(params) { + if( !params || !params.scopes ){ + params={ + scopes:['userInfo','roles','posts','menus','qxs','depts','branchs'] + } + } + const data=params; return axios({ - url: base+'/sys/pub/login/user/info/all', - method: 'get', - params: params + url: base+'/user/info', + method: 'post', + data }) } - -export function createShortToken(params) { - return axios.post( base+'/sys/pub/login/createShortToken', params ) +export function getUserDepts(userid) { + if( !userid ){ + params={ + userid:userid + } + }else{ + return + } + const data= { params: params }; + return axios({ + url: base+'/user/depts', + method: 'get', + data + }) } - export function switchDept(params) { - return axios.post( base+'/sys/pub/login/user/switch', params ) + return axios.post( base+'/login/switch', params ) } diff --git a/src/api/mdp/meta/itemOption.js b/src/api/mdp/meta/itemOption.js index 5fb4afbe..3bd6a82a 100644 --- a/src/api/mdp/meta/itemOption.js +++ b/src/api/mdp/meta/itemOption.js @@ -14,96 +14,7 @@ let base=config.getSysBasePath(); export const listItemOption = params => { return axios.get(`${base}/mdp/meta/itemOption/list`, { params: params }); }; //普通查询 条件之间and关系 params=[{categoryId:'0001',itemCode:'sex'}] 返回结果 {'sex':[{optionValue:'1',optionName:'男',seqOrder:'1',fp:'',isDefault:'0'},{optionValue:'2',optionName:'女',seqOrder:'2',fp:'',isDefault:'0'}]} -export const listOption = params => { - var date=new Date(); - var dateStr=date.getFullYear()+"-"+date.getMonth()+"-"+date.getDay() - var result={ - data:{ - tips:{ - isOk:true, - }, - data:{ - - } - } - } - var noExistsParams=params.filter(i=>{ - var key=i.categoryId+"-"+i.itemCode+"-"+dateStr; - var options = localStorage.getItem(key); - if(options){ - result.data.data[i.itemCode]=JSON.parse(options) - return false - }return true; - }); - return new Promise((resolve,reject) => { - if(noExistsParams.length>0){ - axios.post(`${base}/mdp/common/itemOption/list/byItemCode`, noExistsParams ).then(res=>{ - var tips = res.data.tips; - if(tips.isOk){ - var data=res.data.data; - noExistsParams.forEach(k=>{ - var key=k.categoryId+"-"+k.itemCode+"-"+dateStr; - localStorage.setItem(key, JSON.stringify(data[k.itemCode])); - result.data.data[k.itemCode]= data[k.itemCode] - }) - }else{ - result.data.tips=tips; - } - resolve(result); - }).catch(e=>reject(e)); - }else{ - resolve(result); - } - - }); - -}; -export const listOptionByItemIds = params => { - var date=new Date(); - var dateStr=date.getFullYear()+"-"+date.getMonth()+"-"+date.getDay() - var result={ - data:{ - tips:{ - isOk:true, - }, - data:{ - - } - } - } - var noExistsParams=params.filter(i=>{ - var key=i+"-"+dateStr; - var options = localStorage.getItem(key); - - if(options){ - var optionsJson=JSON.parse(options); - result.data.data[i]=optionsJson - return false - }return true; - }); - return new Promise((resolve,reject) => { - if(noExistsParams.length>0){ - axios.post(`${base}/mdp/common/itemOption/listItemOptionByItemIds`, noExistsParams ).then(res=>{ - var tips = res.data.tips; - if(tips.isOk){ - var data=res.data.data; - noExistsParams.forEach(k=>{ - var key= k+"-"+dateStr; - localStorage.setItem(key, JSON.stringify(data[k])); - result.data.data[k]= data[k] - }) - }else{ - result.data.tips=tips; - } - resolve(result); - }).catch(e=>reject(e)); - }else{ - resolve(result); - } - - }); - -}; +export const listOption = params => { return axios.post(`${base}/mdp/meta/itemOption/list/byItemCode`, params ); }; //params={id:''} 返回 {optionValue:'1',optionName:'男',seqOrder:'1',fp:'',isDefault:'0'} export const getSysParam = params => { return axios.post(`${base}/mdp/meta/itemOption/sysParam`, params ); }; @@ -124,4 +35,4 @@ export const addItemOption = params => { return axios.post(`${base}/mdp/meta/ite //刷新缓存 -export const refresh = params => { return axios.post(`${base}/mdp/common/itemOption/refresh`, params); }; +export const refresh = params => { return axios.post(`${base}/mdp/meta/itemOption/refresh`, params); }; diff --git a/src/api/sms/sms.js b/src/api/sms/sms.js new file mode 100644 index 00000000..026f654b --- /dev/null +++ b/src/api/sms/sms.js @@ -0,0 +1,15 @@ +import axios from '@/utils/request' + +import config from '@/common/config' + +let base=config.getSmsBasePath(); + +/** + * 发送短信验证码、验证短信验证码接口 + **/ + +//发送短信验证码 +export const sendSmsCode = params => { return axios.post(`${base}/sms/sendSmsCode`, params); }; + +//验证短信验证码 +export const validateSmsCode = params => { return axios.post(`${base}/sms/validateSmsCode`, params); }; \ No newline at end of file diff --git a/src/common/config.js b/src/common/config.js index 59e57245..f2b526ad 100644 --- a/src/common/config.js +++ b/src/common/config.js @@ -8,6 +8,9 @@ var sysName = 'oa协同办公系统'// 系统名称,用于展示 export default { + getOauth2LoginBasePath:function(){ + return "/oauth2client" + }, getBaseDomainUrl:function(){ return "https://www.qingqinkj.com" diff --git a/src/permission.js b/src/permission.js index 4c6ddb84..9bdf3266 100644 --- a/src/permission.js +++ b/src/permission.js @@ -46,7 +46,6 @@ router.beforeEach((to, from, next) => { } if(outUrl.indexOf("${curlDomain}")>=0){ var curlDomain=window.location.protocol+"//"+window.location.host; // 返回https://mp.csdn.net - //var curlDomain="https://www.qingqinkj.com" outUrl=outUrl.replace("${curlDomain}",curlDomain); } var indexOfHttp=outUrl.indexOf("://"); @@ -60,15 +59,15 @@ router.beforeEach((to, from, next) => { return; } if(to!=null && to.fullPath!=null){ - var userToken=getQueryVariable("userToken",to.fullPath); - if(userToken!=null){ - setToken(userToken); + var accessToken=getQueryVariable("accessToken",to.fullPath); + if(accessToken!=null){ + setToken(accessToken); } } if (getToken()) { // determine if there has token /* has token*/ if (to.path === '/login') { - next({ path: '/' }) + next()// NProgress.done() // if current page is dashboard will not trigger afterEach hook, so manually handle it } else { if(store.getters.isLoadOk==false ){ @@ -144,10 +143,10 @@ function getQueryVariable(variable,url){ } return null; } -var userToken=getQueryVariable('userToken'); -if(userToken!=null){ - //alert(userToken); - setToken(userToken); +var accessToken=getQueryVariable('accessToken'); +if(accessToken!=null){ + //alert(access_token); + setToken(accessToken); } router.afterEach(() => { NProgress.done() // finish progress bar diff --git a/src/store/getters.js b/src/store/getters.js index 408247f9..0bb6f96d 100644 --- a/src/store/getters.js +++ b/src/store/getters.js @@ -5,9 +5,9 @@ const getters = { cachedViews: state => state.tagsView.cachedViews, token: state => state.user.token, userInfo: state => state.user.userInfo, + workShop:state=>state.user.workShop, introduction: state => state.user.introduction, status: state => state.user.status, - workShop:state=>state.user.workShop, roles: state => state.user.roles, myDepts: state => state.user.myDepts, myShops: state => state.user.myShops, diff --git a/src/store/modules/tagsView.js b/src/store/modules/tagsView.js index ee93252a..b76ffc2d 100644 --- a/src/store/modules/tagsView.js +++ b/src/store/modules/tagsView.js @@ -6,19 +6,12 @@ const tagsView = { mutations: { ADD_VISITED_VIEWS: (state, view) => { if (state.visitedViews.some(v => v.path === view.path)) return - var page ={ + state.visitedViews.push({ name: view.name, path: view.path, - title: view.meta.title || 'no-name', - } - if(view.query){ - page.query=view.query; - } - if(view.params){ - page.params=view.params; - } - state.visitedViews.push(page) - + title: view.meta.title || 'no-name', + query:view.query + }) if (!view.meta.noCache) { state.cachedViews.push(view.name) } diff --git a/src/store/modules/user.js b/src/store/modules/user.js index f96795a6..e9a20997 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -4,7 +4,7 @@ import { getToken, setToken, removeToken } from '@/utils/auth' const user = { state: { userInfo: { - userid:'a', + userid:'', jsessionid:'', displayUserid:'', username:'', @@ -21,10 +21,7 @@ const user = { isPlatformAdmin:false, isBranchAdmin:false, isShopAdmin:false, - isLocationAdmin:false, - isProjectAdmin:false, - isProductAdmin:false, - isTestAdmin:false, + isLocationAdmin:false }, workShop:{}, status: '', @@ -104,7 +101,7 @@ const user = { LoginByUsername({ commit }, userInfo) { const username = userInfo.username.trim() return new Promise((resolve, reject) => { - loginByUsername(username, userInfo.password).then(res => { + loginByUsername(username, userInfo.password,userInfo.deptid).then(res => { if(res.data.tips.isOk==true){ let data = res.data let userInfo=data.userInfo; @@ -126,37 +123,13 @@ const user = { if(role.roleid=='locationAdmin'){ userInfo.isLocationAdmin=true } - if(role.roleid=='projectAdmin'){ - userInfo.isProjectAdmin=true - } - if(role.roleid=='teamAdmin'){ - userInfo.isTeamAdmin=true - } - if(role.roleid=='productAdmin'){ - userInfo.isProductAdmin=true - } - if(role.roleid=='productTeamAdmin'){ - userInfo.isProductTeamAdmin=true - } - if(role.roleid=='testAdmin'){ - userInfo.isTestAdmin=true - } - if(role.roleid=='testTeamAdmin'){ - userInfo.isTestTeamAdmin=true - } - if(role.roleid=='tester'){ - userInfo.isTester=true - } - if(role.roleid=='iterationAdmin'){ - userInfo.isIterationAdmin=true - } }); } commit('SET_USER_INFO', userInfo) commit('SET_ROLES', roles) commit('SET_QXS', data.qxs) - commit('SET_TOKEN', data.userToken) - setToken( data.userToken) + commit('SET_TOKEN', data.data.accessToken.tokenValue) + setToken( data.data.accessToken.tokenValue) } resolve(res) }).catch(error => { @@ -167,59 +140,35 @@ const user = { // 用户名登录 LoginByPhoneno({ commit }, userInfo) { return new Promise((resolve, reject) => { - loginByPhoneno(userInfo.phoneno, userInfo.smsCode, userInfo.isAdmin).then(res => { + loginByPhoneno(userInfo.phoneno, userInfo.smsCode, userInfo.isAdmin,userInfo.deptid).then(res => { if(res.data.tips.isOk==true){ let data = res.data let userInfo=data.userInfo; let roles=data.roles; if(roles!=null && roles.length>0){ roles.forEach(role=>{ - if(role.roleid=='superAdmin'){ - userInfo.isSuperAdmin=true - } - if(role.roleid=='platformAdmin'){ - userInfo.isPlatformAdmin=true - } - if(role.roleid=='branchAdmin'){ - userInfo.isBranchAdmin=true - } - if(role.roleid=='shopAdmin'){ - userInfo.isShopAdmin=true - } - if(role.roleid=='locationAdmin'){ - userInfo.isLocationAdmin=true - } - if(role.roleid=='projectAdmin'){ - userInfo.isProjectAdmin=true - } - if(role.roleid=='teamAdmin'){ - userInfo.isTeamAdmin=true - } - if(role.roleid=='productAdmin'){ - userInfo.isProductAdmin=true - } - if(role.roleid=='productTeamAdmin'){ - userInfo.isProductTeamAdmin=true - } - if(role.roleid=='testAdmin'){ - userInfo.isTestAdmin=true - } - if(role.roleid=='testTeamAdmin'){ - userInfo.isTestTeamAdmin=true - } - if(role.roleid=='tester'){ - userInfo.isTester=true - } - if(role.roleid=='iterationAdmin'){ - userInfo.isIterationAdmin=true - } + if(role.roleid=='superAdmin'){ + userInfo.isSuperAdmin=true + } + if(role.roleid=='platformAdmin'){ + userInfo.isPlatformAdmin=true + } + if(role.roleid=='branchAdmin'){ + userInfo.isBranchAdmin=true + } + if(role.roleid=='shopAdmin'){ + userInfo.isShopAdmin=true + } + if(role.roleid=='locationAdmin'){ + userInfo.isLocationAdmin=true + } }); } commit('SET_USER_INFO', userInfo) commit('SET_ROLES', roles) commit('SET_QXS', data.qxs) - commit('SET_TOKEN', data.userToken) - setToken( data.userToken) + commit('SET_TOKEN', data.data.accessToken.tokenValue) + setToken( data.data.accessToken.tokenValue) } resolve(res) }).catch(error => { @@ -238,45 +187,21 @@ const user = { if(roles!=null && roles.length>0){ roles.forEach(role=>{ - if(role.roleid=='superAdmin'){ - userInfo.isSuperAdmin=true - } - if(role.roleid=='platformAdmin'){ - userInfo.isPlatformAdmin=true - } - if(role.roleid=='branchAdmin'){ - userInfo.isBranchAdmin=true - } - if(role.roleid=='shopAdmin'){ - userInfo.isShopAdmin=true - } - if(role.roleid=='locationAdmin'){ - userInfo.isLocationAdmin=true - } - if(role.roleid=='projectAdmin'){ - userInfo.isProjectAdmin=true - } - if(role.roleid=='teamAdmin'){ - userInfo.isTeamAdmin=true - } - if(role.roleid=='productAdmin'){ - userInfo.isProductAdmin=true - } - if(role.roleid=='productTeamAdmin'){ - userInfo.isProductTeamAdmin=true - } - if(role.roleid=='testAdmin'){ - userInfo.isTestAdmin=true - } - if(role.roleid=='testTeamAdmin'){ - userInfo.isTestTeamAdmin=true - } - if(role.roleid=='tester'){ - userInfo.isTester=true - } - if(role.roleid=='iterationAdmin'){ - userInfo.isIterationAdmin=true - } + if(role.roleid=='superAdmin'){ + userInfo.isSuperAdmin=true + } + if(role.roleid=='platformAdmin'){ + userInfo.isPlatformAdmin=true + } + if(role.roleid=='branchAdmin'){ + userInfo.isBranchAdmin=true + } + if(role.roleid=='shopAdmin'){ + userInfo.isShopAdmin=true + } + if(role.roleid=='locationAdmin'){ + userInfo.isLocationAdmin=true + } }); } @@ -308,7 +233,12 @@ const user = { } }) }) - + depts.forEach(d=>{ + var branch=branchs.find(b=>b.branchId==d.branchId) + if(branch){ + d.branchName=branch.branchName + } + }) commit('SET_MYBRANCHS',branchs); commit('SET_MYDEPTS',depts); commit('SET_MYLOCATIONS',locations); @@ -317,8 +247,8 @@ const user = { commit('SET_USER_INFO',userInfo); commit('SET_ROLES', roles) commit('SET_QXS', qxs) - commit('SET_TOKEN', res.data.userToken); - commit('SET_WORK_SHOP',JSON.parse(JSON.stringify(userInfo))); + //commit('SET_TOKEN', res.data.access_token); + commit('SET_WORK_SHOP',userInfo); commit('SET_IS_LOAD_OK', true) } resolve(res); @@ -326,7 +256,7 @@ const user = { reject(error) }); /** - getUserInfo(state.userToken).then(response => { + getUserInfo(state.access_token).then(response => { if (!response.data) { // 由于mockjs 不支持自定义状态码只能这样hack reject('error') } @@ -355,45 +285,21 @@ const user = { if(roles!=null && roles.length>0){ roles.forEach(role=>{ - if(role.roleid=='superAdmin'){ - userInfo.isSuperAdmin=true - } - if(role.roleid=='platformAdmin'){ - userInfo.isPlatformAdmin=true - } - if(role.roleid=='branchAdmin'){ - userInfo.isBranchAdmin=true - } - if(role.roleid=='shopAdmin'){ - userInfo.isShopAdmin=true - } - if(role.roleid=='locationAdmin'){ - userInfo.isLocationAdmin=true - } - if(role.roleid=='projectAdmin'){ - userInfo.isProjectAdmin=true - } - if(role.roleid=='teamAdmin'){ - userInfo.isTeamAdmin=true - } - if(role.roleid=='productAdmin'){ - userInfo.isProductAdmin=true - } - if(role.roleid=='productTeamAdmin'){ - userInfo.isProductTeamAdmin=true - } - if(role.roleid=='testAdmin'){ - userInfo.isTestAdmin=true - } - if(role.roleid=='testTeamAdmin'){ - userInfo.isTestTeamAdmin=true - } - if(role.roleid=='tester'){ - userInfo.isTester=true - } - if(role.roleid=='iterationAdmin'){ - userInfo.isIterationAdmin=true - } + if(role.roleid=='superAdmin'){ + userInfo.isSuperAdmin=true + } + if(role.roleid=='platformAdmin'){ + userInfo.isPlatformAdmin=true + } + if(role.roleid=='branchAdmin'){ + userInfo.isBranchAdmin=true + } + if(role.roleid=='shopAdmin'){ + userInfo.isShopAdmin=true + } + if(role.roleid=='locationAdmin'){ + userInfo.isLocationAdmin=true + } }); } @@ -434,7 +340,7 @@ const user = { commit('SET_USER_INFO',userInfo); commit('SET_ROLES', roles) commit('SET_QXS', qxs) - commit('SET_TOKEN', res.data.userToken) + commit('SET_TOKEN', res.data.access_token) commit('SET_WORK_SHOP',JSON.parse(JSON.stringify(userInfo))); commit('SET_IS_LOAD_OK', true) } @@ -450,8 +356,8 @@ const user = { // return new Promise((resolve, reject) => { // commit('SET_CODE', code) // loginByThirdparty(state.status, state.email, state.code).then(response => { - // commit('SET_TOKEN', response.data.userToken) - // setToken(response.data.userToken) + // commit('SET_TOKEN', response.data.access_token) + // setToken(response.data.access_token) // resolve() // }).catch(error => { // reject(error) @@ -493,7 +399,7 @@ const user = { const data = response.data commit('SET_USER_INFO', data.userInfo) commit('SET_ROLES', data.roles) - commit('SET_TOKEN', data.userToken) + commit('SET_TOKEN', data.access_token) setToken(data.userInfo.jsessionid) resolve() }) diff --git a/src/utils/request.js b/src/utils/request.js index 1ae62a1a..b3ca46f4 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -30,7 +30,13 @@ const service = axios.create({ // request interceptor service.interceptors.request.use(config => { // Do something before request is sent - config.headers['Authorization'] = 'userToken '+getToken() // 让每个请求携带token-- ['X-Token']为自定义key 请根据实际情况自行修改 + 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 @@ -51,7 +57,7 @@ service.interceptors.response.use( return response }, error => { - console.log('err' + error)// for debug + console.log(error)// for debug if(error.response){ switch (error.response.status) { case 401: diff --git a/src/views/layout/Layout.vue b/src/views/layout/Layout.vue index 5fb52733..7c824531 100644 --- a/src/views/layout/Layout.vue +++ b/src/views/layout/Layout.vue @@ -3,7 +3,7 @@
- +
diff --git a/src/views/layout/components/AppMain.vue b/src/views/layout/components/AppMain.vue index 3a2e5bae..653d1810 100644 --- a/src/views/layout/components/AppMain.vue +++ b/src/views/layout/components/AppMain.vue @@ -12,7 +12,7 @@ export default { name: 'AppMain', computed: { - cachedViews:function() { + cachedViews() { return this.$store.state.tagsView.cachedViews } // key() { diff --git a/src/views/layout/components/Navbar.vue b/src/views/layout/components/Navbar.vue index 89299df4..53a6e4a2 100644 --- a/src/views/layout/components/Navbar.vue +++ b/src/views/layout/components/Navbar.vue @@ -1,413 +1,291 @@ - diff --git a/src/views/layout/components/TagsView.vue b/src/views/layout/components/TagsView.vue index b9827ad2..e34a51be 100644 --- a/src/views/layout/components/TagsView.vue +++ b/src/views/layout/components/TagsView.vue @@ -1,7 +1,7 @@