import React, { Component } from 'react'; import { Space, Slider, message, Breadcrumb, Tooltip } from 'antd'; import Folder from './Folder'; import File from './File'; import { apiFolderList, apiGroupRoot, apiRootFolderId } from '../../services/API/API'; import getCookie from '../../utils/getCookie'; import './DiskPage.less'; import AddFolderModal from './AddFolderModal'; import UploadFileModal from './UploadFileModal'; import GroupModal from './GroupModal'; import { CopyTwoTone } from '@ant-design/icons'; import encrypt from '../../utils/encrypt/encrypt'; import QueueAnim from 'rc-queue-anim'; class DiskPage extends Component { state = { type: this.props.type, currentId: -1, size: 8, addressList: [], data: [], haveFolder: false, haveFile: false, }; getRootFolderIdAndInter = () => { console.log(document.cookie); let params = { username: getCookie('username'), token: getCookie('token'), }; console.log('获得参数:' + params.username + params.token); if (this.props.type === 'team') { params = { group_id: this.props.group_id, ...params, }; apiGroupRoot(params).then((res) => { if (res.data.code === 200) { console.log('成功'); this.setState({ currentId: res.data.root_folder_id, }); this.cdFolder(this.state.currentId, this.props.group_name); } else if (res.data.code === 401) { message.error('未登录'); } else if (res.data.code === 403) { message.error('群不存在'); window.location.href = ''; } else { message.error('错误'); window.location.href = ''; } }); } else { apiRootFolderId(params).then((res) => { if (res.data.code === 200) { console.log('成功'); this.setState({ currentId: res.data.root_folder_id, }); this.cdFolder(this.state.currentId, getCookie('username')); } else if (res.data.code === 401) { message.error('未登录'); // window.location.href = ""; } else { message.error('错误'); window.location.href = ''; } }); } }; cdFolder = (FolderId, FolderName) => { console.log('正在进入' + FolderId); let params = { username: getCookie('username'), token: getCookie('token'), folder_id: FolderId, }; apiFolderList(params).then((res) => { let addressList = this.state.addressList; let temp = -1; for (let i = 0; i < addressList.length; i++) { if (addressList[i].id === FolderId) { temp = i; break; } } if (temp === -1) { addressList.push({ name: FolderName, id: FolderId, }); } else { addressList.splice(temp + 1, addressList.length - temp - 1); } if (res.data.code === 200) { this.setState({ currentId: FolderId, data: res.data.children, // addressList: [...this.state.addressList, { // name: FolderName, // id: FolderId // }] addressList: addressList, }); let haveFileTemp = false; let haveFolderTemp = false; res.data.children.forEach((ele) => { if (ele.type === 'file') { haveFileTemp = true; } if (ele.type === 'folder') { haveFolderTemp = true; } }); this.setState({ haveFile: haveFileTemp, haveFolder: haveFolderTemp, }); } else if (res.data.code === 401) { message.error('未登录'); // window.location.href = ""; } else { message.error('错误'); // window.location.href = ""; } }); }; componentWillMount() { this.getRootFolderIdAndInter(); } componentDidMount() {} setSize = (size) => { this.setState({ size: size, }); }; renderBread(addressList) { return addressList.map((ele, index) => { return this.props.type === 'team' ? ( this.cdFolder(ele.id, ele.name)}> {ele.name} ) : ( this.cdFolder(ele.id, ele.name)}> {ele.name} ); }); } getGroupList = () => { if (this.props.getGroupList) { this.props.getGroupList(); } }; render() { return (
{this.renderBread(this.state.addressList)} {
}
this.setSize(value)} className={'disk-slider'} />
{this.state.data.length === 0 ? (
  NO  FILES
) : this.state.haveFolder ? ( this.renderFolderList(this.state.data) ) : null} {this.state.data.length === 0 ? null : this.state.haveFile ? this.renderFileList(this.state.data) : null}
); } renderFolderList(dataList) { return dataList.map((ele, index) => { return ele.type === 'folder' ? (
) : null; }); } renderFileList(dataList) { return dataList.map((ele, index) => { return ele.type === 'folder' ? null : (
); }); } } export default DiskPage;