Commit 1a89b596 authored by 智勇's avatar 智勇

增加多环境选择

parent 6050bc89
......@@ -4,6 +4,6 @@ const prodEnv = require('./prod.env')
module.exports = {
NODE_ENV: '"development"',
BASE_API: '"http://boss-ka2.liangkebang.net"',
// BASE_API: '"http://yapi.quantgroups.com"',
BASE_API: '"http://boss-namespace.liangkebang.net"',
qaapi: '"http://qaapi.liangkebang.com"',
}
'use strict'
module.exports = {
NODE_ENV: '"production"',
BASE_API: '"http://boss-ka2.liangkebang.net"',
BASE_API: '"http://boss-namespace.liangkebang.net"',
qaapi: '"http://qaapi.liangkebang.com"',
}
import request from '@/utils/request'
export function fetchKubernetesList() {
return request({
url: '/k8s/namespace',
method: 'get'
})
}
......@@ -36,7 +36,7 @@ export function cancelLoan(data) {
return request({
url: '/order/cancel/loan',
method: 'post',
data
params: data
})
}
......
......@@ -81,7 +81,7 @@ export const constantRouterMap = [
]
export default new Router({
// mode: 'history', //后端支持可开
mode: 'history', // 后端支持可开
scrollBehavior: () => ({ y: 0 }),
routes: constantRouterMap
})
......@@ -4,6 +4,7 @@ const getters = {
token: state => state.user.token,
avatar: state => state.user.avatar,
name: state => state.user.name,
roles: state => state.user.roles
roles: state => state.user.roles,
env: state => state.env.name
}
export default getters
......@@ -2,6 +2,7 @@ import Vue from 'vue'
import Vuex from 'vuex'
import app from './modules/app'
import user from './modules/user'
import env from './modules/env'
import getters from './getters'
Vue.use(Vuex)
......@@ -9,7 +10,8 @@ Vue.use(Vuex)
const store = new Vuex.Store({
modules: {
app,
user
user,
env
},
getters
})
......
const env = {
state: {
name: 'qaapi'
},
mutations: {
CHANGE_ENV: (state, env) => {
state.name = env
}
},
actions: {
changeEnv({ commit }, data) {
commit('CHANGE_ENV', data)
}
}
}
export default env
......@@ -5,7 +5,7 @@ import { getToken } from '@/utils/auth'
// 创建axios实例
const service = axios.create({
baseURL: process.env.BASE_API, // api 的 base_url
// baseURL: process.env.BASE_API, // api 的 base_url
withCredentials: true,
timeout: 1000 * 10 // 请求超时时间
})
......@@ -16,6 +16,9 @@ service.interceptors.request.use(
if (store.getters.token) {
config.headers['SESSION'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
}
const url = store.getters.env === 'qaapi' ? process.env.qaapi : process.env.BASE_API.replace('namespace', store.getters.env)
config.url = url + config.url
config.headers['cluster'] = 'qa'
return config
},
error => {
......@@ -33,7 +36,7 @@ service.interceptors.response.use(
* code为非20000是抛错 可结合自己业务进行修改
*/
const res = response.data
if (res.code !== 200000) {
if ((typeof res.code === 'number' && res.code !== 200000) || (typeof res.code === 'string' && res.code !== '0000')) {
Message({
message: res.message,
type: 'error',
......
......@@ -23,6 +23,19 @@
<svg-icon :icon-class="pwdType === 'password' ? 'eye' : 'eye-open'" />
</span>
</el-form-item>
<el-form-item prop="env">
<!-- <span class="svg-container">
<svg-icon icon-class="nested" />
</span> -->
<el-select v-model="ns" filterable clearable style="width:117%;" placeholder="请选择环境" @change="changeEnv">
<el-option
v-for="item in nsArray"
:key="item.name"
:label="item.name"
:value="item.name"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button :loading="loading" type="primary" style="width:100%;" @click.native.prevent="handleLogin">
Sign in
......@@ -37,7 +50,7 @@
</template>
<script>
// import { isvalidUsername } from '@/utils/validate'
import { fetchKubernetesList } from '@/api/k8s'
export default {
name: 'Login',
......@@ -58,7 +71,7 @@ export default {
// }
return {
loginForm: {
username: 'admin01',
username: '',
password: ''
},
loginRules: {
......@@ -67,7 +80,9 @@ export default {
},
loading: false,
pwdType: 'password',
redirect: undefined
redirect: undefined,
ns: '',
nsArray: []
}
},
watch: {
......@@ -78,7 +93,26 @@ export default {
immediate: true
}
},
created() {
this.fetchK8sList()
this.$store.dispatch('changeEnv', 'qaapi')
},
methods: {
fetchK8sList() {
fetchKubernetesList().then(res => {
this.nsArray = res.data.namespaces.filter(i => {
if (i.name.indexOf('ka') !== -1) {
return i
}
})
})
},
changeEnv() {
this.$store.dispatch('changeEnv', this.ns)
sessionStorage.setItem('qahome_env', this.ns)
},
showPwd() {
if (this.pwdType === 'password') {
this.pwdType = ''
......
......@@ -259,7 +259,7 @@ export default {
this.$notify({
title: '操作成功',
type: 'success',
duration: 1000
duration: 2000
})
})
this.getOrders()
......@@ -276,7 +276,7 @@ export default {
this.$notify({
title: '操作成功',
type: 'success',
duration: 1000
duration: 2000
})
})
this.getOrders()
......@@ -287,8 +287,9 @@ export default {
this.$notify({
title: '关单完毕',
type: 'success',
duration: 1000
duration: 2000
})
this.dialogDeleteVisible = false
})
this.getOrders()
},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment