Files
crawlab/frontend/src/store/modules/file.js
2020-01-15 20:10:51 +08:00

81 lines
2.2 KiB
Go

import request from '../../api/request'
const state = {
currentPath: '',
fileList: [],
fileContent: ''
}
const getters = {}
const mutations = {
SET_CURRENT_PATH (state, value) {
state.currentPath = value
},
SET_FILE_LIST (state, value) {
state.fileList = value
},
SET_FILE_CONTENT (state, value) {
state.fileContent = value
}
}
const actions = {
getFileList ({ commit, rootState }, payload) {
const { path } = payload
const spiderId = rootState.spider.spiderForm._id
commit('SET_CURRENT_PATH', path)
return request.get(`/spiders/${spiderId}/dir`, { path })
.then(response => {
if (!response.data.data) response.data.data = []
commit(
'SET_FILE_LIST',
response.data.data
.sort((a, b) => a.name > b.name ? -1 : 1)
.sort((a, b) => a.is_dir > b.is_dir ? -1 : 1)
)
})
},
getFileContent ({ commit, rootState }, payload) {
const { path } = payload
const spiderId = rootState.spider.spiderForm._id
return request.get(`/spiders/${spiderId}/file`, { path })
.then(response => {
commit('SET_FILE_CONTENT', response.data.data)
})
},
saveFileContent ({ state, rootState }, payload) {
const { path } = payload
const spiderId = rootState.spider.spiderForm._id
return request.post(`/spiders/${spiderId}/file`, { path, content: state.fileContent })
},
addFile ({ rootState }, payload) {
const { path } = payload
const spiderId = rootState.spider.spiderForm._id
return request.put(`/spiders/${spiderId}/file`, { path })
},
addDir ({ rootState }, payload) {
const { path } = payload
const spiderId = rootState.spider.spiderForm._id
return request.put(`/spiders/${spiderId}/dir`, { path })
},
deleteFile ({ rootState }, payload) {
const { path } = payload
const spiderId = rootState.spider.spiderForm._id
return request.delete(`/spiders/${spiderId}/file`, { path })
},
renameFile ({ rootState }, payload) {
const { path, newPath } = payload
const spiderId = rootState.spider.spiderForm._id
return request.post(`/spiders/${spiderId}/file/rename`, { path, new_path: newPath })
}
}
export default {
namespaced: true,
state,
getters,
mutations,
actions
}