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 }