diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..57b1c13 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -10,7 +10,8 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + // BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..57b1c13 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -10,7 +10,8 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + // BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..57b1c13 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -10,7 +10,8 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + // BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..57b1c13 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -10,7 +10,8 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + // BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..57b1c13 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -10,7 +10,8 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + // BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..57b1c13 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -10,7 +10,8 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + // BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..57b1c13 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -10,7 +10,8 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + // BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/permission.js b/src/permission.js index 88cf056..44a27a1 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,8 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } // 如果有token - if (getToken()) { + if (ticket && getToken()) { + setTicket(ticket) // 登录后进入登录页 if (to.path === '/login') { next({ path: '/' }) @@ -37,18 +46,26 @@ } } } else { - if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 - next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + // 如果没有ticket, 跳转到单点登录地址 + if(!ticket){ + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{ + if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 + next() + } else { + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + } } } }) diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..57b1c13 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -10,7 +10,8 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + // BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/permission.js b/src/permission.js index 88cf056..44a27a1 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,8 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } // 如果有token - if (getToken()) { + if (ticket && getToken()) { + setTicket(ticket) // 登录后进入登录页 if (to.path === '/login') { next({ path: '/' }) @@ -37,18 +46,26 @@ } } } else { - if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 - next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + // 如果没有ticket, 跳转到单点登录地址 + if(!ticket){ + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{ + if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 + next() + } else { + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + } } } }) diff --git a/src/settings.js b/src/settings.js index b8159bf..e9d1b62 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,9 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..57b1c13 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -10,7 +10,8 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + // BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/permission.js b/src/permission.js index 88cf056..44a27a1 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,8 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } // 如果有token - if (getToken()) { + if (ticket && getToken()) { + setTicket(ticket) // 登录后进入登录页 if (to.path === '/login') { next({ path: '/' }) @@ -37,18 +46,26 @@ } } } else { - if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 - next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + // 如果没有ticket, 跳转到单点登录地址 + if(!ticket){ + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{ + if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 + next() + } else { + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + } } } }) diff --git a/src/settings.js b/src/settings.js index b8159bf..e9d1b62 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,9 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..c91fe57 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,14 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() resolve() }).catch(error => { reject(error) diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..57b1c13 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -10,7 +10,8 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + // BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/permission.js b/src/permission.js index 88cf056..44a27a1 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,8 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } // 如果有token - if (getToken()) { + if (ticket && getToken()) { + setTicket(ticket) // 登录后进入登录页 if (to.path === '/login') { next({ path: '/' }) @@ -37,18 +46,26 @@ } } } else { - if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 - next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + // 如果没有ticket, 跳转到单点登录地址 + if(!ticket){ + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{ + if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 + next() + } else { + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + } } } }) diff --git a/src/settings.js b/src/settings.js index b8159bf..e9d1b62 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,9 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..c91fe57 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,14 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() resolve() }).catch(error => { reject(error) diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..fa7a082 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,24 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } // 如果有token - if (getToken()) { + if (ticket && getToken()) { + setTicket(ticket) // 登录后进入登录页 if (to.path === '/login') { next({ path: '/' }) @@ -37,18 +46,26 @@ } } } else { - if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 - next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + // 如果没有ticket, 跳转到单点登录地址 + if(!ticket){ + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{ + if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 + next() + } else { + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + } } } }) diff --git a/src/settings.js b/src/settings.js index b8159bf..e9d1b62 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,9 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..c91fe57 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,14 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() resolve() }).catch(error => { reject(error) diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..fa7a082 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,24 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } // 如果有token - if (getToken()) { + if (ticket && getToken()) { + setTicket(ticket) // 登录后进入登录页 if (to.path === '/login') { next({ path: '/' }) @@ -37,18 +46,26 @@ } } } else { - if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 - next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + // 如果没有ticket, 跳转到单点登录地址 + if(!ticket){ + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{ + if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 + next() + } else { + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + } } } }) diff --git a/src/settings.js b/src/settings.js index b8159bf..e9d1b62 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,9 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..c91fe57 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,14 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() resolve() }).catch(error => { reject(error) diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..fa7a082 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,24 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } // 如果有token - if (getToken()) { + if (ticket && getToken()) { + setTicket(ticket) // 登录后进入登录页 if (to.path === '/login') { next({ path: '/' }) @@ -37,18 +46,26 @@ } } } else { - if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 - next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + // 如果没有ticket, 跳转到单点登录地址 + if(!ticket){ + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{ + if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 + next() + } else { + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + } } } }) diff --git a/src/settings.js b/src/settings.js index b8159bf..e9d1b62 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,9 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..c91fe57 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,14 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() resolve() }).catch(error => { reject(error) diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..fa7a082 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,24 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } // 如果有token - if (getToken()) { + if (ticket && getToken()) { + setTicket(ticket) // 登录后进入登录页 if (to.path === '/login') { next({ path: '/' }) @@ -37,18 +46,26 @@ } } } else { - if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 - next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + // 如果没有ticket, 跳转到单点登录地址 + if(!ticket){ + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{ + if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 + next() + } else { + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + } } } }) diff --git a/src/settings.js b/src/settings.js index b8159bf..e9d1b62 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,9 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..c91fe57 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,14 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() resolve() }).catch(error => { reject(error) diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..fa7a082 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,24 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i