feature:first commit

This commit is contained in:
charlesxie
2022-01-28 16:09:30 +08:00
commit e5da67afbe
352 changed files with 45088 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
import {GET, reUrl} from '../../axiosconfig/axiosconfig'
export default {
list: function(params) {
return GET(reUrl + '/node_history/', params)
},
retrieve: function(id, params) {
return GET(reUrl + '/node_history/' + JSON.stringify(id) + '/', params)
}
}

View File

@@ -0,0 +1,10 @@
import {GET, reUrl} from '../../axiosconfig/axiosconfig'
export default {
list: function(params) {
return GET(reUrl + '/process_history/', params)
},
retrieve: function(id, params) {
return GET(reUrl + '/process_history/' + JSON.stringify(id) + '/', params)
}
}

View File

@@ -0,0 +1,19 @@
import {GET, POST, reUrl} from '../../axiosconfig/axiosconfig'
export default {
list: function(params) {
return GET(reUrl + '/node_run/', params)
},
retrieve: function(id, params) {
return GET(reUrl + '/node_run/' + JSON.stringify(id) + '/', params)
},
control: function(params) {
return POST(reUrl + '/node_run/control/', params)
},
node_snapshot: function(params) {
return GET(reUrl + '/node_snapshot/', params)
},
node_snapshot_id: function(id, params) {
return GET(reUrl + '/node_snapshot/' + JSON.stringify(id) + '/', params)
}
}

View File

@@ -0,0 +1,29 @@
import {GET, POST, PUT, DELETE, reUrl} from '../../axiosconfig/axiosconfig'
export default {
// 作业台
list: function(params) {
return GET(reUrl + '/process_run/', params)
},
create: function(params) {
return POST(reUrl + '/process_run/', params)
},
retrieve: function(id, params) {
return GET(reUrl + '/process_run/' + JSON.stringify(id) + '/', params)
},
update: function(id, params) {
return PUT(reUrl + '/process_run/' + JSON.stringify(id) + '/', params)
},
delete: function(id) {
return DELETE(reUrl + '/process_run/' + JSON.stringify(id) + '/')
},
control: function(params) {
return POST(reUrl + '/process_run/control/', params)
},
process_snapshot: function(params) {
return GET(reUrl + '/process_snapshot/', params)
},
process_snapshot_id: function(id, params) {
return GET(reUrl + '/process_snapshot/' + JSON.stringify(id) + '/', params)
}
}

View File

@@ -0,0 +1,16 @@
import { GET, reUrl } from '../../axiosconfig/axiosconfig'
export default {
getJobFlowReport: function(params) {
return GET(reUrl + '/process_run/data_analyze/', params)
},
getJobFlowName: function(params) {
return GET(reUrl + '/process/process_name/', params)
},
getJobReport: function(params) {
return GET(reUrl + '/node_run/data_analyze/', params)
},
getJobName: function(params) {
return GET(reUrl + '/node/node_name/', params)
}
}

View File

@@ -0,0 +1,7 @@
import {GET, reUrl} from '../../axiosconfig/axiosconfig'
export default {
list: function(params) {
return GET(reUrl + '/alarm_center/', params)
}
}

View File

@@ -0,0 +1,11 @@
import {GET, reUrl} from '../../axiosconfig/axiosconfig'
export default {
// 系统审计日志
list: function(params) {
return GET(reUrl + '/audit_log/', params)
},
retrieve: function(id) {
return GET(reUrl + '/audit_log/' + JSON.stringify(id) + '/')
}
}

View File

@@ -0,0 +1,26 @@
import {GET, POST, PUT, DELETE, reUrl} from '../../axiosconfig/axiosconfig'
export default {
list: function(params) {
return GET(reUrl + '/category/', params)
},
create: function(params) {
return POST(reUrl + '/category/', params)
},
retrieve: function(id, params) {
return GET(reUrl + '/category/' + JSON.stringify(id) + '/', params)
},
update: function(id, params) {
return PUT(reUrl + '/category/' + JSON.stringify(id) + '/', params)
},
delete: function(id) {
return DELETE(reUrl + '/category/' + JSON.stringify(id) + '/')
},
get_topology: function(params) {
return GET(reUrl + '/category/get_topology/', params)
},
set_topology: function(params) {
// PARAMS {'nodes': array}
return POST(reUrl + '/category/set_topology/', params)
}
}

View File

@@ -0,0 +1,19 @@
import {GET, reUrl} from '../../axiosconfig/axiosconfig'
export default {
overview: function(params) {
return GET(reUrl + '/home/overview/', params)
},
weekly_job: function(params) {
return GET(reUrl + '/home/weekly_job/', params)
},
today_job: function(params) {
return GET(reUrl + '/home/today_job/', params)
},
top5_agent: function(params) {
return GET(reUrl + '/home/top5_agent/', params)
},
job_dynamic: function(params) {
return GET(reUrl + '/home/job_dynamic/', params)
}
}

View File

@@ -0,0 +1,23 @@
import {GET, POST, PUT, reUrl} from '../../axiosconfig/axiosconfig'
export default {
// 系统设置
list: function(params) {
return GET(reUrl + '/setting/', params)
},
update: function(id, params) {
return PUT(reUrl + '/setting/' + JSON.stringify(id) + '/', params)
},
get_logo: function(params) {
return GET(reUrl + '/setting/get_logo/', params)
},
reset_logo: function(params) {
return GET(reUrl + '/setting/reset_logo/', params)
},
update_logo: function(params) {
return POST(reUrl + '/setting/update_logo/', params)
},
batch_update: function(params) {
return POST(reUrl + '/setting/batch_update/', params)
}
}

View File

@@ -0,0 +1,11 @@
import {GET, PUT, reUrl} from '../../axiosconfig/axiosconfig'
export default {
// 获取表格要显示的列
show_table: function(token, params) {
return GET(reUrl + '/show_table/' + token + '/', params)
},
update_table: function(token, params) {
return PUT(reUrl + '/show_table/' + token + '/', params)
}
}

View File

@@ -0,0 +1,29 @@
import {GET, POST, PUT, DELETE, reUrl} from '../../axiosconfig/axiosconfig'
export default {
// 系统用户
login: function(params) {
return GET(reUrl + '/user/login/', params)
},
list: function(params) {
return GET(reUrl + '/user/', params)
},
create: function(params) {
return POST(reUrl + '/user/', params)
},
retrieve: function(id, params) {
return GET(reUrl + '/user/' + JSON.stringify(id) + '/', params)
},
update: function(id, params) {
return PUT(reUrl + '/user/' + JSON.stringify(id) + '/', params)
},
delete: function(id) {
return DELETE(reUrl + '/user/' + JSON.stringify(id) + '/')
},
init_privilege: function(params) {
return GET(reUrl + '/user/init_privilege/', params)
},
get_uncreated_users: function(params) {
return GET(reUrl + '/user/get_uncreated_users/', params)
}
}

View File

@@ -0,0 +1,23 @@
import {GET, POST, PUT, DELETE, reUrl} from '../../axiosconfig/axiosconfig'
export default {
// 作业台
list: function(params) {
return GET(reUrl + '/calendar/', params)
},
create: function(params) {
return POST(reUrl + '/calendar/', params)
},
retrieve: function(id, params) {
return GET(reUrl + '/calendar/' + JSON.stringify(id) + '/', params)
},
update: function(id, params) {
return PUT(reUrl + '/calendar/' + JSON.stringify(id) + '/', params)
},
delete: function(id) {
return DELETE(reUrl + '/calendar/' + JSON.stringify(id) + '/')
},
post_calendar_file: function(params, config) {
return POST(reUrl + '/calendar/post_calendar_file/', params)
}
}

View File

@@ -0,0 +1,35 @@
import {GET, POST, PUT, DELETE, reUrl} from '../../axiosconfig/axiosconfig'
export default {
// 作业台
list: function(params) {
return GET(reUrl + '/content/', params)
},
create: function(params) {
return POST(reUrl + '/content/', params)
},
retrieve: function(id, params) {
return GET(reUrl + '/content/' + JSON.stringify(id) + '/', params)
},
update: function(id, params) {
return PUT(reUrl + '/content/' + JSON.stringify(id) + '/', params)
},
clone: function(params) {
return POST(reUrl + '/content/clone/', params)
},
delete: function(id) {
return DELETE(reUrl + '/content/' + JSON.stringify(id) + '/')
},
execute: function(params) {
return POST(reUrl + '/content/execute/', params)
},
upload_job: function(params) {
return POST(reUrl + '/content/upload_contents/', params)
},
check_job: function(params) {
return POST(reUrl + '/content/check_job/', params)
},
save_job_data: function(params) {
return POST(reUrl + '/content/save_job_data/', params)
}
}

View File

@@ -0,0 +1,7 @@
import {GET, reUrl} from '../../axiosconfig/axiosconfig'
export default {
list: function(params) {
return GET(reUrl + '/node/', params)
}
}

View File

@@ -0,0 +1,45 @@
import {GET, POST, PUT, DELETE, reUrl} from '../../axiosconfig/axiosconfig'
export default {
// 作业台
list: function(params) {
return GET(reUrl + '/process/', params)
},
create: function(params) {
return POST(reUrl + '/process/', params)
},
retrieve: function(id) {
return GET(reUrl + '/process/' + JSON.stringify(id) + '/')
},
update: function(id, params) {
return PUT(reUrl + '/process/' + JSON.stringify(id) + '/', params)
},
clone: function(params) {
return POST(reUrl + '/process/clone/', params)
},
delete: function(id) {
return DELETE(reUrl + '/process/' + JSON.stringify(id) + '/')
},
execute: function(params) {
return POST(reUrl + '/process/execute/', params)
},
get_process_node: function(params) {
return GET(reUrl + '/process/get_process_node/', params)
},
get_topology: function(params) {
return GET(reUrl + '/process/get_topology/', params)
},
set_topology: function(params) {
// PARAMS {'is_global': bool, 'nodes': array}
return POST(reUrl + '/process/set_topology/', params)
},
upload_process: function(params, config) {
return POST(reUrl + '/process/upload_process/', params, config)
},
serialize_process: function(params, config) {
return POST(reUrl + '/process/serialize_process/', params, config)
},
save_process: function(params, config) {
return POST(reUrl + '/process/save_process/', params, config)
}
}

View File

@@ -0,0 +1,29 @@
import {GET, POST, PUT, DELETE, reUrl} from '../../axiosconfig/axiosconfig'
export default {
// 作业台
list: function(params) {
return GET(reUrl + '/station/', params)
},
create: function(params) {
return POST(reUrl + '/station/', params)
},
retrieve: function(id, params) {
return GET(reUrl + '/station/' + JSON.stringify(id) + '/', params)
},
update: function(id, params) {
return PUT(reUrl + '/station/' + JSON.stringify(id) + '/', params)
},
delete: function(id) {
return DELETE(reUrl + '/station/' + JSON.stringify(id) + '/')
},
get_biz: function(params) {
return GET(reUrl + '/station/get_biz/', params)
},
search_host: function(params) {
return POST(reUrl + '/station/search_host/', params)
},
get_os_account: function(params) {
return POST(reUrl + '/station/get_os_account/', params)
}
}

View File

@@ -0,0 +1,8 @@
import {GET, reUrl} from '../../axiosconfig/axiosconfig'
export default {
// 作业台
list: function(params) {
return GET(reUrl + '/station_state/', params)
}
}

View File

@@ -0,0 +1,20 @@
import {GET, POST, PUT, DELETE, reUrl} from '../../axiosconfig/axiosconfig'
export default {
// 作业台
list: function(params) {
return GET(reUrl + '/var_table/', params)
},
create: function(params) {
return POST(reUrl + '/var_table/', params)
},
retrieve: function(id, params) {
return GET(reUrl + '/var_table/' + JSON.stringify(id) + '/', params)
},
update: function(id, params) {
return PUT(reUrl + '/var_table/' + JSON.stringify(id) + '/', params)
},
delete: function(id) {
return DELETE(reUrl + '/var_table/' + JSON.stringify(id) + '/')
}
}

View File

@@ -0,0 +1,58 @@
// 拦截配置
import Vue from 'vue'
// 请求拦截
export function requestFunc(request) {
// if (request.config.showLoad) Vue.prototype.$showLoading();
return request
}
// axios 响应成功回调函数
export function responseSuccessFunc(response) {
// Vue.prototype.$CloseLoading();
const data = response.data.message
if (data) {
if (typeof (data) === 'string') {
console.log(123)
} else {
const midstr = []
for (const i in data) {
midstr.push(data[i])
}
response.data.message = midstr.join(',')
}
}
// let data = response.data.message
// // if (typeof (data) == 'string') {
// // } else {
// try {
// let midstr = []
// for (let i in data) {
// midstr.push(data[i])
// }
// response.data.message = midstr.join(',')
// } catch {
// }
// }
return response.data
}
// axios 响应失败回调函数
export function responseFailFunc(error) {
// Vue.prototype.$CloseLoading();
if (error.response) {
switch (error.response.status) {
case 404:
break
case 500:
Vue.prototype.$Message.error('服务器错误,请联系管理员')
}
} else if (error.request) {
if (error.code === 'ECONNABORTED') {
Vue.prototype.$Message.error('远程主机拒绝网络连接')
}
} else {
console.log(456)
}
return Promise.reject(error)
}

View File

@@ -0,0 +1,116 @@
// axios基础配置
import axios from 'axios'
axios.defaults.baseURL = window.siteUrl
axios.defaults.withCredentials = true
axios.defaults.timeout = 200000
axios.defaults.crossDomain = true
// const VueEnv = process.env.NODE_ENV
// let ApiUrl = 'http://127.0.0.1:8000'
// if (VueEnv === 'production') {
// ApiUrl = '.'
// } else {
// ApiUrl = 'http://127.0.0.1:8000'
// }
// // axios.defaults.baseURL = ApiUrl;
axios.interceptors.request.use((config) => {
config.headers['X-Requested-With'] = 'XMLHttpRequest'
const name = window.CSRF_COOKIE_NAME || 'csrftoken'
let cookieValue = 'NOTPROVIDED'
if (document.cookie && document.cookie !== '') {
const cookies = document.cookie.split(';')
for (let i = 0; i < cookies.length; i++) {
const cookie = cookies[i].trim()
// Does this cookie string begin with the name we want?
if (cookie.substring(0, name.length + 1) === (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1))
break
}
}
}
config.headers['X-CSRFToken'] = cookieValue
return config
})
axios.interceptors.response.use(response => {
const status = response.status
if (status > 300 || status < 200) {
return {
code: response.status,
message: '请求异常,请刷新重试',
result: false
}
}
return response.data
}, error => {
return {
code: 500,
message: error.response.data.message,
error: error,
result: false
}
})
// 发送请求 (接口路径,参数,请求配置)
export function POST(url, params, config) {
return new Promise((resolve, reject) => {
axios.post(url, params, config).then(
res => {
resolve(res)
},
err => {
reject(err)
}
)
.catch(err => {
reject(err)
})
})
}
export function GET(url, params, config) {
return new Promise((resolve, reject) => {
axios.get(url, {
params: params,
config: config
})
.then(res => {
resolve(res)
})
.catch(err => {
reject(err)
})
})
}
export function PUT(url, params, config) {
return new Promise((resolve, reject) => {
axios.put(url, params, config).then(
res => {
resolve(res)
},
err => {
reject(err)
}
)
.catch(err => {
reject(err)
})
})
}
export function DELETE(url, params, config) {
return new Promise((resolve, reject) => {
axios.delete(url, {
params: params,
config: config
})
.then(res => {
resolve(res)
})
.catch(err => {
reject(err)
})
})
}
// 前后端分离开发时重定向配置
// reUrl = ''; 不需要重定向
// reUrl = VueEnv === 'production' ? '' : '/api'; 重定向
export const reUrl = ''

45
web/src/api/index.js Normal file
View File

@@ -0,0 +1,45 @@
// 统一引入api模块
import alarmCenter from './apiUrl/system/alarm_center'
import auditLog from './apiUrl/system/audit_log'
import category from './apiUrl/system/category'
import home from './apiUrl/system/home'
import setting from './apiUrl/system/setting'
import user from './apiUrl/system/user'
import showTable from './apiUrl/system/show_table'
import calendar from './apiUrl/template/calendar'
import content from './apiUrl/template/content'
import process from './apiUrl/template/process'
import node from './apiUrl/template/node'
import station from './apiUrl/template/station'
import stationState from './apiUrl/template/station_state'
import varTable from './apiUrl/template/var_table'
import nodeRun from './apiUrl/monitor/node_run'
import processRun from './apiUrl/monitor/process_run'
import processReport from './apiUrl/report/process_report'
import nodeHistory from './apiUrl/history/node_history'
import processHistory from './apiUrl/history/process_history'
export default {
alarmCenter,
auditLog,
category,
home,
setting,
user,
calendar,
content,
process,
node,
station,
stationState,
varTable,
nodeRun,
processRun,
nodeHistory,
processHistory,
processReport,
showTable
}