{"version":3,"sources":["redux/explorer/action.ts","redux/explorer/reducer.ts","utils/page.js","component/Dial/AutoHidden.js","component/Placeholder/TextLoading.js","middleware/Auth.ts","component/Navbar/DarkModeSwitcher.js","component/FileManager/Navigator/SubActions.js","component/Modals/Report.js","utils/index.js","component/Modals/PurchaseShare.js","component/Dial/Save.js","component/Modals/Loading.js","component/Modals/Copy.js","component/Modals/CreateShare.js","component/Modals/Decompress.js","component/Modals/Compress.js","component/Modals/Relocate.js","component/FileManager/Modals.js","component/Viewer/Text.js","component/Viewer/Code.js","component/Common/Snackbar.js","component/Navbar/UserAvatarPopover.js","component/Navbar/PolicySwitcher.js","component/Navbar/UserAvatar.js","component/Navbar/Navbar.js","component/Navbar/SearchBar.js","component/Navbar/StorageBar.js","component/Navbar/UserInfo.js","component/Navbar/FileTags.js","actions/explorer.js","actions/index.js","config.js","component/FileManager/ImgPreview.js","utils/datetime.js","loader/utils.js","loader/index.js","component/Upload/FileList.js","component/Dial/Create.js","component/Upload/Uploader.js","component/FileManager/TypeIcon.js","component/FileManager/PathSelector.js","serviceWorker.js","middleware/AuthRoute.js","component/Placeholder/PageLoading.js","component/Share/NotFound.js","middleware/Init.js","component/Common/ICPFooter.js","component/Placeholder/Captcha.js","hooks/normal.js","component/Login/ReCaptchaWrapper.js","component/Login/ReCaptcha.js","hooks/recaptcha.js","hooks/tcaptcha.js","hooks/useCaptcha.js","component/Login/LoginForm.js","redux/explorer/index.ts","component/FileManager/Navigator/PathButton.js","component/FileManager/Navigator/DropDownItem.js","component/FileManager/Navigator/DropDown.js","component/FileManager/Navigator/Navigator.js","component/FileManager/SmallIcon.js","component/FileManager/FileIcon.js","component/FileManager/Folder.js","component/FileManager/DnD/Preview.js","component/FileManager/DnD/DragLayer.js","component/FileManager/TableRow.js","component/FileManager/DnD/DropWarpper.js","component/FileManager/ObjectIcon.js","component/FileManager/ContextMenu.js","component/FileManager/Explorer.js","component/Placeholder/ListLoading.js","component/FileManager/Sidebar/SideDrawer.js","component/FileManager/FileManager.js","component/Viewer/Video.js","component/Share/SearchResult.js","component/Share/MyShare.js","component/Modals/SelectFile.js","component/Download/DownloadingCard.js","component/Download/FinishedCard.js","component/Dial/Aria2.js","component/Download/Download.js","component/Share/LockedFile.js","component/Share/Creator.js","component/Share/SharedFile.js","component/Share/SharedFolder.js","component/Share/SharePreload.js","component/Viewer/Doc.js","component/VAS/Quota.js","component/VAS/PackSelect.js","component/VAS/BuyQuota.js","component/Modals/CreateWebDAVAccount.js","component/Modals/CreateWebDAVMount.js","component/Setting/WebDAV.js","component/Setting/Tasks.js","component/Setting/Profile.js","component/Setting/Authn.js","component/Modals/TimeZone.js","component/Setting/UserSetting.js","component/Login/QQ.js","component/Login/Register.js","component/Login/Activication.js","component/Login/ResetForm.js","component/Login/Reset.js","component/Modals/SiteNotice.js","component/FileManager/MusicPlayer.js","App.js","redux/viewUpdate/reducer.ts","reducers/index.js","component/Placeholder/ErrorBoundary.js","index.js","redux/combineReducers.ts","redux/viewUpdate/action.ts","middleware/Api.js"],"names":["setFileList","list","type","setDirList","setSortMethod","method","setSideBar","open","sortMethodFuncs","sizePos","a","b","size","sizeRes","namePos","name","localeCompare","navigator","languages","language","numeric","ignorePunctuation","nameRev","timePos","Date","parse","date","timeRev","updateFileList","dispatch","getState","sortMethod","viewUpdate","dirList","filter","x","fileList","sortFunc","sort","changeSortMethod","explorer","toggleObjectInfoSidebar","closeContextMenu","initState","dndSignal","dndTarget","dndSource","selected","selectProps","isMultiple","withFolder","withFile","lastSelect","file","id","index","shiftSelectedIds","imgPreview","first","other","audioPreview","playingName","paused","isOpen","keywords","fileSave","sideBarOpen","checkSelectedProps","length","forEach","value","state","action","Object","assign","target","source","addedSelected","targets","newSelected","fileIds","filteredSelected","includes","statusHelper","isHomePage","path","isSharePage","startsWith","isAdminPage","isLoginPage","isMobile","window","innerWidth","AutoHidden","children","enable","useState","hidden","setHidden","prev","scrollY","lastUpdate","useEffect","addEventListener","e","currentTarget","handleNavigation","in","useStyles","makeStyles","theme","loader","width","padding","breakpoints","down","MyLoader","props","backgroundColor","dark","foregroundColor","className","TextLoading","useTheme","classes","palette","Auth","isAuthenticated","authenticate","cb","SetUser","GetUser","JSON","localStorage","getItem","newUser","setItem","stringify","Check","anonymous","signout","oldUser","SetPreference","key","preference","GetPreference","icon","color","opacity","DarkModeSwitcher","position","ThemeType","useSelector","siteConfig","useDispatch","ToggleThemeMode","useCallback","toggleDaylightMode","isDayLight","isDark","title","placement","classNames","onClick","sideButton","marginRight","sortOptions","SubActions","isSmall","share","inherit","viewMethod","explorerViewMethod","OpenLoadingDialog","changeViewMethod","ChangeSortMethod","OpenResaveDialog","openResaveDialog","SetShareUserPopover","setShareUserPopover","anchorSort","setAnchorSort","selectedIndex","setSelectedIndex","openReport","setOpenReport","toggleViewMethod","newMethod","fontSize","anchorEl","Boolean","onClose","map","option","event","0","1","2","3","4","5","handleMenuItemClick","creator","nick","style","height","src","widthAnimation","shareUrl","minWidth","wrapper","margin","spacing","buttonProgress","secondary","light","top","left","flexCenter","alignItems","noFlex","display","scoreCalc","marginTop","Report","reason","setReason","des","setDes","loading","setLoading","ToggleSnackbar","vertical","horizontal","msg","toggleSnackbar","setTimeout","aria-labelledby","maxWidth","fullWidth","component","aria-label","onChange","reportReasons","v","k","toString","control","label","multiline","variant","rows","API","post","parseInt","then","catch","error","message","disabled","sizeToString","bytes","i","Math","floor","log","pow","toFixed","fixUrlHash","setCookie","days","setTime","getTime","document","cookie","setGetParameter","paramName","paramValue","url","location","href","indexOf","prefix","substring","suffix","history","pushState","allowSharePreview","shareInfo","allowPreview","userInfo","uid","checkGetParameters","field","changeThemeColor","querySelector","setAttribute","bufferDecode","Uint8Array","from","atob","c","charCodeAt","bufferEncode","btoa","String","fromCharCode","apply","replace","pathBack","folders","substr","split","this","slice","join","filePath","hex2bin","hex","padStart","pathJoin","parts","sep","separator","part","RegExp","basename","pathList","pop","filename","randomStr","result","characters","charactersLength","charAt","random","getNumber","base","conditions","isMac","platform","toUpperCase","vhCheck","vh","innerHeight","documentElement","setProperty","PurchaseShareDialog","callback","score","autoFocus","fab","right","bottom","zIndex","badge","fabProgress","green","buttonSuccess","SaveButton","buttonClassname","clsx","status","avatar","blue","loadingContainer","marginLeft","LoadingDialog","modals","text","loadingText","Dialog","DialogContent","DialogContentText","CircularProgress","contentFix","CopyDialog","selectedPath","setSelectedPath","selectedPathName","setSelectedPathName","SetModalsLoading","setModalsLoading","RefreshFileList","refreshFileList","DialogTitle","PathSelector","presentPath","onSelect","folder","DialogActions","Button","preventDefault","dirs","items","push","src_dir","dst","modalsLoading","ExpansionPanel","withStyles","root","border","boxShadow","borderBottom","expanded","MuiExpansionPanel","ExpansionPanelSummary","content","MuiExpansionPanelSummary","ExpansionPanelDetails","background","default","MuiExpansionPanelDetails","CreatShare","scoreEnabled","score_enabled","scoreRate","share_score_rate","React","setExpanded","shareURL","setShareURL","password","downloads","expires","showPassword","values","setValues","expire","preview","shareOption","setShareOption","handleChange","prop","handleExpand","panel","isExpanded","handleCheck","Divider","List","aria-controls","ListItem","button","ListItemIcon","ListItemText","primary","ListItemSecondaryAction","Checkbox","checked","FormControl","InputLabel","htmlFor","OutlinedInput","endAdornment","InputAdornment","Tooltip","IconButton","edge","onMouseDown","on","onIcon","Visibility","offIcon","VisibilityOff","labelWidth","Select","labelId","MenuItem","Typography","inputProps","min","ceil","TextField","onFocus","select","readonly","submitFormBody","is_dir","response","data","DecompressDialog","CompressDialog","fileName","setFileName","input","RelocateDialog","selectedPolicy","setSelectedPolicy","policies","setPolicies","get","options","current","dst_policy_id","ModalsCompoment","newFolderName","newFileName","newName","secretShare","sharePwd","downloadURL","remoteDownloadPathSelect","purchaseCallback","handleInputChange","setState","newNameSuffix","downloaded","UNSAFE_componentWillReceiveProps","nextProps","dndSignale","modalsStatus","rename","getSource","pathHelper","pathname","scoreHandler","archiveDownload","Download","dragMove","group","shareFree","reqURL","downloadPath","encodeURIComponent","put","postBody","rawData","code","refreshStorage","submitRemove","delete","submitResave","shareKey","submitMove","patch","DragSelectedPath","closeAllModals","doMove","openLoadingDialog","submitRename","findIndex","new_name","submitCreateNewFolder","submitCreateNewFile","submitTorrentDownload","submitDownload","setMoveTarget","remoteDownloadNext","PurchaseShare","onSubmit","createNewFolder","createNewFile","copy","move","resave","remove","music","controls","baseURL","remoteDownload","placeholder","torrentDownload","decompress","compress","relocate","Component","Modals","connect","withRouter","layout","up","player","borderRadius","overflowX","TextViewer","setContent","setStatus","math","useRouteMatch","$vm","createRef","useLocation","query","URLSearchParams","search","useParams","SetSubTitle","changeSubTitle","params","requestURL","responseType","textdata","Buffer","toBase64","Promise","resolve","reject","reader","FileReader","readAsDataURL","onload","onerror","save","addImg","$file","$img2Url","console","elevation","ref","onSave","toolbar","h1","h2","h3","h4","img","link","expand","undo","redo","subfield","MonacoEditor","lazy","editor","formControl","toobar","textAlign","CodeViewer","setSuffix","extension","codePreviewSuffix","Array","Set","keys","fallback","readOnly","extraEditorClassName","variantIcon","success","CheckCircleIcon","warning","WarningIcon","ErrorIcon","info","InfoIcon","MySnackbarContentWrapper","main","iconVariant","Icon","aria-describedby","close","SnackbarCompoment","snackbar","toggle","handleClose","anchorOrigin","autoHideDuration","AlertBar","UserAvatarPopoverCompoment","setUserPopover","openURL","sigOut","reload","setSessionStatus","user","Popover","transformOrigin","visitorMenu","header","largeAvatarContainer","Avatar","largeAvatar","noWrap","nickname","user_name","Chip","UserAvatarPopover","userPopoverAnchorEl","anchor","uploadFromFile","policySelected","PolicySwitcher","setAnchorEl","undefined","switchTo","ListItemAvatar","UserAvatarCompoment","showUserInfo","returnHome","loginCheck","isLogin","mobileHidden","Grow","Home","UserAvatar","NavbarCompoment","componentDidMount","handleDrawerToggle","mobileOpen","loadUploader","openDownload","signOut","finally","UploaderRef","unlisten","listen","drawer","upDrawer","minStickDrawer","iconFix","webdav","iOS","process","browser","test","userAgent","appBar","menuButton","handleDesktopToggle","desktopOpen","menuButtonDesktop","menuIcon","setSelectedTarget","subTitle","grow","sectionForFile","saveFile","isPreviewable","openPreview","allowArchiveDownload","navigateTo","openShareDialog","openRenameDialog","openMoveDialog","openRemoveDialog","changeContextMenu","audioPreviewPlayingName","audioPreviewOpen","smUp","implementation","container","paper","drawerPaper","onOpen","disableDiscovery","ModalProps","keepMounted","xsDown","drawerPaperDesktop","drawerOpen","drawerClose","Navbar","audioPreviewIsOpen","drawerToggleAction","openCreateFolderDialog","searchMyFile","openMusicDialog","showImgPreivew","audioPreviewSetIsOpen","withTheme","flexShrink","drawerDesktop","mixins","transition","transitions","create","easing","sharp","duration","enteringScreen","leavingScreen","flexGrow","nested","paddingLeft","extendedIcon","addButton","marginBottom","fabButton","badgeFix","dividerFix","folderShareIcon","verticalAlign","shareInfoContainer","textDecoration","shareAvatar","stickFooter","ownerInfo","overflowY","minHeight","configure","ignoreTags","keyMap","SEARCH","SearchBarCompoment","handlers","searchShare","blur","cancelSuggest","searchIcon","inputRoot","inputInput","onBlur","suggestBox","TransitionProps","timeout","square","SearchBar","shape","fade","common","white","pointerEvents","justifyContent","paddingTop","paddingRight","paddingBottom","StorageBarCompoment","percent","used","total","showExpand","firstLoad","updateStatus","refresh","onMouseEnter","onMouseLeave","storageContainer","detail","bar","StorageBar","storageRefresh","textFix","overflow","textOverflow","UserInfoCompoment","userNav","flexAvatar","avatarImg","storageCircle","nickName","groupName","UserInfo","backgroundImage","backgroundSize","transform","hiddenButton","subMenu","overFlow","whiteSpace","icons","Circle","CircleOutline","Heart","HeartOutline","Hexagon","HexagonOutline","Hexagram","HexagramOutline","Rhombus","RhombusOutline","Square","SquareOutline","Triangle","TriangleOutline","FolderHeartOutline","AddTag","FileTag","useHistory","tagOpen","setTagOpen","addTagModal","setAddTagModal","tagHover","setTagHover","tags","setTags","SearchMyFile","NavigateTo","onSuccess","tag","newTags","iconVideo","iconImg","iconAudio","iconDoc","expression","IconComponent","getIcon","removeSelectedTargets","addSelectedTargets","router","isShare","shareDownload","previewPath","showAudioPreview","selectFile","fileIndex","ctrlKey","metaKey","shiftKey","isMacbook","begin","end","max","newShiftSelected","setLastSelect","setShiftSelectedIds","setNavigator","navigatorLoading","navigateUp","pathSplit","newPath","dragAndDrop","menuType","setNavigatorLoadingStatus","setNavigatorError","openCreateFileDialog","applyThemes","openRemoteDownloadDialog","openTorrentDownloadDialog","openDecompressDialog","openCompressDialog","openRelocateDialog","openGetSourceDialog","openCopyDialog","enableLoadUploader","audioPreviewSetPlaying","setSiteConfig","config","imgPreviewSuffix","msDocPreviewSuffix","audioPreviewSuffix","videoPreviewSuffix","pdfPreviewSuffix","editSuffix","json","php","py","bat","cpp","h","cs","css","dockerfile","go","html","ini","java","js","jsx","less","lua","sh","sql","xml","yaml","mediaType","audio","video","image","pdf","word","ppt","excel","torrent","zip","excute","android","python","policyTypeMap","local","remote","qiniu","upyun","oss","cos","onedrive","s3","toLowerCase","isTorrent","isCompressFile","taskStatus","taskType","taskProgress","getTaskStatus","getTaskType","getTaskProgress","ImagPreviewComponent","photoIndex","firstOne","newImg","intro","fileType","images","visible","onIndexChange","n","ImgPreivew","dayjs","extend","utc","timezone","preferTimeZone","timeZone","refreshTimeZone","formatLocalTime","time","format","tz","validateTimeZone","isFunction","val","noop","newScript","scriptElem","createElement","prototype","hasOwnProperty","call","body","appendChild","keyIterator","cols","next","parallel","tasks","each","hasError","successed","ret","task","err","args","series","thunk","nextKey","nextThunk","isArray","iterator","loadedScript","pendingScripts","failedScript","addCache","entry","removeFailedScript","script","node","parentNode","removeChild","uploaderLoader","WrappedComponent","ScriptLoader","context","isScriptLoaded","isScriptLoadSucceed","_isMounted","scripts","onComplete","loadNewScript","taskComplete","callbacks","startLoadingScripts","policyType","onScriptLoaded","refs","wrappedInstance","defaultProps","hoistStatics","FileList","files","openFileList","cancelUpload","deQueue","reQueue","addNewFile","getElementsByClassName","click","getProgressBackground","lighten","darken","filesNow","fileID","f","splice","errMsg","ignoreMsg","Slide","direction","inRef","bind","enQueue","setComplete","setError","fullScreen","isWidthDown","TransitionComponent","Transition","AppBar","Toolbar","flex","dialogContent","minHight","item","progressContainer","progress","progressContent","TypeIcon","isUpload","listAction","plupload","formatSize","speed","loaded","errorStatus","successStatus","progressBar","wordBreak","withWidth","UploadButton","setOpen","queued","setQueued","OpenNewFolderDialog","OpenNewFileDialog","Queued","openUpload","uploadButton","contains","uploadClicked","Badge","badgeContent","invisible","Backdrop","SpeedDial","ariaLabel","tooltipTitle","SpeedDialIcon","openIcon","FabProps","SpeedDialAction","tooltipOpen","UploaderComponent","uploader","addFile","fileAdd","currntPath","enqueFiles","isDsStore","removeFile","relativePath","pathCache","Qiniu","runtimes","browse_button","drop_element","max_file_size","policy","maxSize","dragdrop","chunk_size","getChunkSize","saveType","filters","mime_types","allowedType","extensions","multi_selection","uptoken_url","uptoken","domain","max_retries","get_new_uptoken","auto_start","log_level","init","FilesAdded","BeforeUpload","QueueChanged","UploadProgress","UploadComplete","Fresh","FileUploaded","Error","errTip","FilesRemoved","onError","setRef","Uploader","forwardRef","AudioIcon","VideoIcon","ImageIcon","PdfIcon","FileWordBox","FilePowerpointBox","FileExcelBox","ScriptText","MagnetOn","ZipBox","WindowRestore","Android","FileShowIcon","LanguagePhp","LanguageGo","LanguagePython","LanguageC","LanguageCpp","LanguageJavascript","fileSuffix","getColor","getColorValue","iconClassName","PathSelectorCompoment","selectedTarget","toBeLoad","enterFolder","back","paths","api","objects","unshift","handleSelect","selector","primaryTypographyProps","buttonIcon","iconWhite","maxHeight","registerValidSW","swUrl","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","controller","onUpdate","isLocalhost","hostname","match","AuthRoute","rest","render","to","PageLoading","emptyContainer","emptyInfoBig","Notice","initUserConfig","themes","enableUploaderLoad","uploadConfig","store","defaultTheme","preferListMethod","share_view_method","home_view_method","icp","ICPFooter","siteICPId","show","setShow","pageHelper","Link","rel","primaryColor","secondaryColor","y","rx","ry","captchaPlacholder","NormalCaptcha","captchaRef","useStyle","captcha","setCaptcha","captchaData","setCaptchaData","refreshCaptcha","captchaCode","captchaContainer","required","Input","autoComplete","captchaPlaceholder","alt","ReCAPTCHA","handleExpired","handleErrored","handleRecaptchaRef","grecaptcha","_widgetId","getResponse","execute","_executeRequested","reset","onExpired","onErrored","token","sitekey","tabindex","stoken","hl","explicitRender","delayOfCaptchaIframeRemoving","temporaryNode","firstChild","elem","childProps","displayName","makeAsyncScriptLoader","callbackName","globalName","Recaptcha","reCaptchaKey","captcha_ReCaptchaKey","ReCaptcha","TCaptcha","isValidateRef","submitRef","appid","tcaptcha_captcha_app_id","onLoad","TencentCaptcha","res","ticket","randstr","isValidate","submit","defaultValidate","useCaptcha","captchaType","captcha_type","captchaLoading","setCaptchaLoading","captchaRefreshRef","useRef","normal","captchaParamsRef","CaptchaRender","validate","useNormalCaptcha","recaptcha","useRecaptcha","tcaptcha","useTCaptcha","flexDirection","form","buttonContainer","authnLink","LoginForm","email","setEmail","pwd","setPwd","useAuthn","setUseAuthn","twoFA","setTwoFA","faCode","setFACode","loginCaptcha","QQLogin","authn","ApplyThemes","SetSessionStatus","afterLogin","removeItem","Paper","login","userName","Password","credentials","credentialRequestOptions","publicKey","challenge","allowCredentials","listItem","assertion","authData","authenticatorData","clientDataJSON","rawId","sig","signature","userHandle","Fingerprint","VpnKey","actions","reducers","expandMore","active","textTransform","PathButton","inputRef","useDrop","accept","drop","more","collect","monitor","isOver","canDrop","isActive","last","DropDownItem","setActiveStatus","DropDown","timer","clearTimeout","shouldClose","element","NavigatorComponent","currentID","hiddenFolders","hiddenMode","anchorHidden","URL","searchParams","renderPath","onpopstate","navigateToPath","apiURL","parent","pathTemp","checkOverFlow","redresh","componentDidUpdate","prevProps","prevStates","ms","drawerDesktopOpen","force","overflowInitLock","hasOverflowingChildren","offsetHeight","scrollHeight","offsetWidth","scrollWidth","showHiddenPath","performAction","newTarget","presentFolderMenu","Menu","disableAutoFocusItem","Archive","roundBorder","navigatorContainer","nav","rightIcon","optionContainer","Navigator","SmallIconCompoment","isSelected","ButtonBase","focusRipple","notSelected","onIconClick","iconSelected","iconNotSelected","isFolder","checkIcon","folderName","folderNameSelected","folderNameNotSelected","SmallIcon","divider","boxSizing","fontWeight","FileIconCompoment","showPicIcon","pic","hide","picPreview","afterLoad","beforeLoad","loadingAnimation","previewIcon","iconBig","fileInfo","shareFix","FileIcon","objectFit","Folder","dragging","cardDragged","diliverIcon","object","Preview","card","layerStyles","getItemStyles","initialOffset","currentOffset","pointerOffset","WebkitTransform","CustomDragLayer","useDragLayer","itemType","getItemType","getInitialSourceClientOffset","getSourceClientOffset","getInitialClientOffset","isDragging","renderItem","TableRowCompoment","tableIcon","TableRow","pref","onContextMenu","contextMenu","handleClick","onDoubleClick","handleDoubleClick","selectedShared","TableCell","dref","scope","tableRow","hideAuto","TableItem","userSelect","FolderDropWarpper","isListView","fixFlex","ObjectIcon","navigatorPath","ContextMenu","SetSelectedTarget","NavitateTo","DragAndDrop","OpenPreview","selectFileAction","handleIconClick","stopPropagation","useDrag","dropResult","getDropResult","canDrag","drag","getEmptyImage","captureDraggingState","StyledListItemIcon","ContextMenuCompoment","X","Y","setPoint","clientY","clientX","openArchiveDownload","clickUpload","renderMenuItems","visibleCount","condition","dense","allowRemoteDownload","menuOpen","anchorReference","anchorPosition","Unarchive","InfoOutlined","propover","contextType","contextOpen","ExplorerCompoment","ClickAway","dataset","clickaway","DELETE_FILE","SELECT_ALL","away","showView","listView","Table","table","TableHead","TableSortLabel","changeSort","visuallyHidden","TableBody","normalView","flexFix","data-clickAway","typeHeader","Grid","xs","md","sm","lg","view","rootTable","rootShare","navigatorError","errorBox","errorMsg","navigatorErrorMsg","emptyIcon","emptyInfoSmall","Explorer","hint","upButton","clickAway","clip","ListLoading","drawerContainer","placeContent","fileIcon","fileIconSVG","folderIcon","closeIcon","placeSelf","propsContainer","propsLabel","propsTime","propsValue","SideDrawer","SetSideBar","setTarget","details","setDetails","propsItem","d","t","toLocaleString","child_folder_num","child_file_num","updated_at","created_at","datetime","query_date","locale","Hidden","Clear","Drawer","gutterBottom","FileManager","DndProvider","backend","HTML5Backend","DragLayer","VideoViewer","getBaseURL","cardContainer","shareTitle","avatarFile","avatarFolder","gird","loadMore","orderSelect","SearchResult","page","setPage","setTotal","shareList","setShareList","orderBy","setOrderBy","order","Card","CardHeader","subheader","create_date","Pagination","count","MyShareCompoment","showPwd","loadList","removeShare","oldList","changePermission","newPwd","shareIndex","changePreviewOption","handlePageChange","handleOrderChange","isExpired","remain_downloads","CardActions","disableActionSpacing","MyShare","SelectFileDialog","setFiles","dividers","FormGroup","row","FormControlLabel","filesCopy","iconContainer","borderInlineStart","contentSide","iconMultiple","subFileName","subFileIcon","scroll","actionButton","infoTitle","infoValue","bitmap","DownloadingCard","canvasRef","setTask","selectDialogOpen","setSelectDialogOpen","selectFileOption","setSelectFileOption","bitfield","str","canvas","getContext","clearRect","strokeStyle","bit","round","numPieces","beginPath","moveTo","lineTo","stroke","getPercent","completed","activeFiles","getDownloadName","bittorrent","mode","gid","indexes","newExpanded","CardContent","LinearProgress","completedLength","newIndex","newFiles","deleteFile","HighlightOff","update","uploadLength","uploadSpeed","infoHash","numSeeders","seeder","pieceLength","FinishedCard","task_status","getTaskError","task_error","RemoteDownloadButton","OpenRemoteDownloadDialog","Fab","Add","DownloadComponent","interval","previousDownloading","downloading","finishedList","continue","loadDownloading","reduce","LockedFileCompoment","setPassowrd","LockedFile","marginRottom","boxHeader","cursor","shareDes","Creator","userProfile","views","ImgPreview","SharedFileCompoment","scoreHandle","download","box","boxContent","fileSize","boxFooter","actionLeft","openResave","downloadButton","SharedFile","fileCotainer","buttonCotainer","ReadMe","SharedFolderComponent","handleClickAway","readmeShowed","ClickAwayListener","onClickAway","managerContainer","SharedFolder","shareUserPopoverAnchorEl","SharePreload","setShare","setPassword","locked","withPassword","DocViewer","setURL","QuotaCompoment","basic","pack","r1","r2","r3","packs","usedR","baseR","packR","proBar","r1_block","note_block","r2_block","r3_block","align","activate_date","expiration","expiration_date","Quota","lineHeight","float","PackSelect","boxHead","packName","price","priceWithScore","boxBottom","BuyQuotaCompoment","IntervalId","confirmRedeem","redeemCode","dialog","doRedeem","redeemInfo","buyPack","packType","selectedPack","packPayMethod","groups","selectedGroup","num","scoreNum","times","payment","qr_code","setInterval","querryLoop","clearInterval","handleChangeIndex","handleTexyChange","selectPack","selectGroup","selectPackPayMethod","scorePrice","alipay","payjs","wechat","score_price","methodSelect","FormLabel","RadioGroup","Radio","textField","step","Tabs","Tab","AccountBalanceWallet","payMethod","priceShow","tier","highlight","titleTypographyProps","subheaderTypographyProps","cardHeader","cardPricing","line","cardActions","redeemContainer","codeContainer","BuyQuota","grey","formGroup","formIcon","CreateWebDAVAccount","setValue","pathSelectDialog","setPathSelectDialog","formContainer","LabelOutlined","FolderOpenOutlined","CreateWebDAVMount","Storage","cardContent","tableContainer","WebDAV","tab","setTab","setCreate","mount","setMount","accounts","setAccounts","setFolders","account","ID","CreatedAt","Name","Root","mountInfo","indicatorColor","textColor","newValue","Alert","severity","origin","TableContainer","clipboard","writeText","accountCopy","deleteAccount","policy_name","folderCopy","deleteMount","footer","Tasks","setTasks","nowrap","getError","ProfileCompoment","listType","loadNext","loadPrev","avatarContainer","centered","infoContainer","infoItem","mobileHide","th","tableLink","Profile","backgroundPosition","borderRaidus","pageInfo","sectionTitle","desenList","flexContainer","Authn","setSelected","confirm","setConfirm","deleteCredential","fingerprint","credentialCreationOptions","excludeCredentials","credential","attestationObject","add","TimeZoneDialog","timeZoneValue","setTimeZoneValue","UserSettingCompoment","avatarModal","nickModal","changePassword","oldPwd","webdavPwd","newPwdRepeat","twoFactor","authCode","changeTheme","chosenTheme","showWebDavUrl","showWebDavUserName","changeWebDavPwd","groupBackModal","changePolicy","changeTimeZone","settings","group_expires","qq","homepage","two_factor","two_fa_secret","prefer_theme","changeView","loadSetting","doChangeGroup","useGravatar","changeNick","bindQQ","uploadAvatar","formData","FormData","append","fileInput","headers","handleToggle","changhePwd","old","new","changheWebdavPwd","axios","init2FA","handleAlignment","toggleThemeMode","infoTextWithIcon","rightIconWithText","infoText","ConfirmationNumber","Switch","firstColor","secondColor","Brightness3","ListAlt","Schedule","userGravatar","paddingText","flexContainerResponse","qrcode","desText","ToggleButtonGroup","exclusive","ToggleButton","themeBlock","UserSetting","yellow","QQCallback","setMsg","avatarSuccess","Register","password_repeat","setInput","emailActive","setEmailActive","regCaptcha","Activation","setSuccess","ResetForm","secret","Reset","forgetCaptcha","overflowWrap","SiteNotice","site_notice","newNotice","dangerouslySetInnerHTML","__html","MusicPlayerComponent","currentIndex","currentTime","progressText","looptype","myAudioRef","newItem","handleItemClick","pause","backgroundPlay","bindEvents","ele","readyPlay","loopnext","timeUpdate","unbindEvents","removeEventListener","play","formatTime","s","isNaN","minute","second","playOrPaues","isPlay","changeLoopType","lt","handleProgress","idx","Slider","slider_root","justify","Repeat","RepeatOne","Shuffle","MusicPlayer","PDFViewer","App","themeConfig","prefersDarkMode","useMediaQuery","useMemo","prefer","createMuiTheme","Fragment","ThemeProvider","CssBaseline","exact","Text","Code","doNavigate","defaultStatus","rawStore","configCache","InitSiteConfig","black","contrastText","bgSelected","ErrorBoundary","errorInfo","componentStack","Admin","hash","fetch","contentType","ready","unregister","checkValidServiceWorker","createBrowserHistory","reduxEnhance","applyMiddleware","routerMiddleware","createStore","viewUpdateState","explorerState","appState","cloudreveApp","combinedState","combinedReducer","combine","namespace","reducer","invariant","combineReducers","connectRouter","UpdateSiteConfig","ReactDOM","getElementById","setSubtitle","instance","withCredentials","crossDomain","AppError","stack","constructor","interceptors","use"],"mappings":"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","file":"static/js/main.701e86b7.chunk.js","sourcesContent":["import { AnyAction } from \"redux\";\nimport { ThunkAction } from \"redux-thunk\";\nimport { CloudreveFile, SortMethod } from \"./../../types/index\";\nimport { closeContextMenu } from \"../viewUpdate/action\";\n\nexport interface ActionSetFileList extends AnyAction {\n type: \"SET_FILE_LIST\";\n list: CloudreveFile[];\n}\nexport const setFileList = (list: CloudreveFile[]): ActionSetFileList => {\n return {\n type: \"SET_FILE_LIST\",\n list,\n };\n};\n\nexport interface ActionSetDirList extends AnyAction {\n type: \"SET_DIR_LIST\";\n list: CloudreveFile[];\n}\nexport const setDirList = (list: CloudreveFile[]): ActionSetDirList => {\n return {\n type: \"SET_DIR_LIST\",\n list,\n };\n};\n\nexport interface ActionSetSortMethod extends AnyAction {\n type: \"SET_SORT_METHOD\";\n method: SortMethod;\n}\nexport const setSortMethod = (method: SortMethod): ActionSetSortMethod => {\n return {\n type: \"SET_SORT_METHOD\",\n method,\n };\n};\n\nexport const setSideBar = (open: boolean) => {\n return {\n type: \"SET_SIDE_BAR\",\n open,\n };\n};\n\ntype SortFunc = (a: CloudreveFile, b: CloudreveFile) => number;\nconst sortMethodFuncs: Record = {\n sizePos: (a: CloudreveFile, b: CloudreveFile) => {\n return a.size - b.size;\n },\n sizeRes: (a: CloudreveFile, b: CloudreveFile) => {\n return b.size - a.size;\n },\n namePos: (a: CloudreveFile, b: CloudreveFile) => {\n return a.name.localeCompare(\n b.name,\n navigator.languages[0] || navigator.language,\n { numeric: true, ignorePunctuation: true }\n );\n },\n nameRev: (a: CloudreveFile, b: CloudreveFile) => {\n return b.name.localeCompare(\n a.name,\n navigator.languages[0] || navigator.language,\n { numeric: true, ignorePunctuation: true }\n );\n },\n timePos: (a: CloudreveFile, b: CloudreveFile) => {\n return Date.parse(a.date) - Date.parse(b.date);\n },\n timeRev: (a: CloudreveFile, b: CloudreveFile) => {\n return Date.parse(b.date) - Date.parse(a.date);\n },\n};\n\nexport const updateFileList = (\n list: CloudreveFile[]\n): ThunkAction => {\n return (dispatch, getState): void => {\n const state = getState();\n // TODO: define state type\n const { sortMethod } = state.viewUpdate;\n const dirList = list.filter((x) => {\n return x.type === \"dir\";\n });\n const fileList = list.filter((x) => {\n return x.type === \"file\";\n });\n const sortFunc = sortMethodFuncs[sortMethod as SortMethod];\n dispatch(setDirList(dirList.sort(sortFunc)));\n dispatch(setFileList(fileList.sort(sortFunc)));\n };\n};\n\nexport const changeSortMethod = (\n method: SortMethod\n): ThunkAction => {\n return (dispatch, getState): void => {\n const state = getState();\n const { fileList, dirList } = state.explorer;\n const sortFunc = sortMethodFuncs[method];\n dispatch(setSortMethod(method));\n dispatch(setDirList(dirList.sort(sortFunc)));\n dispatch(setFileList(fileList.sort(sortFunc)));\n };\n};\n\nexport const toggleObjectInfoSidebar = (\n open: boolean\n): ThunkAction => {\n return (dispatch, getState): void => {\n const state = getState();\n if (open) {\n dispatch(closeContextMenu());\n }\n dispatch(setSideBar(true));\n };\n};\n","/* eslint-disable no-case-declarations */\nimport { AnyAction } from \"redux\";\nimport { CloudreveFile } from \"../../types\";\n\ninterface SelectProps {\n isMultiple: boolean;\n withFolder: boolean;\n withFile: boolean;\n}\n\nexport interface ExplorerState {\n dndSignal: boolean;\n dndTarget: any;\n dndSource: any;\n fileList: CloudreveFile[];\n dirList: CloudreveFile[];\n selected: CloudreveFile[];\n selectProps: SelectProps;\n lastSelect: {\n file: CloudreveFile;\n index: number;\n };\n shiftSelectedIds: string[];\n imgPreview: {\n first: CloudreveFile;\n other: [];\n };\n audioPreview: {\n first: CloudreveFile;\n other: [];\n playingName: any;\n paused: boolean;\n isOpen: boolean;\n };\n keywords: string;\n fileSave: boolean;\n sideBarOpen: boolean;\n}\n\nexport const initState: ExplorerState = {\n dndSignal: false,\n dndTarget: null,\n dndSource: null,\n fileList: [],\n dirList: [],\n selected: [],\n selectProps: {\n isMultiple: false,\n withFolder: false,\n withFile: false,\n },\n lastSelect: {\n file: {\n id: \"\",\n name: \"\",\n size: 0,\n type: \"file\",\n date: \"\",\n },\n index: -1,\n },\n shiftSelectedIds: [],\n imgPreview: {\n first: {\n id: \"\",\n name: \"\",\n size: 0,\n type: \"file\",\n date: \"\",\n },\n other: [],\n },\n audioPreview: {\n first: {\n id: \"\",\n name: \"\",\n size: 0,\n type: \"file\",\n date: \"\",\n },\n other: [],\n playingName: null,\n paused: false,\n isOpen: false,\n },\n keywords: \"\",\n fileSave: false,\n sideBarOpen: false,\n};\n\nconst checkSelectedProps = (selected: CloudreveFile[]): SelectProps => {\n const isMultiple = selected.length > 1;\n let withFolder = false;\n let withFile = false;\n selected.forEach((value) => {\n if (value.type === \"dir\") {\n withFolder = true;\n } else if (value.type === \"file\") {\n withFile = true;\n }\n });\n return {\n isMultiple,\n withFolder,\n withFile,\n };\n};\n\nconst explorer = (\n state: ExplorerState = initState,\n action: AnyAction\n): ExplorerState => {\n switch (action.type) {\n case \"DRAG_AND_DROP\":\n return Object.assign({}, state, {\n dndSignal: !state.dndSignal,\n dndTarget: action.target,\n dndSource: action.source,\n });\n case \"SET_FILE_LIST\":\n return Object.assign({}, state, {\n fileList: action.list,\n });\n case \"SET_DIR_LIST\":\n return Object.assign({}, state, {\n dirList: action.list,\n });\n case \"ADD_SELECTED_TARGETS\":\n const addedSelected = [...state.selected, ...action.targets];\n return Object.assign({}, state, {\n selected: addedSelected,\n selectProps: checkSelectedProps(addedSelected),\n });\n case \"SET_SELECTED_TARGET\":\n const newSelected = action.targets;\n return Object.assign({}, state, {\n selected: newSelected,\n selectProps: checkSelectedProps(newSelected),\n });\n case \"RMOVE_SELECTED_TARGETS\":\n const { fileIds } = action;\n const filteredSelected = state.selected.filter((file) => {\n return !fileIds.includes(file.id);\n });\n return Object.assign({}, state, {\n selected: filteredSelected,\n selectProps: checkSelectedProps(filteredSelected),\n });\n case \"REFRESH_FILE_LIST\":\n return Object.assign({}, state, {\n selected: [],\n selectProps: {\n isMultiple: false,\n withFolder: false,\n withFile: false,\n },\n });\n case \"SEARCH_MY_FILE\":\n return Object.assign({}, state, {\n selected: [],\n selectProps: {\n isMultiple: false,\n withFolder: false,\n withFile: false,\n },\n keywords: action.keywords,\n });\n case \"SHOW_IMG_PREIVEW\":\n return Object.assign({}, state, {\n imgPreview: {\n first: action.first,\n other: state.fileList,\n },\n });\n case \"SHOW_AUDIO_PREVIEW\":\n return Object.assign({}, state, {\n audioPreview: {\n ...state.audioPreview,\n first: action.first,\n other: state.fileList,\n },\n });\n case \"AUDIO_PREVIEW_SET_IS_OPEN\": \n return Object.assign({}, state, {\n audioPreview: {\n ...state.audioPreview,\n isOpen: action.isOpen,\n },\n });\n case \"AUDIO_PREVIEW_SET_PLAYING\":\n return Object.assign({}, state, {\n audioPreview: {\n ...state.audioPreview,\n playingName: action.playingName,\n paused: action.paused,\n },\n });\n case \"SAVE_FILE\":\n return {\n ...state,\n fileSave: !state.fileSave,\n };\n case \"SET_LAST_SELECT\":\n const { file, index } = action;\n return {\n ...state,\n lastSelect: {\n file,\n index,\n },\n };\n case \"SET_SHIFT_SELECTED_IDS\":\n const { shiftSelectedIds } = action;\n return {\n ...state,\n shiftSelectedIds,\n };\n case \"SET_NAVIGATOR\":\n return {\n ...state,\n selected: [],\n selectProps: {\n isMultiple: false,\n withFolder: false,\n withFile: false,\n },\n keywords: \"\",\n };\n case \"SET_SIDE_BAR\":\n return {\n ...state,\n sideBarOpen: action.open,\n };\n default:\n return state;\n }\n};\n\nexport default explorer;\n","const statusHelper = {\n isHomePage(path) {\n return path === \"/home\";\n },\n isSharePage(path) {\n return path && path.startsWith(\"/s/\");\n },\n isAdminPage(path) {\n return path && path.startsWith(\"/admin\");\n },\n isLoginPage(path) {\n return path && path.startsWith(\"/login\");\n },\n isMobile() {\n return window.innerWidth < 600;\n },\n};\nexport default statusHelper;\n","import React, { useState, useEffect } from \"react\";\nimport Zoom from \"@material-ui/core/Zoom\";\n\nfunction AutoHidden({ children, enable }) {\n const [hidden, setHidden] = useState(false);\n\n let prev = window.scrollY;\n let lastUpdate = window.scrollY;\n const show = 50;\n\n useEffect(() => {\n const handleNavigation = (e) => {\n const window = e.currentTarget;\n\n if (prev > window.scrollY) {\n if (lastUpdate - window.scrollY > show) {\n lastUpdate = window.scrollY;\n setHidden(false);\n }\n } else if (prev < window.scrollY) {\n if (window.scrollY - lastUpdate > show) {\n lastUpdate = window.scrollY;\n setHidden(true);\n }\n }\n prev = window.scrollY;\n };\n if (enable) {\n window.addEventListener(\"scroll\", (e) => handleNavigation(e));\n }\n // eslint-disable-next-line\n }, [enable]);\n\n return {children};\n}\n\nexport default AutoHidden;\n","import React from \"react\";\nimport { Code } from \"react-content-loader\";\nimport { makeStyles, useTheme } from \"@material-ui/core/styles\";\n\nconst useStyles = makeStyles((theme) => ({\n loader: {\n width: \"70%\",\n padding: 40,\n [theme.breakpoints.down(\"md\")]: {\n width: \"100%\",\n padding: 10,\n },\n },\n}));\n\nconst MyLoader = (props) => (\n \n);\n\nfunction TextLoading() {\n const theme = useTheme();\n const classes = useStyles();\n\n return (\n
\n \n
\n );\n}\n\nexport default TextLoading;\n","const Auth = {\n isAuthenticated: false,\n authenticate(cb: any) {\n Auth.SetUser(cb);\n Auth.isAuthenticated = true;\n },\n GetUser() {\n return JSON.parse(localStorage.getItem(\"user\") || \"null\");\n },\n SetUser(newUser: any) {\n localStorage.setItem(\"user\", JSON.stringify(newUser));\n },\n Check(): boolean {\n if (Auth.isAuthenticated) {\n return true;\n }\n if (localStorage.getItem(\"user\") !== null) {\n return !Auth.GetUser().anonymous;\n }\n return false;\n },\n signout() {\n Auth.isAuthenticated = false;\n const oldUser = Auth.GetUser();\n oldUser.id = 0;\n localStorage.setItem(\"user\", JSON.stringify(oldUser));\n },\n SetPreference(key: string, value: any) {\n let preference = JSON.parse(\n localStorage.getItem(\"user_preference\") || \"{}\"\n );\n preference = preference == null ? {} : preference;\n preference[key] = value;\n localStorage.setItem(\"user_preference\", JSON.stringify(preference));\n },\n GetPreference(key: string): any | null {\n const preference = JSON.parse(\n localStorage.getItem(\"user_preference\") || \"{}\"\n );\n if (preference && preference[key]) {\n return preference[key];\n }\n return null;\n },\n};\n\nexport default Auth;\n","import React, { useCallback } from \"react\";\nimport { IconButton, makeStyles } from \"@material-ui/core\";\nimport DayIcon from \"@material-ui/icons/Brightness7\";\nimport NightIcon from \"@material-ui/icons/Brightness4\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { toggleDaylightMode } from \"../../actions\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\nimport Auth from \"../../middleware/Auth\";\nimport classNames from \"classnames\";\n\nconst useStyles = makeStyles(() => ({\n icon: {\n color: \"rgb(255, 255, 255)\",\n opacity: \"0.54\",\n },\n}));\n\nconst DarkModeSwitcher = ({ position }) => {\n const ThemeType = useSelector(\n (state) => state.siteConfig.theme.palette.type\n );\n const dispatch = useDispatch();\n const ToggleThemeMode = useCallback(() => dispatch(toggleDaylightMode()), [\n dispatch,\n ]);\n const isDayLight = (ThemeType && ThemeType === \"light\") || !ThemeType;\n const isDark = ThemeType && ThemeType === \"dark\";\n const toggleMode = () => {\n Auth.SetPreference(\"theme_mode\", isDayLight ? \"dark\" : \"light\");\n ToggleThemeMode();\n };\n const classes = useStyles();\n return (\n \n \n {isDayLight && }\n {isDark && }\n \n \n );\n};\n\nexport default DarkModeSwitcher;\n","import React, { useCallback, useState } from \"react\";\nimport { IconButton, makeStyles, Menu, MenuItem } from \"@material-ui/core\";\nimport ViewListIcon from \"@material-ui/icons/ViewList\";\nimport ViewSmallIcon from \"@material-ui/icons/ViewComfy\";\nimport ViewModuleIcon from \"@material-ui/icons/ViewModule\";\nimport TextTotateVerticalIcon from \"@material-ui/icons/TextRotateVertical\";\nimport SaveIcon from \"@material-ui/icons/Save\";\nimport { Report as ReportIcon } from \"@material-ui/icons\";\nimport Report from \"../../Modals/Report\";\nimport Avatar from \"@material-ui/core/Avatar\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport Auth from \"../../../middleware/Auth\";\nimport {\n changeViewMethod,\n openResaveDialog,\n setShareUserPopover,\n} from \"../../../actions\";\nimport { changeSortMethod } from \"../../../redux/explorer/action\";\n\nconst useStyles = makeStyles((theme) => ({\n sideButton: {\n padding: \"8px\",\n marginRight: \"5px\",\n },\n}));\n\nconst sortOptions = [\"A-Z\", \"Z-A\", \"最早\", \"最新\", \"最小\", \"最大\"];\n\nexport default function SubActions({ isSmall, share, inherit }) {\n const dispatch = useDispatch();\n const viewMethod = useSelector(\n (state) => state.viewUpdate.explorerViewMethod\n );\n const OpenLoadingDialog = useCallback(\n (method) => dispatch(changeViewMethod(method)),\n [dispatch]\n );\n const ChangeSortMethod = useCallback(\n (method) => dispatch(changeSortMethod(method)),\n [dispatch]\n );\n const OpenResaveDialog = useCallback(\n (key) => dispatch(openResaveDialog(key)),\n [dispatch]\n );\n const SetShareUserPopover = useCallback(\n (e) => dispatch(setShareUserPopover(e)),\n [dispatch]\n );\n const [anchorSort, setAnchorSort] = useState(null);\n const [selectedIndex, setSelectedIndex] = useState(0);\n const [openReport, setOpenReport] = useState(false);\n const showSortOptions = (e) => {\n setAnchorSort(e.currentTarget);\n };\n const handleMenuItemClick = (e, index) => {\n setSelectedIndex(index);\n const optionsTable = {\n 0: \"namePos\",\n 1: \"nameRev\",\n 2: \"timePos\",\n 3: \"timeRev\",\n 4: \"sizePos\",\n 5: \"sizeRes\",\n };\n ChangeSortMethod(optionsTable[index]);\n setAnchorSort(null);\n };\n\n const toggleViewMethod = () => {\n const newMethod =\n viewMethod === \"icon\"\n ? \"list\"\n : viewMethod === \"list\"\n ? \"smallIcon\"\n : \"icon\";\n Auth.SetPreference(\"view_method\", newMethod);\n OpenLoadingDialog(newMethod);\n };\n\n const classes = useStyles();\n return (\n <>\n {viewMethod === \"icon\" && (\n \n \n \n )}\n {viewMethod === \"list\" && (\n \n \n \n )}\n\n {viewMethod === \"smallIcon\" && (\n \n \n \n )}\n\n \n \n \n setAnchorSort(null)}\n >\n {sortOptions.map((option, index) => (\n handleMenuItemClick(event, index)}\n >\n {option}\n \n ))}\n \n {share && (\n <>\n OpenResaveDialog(share.key)}\n >\n \n \n setOpenReport(true)}\n >\n \n \n setOpenReport(false)}\n />\n \n )}\n {share && (\n SetShareUserPopover(e.currentTarget)}\n style={{ padding: 5 }}\n >\n \n \n )}\n \n );\n}\n","import React, { useCallback, useState } from \"react\";\nimport { FormControl, makeStyles, TextField } from \"@material-ui/core\";\nimport {\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@material-ui/core\";\nimport { toggleSnackbar } from \"../../actions/index\";\nimport { useDispatch } from \"react-redux\";\nimport API from \"../../middleware/Api\";\nimport RadioGroup from \"@material-ui/core/RadioGroup\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport Radio from \"@material-ui/core/Radio\";\nimport { reportReasons } from \"../../config\";\n\nconst useStyles = makeStyles((theme) => ({\n widthAnimation: {},\n shareUrl: {\n minWidth: \"400px\",\n },\n wrapper: {\n margin: theme.spacing(1),\n position: \"relative\",\n },\n buttonProgress: {\n color: theme.palette.secondary.light,\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n },\n flexCenter: {\n alignItems: \"center\",\n },\n noFlex: {\n display: \"block\",\n },\n scoreCalc: {\n marginTop: 10,\n },\n}));\n\nexport default function Report(props) {\n const dispatch = useDispatch();\n const classes = useStyles();\n const [reason, setReason] = useState(\"0\");\n const [des, setDes] = useState(\"\");\n const [loading, setLoading] = useState(false);\n\n const ToggleSnackbar = useCallback(\n (vertical, horizontal, msg, color) =>\n dispatch(toggleSnackbar(vertical, horizontal, msg, color)),\n [dispatch]\n );\n\n const onClose = () => {\n props.onClose();\n setTimeout(() => {\n setDes(\"\");\n setReason(\"0\");\n }, 500);\n };\n\n const submitReport = () => {\n setLoading(true);\n API.post(\"/share/report/\" + props.share.key, {\n des: des,\n reason: parseInt(reason),\n })\n .then(() => {\n ToggleSnackbar(\"top\", \"right\", \"举报成功\", \"success\");\n setLoading(false);\n onClose();\n })\n .catch((error) => {\n ToggleSnackbar(\"top\", \"right\", error.message, \"error\");\n setLoading(false);\n });\n };\n\n return (\n \n 举报\n \n \n setReason(e.target.value)}\n >\n {reportReasons.map((v, k) => (\n }\n label={v}\n />\n ))}\n \n \n setDes(e.target.value)}\n variant=\"filled\"\n rows={4}\n />\n \n\n \n \n \n 提交\n \n \n \n );\n}\n","export const sizeToString = (bytes) => {\n if (bytes === 0 || bytes === \"0\") return \"0 B\";\n const k = 1024;\n const sizes = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return (bytes / Math.pow(k, i)).toFixed(1) + \" \" + sizes[i];\n};\n\nexport const fixUrlHash = (path) => {\n return path;\n};\n\nexport const setCookie = (name, value, days) => {\n if (days) {\n const date = new Date();\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n }\n document.cookie = name + \"=\" + (value || \"\") + \"; path=/\";\n};\n\nexport const setGetParameter = (paramName, paramValue) => {\n let url = window.location.href;\n\n if (url.indexOf(paramName + \"=\") >= 0) {\n const prefix = url.substring(0, url.indexOf(paramName));\n let suffix = url.substring(url.indexOf(paramName));\n suffix = suffix.substring(suffix.indexOf(\"=\") + 1);\n suffix =\n suffix.indexOf(\"&\") >= 0\n ? suffix.substring(suffix.indexOf(\"&\"))\n : \"\";\n url = prefix + paramName + \"=\" + paramValue + suffix;\n } else {\n if (url.indexOf(\"?\") < 0) url += \"?\" + paramName + \"=\" + paramValue;\n else url += \"&\" + paramName + \"=\" + paramValue;\n }\n if (url === window.location.href) {\n return;\n }\n window.history.pushState(null, null, url);\n};\n\nexport const allowSharePreview = () => {\n if (!window.isSharePage) {\n return true;\n }\n if (window.isSharePage) {\n if (window.shareInfo.allowPreview) {\n return true;\n }\n if (window.userInfo.uid === -1) {\n return false;\n }\n return true;\n }\n};\n\nexport const checkGetParameters = (field) => {\n const url = window.location.href;\n if (url.indexOf(\"?\" + field + \"=\") !== -1) return true;\n else if (url.indexOf(\"&\" + field + \"=\") !== -1) return true;\n return false;\n};\n\nexport const changeThemeColor = (color) => {\n const metaThemeColor = window.document.querySelector(\n \"meta[name=theme-color]\"\n );\n metaThemeColor.setAttribute(\"content\", color);\n};\n\nexport function bufferDecode(value) {\n return Uint8Array.from(atob(value), (c) => c.charCodeAt(0));\n}\n\n// ArrayBuffer to URLBase64\nexport function bufferEncode(value) {\n return btoa(String.fromCharCode.apply(null, new Uint8Array(value)))\n .replace(/\\+/g, \"-\")\n .replace(/\\//g, \"_\")\n .replace(/=/g, \"\");\n}\n\nexport function pathBack(path) {\n const folders =\n path !== null\n ? path.substr(1).split(\"/\")\n : this.props.path.substr(1).split(\"/\");\n return \"/\" + folders.slice(0, folders.length - 1).join(\"/\");\n}\n\nexport function filePath(file) {\n return file.path === \"/\"\n ? file.path + file.name\n : file.path + \"/\" + file.name;\n}\n\nexport function hex2bin(hex) {\n return parseInt(hex, 16).toString(2).padStart(8, \"0\");\n}\n\nexport function pathJoin(parts, sep) {\n const separator = sep || \"/\";\n parts = parts.map((part, index) => {\n if (index) {\n part = part.replace(new RegExp(\"^\" + separator), \"\");\n }\n if (index !== parts.length - 1) {\n part = part.replace(new RegExp(separator + \"$\"), \"\");\n }\n return part;\n });\n return parts.join(separator);\n}\n\nexport function basename(path) {\n const pathList = path.split(\"/\");\n pathList.pop();\n return pathList.join(\"/\") === \"\" ? \"/\" : pathList.join(\"/\");\n}\n\nexport function filename(path) {\n const pathList = path.split(\"/\");\n return pathList.pop();\n}\n\nexport function randomStr(length) {\n let result = \"\";\n const characters =\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\n const charactersLength = characters.length;\n for (let i = 0; i < length; i++) {\n result += characters.charAt(\n Math.floor(Math.random() * charactersLength)\n );\n }\n return result;\n}\n\nexport function getNumber(base, conditions) {\n conditions.forEach((v) => {\n if (v) {\n base++;\n }\n });\n return base;\n}\n\nexport const isMac = () => {\n return navigator.platform.toUpperCase().indexOf(\"MAC\") >= 0;\n};\n\nexport function vhCheck() {\n const vh = window.innerHeight;\n document.documentElement.style.setProperty(\"--vh\", `${vh}px`);\n}\n","import React from \"react\";\nimport { Dialog } from \"@material-ui/core\";\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\nimport DialogContent from \"@material-ui/core/DialogContent\";\nimport DialogActions from \"@material-ui/core/DialogActions\";\nimport Button from \"@material-ui/core/Button\";\nimport DialogContentText from \"@material-ui/core/DialogContentText\";\n\nexport default function PurchaseShareDialog(props) {\n return (\n \n \n 确定要支付 {props.score}积分 购买此分享?\n \n \n \n 购买后,您可以自由预览、下载此分享的所有内容,一定期限内不会重复扣费。\n \n \n \n \n props.callback()}\n color=\"primary\"\n autoFocus\n >\n 确定\n \n \n \n );\n}\n","import React from \"react\";\nimport { makeStyles } from \"@material-ui/core\";\nimport SaveIcon from \"@material-ui/icons/Save\";\nimport CheckIcon from \"@material-ui/icons/Check\";\nimport AutoHidden from \"./AutoHidden\";\nimport statusHelper from \"../../utils/page\";\nimport Fab from \"@material-ui/core/Fab\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport { green } from \"@material-ui/core/colors\";\nimport clsx from \"clsx\";\n\nconst useStyles = makeStyles((theme) => ({\n fab: {\n margin: 0,\n top: \"auto\",\n right: 20,\n bottom: 20,\n left: \"auto\",\n zIndex: 5,\n position: \"fixed\",\n },\n badge: {\n position: \"absolute\",\n bottom: 26,\n top: \"auto\",\n zIndex: 9999,\n right: 7,\n },\n fabProgress: {\n color: green[500],\n position: \"absolute\",\n top: -6,\n left: -6,\n zIndex: 1,\n },\n wrapper: {\n margin: theme.spacing(1),\n position: \"relative\",\n },\n buttonSuccess: {\n backgroundColor: green[500],\n \"&:hover\": {\n backgroundColor: green[700],\n },\n },\n}));\n\nexport default function SaveButton(props) {\n const classes = useStyles();\n const buttonClassname = clsx({\n [classes.buttonSuccess]: props.status === \"success\",\n });\n\n return (\n \n
\n
\n \n \n {props.status === \"success\" ? (\n \n ) : (\n \n )}\n \n \n {props.status === \"loading\" && (\n \n )}\n
\n
\n
\n );\n}\n","import React from \"react\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport DialogContent from \"@material-ui/core/DialogContent\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport DialogContentText from \"@material-ui/core/DialogContentText\";\nimport { blue } from \"@material-ui/core/colors\";\nimport { useSelector } from \"react-redux\";\n\nconst useStyles = makeStyles({\n avatar: {\n backgroundColor: blue[100],\n color: blue[600],\n },\n loadingContainer: {\n display: \"flex\",\n },\n loading: {\n marginTop: 10,\n marginLeft: 20,\n },\n});\n\nexport default function LoadingDialog() {\n const classes = useStyles();\n const open = useSelector((state) => state.viewUpdate.modals.loading);\n const text = useSelector((state) => state.viewUpdate.modals.loadingText);\n\n return (\n \n \n \n \n
{text}
\n
\n
\n
\n );\n}\n","import React, { useState, useCallback } from \"react\";\nimport { makeStyles } from \"@material-ui/core\";\nimport {\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n DialogContentText,\n CircularProgress,\n} from \"@material-ui/core\";\nimport {\n toggleSnackbar,\n setModalsLoading,\n refreshFileList,\n} from \"../../actions/index\";\nimport PathSelector from \"../FileManager/PathSelector\";\nimport { useDispatch } from \"react-redux\";\nimport API from \"../../middleware/Api\";\n\nconst useStyles = makeStyles((theme) => ({\n contentFix: {\n padding: \"10px 24px 0px 24px\",\n },\n wrapper: {\n margin: theme.spacing(1),\n position: \"relative\",\n },\n buttonProgress: {\n color: theme.palette.secondary.light,\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n marginTop: -12,\n marginLeft: -12,\n },\n}));\n\nexport default function CopyDialog(props) {\n const [selectedPath, setSelectedPath] = useState(\"\");\n const [selectedPathName, setSelectedPathName] = useState(\"\");\n\n const dispatch = useDispatch();\n const ToggleSnackbar = useCallback(\n (vertical, horizontal, msg, color) =>\n dispatch(toggleSnackbar(vertical, horizontal, msg, color)),\n [dispatch]\n );\n const SetModalsLoading = useCallback(\n (status) => {\n dispatch(setModalsLoading(status));\n },\n [dispatch]\n );\n const RefreshFileList = useCallback(() => {\n dispatch(refreshFileList());\n }, [dispatch]);\n\n const setMoveTarget = (folder) => {\n const path =\n folder.path === \"/\"\n ? folder.path + folder.name\n : folder.path + \"/\" + folder.name;\n setSelectedPath(path);\n setSelectedPathName(folder.name);\n };\n\n const submitMove = (e) => {\n if (e != null) {\n e.preventDefault();\n }\n SetModalsLoading(true);\n const dirs = [],\n items = [];\n // eslint-disable-next-line\n\n if (props.selected[0].type === \"dir\") {\n dirs.push(props.selected[0].id);\n } else {\n items.push(props.selected[0].id);\n }\n\n API.post(\"/object/copy\", {\n src_dir: props.selected[0].path,\n src: {\n dirs: dirs,\n items: items,\n },\n dst: selectedPath === \"//\" ? \"/\" : selectedPath,\n })\n .then(() => {\n props.onClose();\n RefreshFileList();\n SetModalsLoading(false);\n })\n .catch((error) => {\n ToggleSnackbar(\"top\", \"right\", error.message, \"error\");\n SetModalsLoading(false);\n });\n };\n\n const classes = useStyles();\n\n return (\n \n 复制到\n \n\n {selectedPath !== \"\" && (\n \n \n 复制到 {selectedPathName}\n \n \n )}\n \n \n
\n \n 确定\n {props.modalsLoading && (\n \n )}\n \n
\n
\n \n );\n}\n","import React, { useCallback } from \"react\";\nimport {\n Checkbox,\n FormControl,\n makeStyles,\n TextField,\n} from \"@material-ui/core\";\nimport {\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n CircularProgress,\n} from \"@material-ui/core\";\nimport { toggleSnackbar } from \"../../actions/index\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport API from \"../../middleware/Api\";\nimport List from \"@material-ui/core/List\";\nimport ListItemText from \"@material-ui/core/ListItemText\";\nimport ListItem from \"@material-ui/core/ListItem\";\nimport ListItemIcon from \"@material-ui/core/ListItemIcon\";\nimport LockIcon from \"@material-ui/icons/Lock\";\nimport TimerIcon from \"@material-ui/icons/Timer\";\nimport CasinoIcon from \"@material-ui/icons/Casino\";\nimport AccountBalanceWalletIcon from \"@material-ui/icons/AccountBalanceWallet\";\nimport ListItemSecondaryAction from \"@material-ui/core/ListItemSecondaryAction\";\nimport Divider from \"@material-ui/core/Divider\";\nimport MuiExpansionPanel from \"@material-ui/core/ExpansionPanel\";\nimport MuiExpansionPanelSummary from \"@material-ui/core/ExpansionPanelSummary\";\nimport MuiExpansionPanelDetails from \"@material-ui/core/ExpansionPanelDetails\";\nimport Typography from \"@material-ui/core/Typography\";\nimport withStyles from \"@material-ui/core/styles/withStyles\";\nimport InputLabel from \"@material-ui/core/InputLabel\";\nimport { Visibility, VisibilityOff } from \"@material-ui/icons\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\nimport OutlinedInput from \"@material-ui/core/OutlinedInput\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport Select from \"@material-ui/core/Select\";\nimport EyeIcon from \"@material-ui/icons/RemoveRedEye\";\nimport ToggleIcon from \"material-ui-toggle-icon\";\n\nconst useStyles = makeStyles((theme) => ({\n widthAnimation: {},\n shareUrl: {\n minWidth: \"400px\",\n },\n wrapper: {\n margin: theme.spacing(1),\n position: \"relative\",\n },\n buttonProgress: {\n color: theme.palette.secondary.light,\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n },\n flexCenter: {\n alignItems: \"center\",\n },\n noFlex: {\n display: \"block\",\n },\n scoreCalc: {\n marginTop: 10,\n },\n}));\n\nconst ExpansionPanel = withStyles({\n root: {\n border: \"0px solid rgba(0, 0, 0, .125)\",\n boxShadow: \"none\",\n \"&:not(:last-child)\": {\n borderBottom: 0,\n },\n \"&:before\": {\n display: \"none\",\n },\n \"&$expanded\": {\n margin: \"auto\",\n },\n },\n expanded: {},\n})(MuiExpansionPanel);\n\nconst ExpansionPanelSummary = withStyles({\n root: {\n padding: 0,\n \"&$expanded\": {},\n },\n content: {\n margin: 0,\n display: \"initial\",\n \"&$expanded\": {\n margin: \"0 0\",\n },\n },\n expanded: {},\n})(MuiExpansionPanelSummary);\n\nconst ExpansionPanelDetails = withStyles((theme) => ({\n root: {\n padding: 24,\n backgroundColor: theme.palette.background.default,\n },\n}))(MuiExpansionPanelDetails);\n\nexport default function CreatShare(props) {\n const dispatch = useDispatch();\n const classes = useStyles();\n\n const ToggleSnackbar = useCallback(\n (vertical, horizontal, msg, color) =>\n dispatch(toggleSnackbar(vertical, horizontal, msg, color)),\n [dispatch]\n );\n\n const scoreEnabled = useSelector((state) => state.siteConfig.score_enabled);\n const scoreRate = useSelector((state) => state.siteConfig.share_score_rate);\n\n const [expanded, setExpanded] = React.useState(false);\n const [shareURL, setShareURL] = React.useState(\"\");\n const [values, setValues] = React.useState({\n password: \"\",\n downloads: 1,\n expires: 24 * 3600,\n showPassword: false,\n score: 0,\n });\n const [shareOption, setShareOption] = React.useState({\n password: false,\n expire: false,\n score: false,\n preview: true,\n });\n\n const handleChange = (prop) => (event) => {\n // 输入密码\n if (prop === \"password\") {\n if (event.target.value === \"\") {\n setShareOption({ ...shareOption, password: false });\n } else {\n setShareOption({ ...shareOption, password: true });\n }\n }\n\n // 输入积分\n if (prop === \"score\") {\n if (event.target.value == \"0\") {\n setShareOption({ ...shareOption, score: false });\n } else {\n setShareOption({ ...shareOption, score: true });\n }\n }\n\n setValues({ ...values, [prop]: event.target.value });\n };\n\n const handleClickShowPassword = () => {\n setValues({ ...values, showPassword: !values.showPassword });\n };\n\n const handleMouseDownPassword = (event) => {\n event.preventDefault();\n };\n\n const randomPassword = () => {\n setShareOption({ ...shareOption, password: true });\n setValues({\n ...values,\n password: Math.random().toString(36).substr(2).slice(2, 8),\n showPassword: true,\n });\n };\n\n const handleExpand = (panel) => (event, isExpanded) => {\n setExpanded(isExpanded ? panel : false);\n };\n\n const handleCheck = (prop) => () => {\n if (!shareOption[prop]) {\n handleExpand(prop)(null, true);\n }\n if (prop === \"password\" && shareOption[prop]) {\n setValues({\n ...values,\n password: \"\",\n });\n }\n if (prop === \"score\" && shareOption[prop]) {\n setValues({\n ...values,\n score: 0,\n });\n }\n setShareOption({ ...shareOption, [prop]: !shareOption[prop] });\n };\n\n const onClose = () => {\n props.onClose();\n setTimeout(() => {\n setShareURL(\"\");\n }, 500);\n };\n\n const submitShare = (e) => {\n e.preventDefault();\n props.setModalsLoading(true);\n const submitFormBody = {\n id: props.selected[0].id,\n is_dir: props.selected[0].type === \"dir\",\n password: values.password,\n downloads: shareOption.expire ? values.downloads : -1,\n expire: values.expires,\n score: parseInt(values.score),\n preview: shareOption.preview,\n };\n\n API.post(\"/share\", submitFormBody)\n .then((response) => {\n setShareURL(response.data);\n setValues({\n password: \"\",\n downloads: 1,\n expires: 24 * 3600,\n showPassword: false,\n score: 0,\n });\n setShareOption({\n password: false,\n expire: false,\n score: false,\n });\n props.setModalsLoading(false);\n })\n .catch((error) => {\n ToggleSnackbar(\"top\", \"right\", error.message, \"error\");\n props.setModalsLoading(false);\n });\n };\n\n const handleFocus = (event) => event.target.select();\n\n return (\n \n 创建分享链接\n\n {shareURL === \"\" && (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n 分享密码\n \n \n \n \n \n \n \n \n }\n offIcon={\n \n }\n />\n \n \n }\n labelWidth={70}\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n 1 次下载\n 2 次下载\n 3 次下载\n 4 次下载\n 5 次下载\n \n 20 次下载\n \n \n 50 次下载\n \n \n 100 次下载\n \n \n \n 或者\n \n \n 5 分钟\n 1 小时\n \n 1 天\n \n \n 7 天\n \n \n 30 天\n \n \n \n 后过期\n \n \n {scoreEnabled && (\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n 每人次下载需支付的积分\n \n \n \n {values.score !== 0 && scoreRate !== \"100\" && (\n \n {\"预计每人次下载可到账 \" +\n Math.ceil(\n (values.score * scoreRate) /\n 100\n ) +\n \" 积分\"}\n \n )}\n \n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n 是否允许在分享页面预览文件内容\n \n \n \n \n \n \n )}\n {shareURL !== \"\" && (\n \n \n \n )}\n\n \n \n\n {shareURL === \"\" && (\n
\n \n 创建分享链接\n {props.modalsLoading && (\n \n )}\n \n
\n )}\n
\n \n );\n}\n","import React, { useState, useCallback } from \"react\";\nimport { makeStyles } from \"@material-ui/core\";\nimport {\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n DialogContentText,\n CircularProgress,\n} from \"@material-ui/core\";\nimport { toggleSnackbar, setModalsLoading } from \"../../actions/index\";\nimport PathSelector from \"../FileManager/PathSelector\";\nimport { useDispatch } from \"react-redux\";\nimport API from \"../../middleware/Api\";\nimport { filePath } from \"../../utils\";\n\nconst useStyles = makeStyles((theme) => ({\n contentFix: {\n padding: \"10px 24px 0px 24px\",\n },\n wrapper: {\n margin: theme.spacing(1),\n position: \"relative\",\n },\n buttonProgress: {\n color: theme.palette.secondary.light,\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n marginTop: -12,\n marginLeft: -12,\n },\n}));\n\nexport default function DecompressDialog(props) {\n const [selectedPath, setSelectedPath] = useState(\"\");\n const [selectedPathName, setSelectedPathName] = useState(\"\");\n\n const dispatch = useDispatch();\n const ToggleSnackbar = useCallback(\n (vertical, horizontal, msg, color) =>\n dispatch(toggleSnackbar(vertical, horizontal, msg, color)),\n [dispatch]\n );\n const SetModalsLoading = useCallback(\n (status) => {\n dispatch(setModalsLoading(status));\n },\n [dispatch]\n );\n\n const setMoveTarget = (folder) => {\n const path =\n folder.path === \"/\"\n ? folder.path + folder.name\n : folder.path + \"/\" + folder.name;\n setSelectedPath(path);\n setSelectedPathName(folder.name);\n };\n\n const submitMove = (e) => {\n if (e != null) {\n e.preventDefault();\n }\n SetModalsLoading(true);\n API.post(\"/file/decompress\", {\n src: filePath(props.selected[0]),\n dst: selectedPath === \"//\" ? \"/\" : selectedPath,\n })\n .then(() => {\n props.onClose();\n ToggleSnackbar(\"top\", \"right\", \"解压缩任务已创建\", \"success\");\n SetModalsLoading(false);\n })\n .catch((error) => {\n ToggleSnackbar(\"top\", \"right\", error.message, \"error\");\n SetModalsLoading(false);\n });\n };\n\n const classes = useStyles();\n\n return (\n \n 解压送至\n \n\n {selectedPath !== \"\" && (\n \n \n 解压送至 {selectedPathName}\n \n \n )}\n \n \n
\n \n 确定\n {props.modalsLoading && (\n \n )}\n \n
\n
\n \n );\n}\n","import React, { useState, useCallback } from \"react\";\nimport { makeStyles } from \"@material-ui/core\";\nimport {\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n DialogContentText,\n CircularProgress,\n} from \"@material-ui/core\";\nimport { toggleSnackbar, setModalsLoading } from \"../../actions/index\";\nimport PathSelector from \"../FileManager/PathSelector\";\nimport { useDispatch } from \"react-redux\";\nimport API from \"../../middleware/Api\";\nimport TextField from \"@material-ui/core/TextField\";\n\nconst useStyles = makeStyles((theme) => ({\n contentFix: {\n padding: \"10px 24px 0px 24px\",\n backgroundColor: theme.palette.background.default,\n },\n wrapper: {\n margin: theme.spacing(1),\n position: \"relative\",\n },\n buttonProgress: {\n color: theme.palette.secondary.light,\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n marginTop: -12,\n marginLeft: -12,\n },\n}));\n\nexport default function CompressDialog(props) {\n const [selectedPath, setSelectedPath] = useState(\"\");\n const [fileName, setFileName] = useState(\"\");\n // eslint-disable-next-line\n const [selectedPathName, setSelectedPathName] = useState(\"\");\n\n const dispatch = useDispatch();\n\n const ToggleSnackbar = useCallback(\n (vertical, horizontal, msg, color) =>\n dispatch(toggleSnackbar(vertical, horizontal, msg, color)),\n [dispatch]\n );\n\n const SetModalsLoading = useCallback(\n (status) => {\n dispatch(setModalsLoading(status));\n },\n [dispatch]\n );\n\n const setMoveTarget = (folder) => {\n const path =\n folder.path === \"/\"\n ? folder.path + folder.name\n : folder.path + \"/\" + folder.name;\n setSelectedPath(path);\n setSelectedPathName(folder.name);\n };\n\n const submitMove = (e) => {\n if (e != null) {\n e.preventDefault();\n }\n SetModalsLoading(true);\n\n const dirs = [],\n items = [];\n // eslint-disable-next-line\n props.selected.map((value) => {\n if (value.type === \"dir\") {\n dirs.push(value.id);\n } else {\n items.push(value.id);\n }\n });\n\n API.post(\"/file/compress\", {\n src: {\n dirs: dirs,\n items: items,\n },\n name: fileName,\n dst: selectedPath === \"//\" ? \"/\" : selectedPath,\n })\n .then(() => {\n props.onClose();\n ToggleSnackbar(\"top\", \"right\", \"压缩任务已创建\", \"success\");\n SetModalsLoading(false);\n })\n .catch((error) => {\n ToggleSnackbar(\"top\", \"right\", error.message, \"error\");\n SetModalsLoading(false);\n });\n };\n\n const classes = useStyles();\n\n return (\n \n 存放到\n \n\n {selectedPath !== \"\" && (\n \n \n setFileName(e.target.value)}\n value={fileName}\n fullWidth\n autoFocus\n id=\"standard-basic\"\n label=\"压缩文件名\"\n />\n \n \n )}\n \n \n
\n \n 确定\n {props.modalsLoading && (\n \n )}\n \n
\n
\n \n );\n}\n","import React, { useState, useCallback, useEffect } from \"react\";\nimport { makeStyles } from \"@material-ui/core\";\nimport {\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n DialogContentText,\n CircularProgress,\n} from \"@material-ui/core\";\nimport { toggleSnackbar, setModalsLoading } from \"../../actions/index\";\nimport PathSelector from \"../FileManager/PathSelector\";\nimport { useDispatch } from \"react-redux\";\nimport API from \"../../middleware/Api\";\nimport TextField from \"@material-ui/core/TextField\";\nimport Select from \"@material-ui/core/Select\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: theme.spacing(1),\n position: \"relative\",\n },\n buttonProgress: {\n color: theme.palette.secondary.light,\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n marginTop: -12,\n marginLeft: -12,\n },\n input: {\n width: 250,\n },\n}));\n\nexport default function RelocateDialog(props) {\n const [selectedPolicy, setSelectedPolicy] = useState(\"\");\n const [policies, setPolicies] = useState([]);\n const dispatch = useDispatch();\n const ToggleSnackbar = useCallback(\n (vertical, horizontal, msg, color) =>\n dispatch(toggleSnackbar(vertical, horizontal, msg, color)),\n [dispatch]\n );\n\n const SetModalsLoading = useCallback(\n (status) => {\n dispatch(setModalsLoading(status));\n },\n [dispatch]\n );\n\n const submitRelocate = (e) => {\n if (e != null) {\n e.preventDefault();\n }\n SetModalsLoading(true);\n\n const dirs = [],\n items = [];\n // eslint-disable-next-line\n props.selected.map((value) => {\n if (value.type === \"dir\") {\n dirs.push(value.id);\n } else {\n items.push(value.id);\n }\n });\n\n API.post(\"/file/relocate\", {\n src: {\n dirs: dirs,\n items: items,\n },\n dst_policy_id: selectedPolicy,\n })\n .then(() => {\n props.onClose();\n ToggleSnackbar(\"top\", \"right\", \"转移任务已创建\", \"success\");\n SetModalsLoading(false);\n })\n .catch((error) => {\n ToggleSnackbar(\"top\", \"right\", error.message, \"error\");\n SetModalsLoading(false);\n });\n };\n\n useEffect(() => {\n if (props.open) {\n API.get(\"/user/setting/policies\")\n .then((response) => {\n setPolicies(response.data.options);\n setSelectedPolicy(response.data.current.id);\n })\n .catch((error) => {\n ToggleSnackbar(\"top\", \"right\", error.message, \"error\");\n });\n }\n\n // eslint-disable-next-line\n }, [props.open]);\n\n const classes = useStyles();\n\n return (\n \n 转移到存储策略\n\n \n setSelectedPolicy(e.target.value)}\n >\n {policies.map((v, k) => (\n \n {v.name}\n \n ))}\n \n \n\n \n \n
\n \n 确定\n {props.modalsLoading && (\n \n )}\n \n
\n
\n \n );\n}\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { connect } from \"react-redux\";\nimport {\n closeAllModals,\n toggleSnackbar,\n setModalsLoading,\n refreshFileList,\n refreshStorage,\n openLoadingDialog,\n} from \"../../actions/index\";\nimport PathSelector from \"./PathSelector\";\nimport API, { baseURL } from \"../../middleware/Api\";\nimport {\n withStyles,\n Button,\n TextField,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n DialogContentText,\n CircularProgress,\n} from \"@material-ui/core\";\nimport Loading from \"../Modals/Loading\";\nimport CopyDialog from \"../Modals/Copy\";\nimport CreatShare from \"../Modals/CreateShare\";\nimport { withRouter } from \"react-router-dom\";\nimport pathHelper from \"../../utils/page\";\nimport PurchaseShareDialog from \"../Modals/PurchaseShare\";\nimport Auth from \"../../middleware/Auth\";\nimport DecompressDialog from \"../Modals/Decompress\";\nimport CompressDialog from \"../Modals/Compress\";\nimport RelocateDialog from \"../Modals/Relocate\";\n\nconst styles = (theme) => ({\n wrapper: {\n margin: theme.spacing(1),\n position: \"relative\",\n },\n buttonProgress: {\n color: theme.palette.secondary.light,\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n marginTop: -12,\n marginLeft: -12,\n },\n contentFix: {\n padding: \"10px 24px 0px 24px\",\n },\n});\n\nconst mapStateToProps = (state) => {\n return {\n path: state.navigator.path,\n selected: state.explorer.selected,\n modalsStatus: state.viewUpdate.modals,\n modalsLoading: state.viewUpdate.modalsLoading,\n dirList: state.explorer.dirList,\n fileList: state.explorer.fileList,\n dndSignale: state.explorer.dndSignal,\n dndTarget: state.explorer.dndTarget,\n dndSource: state.explorer.dndSource,\n loading: state.viewUpdate.modals.loading,\n loadingText: state.viewUpdate.modals.loadingText,\n };\n};\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n closeAllModals: () => {\n dispatch(closeAllModals());\n },\n toggleSnackbar: (vertical, horizontal, msg, color) => {\n dispatch(toggleSnackbar(vertical, horizontal, msg, color));\n },\n setModalsLoading: (status) => {\n dispatch(setModalsLoading(status));\n },\n refreshFileList: () => {\n dispatch(refreshFileList());\n },\n refreshStorage: () => {\n dispatch(refreshStorage());\n },\n openLoadingDialog: (text) => {\n dispatch(openLoadingDialog(text));\n },\n };\n};\n\nclass ModalsCompoment extends Component {\n state = {\n newFolderName: \"\",\n newFileName: \"\",\n newName: \"\",\n selectedPath: \"\",\n selectedPathName: \"\",\n secretShare: false,\n sharePwd: \"\",\n shareUrl: \"\",\n downloadURL: \"\",\n remoteDownloadPathSelect: false,\n source: \"\",\n purchaseCallback: null,\n };\n\n handleInputChange = (e) => {\n this.setState({\n [e.target.id]: e.target.value,\n });\n };\n\n newNameSuffix = \"\";\n downloaded = false;\n\n UNSAFE_componentWillReceiveProps = (nextProps) => {\n if (this.props.dndSignale !== nextProps.dndSignale) {\n this.dragMove(nextProps.dndSource, nextProps.dndTarget);\n return;\n }\n if (this.props.loading !== nextProps.loading) {\n // 打包下载\n if (nextProps.loading === true) {\n if (nextProps.loadingText === \"打包中...\") {\n if (\n pathHelper.isSharePage(this.props.location.pathname) &&\n this.props.share &&\n this.props.share.score > 0\n ) {\n this.scoreHandler(this.archiveDownload);\n return;\n }\n this.archiveDownload();\n } else if (nextProps.loadingText === \"获取下载地址...\") {\n if (\n pathHelper.isSharePage(this.props.location.pathname) &&\n this.props.share &&\n this.props.share.score > 0\n ) {\n this.scoreHandler(this.Download);\n return;\n }\n this.Download();\n }\n }\n return;\n }\n if (this.props.modalsStatus.rename !== nextProps.modalsStatus.rename) {\n const name = nextProps.selected[0].name;\n this.setState({\n newName: name,\n });\n return;\n }\n if (\n this.props.modalsStatus.getSource !==\n nextProps.modalsStatus.getSource &&\n nextProps.modalsStatus.getSource === true\n ) {\n API.get(\"/file/source/\" + this.props.selected[0].id)\n .then((response) => {\n this.setState({\n source: response.data.url,\n });\n })\n .catch((error) => {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n error.message,\n \"error\"\n );\n });\n }\n };\n\n scoreHandler = (callback) => {\n // 分享页面需要积分下载\n if (!Auth.Check()) {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n \"登录后才能继续操作\",\n \"warning\"\n );\n this.onClose();\n return;\n }\n if (!Auth.GetUser().group.shareFree && !this.downloaded) {\n this.setState({\n purchaseCallback: () => {\n this.setState({\n purchaseCallback: null,\n });\n callback();\n },\n });\n } else {\n callback();\n }\n };\n\n Download = () => {\n let reqURL = \"\";\n if (this.props.selected[0].key) {\n const downloadPath =\n this.props.selected[0].path === \"/\"\n ? this.props.selected[0].path + this.props.selected[0].name\n : this.props.selected[0].path +\n \"/\" +\n this.props.selected[0].name;\n reqURL =\n \"/share/download/\" +\n this.props.selected[0].key +\n \"?path=\" +\n encodeURIComponent(downloadPath);\n } else {\n reqURL = \"/file/download/\" + this.props.selected[0].id;\n }\n\n API.put(reqURL)\n .then((response) => {\n window.location.assign(response.data);\n this.onClose();\n this.downloaded = true;\n })\n .catch((error) => {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n error.message,\n \"error\"\n );\n this.onClose();\n });\n };\n\n archiveDownload = () => {\n const dirs = [],\n items = [];\n this.props.selected.map((value) => {\n if (value.type === \"dir\") {\n dirs.push(value.id);\n } else {\n items.push(value.id);\n }\n return null;\n });\n\n let reqURL = \"/file/archive\";\n const postBody = {\n items: items,\n dirs: dirs,\n };\n if (pathHelper.isSharePage(this.props.location.pathname)) {\n reqURL = \"/share/archive/\" + window.shareInfo.key;\n postBody[\"path\"] = this.props.selected[0].path;\n }\n\n API.post(reqURL, postBody)\n .then((response) => {\n if (response.rawData.code === 0) {\n this.onClose();\n window.location.assign(response.data);\n } else {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n response.rawData.msg,\n \"warning\"\n );\n }\n this.onClose();\n this.props.refreshStorage();\n })\n .catch((error) => {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n error.message,\n \"error\"\n );\n this.onClose();\n });\n };\n\n submitRemove = (e) => {\n e.preventDefault();\n this.props.setModalsLoading(true);\n const dirs = [],\n items = [];\n // eslint-disable-next-line\n this.props.selected.map((value) => {\n if (value.type === \"dir\") {\n dirs.push(value.id);\n } else {\n items.push(value.id);\n }\n });\n API.delete(\"/object\", {\n data: {\n items: items,\n dirs: dirs,\n },\n })\n .then((response) => {\n if (response.rawData.code === 0) {\n this.onClose();\n setTimeout(this.props.refreshFileList, 500);\n } else {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n response.rawData.msg,\n \"warning\"\n );\n }\n this.props.setModalsLoading(false);\n this.props.refreshStorage();\n })\n .catch((error) => {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n error.message,\n \"error\"\n );\n this.props.setModalsLoading(false);\n });\n };\n\n submitResave = (e) => {\n e.preventDefault();\n this.props.setModalsLoading(true);\n API.post(\"/share/save/\" + window.shareKey, {\n path:\n this.state.selectedPath === \"//\"\n ? \"/\"\n : this.state.selectedPath,\n })\n .then(() => {\n this.onClose();\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n \"文件已保存\",\n \"success\"\n );\n this.props.refreshFileList();\n this.props.setModalsLoading(false);\n })\n .catch((error) => {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n error.message,\n \"error\"\n );\n this.props.setModalsLoading(false);\n });\n };\n\n submitMove = (e) => {\n if (e != null) {\n e.preventDefault();\n }\n this.props.setModalsLoading(true);\n const dirs = [],\n items = [];\n // eslint-disable-next-line\n this.props.selected.map((value) => {\n if (value.type === \"dir\") {\n dirs.push(value.id);\n } else {\n items.push(value.id);\n }\n });\n API.patch(\"/object\", {\n action: \"move\",\n src_dir: this.props.selected[0].path,\n src: {\n dirs: dirs,\n items: items,\n },\n dst: this.DragSelectedPath\n ? this.DragSelectedPath\n : this.state.selectedPath === \"//\"\n ? \"/\"\n : this.state.selectedPath,\n })\n .then(() => {\n this.onClose();\n this.props.refreshFileList();\n this.props.setModalsLoading(false);\n })\n .catch((error) => {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n error.message,\n \"error\"\n );\n this.props.setModalsLoading(false);\n })\n .then(() => {\n this.props.closeAllModals();\n });\n };\n\n dragMove = (source, target) => {\n if (this.props.selected.length === 0) {\n this.props.selected[0] = source;\n }\n let doMove = true;\n\n // eslint-disable-next-line\n this.props.selected.map((value) => {\n // 根据ID过滤\n if (value.id === target.id && value.type === target.type) {\n doMove = false;\n // eslint-disable-next-line\n return;\n }\n // 根据路径过滤\n if (\n value.path ===\n target.path + (target.path === \"/\" ? \"\" : \"/\") + target.name\n ) {\n doMove = false;\n }\n });\n if (doMove) {\n this.DragSelectedPath =\n target.path === \"/\"\n ? target.path + target.name\n : target.path + \"/\" + target.name;\n this.props.openLoadingDialog(\"处理中...\");\n this.submitMove();\n }\n };\n\n submitRename = (e) => {\n e.preventDefault();\n this.props.setModalsLoading(true);\n const newName = this.state.newName;\n\n const src = {\n dirs: [],\n items: [],\n };\n\n if (this.props.selected[0].type === \"dir\") {\n src.dirs[0] = this.props.selected[0].id;\n } else {\n src.items[0] = this.props.selected[0].id;\n }\n\n // 检查重名\n if (\n this.props.dirList.findIndex((value) => {\n return value.name === newName;\n }) !== -1 ||\n this.props.fileList.findIndex((value) => {\n return value.name === newName;\n }) !== -1\n ) {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n \"新名称与已有文件重复\",\n \"warning\"\n );\n this.props.setModalsLoading(false);\n } else {\n API.post(\"/object/rename\", {\n action: \"rename\",\n src: src,\n new_name: newName,\n })\n .then(() => {\n this.onClose();\n this.props.refreshFileList();\n this.props.setModalsLoading(false);\n })\n .catch((error) => {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n error.message,\n \"error\"\n );\n this.props.setModalsLoading(false);\n });\n }\n };\n\n submitCreateNewFolder = (e) => {\n e.preventDefault();\n this.props.setModalsLoading(true);\n if (\n this.props.dirList.findIndex((value) => {\n return value.name === this.state.newFolderName;\n }) !== -1\n ) {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n \"文件夹名称重复\",\n \"warning\"\n );\n this.props.setModalsLoading(false);\n } else {\n API.put(\"/directory\", {\n path:\n (this.props.path === \"/\" ? \"\" : this.props.path) +\n \"/\" +\n this.state.newFolderName,\n })\n .then(() => {\n this.onClose();\n this.props.refreshFileList();\n this.props.setModalsLoading(false);\n })\n .catch((error) => {\n this.props.setModalsLoading(false);\n\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n error.message,\n \"error\"\n );\n });\n }\n //this.props.toggleSnackbar();\n };\n\n submitCreateNewFile = (e) => {\n e.preventDefault();\n this.props.setModalsLoading(true);\n if (\n this.props.dirList.findIndex((value) => {\n return value.name === this.state.newFileName;\n }) !== -1\n ) {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n \"文件名称重复\",\n \"warning\"\n );\n this.props.setModalsLoading(false);\n } else {\n API.post(\"/file/create\", {\n path:\n (this.props.path === \"/\" ? \"\" : this.props.path) +\n \"/\" +\n this.state.newFileName,\n })\n .then(() => {\n this.onClose();\n this.props.refreshFileList();\n this.props.setModalsLoading(false);\n })\n .catch((error) => {\n this.props.setModalsLoading(false);\n\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n error.message,\n \"error\"\n );\n });\n }\n //this.props.toggleSnackbar();\n };\n\n submitTorrentDownload = (e) => {\n e.preventDefault();\n this.props.setModalsLoading(true);\n API.post(\"/aria2/torrent/\" + this.props.selected[0].id, {\n dst:\n this.state.selectedPath === \"//\"\n ? \"/\"\n : this.state.selectedPath,\n })\n .then(() => {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n \"任务已创建\",\n \"success\"\n );\n this.onClose();\n this.props.setModalsLoading(false);\n })\n .catch((error) => {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n error.message,\n \"error\"\n );\n this.props.setModalsLoading(false);\n });\n };\n\n submitDownload = (e) => {\n e.preventDefault();\n this.props.setModalsLoading(true);\n API.post(\"/aria2/url\", {\n url: this.state.downloadURL,\n dst:\n this.state.selectedPath === \"//\"\n ? \"/\"\n : this.state.selectedPath,\n })\n .then(() => {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n \"任务已创建\",\n \"success\"\n );\n this.onClose();\n this.props.setModalsLoading(false);\n })\n .catch((error) => {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n error.message,\n \"error\"\n );\n this.props.setModalsLoading(false);\n });\n };\n\n setMoveTarget = (folder) => {\n const path =\n folder.path === \"/\"\n ? folder.path + folder.name\n : folder.path + \"/\" + folder.name;\n this.setState({\n selectedPath: path,\n selectedPathName: folder.name,\n });\n };\n\n remoteDownloadNext = () => {\n this.props.closeAllModals();\n this.setState({\n remoteDownloadPathSelect: true,\n });\n };\n\n onClose = () => {\n this.setState({\n newFolderName: \"\",\n newFileName: \"\",\n newName: \"\",\n selectedPath: \"\",\n selectedPathName: \"\",\n secretShare: false,\n sharePwd: \"\",\n downloadURL: \"\",\n shareUrl: \"\",\n remoteDownloadPathSelect: false,\n source: \"\",\n });\n this.newNameSuffix = \"\";\n this.props.closeAllModals();\n };\n\n handleChange = (name) => (event) => {\n this.setState({ [name]: event.target.checked });\n };\n\n render() {\n const { classes } = this.props;\n\n return (\n
\n \n {\n this.setState({ purchaseCallback: null });\n this.onClose();\n }}\n />\n \n \n 获取文件外链\n \n\n \n
\n \n \n
\n \n \n \n \n \n 新建文件夹\n\n \n
\n this.handleInputChange(e)}\n fullWidth\n />\n \n
\n \n \n
\n \n 创建\n {this.props.modalsLoading && (\n \n )}\n \n
\n
\n \n\n \n 新建文件\n\n \n
\n this.handleInputChange(e)}\n fullWidth\n />\n \n
\n \n \n
\n \n 创建\n {this.props.modalsLoading && (\n \n )}\n \n
\n
\n \n\n \n 重命名\n \n \n 输入{\" \"}\n \n {this.props.selected.length === 1\n ? this.props.selected[0].name\n : \"\"}\n {\" \"}\n 的新名称:\n \n
\n this.handleInputChange(e)}\n fullWidth\n />\n \n
\n \n \n
\n \n 确定\n {this.props.modalsLoading && (\n \n )}\n \n
\n
\n \n \n\n \n 移动至\n \n\n {this.state.selectedPath !== \"\" && (\n \n \n 移动至{\" \"}\n {this.state.selectedPathName}\n \n \n )}\n \n \n
\n \n 确定\n {this.props.modalsLoading && (\n \n )}\n \n
\n
\n \n \n 保存至\n \n\n {this.state.selectedPath !== \"\" && (\n \n \n 保存至{\" \"}\n {this.state.selectedPathName}\n \n \n )}\n \n \n
\n \n 确定\n {this.props.modalsLoading && (\n \n )}\n \n
\n
\n \n \n 删除对象\n\n \n \n 确定要删除\n {this.props.selected.length === 1 && (\n {this.props.selected[0].name} \n )}\n {this.props.selected.length > 1 && (\n \n 这{this.props.selected.length}个对象\n \n )}\n 吗?\n \n \n \n \n
\n \n 确定\n {this.props.modalsLoading && (\n \n )}\n \n
\n
\n \n\n \n\n \n 音频播放\n\n \n \n {this.props.selected.length !== 0 && (\n \n )}\n \n \n \n \n \n \n \n \n 新建离线下载任务\n \n\n \n \n \n \n \n \n \n \n 下一步\n \n \n \n \n \n 选择存储位置\n \n \n\n {this.state.selectedPath !== \"\" && (\n \n \n 下载至{\" \"}\n {this.state.selectedPathName}\n \n \n )}\n \n \n
\n \n 创建任务\n {this.props.modalsLoading && (\n \n )}\n \n
\n
\n \n \n \n 选择存储位置\n \n \n\n {this.state.selectedPath !== \"\" && (\n \n \n 下载至{\" \"}\n {this.state.selectedPathName}\n \n \n )}\n \n \n
\n \n 创建任务\n {this.props.modalsLoading && (\n \n )}\n \n
\n
\n \n\n \n \n \n
\n );\n }\n}\n\nModalsCompoment.propTypes = {\n classes: PropTypes.object.isRequired,\n};\n\nconst Modals = connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(ModalsCompoment)));\n\nexport default Modals;\n","import React, { useCallback, useEffect, useState } from \"react\";\nimport { Paper } from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport { useLocation, useParams, useRouteMatch } from \"react-router\";\nimport API from \"../../middleware/Api\";\nimport { useDispatch } from \"react-redux\";\nimport { toggleSnackbar } from \"../../actions\";\nimport { changeSubTitle } from \"../../redux/viewUpdate/action\";\nimport Editor from \"for-editor\";\nimport SaveButton from \"../Dial/Save\";\nimport pathHelper from \"../../utils/page\";\nimport TextLoading from \"../Placeholder/TextLoading\";\nconst useStyles = makeStyles((theme) => ({\n layout: {\n width: \"auto\",\n marginTop: \"30px\",\n marginLeft: theme.spacing(3),\n marginRight: theme.spacing(3),\n [theme.breakpoints.up(1100 + theme.spacing(3) * 2)]: {\n width: 1100,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n marginBottom: 50,\n },\n player: {\n borderRadius: \"4px\",\n },\n root: {\n backgroundColor: \"white\",\n borderRadius: \"8px\",\n },\n \"@global\": {\n \".for-toolbar\": {\n overflowX: \"auto!important\",\n },\n },\n}));\n\nfunction useQuery() {\n return new URLSearchParams(useLocation().search);\n}\n\nexport default function TextViewer() {\n const [content, setContent] = useState(\"\");\n const [status, setStatus] = useState(\"\");\n const [loading, setLoading] = useState(true);\n const math = useRouteMatch();\n const $vm = React.createRef();\n const location = useLocation();\n const query = useQuery();\n const { id } = useParams();\n\n const dispatch = useDispatch();\n const SetSubTitle = useCallback(\n (title) => dispatch(changeSubTitle(title)),\n [dispatch]\n );\n const ToggleSnackbar = useCallback(\n (vertical, horizontal, msg, color) =>\n dispatch(toggleSnackbar(vertical, horizontal, msg, color)),\n [dispatch]\n );\n\n useEffect(() => {\n if (!pathHelper.isSharePage(location.pathname)) {\n const path = query.get(\"p\").split(\"/\");\n SetSubTitle(path[path.length - 1]);\n } else {\n SetSubTitle(query.get(\"name\"));\n }\n // eslint-disable-next-line\n }, [math.params[0], location]);\n\n useEffect(() => {\n let requestURL = \"/file/content/\" + query.get(\"id\");\n if (pathHelper.isSharePage(location.pathname)) {\n requestURL = \"/share/content/\" + id;\n if (query.get(\"share_path\") !== \"\") {\n requestURL +=\n \"?path=\" + encodeURIComponent(query.get(\"share_path\"));\n }\n }\n\n setLoading(true);\n API.get(requestURL, { responseType: \"arraybuffer\" })\n .then((response) => {\n const buffer = new Buffer(response.rawData, \"binary\");\n const textdata = buffer.toString(); // for string\n setContent(textdata);\n })\n .catch((error) => {\n ToggleSnackbar(\n \"top\",\n \"right\",\n \"无法读取文件内容,\" + error.message,\n \"error\"\n );\n })\n .then(() => {\n setLoading(false);\n });\n // eslint-disable-next-line\n }, [math.params[0]]);\n\n const toBase64 = (file) =>\n new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => resolve(reader.result);\n reader.onerror = (error) => reject(error);\n });\n\n const save = () => {\n setStatus(\"loading\");\n API.put(\"/file/update/\" + query.get(\"id\"), content)\n .then(() => {\n setStatus(\"success\");\n setTimeout(() => setStatus(\"\"), 2000);\n })\n .catch((error) => {\n setStatus(\"\");\n ToggleSnackbar(\"top\", \"right\", error.message, \"error\");\n });\n };\n\n const addImg = async ($file) => {\n $vm.current.$img2Url($file.name, await toBase64($file));\n console.log($file);\n };\n\n const classes = useStyles();\n return (\n
\n \n {loading && }\n {!loading && (\n save()}\n addImg={($file) => addImg($file)}\n onChange={(value) => setContent(value)}\n toolbar={{\n h1: true, // h1\n h2: true, // h2\n h3: true, // h3\n h4: true, // h4\n img: true, // 图片\n link: true, // 链接\n code: true, // 代码块\n preview: true, // 预览\n expand: true, // 全屏\n /* v0.0.9 */\n undo: true, // 撤销\n redo: true, // 重做\n save: false, // 保存\n /* v0.2.3 */\n subfield: true, // 单双栏模式\n }}\n />\n )}\n \n {!pathHelper.isSharePage(location.pathname) && (\n \n )}\n
\n );\n}\n","import React, { Suspense, useCallback, useEffect, useState } from \"react\";\nimport { Paper, useTheme } from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport { useLocation, useParams, useRouteMatch } from \"react-router\";\nimport API from \"../../middleware/Api\";\nimport { useDispatch } from \"react-redux\";\nimport { toggleSnackbar } from \"../../actions\";\nimport { changeSubTitle } from \"../../redux/viewUpdate/action\";\nimport pathHelper from \"../../utils/page\";\nimport SaveButton from \"../Dial/Save\";\nimport { codePreviewSuffix } from \"../../config\";\nimport TextLoading from \"../Placeholder/TextLoading\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport Select from \"@material-ui/core/Select\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport Divider from \"@material-ui/core/Divider\";\nconst MonacoEditor = React.lazy(() =>\n import(/* webpackChunkName: \"codeEditor\" */ \"react-monaco-editor\")\n);\n\nconst useStyles = makeStyles((theme) => ({\n layout: {\n width: \"auto\",\n marginTop: \"30px\",\n marginLeft: theme.spacing(3),\n marginRight: theme.spacing(3),\n [theme.breakpoints.up(1100 + theme.spacing(3) * 2)]: {\n width: 1100,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n marginBottom: 50,\n },\n editor: {\n borderRadius: \"4px\",\n },\n \"@global\": {\n \".overflow-guard\": {\n borderRadius: \"4px!important\",\n },\n },\n formControl: {\n margin: \"8px 16px 8px 16px\",\n },\n toobar: {\n textAlign: \"right\",\n },\n}));\n\nfunction useQuery() {\n return new URLSearchParams(useLocation().search);\n}\n\nexport default function CodeViewer() {\n const [content, setContent] = useState(\"\");\n const [status, setStatus] = useState(\"\");\n const [loading, setLoading] = useState(true);\n const [suffix, setSuffix] = useState(\"javascript\");\n\n const math = useRouteMatch();\n const location = useLocation();\n const query = useQuery();\n const { id } = useParams();\n const theme = useTheme();\n\n const dispatch = useDispatch();\n const SetSubTitle = useCallback(\n (title) => dispatch(changeSubTitle(title)),\n [dispatch]\n );\n const ToggleSnackbar = useCallback(\n (vertical, horizontal, msg, color) =>\n dispatch(toggleSnackbar(vertical, horizontal, msg, color)),\n [dispatch]\n );\n\n useEffect(() => {\n if (!pathHelper.isSharePage(location.pathname)) {\n const path = query.get(\"p\").split(\"/\");\n const extension = query.get(\"p\").split(\".\");\n setSuffix(codePreviewSuffix[extension.pop()]);\n SetSubTitle(path[path.length - 1]);\n } else {\n const extension = query.get(\"name\").split(\".\");\n setSuffix(codePreviewSuffix[extension.pop()]);\n SetSubTitle(query.get(\"name\"));\n }\n // eslint-disable-next-line\n }, [math.params[0], location]);\n\n useEffect(() => {\n let requestURL = \"/file/content/\" + query.get(\"id\");\n if (pathHelper.isSharePage(location.pathname)) {\n requestURL = \"/share/content/\" + id;\n if (query.get(\"share_path\") !== \"\") {\n requestURL +=\n \"?path=\" + encodeURIComponent(query.get(\"share_path\"));\n }\n }\n\n setLoading(true);\n API.get(requestURL, { responseType: \"arraybuffer\" })\n .then((response) => {\n const buffer = new Buffer(response.rawData, \"binary\");\n const textdata = buffer.toString(); // for string\n setContent(textdata);\n })\n .catch((error) => {\n ToggleSnackbar(\n \"top\",\n \"right\",\n \"无法读取文件内容,\" + error.message,\n \"error\"\n );\n })\n .then(() => {\n setLoading(false);\n });\n // eslint-disable-next-line\n }, [math.params[0]]);\n\n const save = () => {\n setStatus(\"loading\");\n API.put(\"/file/update/\" + query.get(\"id\"), content)\n .then(() => {\n setStatus(\"success\");\n setTimeout(() => setStatus(\"\"), 2000);\n })\n .catch((error) => {\n setStatus(\"\");\n ToggleSnackbar(\"top\", \"right\", error.message, \"error\");\n });\n };\n\n const classes = useStyles();\n const isSharePage = pathHelper.isSharePage(location.pathname);\n return (\n
\n \n
\n \n setSuffix(e.target.value)}\n >\n {Array.from(\n new Set(\n Object.keys(codePreviewSuffix).map((k) => {\n return codePreviewSuffix[k];\n })\n )\n ).map((extension) => (\n // eslint-disable-next-line react/jsx-key\n \n {extension}\n \n ))}\n \n \n
\n \n {loading && }\n {!loading && (\n }>\n setContent(value)}\n />\n \n )}\n
\n {!isSharePage && }\n
\n );\n}\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { connect } from \"react-redux\";\nimport {} from \"../../actions\";\nimport classNames from \"classnames\";\nimport ErrorIcon from \"@material-ui/icons/Error\";\nimport InfoIcon from \"@material-ui/icons/Info\";\nimport CloseIcon from \"@material-ui/icons/Close\";\nimport CheckCircleIcon from \"@material-ui/icons/CheckCircle\";\nimport WarningIcon from \"@material-ui/icons/Warning\";\n\nimport { green, amber } from \"@material-ui/core/colors\";\n\nimport {\n withStyles,\n SnackbarContent,\n Snackbar,\n IconButton,\n} from \"@material-ui/core\";\n\nconst mapStateToProps = (state) => {\n return {\n snackbar: state.viewUpdate.snackbar,\n };\n};\n\nconst mapDispatchToProps = () => {\n return {};\n};\n\nconst variantIcon = {\n success: CheckCircleIcon,\n warning: WarningIcon,\n error: ErrorIcon,\n info: InfoIcon,\n};\n\nconst styles1 = (theme) => ({\n success: {\n backgroundColor: theme.palette.success.main,\n },\n error: {\n backgroundColor: theme.palette.error.dark,\n },\n info: {\n backgroundColor: theme.palette.info.main,\n },\n warning: {\n backgroundColor: theme.palette.warning.main,\n },\n icon: {\n fontSize: 20,\n },\n iconVariant: {\n opacity: 0.9,\n marginRight: theme.spacing(1),\n },\n message: {\n display: \"flex\",\n alignItems: \"center\",\n },\n});\n\nfunction MySnackbarContent(props) {\n const { classes, className, message, onClose, variant, ...other } = props;\n const Icon = variantIcon[variant];\n\n return (\n \n \n {message}\n \n }\n action={[\n \n \n ,\n ]}\n {...other}\n />\n );\n}\nMySnackbarContent.propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n message: PropTypes.node,\n onClose: PropTypes.func,\n variant: PropTypes.oneOf([\"alert\", \"success\", \"warning\", \"error\", \"info\"])\n .isRequired,\n};\n\nconst MySnackbarContentWrapper = withStyles(styles1)(MySnackbarContent);\nconst styles = (theme) => ({\n margin: {\n margin: theme.spacing(1),\n },\n});\nclass SnackbarCompoment extends Component {\n state = {\n open: false,\n };\n\n UNSAFE_componentWillReceiveProps = (nextProps) => {\n if (nextProps.snackbar.toggle !== this.props.snackbar.toggle) {\n this.setState({ open: true });\n }\n };\n\n handleClose = () => {\n this.setState({ open: false });\n };\n\n render() {\n return (\n \n \n \n );\n }\n}\n\nconst AlertBar = connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(SnackbarCompoment));\n\nexport default AlertBar;\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { connect } from \"react-redux\";\nimport {\n LogoutVariant,\n HomeAccount,\n DesktopMacDashboard,\n AccountArrowRight,\n AccountPlus,\n} from \"mdi-material-ui\";\nimport {\n setSessionStatus,\n setUserPopover,\n toggleSnackbar,\n} from \"../../actions\";\nimport { withRouter } from \"react-router-dom\";\nimport Auth from \"../../middleware/Auth\";\nimport {\n withStyles,\n Avatar,\n Popover,\n Typography,\n Chip,\n ListItemIcon,\n MenuItem,\n Divider,\n} from \"@material-ui/core\";\nimport API from \"../../middleware/Api\";\nimport pathHelper from \"../../utils/page\";\n\nconst mapStateToProps = (state) => {\n return {\n anchorEl: state.viewUpdate.userPopoverAnchorEl,\n };\n};\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n setUserPopover: (anchor) => {\n dispatch(setUserPopover(anchor));\n },\n toggleSnackbar: (vertical, horizontal, msg, color) => {\n dispatch(toggleSnackbar(vertical, horizontal, msg, color));\n },\n setSessionStatus: (status) => {\n dispatch(setSessionStatus(status));\n },\n };\n};\nconst styles = () => ({\n avatar: {\n width: \"30px\",\n height: \"30px\",\n },\n header: {\n display: \"flex\",\n padding: \"20px 20px 20px 20px\",\n },\n largeAvatar: {\n height: \"90px\",\n width: \"90px\",\n },\n info: {\n marginLeft: \"10px\",\n width: \"139px\",\n },\n badge: {\n marginTop: \"10px\",\n },\n visitorMenu: {\n width: 200,\n },\n});\n\nclass UserAvatarPopoverCompoment extends Component {\n handleClose = () => {\n this.props.setUserPopover(null);\n };\n\n openURL = (url) => {\n window.location.href = url;\n };\n\n sigOut = () => {\n API.delete(\"/user/session/\")\n .then(() => {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n \"您已退出登录\",\n \"success\"\n );\n Auth.signout();\n window.location.reload();\n this.props.setSessionStatus(false);\n })\n .catch((error) => {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n error.message,\n \"warning\"\n );\n })\n .then(() => {\n this.handleClose();\n });\n };\n\n render() {\n const { classes } = this.props;\n const user = Auth.GetUser();\n const isAdminPage = pathHelper.isAdminPage(\n this.props.location.pathname\n );\n\n return (\n \n {!Auth.Check() && (\n
\n \n this.props.history.push(\"/login\")}\n >\n \n \n \n 登录\n \n this.props.history.push(\"/signup\")}\n >\n \n \n \n 注册\n \n
\n )}\n {Auth.Check() && (\n
\n
\n
\n \n
\n
\n {user.nickname}\n \n {user.user_name}\n \n \n
\n
\n
\n \n {!isAdminPage && (\n {\n this.handleClose();\n this.props.history.push(\n \"/profile/\" + user.id\n );\n }}\n >\n \n \n \n 个人主页\n \n )}\n {user.group.id === 1 && (\n {\n this.handleClose();\n this.props.history.push(\"/admin/home\");\n }}\n >\n \n \n \n 管理面板\n \n )}\n\n \n \n \n \n 退出登录\n \n
\n
\n )}\n \n );\n }\n}\n\nUserAvatarPopoverCompoment.propTypes = {\n classes: PropTypes.object.isRequired,\n};\n\nconst UserAvatarPopover = connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(UserAvatarPopoverCompoment)));\n\nexport default UserAvatarPopover;\n","import React, { useCallback } from \"react\";\nimport {\n Avatar,\n IconButton,\n ListItem,\n ListItemAvatar,\n ListItemText,\n makeStyles,\n} from \"@material-ui/core\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\nimport { Nas } from \"mdi-material-ui\";\nimport Popover from \"@material-ui/core/Popover\";\nimport API from \"../../middleware/Api\";\nimport { useDispatch } from \"react-redux\";\nimport { toggleSnackbar } from \"../../actions\";\nimport { Check } from \"@material-ui/icons\";\nimport Backup from \"@material-ui/icons/Backup\";\nimport { blue, green } from \"@material-ui/core/colors\";\nimport List from \"@material-ui/core/List\";\n\nconst useStyles = makeStyles(() => ({\n uploadFromFile: {\n backgroundColor: blue[100],\n color: blue[600],\n },\n policySelected: {\n backgroundColor: green[100],\n color: green[800],\n },\n}));\n\nconst PolicySwitcher = () => {\n const [anchorEl, setAnchorEl] = React.useState(null);\n const [policies, setPolicies] = React.useState({\n current: { id: \"\", name: \"\" },\n options: [],\n });\n\n const dispatch = useDispatch();\n const ToggleSnackbar = useCallback(\n (vertical, horizontal, msg, color) =>\n dispatch(toggleSnackbar(vertical, horizontal, msg, color)),\n [dispatch]\n );\n\n const handleClick = (event) => {\n if (policies.current.id === \"\") {\n API.get(\"/user/setting/policies\", {})\n .then((response) => {\n setPolicies(response.data);\n })\n .catch((error) => {\n ToggleSnackbar(\"top\", \"right\", error.message, \"error\");\n });\n }\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const switchTo = (id) => {\n if (id === policies.current.id) {\n handleClose();\n return;\n }\n API.patch(\"/user/setting/policy\", {\n id: id,\n })\n .then(() => {\n window.location.reload();\n })\n .catch((error) => {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n error.message,\n \"error\"\n );\n this.setState({\n loading: \"\",\n });\n });\n };\n\n const open = Boolean(anchorEl);\n const id = open ? \"simple-popover\" : undefined;\n\n const classes = useStyles();\n return (\n <>\n \n \n \n \n \n \n \n {policies.options.map((value, index) => (\n switchTo(value.id)}\n >\n \n {value.id === policies.current.id && (\n \n \n \n )}\n {value.id !== policies.current.id && (\n \n \n \n )}\n \n \n \n ))}\n \n \n \n );\n};\n\nexport default PolicySwitcher;\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { connect } from \"react-redux\";\nimport SettingIcon from \"@material-ui/icons/Settings\";\nimport UserAvatarPopover from \"./UserAvatarPopover\";\nimport { AccountCircle } from \"mdi-material-ui\";\nimport { setUserPopover } from \"../../actions\";\nimport Auth from \"../../middleware/Auth\";\nimport {\n withStyles,\n Grow,\n Avatar,\n IconButton,\n Tooltip,\n} from \"@material-ui/core\";\nimport { withRouter } from \"react-router-dom\";\nimport pathHelper from \"../../utils/page\";\nimport DarkModeSwitcher from \"./DarkModeSwitcher\";\nimport PolicySwitcher from \"./PolicySwitcher\";\nimport { Home } from \"@material-ui/icons\";\n\nconst mapStateToProps = (state) => {\n return {\n selected: state.explorer.selected,\n isMultiple: state.explorer.selectProps.isMultiple,\n withFolder: state.explorer.selectProps.withFolder,\n withFile: state.explorer.selectProps.withFile,\n isLogin: state.viewUpdate.isLogin,\n };\n};\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n setUserPopover: (anchor) => {\n dispatch(setUserPopover(anchor));\n },\n };\n};\n\nconst styles = (theme) => ({\n mobileHidden: {\n [theme.breakpoints.down(\"xs\")]: {\n display: \"none\",\n },\n whiteSpace: \"nowrap\",\n },\n avatar: {\n width: \"30px\",\n height: \"30px\",\n },\n header: {\n display: \"flex\",\n padding: \"20px 20px 20px 20px\",\n },\n largeAvatar: {\n height: \"90px\",\n width: \"90px\",\n },\n info: {\n marginLeft: \"10px\",\n width: \"139px\",\n },\n badge: {\n marginTop: \"10px\",\n },\n visitorMenu: {\n width: 200,\n },\n});\n\nclass UserAvatarCompoment extends Component {\n state = {\n anchorEl: null,\n };\n\n showUserInfo = (e) => {\n this.props.setUserPopover(e.currentTarget);\n };\n\n handleClose = () => {\n this.setState({\n anchorEl: null,\n });\n };\n\n openURL = (url) => {\n window.location.href = url;\n };\n\n returnHome = () => {\n window.location.href = \"/home\";\n };\n\n render() {\n const { classes } = this.props;\n const loginCheck = Auth.Check(this.props.isLogin);\n const user = Auth.GetUser(this.props.isLogin);\n const isAdminPage = pathHelper.isAdminPage(\n this.props.location.pathname\n );\n\n return (\n
\n \n
\n {!isAdminPage && (\n <>\n \n {loginCheck && (\n <>\n \n \n \n this.props.history.push(\n \"/setting?\"\n )\n }\n color=\"inherit\"\n >\n \n \n \n \n )}\n \n )}\n {isAdminPage && (\n \n \n \n \n \n )}\n \n {!loginCheck && }\n {loginCheck && (\n \n )}\n {\" \"}\n
\n \n \n
\n );\n }\n}\n\nUserAvatarCompoment.propTypes = {\n classes: PropTypes.object.isRequired,\n};\n\nconst UserAvatar = connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(UserAvatarCompoment)));\n\nexport default UserAvatar;\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\nimport { connect } from \"react-redux\";\nimport ShareIcon from \"@material-ui/icons/Share\";\nimport MusicNote from \"@material-ui/icons/MusicNote\";\nimport BackIcon from \"@material-ui/icons/ArrowBack\";\nimport SdStorage from \"@material-ui/icons/SdStorage\";\nimport OpenIcon from \"@material-ui/icons/OpenInNew\";\nimport DownloadIcon from \"@material-ui/icons/CloudDownload\";\nimport SupervisedUserCircle from \"@material-ui/icons/SupervisedUserCircle\";\nimport OpenFolderIcon from \"@material-ui/icons/FolderOpen\";\nimport RenameIcon from \"@material-ui/icons/BorderColor\";\nimport MoveIcon from \"@material-ui/icons/Input\";\nimport DeleteIcon from \"@material-ui/icons/Delete\";\nimport SaveIcon from \"@material-ui/icons/Save\";\nimport MenuIcon from \"@material-ui/icons/Menu\";\nimport { isPreviewable } from \"../../config\";\nimport {\n drawerToggleAction,\n setSelectedTarget,\n navigateTo,\n openCreateFolderDialog,\n changeContextMenu,\n searchMyFile,\n saveFile,\n openMusicDialog,\n showImgPreivew,\n toggleSnackbar,\n openMoveDialog,\n openRemoveDialog,\n openShareDialog,\n openRenameDialog,\n openLoadingDialog,\n setSessionStatus,\n openPreview,\n audioPreviewSetIsOpen,\n} from \"../../actions\";\nimport {\n allowSharePreview,\n checkGetParameters,\n changeThemeColor,\n} from \"../../utils\";\nimport Uploader from \"../Upload/Uploader.js\";\nimport { sizeToString, vhCheck } from \"../../utils\";\nimport pathHelper from \"../../utils/page\";\nimport SezrchBar from \"./SearchBar\";\nimport StorageBar from \"./StorageBar\";\nimport UserAvatar from \"./UserAvatar\";\nimport UserInfo from \"./UserInfo\";\nimport { AccountArrowRight, AccountPlus, LogoutVariant } from \"mdi-material-ui\";\nimport { withRouter } from \"react-router-dom\";\nimport {\n AppBar,\n Toolbar,\n Typography,\n withStyles,\n withTheme,\n Drawer,\n SwipeableDrawer,\n IconButton,\n Hidden,\n ListItem,\n ListItemIcon,\n ListItemText,\n List,\n Grow,\n Tooltip,\n} from \"@material-ui/core\";\nimport Auth from \"../../middleware/Auth\";\nimport API from \"../../middleware/Api\";\nimport FileTag from \"./FileTags\";\nimport { Assignment, Devices, MoreHoriz, Settings } from \"@material-ui/icons\";\nimport Divider from \"@material-ui/core/Divider\";\nimport SubActions from \"../FileManager/Navigator/SubActions\";\n\nvhCheck();\nconst drawerWidth = 240;\nconst drawerWidthMobile = 270;\n\nconst mapStateToProps = (state) => {\n return {\n desktopOpen: state.viewUpdate.open,\n selected: state.explorer.selected,\n isMultiple: state.explorer.selectProps.isMultiple,\n withFolder: state.explorer.selectProps.withFolder,\n withFile: state.explorer.selectProps.withFile,\n path: state.navigator.path,\n keywords: state.explorer.keywords,\n title: state.siteConfig.title,\n subTitle: state.viewUpdate.subTitle,\n loadUploader: state.viewUpdate.loadUploader,\n isLogin: state.viewUpdate.isLogin,\n audioPreviewPlayingName:state.explorer.audioPreview.playingName,\n audioPreviewIsOpen:state.explorer.audioPreview.isOpen,\n };\n};\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n handleDesktopToggle: (open) => {\n dispatch(drawerToggleAction(open));\n },\n setSelectedTarget: (targets) => {\n dispatch(setSelectedTarget(targets));\n },\n navigateTo: (path) => {\n dispatch(navigateTo(path));\n },\n openCreateFolderDialog: () => {\n dispatch(openCreateFolderDialog());\n },\n changeContextMenu: (type, open) => {\n dispatch(changeContextMenu(type, open));\n },\n searchMyFile: (keywords) => {\n dispatch(searchMyFile(keywords));\n },\n saveFile: () => {\n dispatch(saveFile());\n },\n openMusicDialog: () => {\n dispatch(openMusicDialog());\n },\n showImgPreivew: (first) => {\n dispatch(showImgPreivew(first));\n },\n toggleSnackbar: (vertical, horizontal, msg, color) => {\n dispatch(toggleSnackbar(vertical, horizontal, msg, color));\n },\n openRenameDialog: () => {\n dispatch(openRenameDialog());\n },\n openMoveDialog: () => {\n dispatch(openMoveDialog());\n },\n openRemoveDialog: () => {\n dispatch(openRemoveDialog());\n },\n openShareDialog: () => {\n dispatch(openShareDialog());\n },\n openLoadingDialog: (text) => {\n dispatch(openLoadingDialog(text));\n },\n setSessionStatus: () => {\n dispatch(setSessionStatus());\n },\n openPreview: () => {\n dispatch(openPreview());\n },\n audioPreviewOpen: () => {\n dispatch(audioPreviewSetIsOpen(true));\n },\n };\n};\n\nconst styles = (theme) => ({\n appBar: {\n marginLeft: drawerWidth,\n [theme.breakpoints.down(\"xs\")]: {\n marginLeft: drawerWidthMobile,\n },\n zIndex: theme.zIndex.drawer + 1,\n transition: \" background-color 250ms\",\n },\n\n drawer: {\n width: 0,\n flexShrink: 0,\n },\n drawerDesktop: {\n width: drawerWidth,\n flexShrink: 0,\n },\n icon: {\n marginRight: theme.spacing(2),\n },\n menuButton: {\n marginRight: 20,\n [theme.breakpoints.up(\"sm\")]: {\n display: \"none\",\n },\n },\n menuButtonDesktop: {\n marginRight: 20,\n [theme.breakpoints.down(\"sm\")]: {\n display: \"none\",\n },\n },\n menuIcon: {\n marginRight: 20,\n },\n toolbar: theme.mixins.toolbar,\n drawerPaper: {\n width: drawerWidthMobile,\n },\n drawerPaperDesktop: {\n width: drawerWidth,\n },\n upDrawer: {\n overflowX: \"hidden\",\n },\n drawerOpen: {\n width: drawerWidth,\n transition: theme.transitions.create(\"width\", {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.enteringScreen,\n }),\n },\n drawerClose: {\n transition: theme.transitions.create(\"width\", {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n overflowX: \"hidden\",\n width: 0,\n },\n content: {\n flexGrow: 1,\n padding: theme.spacing(3),\n },\n grow: {\n flexGrow: 1,\n },\n badge: {\n top: 1,\n right: -15,\n },\n nested: {\n paddingLeft: theme.spacing(4),\n },\n sectionForFile: {\n display: \"flex\",\n },\n extendedIcon: {\n marginRight: theme.spacing(1),\n },\n addButton: {\n marginLeft: \"40px\",\n marginTop: \"25px\",\n marginBottom: \"15px\",\n },\n fabButton: {\n borderRadius: \"100px\",\n },\n badgeFix: {\n right: \"10px\",\n },\n iconFix: {\n marginLeft: \"16px\",\n },\n dividerFix: {\n marginTop: \"8px\",\n },\n folderShareIcon: {\n verticalAlign: \"sub\",\n marginRight: \"5px\",\n },\n shareInfoContainer: {\n display: \"flex\",\n marginTop: \"15px\",\n marginBottom: \"20px\",\n marginLeft: \"28px\",\n textDecoration: \"none\",\n },\n shareAvatar: {\n width: \"40px\",\n height: \"40px\",\n },\n stickFooter: {\n bottom: \"0px\",\n position: \"absolute\",\n backgroundColor: theme.palette.background.paper,\n width: \"100%\",\n },\n ownerInfo: {\n marginLeft: \"10px\",\n width: \"150px\",\n },\n minStickDrawer: {\n overflowY: \"auto\",\n [theme.breakpoints.up(\"sm\")]: {\n height: \"calc(var(--vh, 100vh) - 145px)\",\n },\n\n [theme.breakpoints.down(\"sm\")]: {\n minHeight: \"calc(var(--vh, 100vh) - 360px)\",\n },\n },\n});\nclass NavbarCompoment extends Component {\n constructor(props) {\n super(props);\n this.state = {\n mobileOpen: false,\n };\n this.UploaderRef = React.createRef();\n }\n\n UNSAFE_componentWillMount() {\n this.unlisten = this.props.history.listen(() => {\n this.setState(() => ({ mobileOpen: false }));\n });\n }\n componentWillUnmount() {\n this.unlisten();\n }\n\n componentDidMount = () => {\n changeThemeColor(\n this.props.selected.length <= 1 &&\n !(!this.props.isMultiple && this.props.withFile)\n ? this.props.theme.palette.primary.main\n : this.props.theme.palette.background.default\n );\n };\n\n UNSAFE_componentWillReceiveProps = (nextProps) => {\n if (\n (this.props.selected.length <= 1 &&\n !(!this.props.isMultiple && this.props.withFile)) !==\n (nextProps.selected.length <= 1 &&\n !(!nextProps.isMultiple && nextProps.withFile))\n ) {\n changeThemeColor(\n !(\n this.props.selected.length <= 1 &&\n !(!this.props.isMultiple && this.props.withFile)\n )\n ? this.props.theme.palette.type === \"dark\"\n ? this.props.theme.palette.background.default\n : this.props.theme.palette.primary.main\n : this.props.theme.palette.background.default\n );\n }\n };\n\n handleDrawerToggle = () => {\n this.setState((state) => ({ mobileOpen: !state.mobileOpen }));\n };\n\n loadUploader = () => {\n if (pathHelper.isHomePage(this.props.location.pathname)) {\n return (\n <>\n {this.props.loadUploader && this.props.isLogin && (\n \n )}\n \n );\n }\n };\n\n openDownload = () => {\n if (!allowSharePreview()) {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n \"未登录用户无法预览\",\n \"warning\"\n );\n return;\n }\n this.props.openLoadingDialog(\"获取下载地址...\");\n };\n\n archiveDownload = () => {\n this.props.openLoadingDialog(\"打包中...\");\n };\n\n signOut = () => {\n API.delete(\"/user/session/\")\n .then(() => {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n \"您已退出登录\",\n \"success\"\n );\n Auth.signout();\n window.location.reload();\n this.props.setSessionStatus(false);\n })\n .catch((error) => {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n error.message,\n \"warning\"\n );\n })\n .finally(() => {\n this.handleClose();\n });\n };\n\n render() {\n const { classes } = this.props;\n const user = Auth.GetUser(this.props.isLogin);\n const isHomePage = pathHelper.isHomePage(this.props.location.pathname);\n const isSharePage = pathHelper.isSharePage(\n this.props.location.pathname\n );\n\n const drawer = (\n
\n {pathHelper.isMobile() && }\n\n {Auth.Check(this.props.isLogin) && (\n <>\n
\n \n \n\n \n this.props.history.push(\"/buy?\")\n }\n >\n \n \n \n \n \n\n \n this.props.history.push(\"/shares?\")\n }\n >\n \n \n \n \n \n \n this.props.history.push(\"/aria2?\")\n }\n >\n \n \n \n \n \n \n this.props.history.push(\"/quota?\")\n }\n >\n \n \n \n \n \n {user.group.webdav && (\n \n this.props.history.push(\"/webdav?\")\n }\n >\n \n \n \n \n \n )}\n\n \n this.props.history.push(\"/tasks?\")\n }\n >\n \n \n \n \n \n \n
\n\n {pathHelper.isMobile() && (\n <>\n \n \n \n this.props.history.push(\"/setting?\")\n }\n >\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n )}\n
\n \n
\n \n )}\n\n {!Auth.Check(this.props.isLogin) && (\n
\n this.props.history.push(\"/login\")}\n >\n \n \n \n \n \n this.props.history.push(\"/signup\")}\n >\n \n \n \n \n \n
\n )}\n
\n );\n const iOS =\n process.browser && /iPad|iPhone|iPod/.test(navigator.userAgent);\n return (\n
\n \n \n {this.props.selected.length <= 1 &&\n !(\n !this.props.isMultiple && this.props.withFile\n ) && (\n \n \n \n )}\n {this.props.selected.length <= 1 &&\n !(\n !this.props.isMultiple && this.props.withFile\n ) && (\n \n this.props.handleDesktopToggle(\n !this.props.desktopOpen\n )\n }\n className={classes.menuButtonDesktop}\n >\n \n \n )}\n {(this.props.selected.length > 1 ||\n (!this.props.isMultiple && this.props.withFile)) &&\n (isHomePage ||\n pathHelper.isSharePage(\n this.props.location.pathname\n )) && (\n 1 ||\n (!this.props.isMultiple &&\n this.props.withFile)\n }\n >\n \n this.props.setSelectedTarget([])\n }\n >\n \n \n \n )}\n {this.props.selected.length <= 1 &&\n !(\n !this.props.isMultiple && this.props.withFile\n ) && (\n {\n this.props.history.push(\"/\");\n }}\n >\n {this.props.subTitle\n ? this.props.subTitle\n : this.props.title}\n \n )}\n\n {!this.props.isMultiple &&\n this.props.withFile &&\n !pathHelper.isMobile() && (\n \n {this.props.selected[0].name}{\" \"}\n {(isHomePage ||\n pathHelper.isSharePage(\n this.props.location.pathname\n )) &&\n \"(\" +\n sizeToString(\n this.props.selected[0].size\n ) +\n \")\"}\n \n )}\n\n {this.props.selected.length > 1 &&\n !pathHelper.isMobile() && (\n \n {this.props.selected.length}个对象\n \n )}\n {this.props.selected.length <= 1 &&\n !(\n !this.props.isMultiple && this.props.withFile\n ) && }\n
\n {(this.props.selected.length > 1 ||\n (!this.props.isMultiple && this.props.withFile)) &&\n !isHomePage &&\n !pathHelper.isSharePage(\n this.props.location.pathname\n ) &&\n Auth.Check(this.props.isLogin) &&\n !checkGetParameters(\"share\") && (\n
\n \n \n this.props.saveFile()\n }\n >\n \n \n \n
\n )}\n {(this.props.selected.length > 1 ||\n (!this.props.isMultiple && this.props.withFile)) &&\n (isHomePage || isSharePage) && (\n
\n {!this.props.isMultiple &&\n this.props.withFile &&\n isPreviewable(\n this.props.selected[0].name\n ) && (\n \n \n \n this.props.openPreview()\n }\n >\n \n \n \n \n )}\n {!this.props.isMultiple &&\n this.props.withFile && (\n \n \n \n this.openDownload()\n }\n >\n \n \n \n \n )}\n {(this.props.isMultiple ||\n this.props.withFolder) &&\n user.group.allowArchiveDownload && (\n \n \n \n this.archiveDownload()\n }\n >\n \n \n \n \n )}\n\n {!this.props.isMultiple &&\n this.props.withFolder && (\n \n \n \n this.props.navigateTo(\n this.props\n .path ===\n \"/\"\n ? this.props\n .path +\n this\n .props\n .selected[0]\n .name\n : this.props\n .path +\n \"/\" +\n this\n .props\n .selected[0]\n .name\n )\n }\n >\n \n \n \n \n )}\n {!this.props.isMultiple &&\n !pathHelper.isMobile() &&\n !isSharePage && (\n \n \n \n this.props.openShareDialog()\n }\n >\n \n \n \n \n )}\n {!this.props.isMultiple && !isSharePage && (\n \n \n \n this.props.openRenameDialog()\n }\n >\n \n \n \n \n )}\n {!isSharePage && (\n
\n {!pathHelper.isMobile() && (\n \n \n \n this.props.openMoveDialog()\n }\n >\n \n \n \n \n )}\n\n \n \n \n this.props.openRemoveDialog()\n }\n >\n \n \n \n \n\n {pathHelper.isMobile() && (\n \n \n \n this.props.changeContextMenu(\n \"file\",\n true\n )\n }\n >\n \n \n \n \n )}\n
\n )}\n
\n )}\n {this.props.selected.length <= 1 &&\n !(\n !this.props.isMultiple && this.props.withFile\n ) && this.props.audioPreviewPlayingName!=null && (\n \n \n \n )}\n\n {this.props.selected.length <= 1 &&\n !(\n !this.props.isMultiple && this.props.withFile\n ) && }\n {this.props.selected.length <= 1 &&\n !(!this.props.isMultiple && this.props.withFile) &&\n isHomePage &&\n pathHelper.isMobile() && }\n \n \n {this.loadUploader()}\n\n \n \n this.setState(() => ({ mobileOpen: true }))\n }\n disableDiscovery={iOS}\n ModalProps={{\n keepMounted: true, // Better open performance on mobile.\n }}\n >\n {drawer}\n \n \n \n \n
\n {drawer}\n \n \n
\n );\n }\n}\nNavbarCompoment.propTypes = {\n classes: PropTypes.object.isRequired,\n theme: PropTypes.object.isRequired,\n};\n\nconst Navbar = connect(\n mapStateToProps,\n mapDispatchToProps\n)(withTheme(withStyles(styles)(withRouter(NavbarCompoment))));\n\nexport default Navbar;\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport { fade } from \"@material-ui/core/styles/colorManipulator\";\nimport FileIcon from \"@material-ui/icons/InsertDriveFile\";\nimport ShareIcon from \"@material-ui/icons/Share\";\nimport { connect } from \"react-redux\";\nimport { searchMyFile } from \"../../actions\";\n\nimport {\n withStyles,\n InputBase,\n Popper,\n Fade,\n Paper,\n MenuItem,\n ListItemIcon,\n ListItemText,\n Typography,\n} from \"@material-ui/core\";\nimport { withRouter } from \"react-router\";\nimport pathHelper from \"../../utils/page\";\nimport { HotKeys, configure } from \"react-hotkeys\";\n\nconfigure({\n ignoreTags: [],\n});\n\nconst mapStateToProps = () => {\n return {};\n};\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n searchMyFile: (keywords) => {\n dispatch(searchMyFile(keywords));\n },\n };\n};\n\nconst styles = (theme) => ({\n search: {\n [theme.breakpoints.down(\"sm\")]: {\n display: \"none\",\n },\n position: \"relative\",\n borderRadius: theme.shape.borderRadius,\n backgroundColor: fade(theme.palette.common.white, 0.15),\n \"&:hover\": {\n backgroundColor: fade(theme.palette.common.white, 0.25),\n },\n marginRight: theme.spacing(2),\n marginLeft: 0,\n width: \"100%\",\n [theme.breakpoints.up(\"sm\")]: {\n marginLeft: theme.spacing(7.2),\n width: \"auto\",\n },\n },\n searchIcon: {\n width: theme.spacing(9),\n height: \"100%\",\n position: \"absolute\",\n pointerEvents: \"none\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n inputRoot: {\n color: \"inherit\",\n width: \"100%\",\n },\n inputInput: {\n paddingTop: theme.spacing(1),\n paddingRight: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n paddingLeft: theme.spacing(7),\n transition: theme.transitions.create(\"width\"),\n width: \"100%\",\n [theme.breakpoints.up(\"md\")]: {\n width: 200,\n \"&:focus\": {\n width: 300,\n },\n },\n },\n suggestBox: {\n zIndex: \"9999\",\n width: 364,\n },\n});\n\nconst keyMap = {\n SEARCH: \"enter\",\n};\n\nclass SearchBarCompoment extends Component {\n constructor(props) {\n super(props);\n this.state = {\n anchorEl: null,\n input: \"\",\n };\n }\n\n handlers = {\n SEARCH: (e) => {\n if (pathHelper.isHomePage(this.props.location.pathname)) {\n this.searchMyFile();\n } else {\n this.searchShare();\n }\n e.target.blur();\n },\n };\n\n handleChange = (event) => {\n const { currentTarget } = event;\n this.input = event.target.value;\n this.setState({\n anchorEl: currentTarget,\n input: event.target.value,\n });\n };\n\n cancelSuggest = () => {\n this.setState({\n input: \"\",\n });\n };\n\n searchMyFile = () => {\n this.props.searchMyFile(\"keywords/\" + this.input);\n };\n\n searchShare = () => {\n this.props.history.push(\n \"/search?keywords=\" + encodeURIComponent(this.input)\n );\n };\n\n render() {\n const { classes } = this.props;\n const { anchorEl } = this.state;\n const id = this.state.input !== \"\" ? \"simple-popper\" : null;\n const isHomePage = pathHelper.isHomePage(this.props.location.pathname);\n\n return (\n
\n
\n \n
\n \n \n \n \n {({ TransitionProps }) => (\n \n \n {isHomePage && (\n \n \n \n \n \n 在我的文件中搜索{\" \"}\n \n {this.state.input}\n \n \n }\n />\n \n )}\n\n \n \n \n \n \n 在全站分享中搜索{\" \"}\n \n {this.state.input}\n \n \n }\n />\n \n \n \n )}\n \n
\n );\n }\n}\n\nSearchBarCompoment.propTypes = {\n classes: PropTypes.object.isRequired,\n};\n\nconst SearchBar = connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(SearchBarCompoment)));\n\nexport default SearchBar;\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport StorageIcon from \"@material-ui/icons/Storage\";\nimport { connect } from \"react-redux\";\nimport API from \"../../middleware/Api\";\nimport { sizeToString } from \"../../utils\";\nimport { toggleSnackbar } from \"../../actions\";\n\nimport {\n withStyles,\n LinearProgress,\n Typography,\n Divider,\n Tooltip,\n} from \"@material-ui/core\";\nimport ButtonBase from \"@material-ui/core/ButtonBase\";\nimport Link from \"@material-ui/core/Link\";\nimport { withRouter } from \"react-router\";\n\nconst mapStateToProps = (state) => {\n return {\n refresh: state.viewUpdate.storageRefresh,\n isLogin: state.viewUpdate.isLogin,\n };\n};\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n toggleSnackbar: (vertical, horizontal, msg, color) => {\n dispatch(toggleSnackbar(vertical, horizontal, msg, color));\n },\n };\n};\n\nconst styles = (theme) => ({\n iconFix: {\n marginLeft: \"32px\",\n marginRight: \"17px\",\n color: theme.palette.text.secondary,\n marginTop: \"2px\",\n },\n textFix: {\n padding: \" 0 0 0 16px\",\n },\n storageContainer: {\n display: \"flex\",\n marginTop: \"15px\",\n textAlign: \"left\",\n marginBottom: \"11px\",\n },\n detail: {\n width: \"100%\",\n marginRight: \"35px\",\n },\n info: {\n width: \"131px\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n [theme.breakpoints.down(\"xs\")]: {\n width: \"162px\",\n },\n marginTop: \"5px\",\n },\n bar: {\n marginTop: \"5px\",\n },\n stickFooter: {\n backgroundColor: theme.palette.background.paper,\n },\n});\n\nclass StorageBarCompoment extends Component {\n state = {\n percent: 0,\n used: null,\n total: null,\n showExpand: false,\n };\n\n firstLoad = true;\n\n componentDidMount = () => {\n if (this.firstLoad && this.props.isLogin) {\n this.firstLoad = !this.firstLoad;\n this.updateStatus();\n }\n };\n\n componentWillUnmount() {\n this.firstLoad = false;\n }\n\n UNSAFE_componentWillReceiveProps = (nextProps) => {\n if (\n (this.props.isLogin && this.props.refresh !== nextProps.refresh) ||\n (this.props.isLogin !== nextProps.isLogin && nextProps.isLogin)\n ) {\n this.updateStatus();\n }\n };\n\n updateStatus = () => {\n let percent = 0;\n API.get(\"/user/storage\")\n .then((response) => {\n if (response.data.used / response.data.total >= 1) {\n percent = 100;\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n \"您的已用容量已超过容量配额,请尽快删除多余文件或购买容量\",\n \"warning\"\n );\n } else {\n percent = (response.data.used / response.data.total) * 100;\n }\n this.setState({\n percent: percent,\n used: sizeToString(response.data.used),\n total: sizeToString(response.data.total),\n });\n })\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n .catch(() => {});\n };\n\n render() {\n const { classes } = this.props;\n return (\n this.setState({ showExpand: true })}\n onMouseLeave={() => this.setState({ showExpand: false })}\n className={classes.stickFooter}\n >\n \n this.props.history.push(\"/quota\")}>\n
\n \n
\n 存储空间{\" \"}\n {this.state.showExpand && (\n \n 扩容\n \n )}\n \n
\n \n \n {this.state.used === null\n ? \" -- \"\n : this.state.used}\n {\" / \"}\n {this.state.total === null\n ? \" -- \"\n : this.state.total}\n \n \n
\n
\n
\n
\n
\n );\n }\n}\n\nStorageBarCompoment.propTypes = {\n classes: PropTypes.object.isRequired,\n};\n\nconst StorageBar = connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(StorageBarCompoment)));\n\nexport default StorageBar;\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { connect } from \"react-redux\";\nimport { setUserPopover } from \"../../actions\";\nimport { withStyles, Typography } from \"@material-ui/core\";\nimport Auth from \"../../middleware/Auth\";\nimport DarkModeSwitcher from \"./DarkModeSwitcher\";\nimport Avatar from \"@material-ui/core/Avatar\";\n\nconst mapStateToProps = (state) => {\n return {\n isLogin: state.viewUpdate.isLogin,\n };\n};\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n setUserPopover: (anchor) => {\n dispatch(setUserPopover(anchor));\n },\n };\n};\n\nconst styles = (theme) => ({\n userNav: {\n height: \"170px\",\n backgroundColor: theme.palette.primary.main,\n padding: \"20px 20px 2em\",\n backgroundImage:\n \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 900'%3E%3Cpolygon fill='\" +\n theme.palette.primary.light.replace(\"#\", \"%23\") +\n \"' points='957 450 539 900 1396 900'/%3E%3Cpolygon fill='\" +\n theme.palette.primary.dark.replace(\"#\", \"%23\") +\n \"' points='957 450 872.9 900 1396 900'/%3E%3Cpolygon fill='\" +\n theme.palette.secondary.main.replace(\"#\", \"%23\") +\n \"' points='-60 900 398 662 816 900'/%3E%3Cpolygon fill='\" +\n theme.palette.secondary.dark.replace(\"#\", \"%23\") +\n \"' points='337 900 398 662 816 900'/%3E%3Cpolygon fill='\" +\n theme.palette.secondary.light.replace(\"#\", \"%23\") +\n \"' points='1203 546 1552 900 876 900'/%3E%3Cpolygon fill='\" +\n theme.palette.secondary.main.replace(\"#\", \"%23\") +\n \"' points='1203 546 1552 900 1162 900'/%3E%3Cpolygon fill='\" +\n theme.palette.primary.dark.replace(\"#\", \"%23\") +\n \"' points='641 695 886 900 367 900'/%3E%3Cpolygon fill='\" +\n theme.palette.primary.main.replace(\"#\", \"%23\") +\n \"' points='587 900 641 695 886 900'/%3E%3Cpolygon fill='\" +\n theme.palette.secondary.light.replace(\"#\", \"%23\") +\n \"' points='1710 900 1401 632 1096 900'/%3E%3Cpolygon fill='\" +\n theme.palette.secondary.dark.replace(\"#\", \"%23\") +\n \"' points='1710 900 1401 632 1365 900'/%3E%3Cpolygon fill='\" +\n theme.palette.secondary.main.replace(\"#\", \"%23\") +\n \"' points='1210 900 971 687 725 900'/%3E%3Cpolygon fill='\" +\n theme.palette.secondary.dark.replace(\"#\", \"%23\") +\n \"' points='943 900 1210 900 971 687'/%3E%3C/svg%3E\\\")\",\n backgroundSize: \"cover\",\n },\n avatar: {\n display: \"block\",\n width: \"70px\",\n height: \"70px\",\n border: \" 2px solid #fff\",\n borderRadius: \"50%\",\n overflow: \"hidden\",\n boxShadow:\n \"0 2px 5px 0 rgba(0,0,0,0.16), 0 2px 10px 0 rgba(0,0,0,0.12)\",\n },\n avatarImg: {\n width: \"66px\",\n height: \"66px\",\n },\n nickName: {\n color: \"#fff\",\n marginLeft: \"10px\",\n marginTop: \"15px\",\n fontSize: \"17px\",\n },\n flexAvatar: {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"end\",\n },\n groupName: {\n marginLeft: \"10px\",\n color: \"#ffffff\",\n opacity: \"0.54\",\n },\n storageCircle: {\n width: \"200px\",\n },\n});\n\nclass UserInfoCompoment extends Component {\n showUserInfo = (e) => {\n this.props.setUserPopover(e.currentTarget);\n };\n\n render() {\n const { classes } = this.props;\n const isLogin = Auth.Check(this.props.isLogin);\n const user = Auth.GetUser(this.props.isLogin);\n\n return (\n
\n
\n {/* eslint-disable-next-line */}\n \n {isLogin && (\n \n )}\n {!isLogin && (\n \n )}\n \n \n
\n
\n \n {isLogin ? user.nickname : \"未登录\"}\n \n \n {isLogin ? user.group.name : \"游客\"}\n \n
\n
\n );\n }\n}\n\nUserInfoCompoment.propTypes = {\n classes: PropTypes.object.isRequired,\n};\n\nconst UserInfo = connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(UserInfoCompoment));\n\nexport default UserInfo;\n","import React, { useCallback, useState, Suspense } from \"react\";\nimport {\n Divider,\n List,\n ListItem,\n ListItemIcon,\n ListItemText,\n makeStyles,\n withStyles,\n} from \"@material-ui/core\";\nimport { Clear, KeyboardArrowRight } from \"@material-ui/icons\";\nimport classNames from \"classnames\";\nimport FolderShared from \"@material-ui/icons/FolderShared\";\nimport UploadIcon from \"@material-ui/icons/CloudUpload\";\nimport VideoIcon from \"@material-ui/icons/VideoLibraryOutlined\";\nimport ImageIcon from \"@material-ui/icons/CollectionsOutlined\";\nimport MusicIcon from \"@material-ui/icons/LibraryMusicOutlined\";\nimport DocIcon from \"@material-ui/icons/FileCopyOutlined\";\nimport { useHistory, useLocation } from \"react-router\";\nimport pathHelper from \"../../utils/page\";\nimport MuiExpansionPanel from \"@material-ui/core/ExpansionPanel\";\nimport MuiExpansionPanelSummary from \"@material-ui/core/ExpansionPanelSummary\";\nimport MuiExpansionPanelDetails from \"@material-ui/core/ExpansionPanelDetails\";\nimport { navigateTo, searchMyFile, toggleSnackbar } from \"../../actions\";\nimport { useDispatch } from \"react-redux\";\nimport Auth from \"../../middleware/Auth\";\nimport {\n Circle,\n CircleOutline,\n Heart,\n HeartOutline,\n Hexagon,\n HexagonOutline,\n Hexagram,\n HexagramOutline,\n Rhombus,\n RhombusOutline,\n Square,\n SquareOutline,\n Triangle,\n TriangleOutline,\n FolderHeartOutline,\n TagPlus,\n} from \"mdi-material-ui\";\nimport ListItemSecondaryAction from \"@material-ui/core/ListItemSecondaryAction\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport API from \"../../middleware/Api\";\n\nconst ExpansionPanel = withStyles({\n root: {\n maxWidth: \"100%\",\n boxShadow: \"none\",\n \"&:not(:last-child)\": {\n borderBottom: 0,\n },\n \"&:before\": {\n display: \"none\",\n },\n \"&$expanded\": { margin: 0 },\n },\n expanded: {},\n})(MuiExpansionPanel);\n\nconst ExpansionPanelSummary = withStyles({\n root: {\n minHeight: 0,\n padding: 0,\n\n \"&$expanded\": {\n minHeight: 0,\n },\n },\n content: {\n maxWidth: \"100%\",\n margin: 0,\n display: \"block\",\n \"&$expanded\": {\n margin: \"0\",\n },\n },\n expanded: {},\n})(MuiExpansionPanelSummary);\n\nconst ExpansionPanelDetails = withStyles((theme) => ({\n root: {\n display: \"block\",\n padding: theme.spacing(0),\n },\n}))(MuiExpansionPanelDetails);\n\nconst useStyles = makeStyles((theme) => ({\n expand: {\n display: \"none\",\n transition: \".15s all ease-in-out\",\n },\n expanded: {\n display: \"block\",\n transform: \"rotate(90deg)\",\n },\n iconFix: {\n marginLeft: \"16px\",\n },\n hiddenButton: {\n display: \"none\",\n },\n subMenu: {\n marginLeft: theme.spacing(2),\n },\n overFlow: {\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n },\n}));\n\nconst icons = {\n Circle: Circle,\n CircleOutline: CircleOutline,\n Heart: Heart,\n HeartOutline: HeartOutline,\n Hexagon: Hexagon,\n HexagonOutline: HexagonOutline,\n Hexagram: Hexagram,\n HexagramOutline: HexagramOutline,\n Rhombus: Rhombus,\n RhombusOutline: RhombusOutline,\n Square: Square,\n SquareOutline: SquareOutline,\n Triangle: Triangle,\n TriangleOutline: TriangleOutline,\n FolderHeartOutline: FolderHeartOutline,\n};\n\nconst AddTag = React.lazy(() => import(\"../Modals/AddTag\"));\n\nexport default function FileTag() {\n const classes = useStyles();\n\n const location = useLocation();\n const history = useHistory();\n\n const isHomePage = pathHelper.isHomePage(location.pathname);\n\n const [tagOpen, setTagOpen] = useState(true);\n const [addTagModal, setAddTagModal] = useState(false);\n const [tagHover, setTagHover] = useState(null);\n const [tags, setTags] = useState(\n Auth.GetUser().tags ? Auth.GetUser().tags : []\n );\n\n const dispatch = useDispatch();\n const SearchMyFile = useCallback((k) => dispatch(searchMyFile(k)), [\n dispatch,\n ]);\n const NavigateTo = useCallback((k) => dispatch(navigateTo(k)), [dispatch]);\n\n const ToggleSnackbar = useCallback(\n (vertical, horizontal, msg, color) =>\n dispatch(toggleSnackbar(vertical, horizontal, msg, color)),\n [dispatch]\n );\n\n const getIcon = (icon, color) => {\n if (icons[icon]) {\n const IconComponent = icons[icon];\n return (\n \n );\n }\n return ;\n };\n\n const submitSuccess = (tag) => {\n const newTags = [...tags, tag];\n setTags(newTags);\n const user = Auth.GetUser();\n user.tags = newTags;\n Auth.SetUser(user);\n };\n\n const submitDelete = (id) => {\n API.delete(\"/tag/\" + id)\n .then(() => {\n const newTags = tags.filter((v) => {\n return v.id !== id;\n });\n setTags(newTags);\n const user = Auth.GetUser();\n user.tags = newTags;\n Auth.SetUser(user);\n })\n .catch((error) => {\n ToggleSnackbar(\"top\", \"right\", error.message, \"error\");\n });\n };\n\n return (\n <>\n \n setAddTagModal(false)}\n />\n \n isHomePage && setTagOpen(!tagOpen)}\n >\n \n \n !isHomePage && history.push(\"/home?path=%2F\")\n }\n >\n \n \n {!(tagOpen && isHomePage) && (\n \n )}\n \n \n \n \n \n\n \n setTagHover(null)}>\n \n \n \n \n \n \n \n \n \n \n \n \n {[\n {\n key: \"视频\",\n id: \"video\",\n icon: (\n \n ),\n },\n {\n key: \"图片\",\n id: \"image\",\n icon: (\n \n ),\n },\n {\n key: \"音频\",\n id: \"audio\",\n icon: (\n \n ),\n },\n {\n key: \"文档\",\n id: \"doc\",\n icon: (\n \n ),\n },\n ].map((v) => (\n SearchMyFile(v.id + \"/internal\")}\n >\n \n {v.icon}\n \n \n \n ))}\n {tags.map((v) => (\n setTagHover(v.id)}\n onClick={() => {\n if (v.type === 0) {\n SearchMyFile(\"tag/\" + v.id);\n } else {\n NavigateTo(v.expression);\n }\n }}\n >\n \n {getIcon(\n v.type === 0\n ? v.icon\n : \"FolderHeartOutline\",\n v.type === 0 ? v.color : null\n )}\n \n \n\n {tagHover === v.id && (\n submitDelete(v.id)}\n >\n \n \n \n \n )}\n \n ))}\n\n setAddTagModal(true)}>\n \n \n \n \n \n {\" \"}\n \n \n \n \n );\n}\n","import { isMac } from \"../utils\";\nimport pathHelper from \"../utils/page\";\nimport Auth from \"../middleware/Auth\";\nimport {\n changeContextMenu,\n openLoadingDialog,\n showImgPreivew,\n toggleSnackbar,\n showAudioPreview,\n} from \"./index\";\nimport { isPreviewable } from \"../config\";\nimport { push } from \"connected-react-router\";\n\nexport const removeSelectedTargets = (fileIds) => {\n return {\n type: \"RMOVE_SELECTED_TARGETS\",\n fileIds,\n };\n};\n\nexport const addSelectedTargets = (targets) => {\n return {\n type: \"ADD_SELECTED_TARGETS\",\n targets,\n };\n};\n\nexport const setSelectedTarget = (targets) => {\n return {\n type: \"SET_SELECTED_TARGET\",\n targets,\n };\n};\n\nexport const setLastSelect = (file, index) => {\n return {\n type: \"SET_LAST_SELECT\",\n file,\n index,\n };\n};\n\nexport const setShiftSelectedIds = (shiftSelectedIds) => {\n return {\n type: \"SET_SHIFT_SELECTED_IDS\",\n shiftSelectedIds,\n };\n};\n\nexport const openPreview = () => {\n return (dispatch, getState) => {\n const {\n explorer: { selected },\n router: {\n location: { pathname },\n },\n } = getState();\n const isShare = pathHelper.isSharePage(pathname);\n if (isShare) {\n const user = Auth.GetUser();\n if (!Auth.Check() && user && !user.group.shareDownload) {\n dispatch(toggleSnackbar(\"top\", \"right\", \"请先登录\", \"warning\"));\n dispatch(changeContextMenu(\"file\", false));\n return;\n }\n }\n\n dispatch(changeContextMenu(\"file\", false));\n const previewPath =\n selected[0].path === \"/\"\n ? selected[0].path + selected[0].name\n : selected[0].path + \"/\" + selected[0].name;\n switch (isPreviewable(selected[0].name)) {\n case \"img\":\n dispatch(showImgPreivew(selected[0]));\n return;\n case \"msDoc\":\n if (isShare) {\n dispatch(\n push(\n selected[0].key +\n \"/doc?name=\" +\n encodeURIComponent(selected[0].name) +\n \"&share_path=\" +\n encodeURIComponent(previewPath)\n )\n );\n return;\n }\n dispatch(\n push(\n \"/doc?p=\" +\n encodeURIComponent(previewPath) +\n \"&id=\" +\n selected[0].id\n )\n );\n return;\n case \"audio\":\n //if (isShare) {\n // dispatch(openMusicDialog());\n //}else{\n dispatch(showAudioPreview(selected[0]));\n //}\n return;\n case \"video\":\n if (isShare) {\n dispatch(\n push(\n selected[0].key +\n \"/video?name=\" +\n encodeURIComponent(selected[0].name) +\n \"&share_path=\" +\n encodeURIComponent(previewPath)\n )\n );\n return;\n }\n dispatch(\n push(\n \"/video?p=\" +\n encodeURIComponent(previewPath) +\n \"&id=\" +\n selected[0].id\n )\n );\n return;\n case \"pdf\":\n if (isShare) {\n dispatch(\n push(\n selected[0].key +\n \"/pdf?name=\" +\n encodeURIComponent(selected[0].name) +\n \"&share_path=\" +\n encodeURIComponent(previewPath)\n )\n );\n return;\n }\n dispatch(\n push(\n \"/pdf?p=\" +\n encodeURIComponent(previewPath) +\n \"&id=\" +\n selected[0].id\n )\n );\n return;\n case \"edit\":\n if (isShare) {\n dispatch(\n push(\n selected[0].key +\n \"/text?name=\" +\n encodeURIComponent(selected[0].name) +\n \"&share_path=\" +\n encodeURIComponent(previewPath)\n )\n );\n return;\n }\n dispatch(\n push(\n \"/text?p=\" +\n encodeURIComponent(previewPath) +\n \"&id=\" +\n selected[0].id\n )\n );\n return;\n case \"code\":\n if (isShare) {\n dispatch(\n push(\n selected[0].key +\n \"/code?name=\" +\n encodeURIComponent(selected[0].name) +\n \"&share_path=\" +\n encodeURIComponent(previewPath)\n )\n );\n return;\n }\n dispatch(\n push(\n \"/code?p=\" +\n encodeURIComponent(previewPath) +\n \"&id=\" +\n selected[0].id\n )\n );\n return;\n default:\n dispatch(openLoadingDialog(\"获取下载地址...\"));\n return;\n }\n };\n};\n\nexport const selectFile = (file, event, fileIndex) => {\n const { ctrlKey, metaKey, shiftKey } = event;\n return (dispatch, getState) => {\n // 多种组合操作忽略\n if ([ctrlKey, metaKey, shiftKey].filter(Boolean).length > 1) {\n return;\n }\n const isMacbook = isMac();\n const { explorer } = getState();\n const {\n selected,\n lastSelect,\n dirList,\n fileList,\n shiftSelectedIds,\n } = explorer;\n if (\n shiftKey &&\n !ctrlKey &&\n !metaKey &&\n selected.length !== 0 &&\n // 点击类型一样\n file.type === lastSelect.file.type\n ) {\n // shift 多选\n // 取消原有选择\n dispatch(removeSelectedTargets(selected.map((v) => v.id)));\n // 添加新选择\n const begin = Math.min(lastSelect.index, fileIndex);\n const end = Math.max(lastSelect.index, fileIndex);\n const list = file.type === \"dir\" ? dirList : fileList;\n const newShiftSelected = list.slice(begin, end + 1);\n return dispatch(addSelectedTargets(newShiftSelected));\n }\n dispatch(setLastSelect(file, fileIndex));\n dispatch(setShiftSelectedIds([]));\n if ((ctrlKey && !isMacbook) || (metaKey && isMacbook)) {\n // Ctrl/Command 单击添加/删除\n const presentIndex = selected.findIndex((value) => {\n return value.id === file.id;\n });\n if (presentIndex !== -1) {\n return dispatch(removeSelectedTargets([file.id]));\n }\n return dispatch(addSelectedTargets([file]));\n }\n // 单选\n return dispatch(setSelectedTarget([file]));\n };\n};\n","export * from \"./explorer\";\n\nexport const setNavigator = (path, navigatorLoading) => {\n return {\n type: \"SET_NAVIGATOR\",\n path,\n navigatorLoading,\n };\n};\n\nexport const navigateTo = (path) => {\n return (dispatch, getState) => {\n const state = getState();\n const navigatorLoading = path !== state.navigator.path;\n dispatch(setNavigator(path, navigatorLoading));\n };\n};\n\nexport const navigateUp = () => {\n return (dispatch, getState) => {\n const state = getState();\n const pathSplit = state.navigator.path.split(\"/\");\n pathSplit.pop();\n const newPath = pathSplit.length === 1 ? \"/\" : pathSplit.join(\"/\");\n const navigatorLoading = newPath !== state.navigator.path;\n dispatch(setNavigator(newPath, navigatorLoading));\n };\n};\n\nexport const drawerToggleAction = (open) => {\n return {\n type: \"DRAWER_TOGGLE\",\n open: open,\n };\n};\n\nexport const dragAndDrop = (source, target) => {\n return {\n type: \"DRAG_AND_DROP\",\n source: source,\n target: target,\n };\n};\n\nexport const changeViewMethod = (method) => {\n return {\n type: \"CHANGE_VIEW_METHOD\",\n method: method,\n };\n};\n\nexport const toggleDaylightMode = () => {\n return {\n type: \"TOGGLE_DAYLIGHT_MODE\",\n };\n};\n\nexport const changeContextMenu = (type, open) => {\n return {\n type: \"CHANGE_CONTEXT_MENU\",\n menuType: type,\n open: open,\n };\n};\n\nexport const setNavigatorLoadingStatus = (status) => {\n return {\n type: \"SET_NAVIGATOR_LOADING_STATUE\",\n status: status,\n };\n};\n\nexport const setNavigatorError = (status, msg) => {\n return {\n type: \"SET_NAVIGATOR_ERROR\",\n status: status,\n msg: msg,\n };\n};\n\nexport const openCreateFolderDialog = () => {\n return {\n type: \"OPEN_CREATE_FOLDER_DIALOG\",\n };\n};\n\nexport const openCreateFileDialog = () => {\n return {\n type: \"OPEN_CREATE_FILE_DIALOG\",\n };\n};\n\nexport const setUserPopover = (anchor) => {\n return {\n type: \"SET_USER_POPOVER\",\n anchor: anchor,\n };\n};\n\nexport const setShareUserPopover = (anchor) => {\n return {\n type: \"SET_SHARE_USER_POPOVER\",\n anchor: anchor,\n };\n};\n\nexport const openRenameDialog = () => {\n return {\n type: \"OPEN_RENAME_DIALOG\",\n };\n};\n\nexport const openResaveDialog = (key) => {\n return {\n type: \"OPEN_RESAVE_DIALOG\",\n key: key,\n };\n};\n\nexport const openMoveDialog = () => {\n return {\n type: \"OPEN_MOVE_DIALOG\",\n };\n};\n\nexport const openRemoveDialog = () => {\n return {\n type: \"OPEN_REMOVE_DIALOG\",\n };\n};\n\nexport const openShareDialog = () => {\n return {\n type: \"OPEN_SHARE_DIALOG\",\n };\n};\n\nexport const applyThemes = (theme) => {\n return {\n type: \"APPLY_THEME\",\n theme: theme,\n };\n};\n\nexport const setSessionStatus = (status) => {\n return {\n type: \"SET_SESSION_STATUS\",\n status: status,\n };\n};\n\nexport const openMusicDialog = () => {\n return {\n type: \"OPEN_MUSIC_DIALOG\",\n };\n};\n\nexport const openRemoteDownloadDialog = () => {\n return {\n type: \"OPEN_REMOTE_DOWNLOAD_DIALOG\",\n };\n};\n\nexport const openTorrentDownloadDialog = () => {\n return {\n type: \"OPEN_TORRENT_DOWNLOAD_DIALOG\",\n };\n};\n\nexport const openDecompressDialog = () => {\n return {\n type: \"OPEN_DECOMPRESS_DIALOG\",\n };\n};\n\nexport const openCompressDialog = () => {\n return {\n type: \"OPEN_COMPRESS_DIALOG\",\n };\n};\n\nexport const openRelocateDialog = () => {\n return {\n type: \"OPEN_RELOCATE_DIALOG\",\n };\n};\n\nexport const openGetSourceDialog = () => {\n return {\n type: \"OPEN_GET_SOURCE_DIALOG\",\n };\n};\n\nexport const openCopyDialog = () => {\n return {\n type: \"OPEN_COPY_DIALOG\",\n };\n};\n\nexport const openLoadingDialog = (text) => {\n return {\n type: \"OPEN_LOADING_DIALOG\",\n text: text,\n };\n};\n\nexport const closeAllModals = () => {\n return {\n type: \"CLOSE_ALL_MODALS\",\n };\n};\n\nexport const toggleSnackbar = (vertical, horizontal, msg, color) => {\n return {\n type: \"TOGGLE_SNACKBAR\",\n vertical: vertical,\n horizontal: horizontal,\n msg: msg,\n color: color,\n };\n};\n\nexport const enableLoadUploader = () => {\n return {\n type: \"ENABLE_LOAD_UPLOADER\",\n };\n};\n\nexport const setModalsLoading = (status) => {\n return {\n type: \"SET_MODALS_LOADING\",\n status: status,\n };\n};\n\nexport const refreshFileList = () => {\n return {\n type: \"REFRESH_FILE_LIST\",\n };\n};\n\nexport const searchMyFile = (keywords) => {\n return {\n type: \"SEARCH_MY_FILE\",\n keywords: keywords,\n };\n};\n\nexport const showImgPreivew = (first) => {\n return {\n type: \"SHOW_IMG_PREIVEW\",\n first: first,\n };\n};\n\nexport const showAudioPreview = (first) => {\n return {\n type: \"SHOW_AUDIO_PREVIEW\",\n first: first,\n };\n};\n\nexport const audioPreviewSetIsOpen = (isOpen) => {\n return {\n type: \"AUDIO_PREVIEW_SET_IS_OPEN\",\n isOpen,\n };\n};\n\nexport const audioPreviewSetPlaying = (playingName,paused) => {\n return {\n type: \"AUDIO_PREVIEW_SET_PLAYING\",\n playingName,//the playing content name\n paused,\n };\n};\n\n\nexport const refreshStorage = () => {\n return {\n type: \"REFRESH_STORAGE\",\n };\n};\n\nexport const saveFile = () => {\n return {\n type: \"SAVE_FILE\",\n };\n};\n\nexport const setSiteConfig = (config) => {\n return {\n type: \"SET_SITE_CONFIG\",\n config: config,\n };\n};\n","export const imgPreviewSuffix = [\n \"bmp\",\n \"png\",\n \"gif\",\n \"jpg\",\n \"jpeg\",\n \"svg\",\n \"webp\",\n];\nexport const msDocPreviewSuffix = [\n \"ppt\",\n \"pptx\",\n \"pps\",\n \"doc\",\n \"docx\",\n \"xlsx\",\n \"xls\",\n];\nexport const audioPreviewSuffix = [\"mp3\", \"ogg\",\"flac\"];\nexport const videoPreviewSuffix = [\"mp4\", \"mkv\", \"webm\"];\nexport const pdfPreviewSuffix = [\"pdf\"];\nexport const editSuffix = [\"md\", \"txt\"];\nexport const codePreviewSuffix = {\n json: \"json\",\n php: \"php\",\n py: \"python\",\n bat: \"bat\",\n cpp: \"cpp\",\n c: \"cpp\",\n h: \"cpp\",\n cs: \"csharp\",\n css: \"css\",\n dockerfile: \"dockerfile\",\n go: \"go\",\n html: \"html\",\n ini: \"ini\",\n java: \"java\",\n js: \"javascript\",\n jsx: \"javascript\",\n less: \"less\",\n lua: \"lua\",\n sh: \"shell\",\n sql: \"sql\",\n xml: \"xml\",\n yaml: \"yaml\",\n};\nexport const mediaType = {\n audio: [\"mp3\", \"flac\", \"ape\", \"wav\", \"acc\", \"ogg\"],\n video: [\"mp4\", \"flv\", \"avi\", \"wmv\", \"mkv\", \"rm\", \"rmvb\", \"mov\", \"ogv\"],\n image: [\"bmp\", \"iff\", \"png\", \"gif\", \"jpg\", \"jpeg\", \"psd\", \"svg\", \"webp\"],\n pdf: [\"pdf\"],\n word: [\"doc\", \"docx\"],\n ppt: [\"ppt\", \"pptx\"],\n excel: [\"xls\", \"xlsx\", \"csv\"],\n text: [\"txt\", \"md\", \"html\"],\n torrent: [\"torrent\"],\n zip: [\"zip\", \"gz\", \"tar\", \"rar\", \"7z\"],\n excute: [\"exe\"],\n android: [\"apk\"],\n php: [\"php\"],\n go: [\"go\"],\n python: [\"py\"],\n cpp: [\"cpp\"],\n c: [\"c\"],\n js: [\"js\", \"jsx\"],\n};\nexport const policyTypeMap = {\n local: \"本机\",\n remote: \"从机\",\n qiniu: \"七牛\",\n upyun: \"又拍云\",\n oss: \"阿里云 OSS\",\n cos: \"腾讯云\",\n onedrive: \"OneDrive\",\n s3: \"Amazon S3\",\n};\nexport const isPreviewable = (name) => {\n const suffix = name.split(\".\").pop().toLowerCase();\n if (imgPreviewSuffix.indexOf(suffix) !== -1) {\n return \"img\";\n } else if (msDocPreviewSuffix.indexOf(suffix) !== -1) {\n return \"msDoc\";\n } else if (audioPreviewSuffix.indexOf(suffix) !== -1) {\n return \"audio\";\n } else if (videoPreviewSuffix.indexOf(suffix) !== -1) {\n return \"video\";\n } else if (editSuffix.indexOf(suffix) !== -1) {\n return \"edit\";\n } else if (pdfPreviewSuffix.indexOf(suffix) !== -1) {\n return \"pdf\";\n } else if (Object.keys(codePreviewSuffix).indexOf(suffix) !== -1) {\n return \"code\";\n }\n return false;\n};\nexport const isTorrent = (name) => {\n const suffix = name.split(\".\").pop().toLowerCase();\n if (mediaType.torrent.indexOf(suffix) !== -1) {\n return true;\n }\n return false;\n};\n\nexport const isCompressFile = (name) => {\n const suffix = name.split(\".\").pop().toLowerCase();\n return suffix === \"zip\";\n};\n\nconst taskStatus = [\"排队中\", \"处理中\", \"失败\", \"取消\", \"已完成\"];\nconst taskType = [\"压缩\", \"解压缩\", \"文件中转\", \"导入外部目录\", \"存储策略转移\"];\nconst taskProgress = [\n \"等待中\",\n \"压缩中\",\n \"解压缩中\",\n \"下载中\",\n \"转存中\",\n \"索引中\",\n \"插入中\",\n];\n\nexport const getTaskStatus = (status) => {\n return taskStatus[status];\n};\n\nexport const getTaskType = (status) => {\n return taskType[status];\n};\n\nexport const getTaskProgress = (type, status) => {\n if (type === 2) {\n return \"已完成 \" + (status + 1) + \" 个文件\";\n }\n return taskProgress[status];\n};\n\nexport const reportReasons = [\n \"色情信息\",\n \"包含病毒\",\n \"侵权\",\n \"不恰当的言论\",\n \"其他\",\n];\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { connect } from \"react-redux\";\nimport { baseURL } from \"../../middleware/Api\";\nimport { showImgPreivew } from \"../../actions/index\";\nimport { imgPreviewSuffix } from \"../../config\";\nimport { withStyles } from \"@material-ui/core\";\nimport pathHelper from \"../../utils/page\";\nimport { withRouter } from \"react-router\";\nimport { PhotoSlider } from \"react-photo-view\";\nimport \"react-photo-view/dist/index.css\";\nimport * as explorer from \"../../redux/explorer/reducer\";\n\nconst styles = () => ({});\n\nconst mapStateToProps = (state) => {\n return {\n first: state.explorer.imgPreview.first,\n other: state.explorer.imgPreview.other,\n };\n};\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n showImgPreivew: (first) => {\n dispatch(showImgPreivew(first));\n },\n };\n};\n\nclass ImagPreviewComponent extends Component {\n state = {\n items: [],\n photoIndex: 0,\n isOpen: false,\n };\n\n UNSAFE_componentWillReceiveProps = (nextProps) => {\n const items = [];\n let firstOne = 0;\n if (nextProps.first.id !== \"\") {\n if (\n pathHelper.isSharePage(this.props.location.pathname) &&\n !nextProps.first.path\n ) {\n const newImg = {\n intro: nextProps.first.name,\n src: baseURL + \"/share/preview/\" + nextProps.first.key,\n };\n firstOne = 0;\n items.push(newImg);\n this.setState({\n photoIndex: firstOne,\n items: items,\n isOpen: true,\n });\n return;\n }\n // eslint-disable-next-line\n nextProps.other.map((value) => {\n const fileType = value.name.split(\".\").pop().toLowerCase();\n if (imgPreviewSuffix.indexOf(fileType) !== -1) {\n let src = \"\";\n if (pathHelper.isSharePage(this.props.location.pathname)) {\n src = baseURL + \"/share/preview/\" + value.key;\n src =\n src +\n \"?path=\" +\n encodeURIComponent(\n value.path === \"/\"\n ? value.path + value.name\n : value.path + \"/\" + value.name\n );\n } else {\n src = baseURL + \"/file/preview/\" + value.id;\n }\n const newImg = {\n intro: value.name,\n src: src,\n };\n if (\n value.path === nextProps.first.path &&\n value.name === nextProps.first.name\n ) {\n firstOne = items.length;\n }\n items.push(newImg);\n }\n });\n this.setState({\n photoIndex: firstOne,\n items: items,\n isOpen: true,\n });\n }\n };\n\n handleClose = () => {\n this.props.showImgPreivew(explorer.initState.imgPreview.first);\n this.setState({\n isOpen: false,\n });\n };\n\n render() {\n const { photoIndex, isOpen, items } = this.state;\n\n return (\n
\n {isOpen && (\n this.handleClose()}\n index={photoIndex}\n onIndexChange={(n) =>\n this.setState({\n photoIndex: n,\n })\n }\n />\n )}\n
\n );\n }\n}\n\nImagPreviewComponent.propTypes = {\n classes: PropTypes.object.isRequired,\n};\n\nconst ImgPreivew = connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(ImagPreviewComponent)));\n\nexport default ImgPreivew;\n","import dayjs from \"dayjs\";\nimport timezone from \"dayjs/plugin/timezone\";\nimport utc from \"dayjs/plugin/utc\";\nimport Auth from \"../middleware/Auth\";\ndayjs.extend(utc);\ndayjs.extend(timezone);\n\nconst defaultTimeZone = \"Asia/Shanghai\";\nconst preferTimeZone = Auth.GetPreference(\"timeZone\");\nexport let timeZone = preferTimeZone ? preferTimeZone : defaultTimeZone;\n\nexport function refreshTimeZone() {\n timeZone = Auth.GetPreference(\"timeZone\");\n timeZone = timeZone ? timeZone : defaultTimeZone;\n}\n\nexport function formatLocalTime(time, format) {\n return dayjs(time).tz(timeZone).format(format);\n}\n\nexport function validateTimeZone(name) {\n try {\n dayjs().tz(name).format();\n } catch (e) {\n return false;\n }\n return true;\n}\n","export const isDefined = (val) => val != null;\nexport const isFunction = (val) => typeof val === \"function\";\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport const noop = () => {};\n\nexport const newScript = (src) => (cb) => {\n const scriptElem = document.createElement(\"script\");\n if (typeof src === \"object\") {\n // copy every property to the element\n for (const key in src) {\n if (Object.prototype.hasOwnProperty.call(src, key)) {\n scriptElem[key] = src[key];\n }\n }\n src = src.src;\n } else {\n scriptElem.src = src;\n }\n scriptElem.addEventListener(\"load\", () => cb(null, src));\n scriptElem.addEventListener(\"error\", () => cb(true, src));\n document.body.appendChild(scriptElem);\n return scriptElem;\n};\n\nconst keyIterator = (cols) => {\n const keys = Object.keys(cols);\n let i = -1;\n return {\n next() {\n i++; // inc\n if (i >= keys.length) return null;\n else return keys[i];\n },\n };\n};\n\n// tasks should be a collection of thunk\nexport const parallel = (...tasks) => (each) => (cb) => {\n let hasError = false;\n let successed = 0;\n const ret = [];\n tasks = tasks.filter(isFunction);\n\n if (tasks.length <= 0) cb(null);\n else {\n tasks.forEach((task, i) => {\n const thunk = task;\n thunk((err, ...args) => {\n if (err) hasError = true;\n else {\n // collect result\n if (args.length <= 1) args = args[0];\n\n ret[i] = args;\n successed++;\n }\n\n if (isFunction(each)) each.call(null, err, args, i);\n\n if (hasError) cb(true);\n else if (tasks.length === successed) {\n cb(null, ret);\n }\n });\n });\n }\n};\n\n// tasks should be a collection of thunk\nexport const series = (...tasks) => (each) => (cb) => {\n tasks = tasks.filter((val) => val != null);\n const nextKey = keyIterator(tasks);\n const nextThunk = () => {\n const key = nextKey.next();\n let thunk = tasks[key];\n // eslint-disable-next-line prefer-spread\n if (Array.isArray(thunk))\n // eslint-disable-next-line prefer-spread\n thunk = parallel.apply(null, thunk).call(null, each);\n return [+key, thunk]; // convert `key` to number\n };\n let key, thunk;\n let next = nextThunk();\n key = next[0];\n thunk = next[1];\n if (thunk == null) return cb(null);\n\n const ret = [];\n const iterator = () => {\n thunk((err, ...args) => {\n if (args.length <= 1) args = args[0];\n if (isFunction(each)) each.call(null, err, args, key);\n\n if (err) cb(err);\n else {\n // collect result\n ret.push(args);\n\n next = nextThunk();\n key = next[0];\n thunk = next[1];\n if (thunk == null) return cb(null, ret);\n // finished\n else iterator();\n }\n });\n };\n iterator();\n};\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport hoistStatics from \"hoist-non-react-statics\";\nimport { newScript, series, noop } from \"./utils\";\n\nconst loadedScript = [];\nconst pendingScripts = {};\nlet failedScript = [];\n\nconst addCache = (entry) => {\n if (loadedScript.indexOf(entry) < 0) {\n loadedScript.push(entry);\n }\n};\n\nconst removeFailedScript = () => {\n if (failedScript.length > 0) {\n failedScript.forEach((script) => {\n const node = document.querySelector(`script[src='${script}']`);\n if (node != null) {\n node.parentNode.removeChild(node);\n }\n });\n\n failedScript = [];\n }\n};\n\nexport function startLoadingScripts(scripts, onComplete = noop) {\n // sequence load\n const loadNewScript = (script) => {\n const src = typeof script === \"object\" ? script.src : script;\n if (loadedScript.indexOf(src) < 0) {\n return (taskComplete) => {\n const callbacks = pendingScripts[src] || [];\n callbacks.push(taskComplete);\n pendingScripts[src] = callbacks;\n if (callbacks.length === 1) {\n return newScript(script)((err) => {\n pendingScripts[src].forEach((cb) => cb(err, src));\n delete pendingScripts[src];\n });\n }\n };\n }\n };\n const tasks = scripts.map((src) => {\n if (Array.isArray(src)) {\n return src.map(loadNewScript);\n } else return loadNewScript(src);\n });\n\n series(...tasks)((err, src) => {\n if (err) {\n failedScript.push(src);\n } else {\n if (Array.isArray(src)) {\n src.forEach(addCache);\n } else addCache(src);\n }\n })((err) => {\n removeFailedScript();\n onComplete(err);\n });\n}\n\nconst uploaderLoader = () => (WrappedComponent) => {\n class ScriptLoader extends Component {\n static propTypes = {\n onScriptLoaded: PropTypes.func,\n };\n\n static defaultProps = {\n onScriptLoaded: noop,\n };\n\n constructor(props, context) {\n super(props, context);\n\n this.state = {\n isScriptLoaded: false,\n isScriptLoadSucceed: false,\n };\n\n this._isMounted = false;\n }\n\n componentDidMount() {\n this._isMounted = true;\n const scripts = [\n [\"/static/js/uploader/moxie.js\"],\n [\"/static/js/uploader/plupload.dev.js\"],\n [\"/static/js/uploader/i18n/zh_CN.js\"],\n [\"/static/js/uploader/ui.js\"],\n [\"/static/js/uploader/uploader_\" + window.policyType + \".js\"],\n ];\n startLoadingScripts(scripts, (err) => {\n if (this._isMounted) {\n this.setState(\n {\n isScriptLoaded: true,\n isScriptLoadSucceed: !err,\n },\n () => {\n if (!err) {\n this.props.onScriptLoaded();\n }\n }\n );\n }\n });\n }\n\n componentWillUnmount() {\n this._isMounted = false;\n }\n\n getWrappedInstance() {\n // eslint-disable-next-line react/no-string-refs\n return this.refs.wrappedInstance;\n }\n\n render() {\n const props = {\n ...this.props,\n ...this.state,\n ref: \"wrappedInstance\",\n };\n\n return ;\n }\n }\n\n return hoistStatics(ScriptLoader, WrappedComponent);\n};\n\nexport default uploaderLoader;\n","import React, { Component } from \"react\";\nimport CloseIcon from \"@material-ui/icons/Close\";\nimport AddIcon from \"@material-ui/icons/AddCircleOutline\";\nimport DeleteIcon from \"@material-ui/icons/Delete\";\nimport RefreshIcon from \"@material-ui/icons/Refresh\";\nimport { isWidthDown } from \"@material-ui/core/withWidth\";\nimport { darken, lighten } from \"@material-ui/core/styles/colorManipulator\";\nimport {\n withStyles,\n Dialog,\n ListItemText,\n ListItem,\n List,\n Divider,\n AppBar,\n Toolbar,\n IconButton,\n Typography,\n Slide,\n ListItemSecondaryAction,\n withWidth,\n DialogContent,\n Tooltip,\n} from \"@material-ui/core\";\nimport TypeIcon from \"../FileManager/TypeIcon\";\nimport { withTheme } from \"@material-ui/core/styles\";\n\nconst styles = (theme) => ({\n appBar: {\n position: \"relative\",\n },\n flex: {\n flex: 1,\n },\n progressBar: {\n marginTop: 5,\n },\n minHight: {\n [theme.breakpoints.up(\"sm\")]: {\n minWidth: 500,\n },\n padding: 0,\n },\n dialogContent: {\n padding: 0,\n },\n successStatus: {\n color: \"#4caf50\",\n },\n errorStatus: {\n color: \"#ff5722\",\n wordBreak: \"break-all\",\n },\n listAction: {\n marginLeft: 20,\n marginRight: 20,\n },\n delete: {\n zIndex: 9,\n },\n progressContainer: {\n position: \"relative\",\n },\n progressContent: {\n position: \"relative\",\n zIndex: 9,\n },\n progress: {\n transition: \"width .4s linear\",\n zIndex: 1,\n height: \"100%\",\n position: \"absolute\",\n left: 0,\n top: 0,\n },\n fileName: {\n wordBreak: \"break-all\",\n },\n});\nclass FileList extends Component {\n state = {\n open: false,\n files: [],\n };\n\n //入队\n enQueue(files) {\n this.setState({\n files: [...this.state.files, ...files],\n });\n }\n\n deQueue(file) {\n const filesNow = [...this.state.files];\n const fileID = filesNow.findIndex((f) => {\n return f.id === file.id;\n });\n if (fileID !== -1) {\n filesNow.splice(fileID, 1);\n this.setState({\n files: filesNow,\n open: filesNow.length !== 0,\n });\n }\n }\n\n updateStatus(file) {\n const filesNow = [...this.state.files];\n const fileID = filesNow.findIndex((f) => {\n return f.id === file.id;\n });\n if (!file.errMsg || file.ignoreMsg) {\n if (filesNow[fileID] && !filesNow[fileID].errMsg) {\n filesNow[fileID] = file;\n this.setState({\n files: filesNow,\n });\n }\n } else {\n file.ignoreMsg = true;\n }\n }\n\n setComplete(file) {\n const filesNow = [...this.state.files];\n const fileID = filesNow.findIndex((f) => {\n return f.id === file.id;\n });\n if (fileID !== -1) {\n if (filesNow[fileID].status !== 4) {\n filesNow[fileID].status = 5;\n this.setState({\n files: filesNow,\n });\n }\n }\n }\n\n setError(file, errMsg) {\n const filesNow = [...this.state.files];\n const fileID = filesNow.findIndex((f) => {\n return f.id === file.id;\n });\n if (fileID !== -1) {\n filesNow[fileID].status = 4;\n filesNow[fileID].errMsg = errMsg;\n } else {\n file.status = 4;\n file.errMsg = errMsg;\n filesNow.push(file);\n }\n this.setState({\n files: filesNow,\n });\n }\n\n Transition(props) {\n return ;\n }\n openFileList = () => {\n if (!this.state.open) {\n this.setState({ open: true });\n }\n };\n\n cancelUpload = (file) => {\n this.props.cancelUpload(file);\n this.deQueue(file);\n };\n\n reQueue = (file) => {\n this.props.reQueue(file);\n this.deQueue(file);\n };\n\n handleClose = () => {\n this.setState({ open: false });\n };\n\n addNewFile = () => {\n document.getElementsByClassName(\"uploadFileForm\")[0].click();\n };\n\n getProgressBackground = () => {\n return this.props.theme.palette.type === \"light\"\n ? lighten(this.props.theme.palette.primary.main, 0.8)\n : darken(this.props.theme.palette.background.paper, 0.2);\n };\n\n render() {\n const { classes } = this.props;\n const { width } = this.props;\n\n this.props.inRef({\n openFileList: this.openFileList.bind(this),\n enQueue: this.enQueue.bind(this),\n updateStatus: this.updateStatus.bind(this),\n setComplete: this.setComplete.bind(this),\n setError: this.setError.bind(this),\n });\n\n return (\n \n \n \n \n \n \n \n 上传队列\n \n \n \n \n \n \n \n \n {this.state.files.map((item, i) => (\n
\n {item.status === 2 && (\n \n )}\n \n \n {item.status === 1 && (\n \n {item.name}\n \n }\n secondary={
排队中...
}\n />\n )}\n {item.status === 2 && (\n \n {item.name}\n \n }\n secondary={\n
\n {item.percent <= 99 && (\n <>\n {window.plupload\n .formatSize(\n item.speed\n )\n .toUpperCase()}\n /s 已上传{\" \"}\n {window.plupload\n .formatSize(\n item.loaded\n )\n .toUpperCase()}{\" \"}\n , 共{\" \"}\n {window.plupload\n .formatSize(\n item.size\n )\n .toUpperCase()}{\" \"}\n - {item.percent}%{\" \"}\n \n )}\n {item.percent > 99 && (\n
处理中...
\n )}\n
\n }\n />\n )}\n {item.status === 3 && (\n \n {item.name}\n \n }\n secondary={item.status}\n />\n )}\n {item.status === 4 && (\n \n {item.name}\n \n }\n secondary={\n \n {item.errMsg}\n
\n
\n }\n />\n )}\n {item.status === 5 && (\n \n {item.name}\n \n }\n secondary={\n \n 已完成\n
\n
\n }\n />\n )}\n \n {item.status !== 4 && (\n \n this.cancelUpload(item)\n }\n >\n \n \n )}\n {item.status === 4 && (\n \n \n this.reQueue(item)\n }\n >\n \n \n \n )}\n \n \n \n \n ))}\n \n \n \n );\n }\n}\nFileList.propTypes = {};\n\nexport default withStyles(styles)(withWidth()(withTheme(FileList)));\n","import React, { useCallback, useState, useEffect } from \"react\";\nimport { makeStyles, Badge } from \"@material-ui/core\";\nimport SpeedDial from \"@material-ui/lab/SpeedDial\";\nimport SpeedDialIcon from \"@material-ui/lab/SpeedDialIcon\";\nimport SpeedDialAction from \"@material-ui/lab/SpeedDialAction\";\nimport CreateNewFolderIcon from \"@material-ui/icons/CreateNewFolder\";\nimport PublishIcon from \"@material-ui/icons/Publish\";\nimport {\n openCreateFileDialog,\n openCreateFolderDialog,\n toggleSnackbar,\n} from \"../../actions\";\nimport { useDispatch } from \"react-redux\";\nimport AutoHidden from \"./AutoHidden\";\nimport statusHelper from \"../../utils/page\";\nimport Backdrop from \"@material-ui/core/Backdrop\";\nimport { FolderUpload, FilePlus } from \"mdi-material-ui\";\n\nconst useStyles = makeStyles(() => ({\n fab: {\n margin: 0,\n top: \"auto\",\n right: 20,\n bottom: 20,\n left: \"auto\",\n zIndex: 5,\n position: \"fixed\",\n },\n badge: {\n position: \"absolute\",\n bottom: 26,\n top: \"auto\",\n zIndex: 9999,\n right: 7,\n },\n \"@global\": {\n \".MuiSpeedDialAction-staticTooltipLabel\": {\n width: 100,\n },\n },\n}));\n\nexport default function UploadButton(props) {\n const [open, setOpen] = useState(false);\n const [queued, setQueued] = useState(5);\n const classes = useStyles();\n const dispatch = useDispatch();\n const ToggleSnackbar = useCallback(\n (vertical, horizontal, msg, color) =>\n dispatch(toggleSnackbar(vertical, horizontal, msg, color)),\n [dispatch]\n );\n const OpenNewFolderDialog = useCallback(\n () => dispatch(openCreateFolderDialog()),\n [dispatch]\n );\n const OpenNewFileDialog = useCallback(\n () => dispatch(openCreateFileDialog()),\n [dispatch]\n );\n\n useEffect(() => {\n setQueued(props.Queued);\n }, [props.Queued]);\n\n const openUpload = (id) => {\n const uploadButton = document.getElementsByClassName(id)[0];\n if (document.body.contains(uploadButton)) {\n uploadButton.click();\n } else {\n ToggleSnackbar(\"top\", \"right\", \"上传组件还未加载完成\", \"warning\");\n }\n };\n const uploadClicked = () => {\n if (open) {\n if (queued !== 0) {\n props.openFileList();\n } else {\n openUpload(\"uploadFileForm\");\n }\n }\n };\n\n const handleOpen = () => {\n setOpen(true);\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n return (\n \n \n \n \n );\n}\n","import React, { Component } from \"react\";\nimport uploaderLoader from \"../../loader\";\nimport { connect } from \"react-redux\";\nimport { refreshFileList, refreshStorage, toggleSnackbar } from \"../../actions\";\nimport FileList from \"./FileList.js\";\nimport Auth from \"../../middleware/Auth\";\nimport UploadButton from \"../Dial/Create.js\";\nimport { basename, pathJoin } from \"../../utils\";\n\nlet loaded = false;\n\nconst mapStateToProps = (state) => {\n return {\n path: state.navigator.path,\n keywords: state.explorer.keywords,\n };\n};\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n refreshFileList: () => {\n dispatch(refreshFileList());\n },\n refreshStorage: () => {\n dispatch(refreshStorage());\n },\n toggleSnackbar: (vertical, horizontal, msg, color) => {\n dispatch(toggleSnackbar(vertical, horizontal, msg, color));\n },\n };\n};\n\nclass UploaderComponent extends Component {\n constructor(props) {\n super(props);\n this.state = {\n queued: 0,\n };\n }\n\n setRef(val) {\n window.fileList = val;\n }\n\n cancelUpload(file) {\n this.uploader.removeFile(file);\n }\n\n reQueue = (file) => {\n this.uploader.addFile(file.getSource());\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n \"文件已经重新加入上传队列\",\n \"info\"\n );\n };\n\n getChunkSize(policyType) {\n if (policyType === \"qiniu\") {\n return 4 * 1024 * 1024;\n }\n if (policyType === \"onedrive\") {\n return 100 * 1024 * 1024;\n }\n return 0;\n }\n\n fileAdd = (up, files) => {\n const path = window.currntPath ? window.currntPath : this.props.path;\n if (\n this.props.keywords === \"\" &&\n window.location.pathname.toLowerCase().startsWith(\"/home\")\n ) {\n window.fileList[\"openFileList\"]();\n const enqueFiles = files\n // 不上传Mac下的布局文件 .DS_Store\n .filter((file) => {\n const isDsStore = file.name.toLowerCase() === \".ds_store\";\n if (isDsStore) {\n up.removeFile(file);\n }\n return !isDsStore;\n })\n .map((file) => {\n const source = file.getSource();\n if (source.relativePath && source.relativePath !== \"\") {\n file.path = basename(\n pathJoin([path, source.relativePath])\n );\n window.pathCache[file.id] = basename(\n pathJoin([path, source.relativePath])\n );\n } else {\n window.pathCache[file.id] = path;\n file.path = path;\n }\n return file;\n });\n window.fileList[\"enQueue\"](enqueFiles);\n } else {\n window.plupload.each(files, (files) => {\n up.removeFile(files);\n });\n }\n };\n\n UNSAFE_componentWillReceiveProps({ isScriptLoaded, isScriptLoadSucceed }) {\n if (isScriptLoaded && !this.props.isScriptLoaded) {\n // load finished\n if (isScriptLoadSucceed) {\n if (loaded) {\n return;\n }\n loaded = true;\n const user = Auth.GetUser();\n this.uploader = window.Qiniu.uploader({\n runtimes: \"html5\",\n browse_button: [\"pickfiles\", \"pickfolder\"],\n container: \"container\",\n drop_element: \"container\",\n max_file_size:\n user.policy.maxSize === \"0.00mb\"\n ? 0\n : user.policy.maxSize,\n dragdrop: true,\n chunk_size: this.getChunkSize(user.policy.saveType),\n filters: {\n mime_types:\n user.policy.allowedType === null ||\n user.policy.allowedType.length === 0\n ? []\n : [\n {\n title: \"files\",\n extensions: user.policy.allowedType.join(\n \",\"\n ),\n },\n ],\n },\n // iOS不能多选?\n multi_selection: true,\n uptoken_url: \"/api/v3/file/upload/credential\",\n uptoken: user.policy.saveType === \"local\" ? \"token\" : null,\n domain: \"s\",\n max_retries: 0,\n get_new_uptoken: true,\n auto_start: true,\n log_level: 5,\n init: {\n FilesAdded: this.fileAdd,\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n BeforeUpload: function () {},\n QueueChanged: (up) => {\n this.setState({ queued: up.total.queued });\n },\n UploadProgress: (up, file) => {\n window.fileList[\"updateStatus\"](file);\n },\n UploadComplete: (up, file) => {\n if (file.length === 0) {\n return;\n }\n console.log(\n \"UploadComplete\",\n file[0].status,\n file[0]\n );\n for (let i = 0; i < file.length; i++) {\n if (file[i].status === 5) {\n window.fileList[\"setComplete\"](file[i]);\n }\n }\n // 无异步操作的策略,直接刷新\n if (\n user.policy.saveType !== \"onedrive\" &&\n user.policy.saveType !== \"cos\"\n ) {\n this.props.refreshFileList();\n this.props.refreshStorage();\n }\n },\n Fresh: () => {\n this.props.refreshFileList();\n this.props.refreshStorage();\n },\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n FileUploaded: function () {},\n Error: (up, err, errTip) => {\n window.fileList[\"openFileList\"]();\n window.fileList[\"setError\"](err.file, errTip);\n },\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n FilesRemoved: () => {},\n },\n });\n // this.fileList[\"openFileList\"]();\n } else this.onError();\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onError() {}\n\n openFileList = () => {\n window.fileList[\"openFileList\"]();\n };\n\n render() {\n return (\n
\n \n {this.props.keywords === \"\" && (\n \n )}\n
\n );\n }\n}\n\nconst Uploader = connect(mapStateToProps, mapDispatchToProps, null, {\n forwardRef: true,\n})(uploaderLoader()(UploaderComponent));\n\nexport default Uploader;\n","import React from \"react\";\nimport { mediaType } from \"../../config\";\nimport ImageIcon from \"@material-ui/icons/PhotoSizeSelectActual\";\nimport VideoIcon from \"@material-ui/icons/Videocam\";\nimport AudioIcon from \"@material-ui/icons/Audiotrack\";\nimport PdfIcon from \"@material-ui/icons/PictureAsPdf\";\nimport {\n Android,\n FileExcelBox,\n FilePowerpointBox,\n FileWordBox,\n LanguageC,\n LanguageCpp,\n LanguageGo,\n LanguageJavascript,\n LanguagePhp,\n LanguagePython,\n MagnetOn,\n ScriptText,\n WindowRestore,\n ZipBox,\n} from \"mdi-material-ui\";\nimport FileShowIcon from \"@material-ui/icons/InsertDriveFile\";\nimport { lighten } from \"@material-ui/core/styles\";\nimport useTheme from \"@material-ui/core/styles/useTheme\";\nimport { Avatar } from \"@material-ui/core\";\n\nconst icons = {\n audio: {\n color: \"#651fff\",\n icon: AudioIcon,\n },\n video: {\n color: \"#d50000\",\n icon: VideoIcon,\n },\n image: {\n color: \"#d32f2f\",\n icon: ImageIcon,\n },\n pdf: {\n color: \"#f44336\",\n icon: PdfIcon,\n },\n word: {\n color: \"#538ce5\",\n icon: FileWordBox,\n },\n ppt: {\n color: \"rgb(239, 99, 63)\",\n icon: FilePowerpointBox,\n },\n excel: {\n color: \"#4caf50\",\n icon: FileExcelBox,\n },\n text: {\n color: \"#607d8b\",\n icon: ScriptText,\n },\n torrent: {\n color: \"#5c6bc0\",\n icon: MagnetOn,\n },\n zip: {\n color: \"#f9a825\",\n icon: ZipBox,\n },\n excute: {\n color: \"#1a237e\",\n icon: WindowRestore,\n },\n android: {\n color: \"#8bc34a\",\n icon: Android,\n },\n file: {\n color: \"#607d8b\",\n icon: FileShowIcon,\n },\n php: {\n color: \"#777bb3\",\n icon: LanguagePhp,\n },\n go: {\n color: \"#16b3da\",\n icon: LanguageGo,\n },\n python: {\n color: \"#3776ab\",\n icon: LanguagePython,\n },\n c: {\n color: \"#a8b9cc\",\n icon: LanguageC,\n },\n cpp: {\n color: \"#004482\",\n icon: LanguageCpp,\n },\n js: {\n color: \"#f4d003\",\n icon: LanguageJavascript,\n },\n};\n\nconst getColor = (theme, color) =>\n theme.palette.type === \"light\" ? color : lighten(color, 0.2);\n\nlet color;\n\nconst TypeIcon = (props) => {\n const theme = useTheme();\n\n const fileSuffix = props.fileName.split(\".\").pop().toLowerCase();\n let fileType = \"file\";\n Object.keys(mediaType).forEach((k) => {\n if (mediaType[k].indexOf(fileSuffix) !== -1) {\n fileType = k;\n }\n });\n const IconComponent = icons[fileType].icon;\n color = getColor(theme, icons[fileType].color);\n if (props.getColorValue) {\n props.getColorValue(color);\n }\n\n return (\n <>\n {props.isUpload && (\n \n \n \n )}\n {!props.isUpload && (\n \n )}\n \n );\n};\n\nexport default TypeIcon;\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport FolderIcon from \"@material-ui/icons/Folder\";\nimport RightIcon from \"@material-ui/icons/KeyboardArrowRight\";\nimport UpIcon from \"@material-ui/icons/ArrowUpward\";\nimport { connect } from \"react-redux\";\nimport classNames from \"classnames\";\nimport { toggleSnackbar } from \"../../actions/index\";\n\nimport {\n MenuList,\n MenuItem,\n IconButton,\n ListItemIcon,\n ListItemText,\n withStyles,\n ListItemSecondaryAction,\n} from \"@material-ui/core\";\nimport API from \"../../middleware/Api\";\n\nconst mapStateToProps = (state) => {\n return {\n keywords: state.explorer.keywords,\n };\n};\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n toggleSnackbar: (vertical, horizontal, msg, color) => {\n dispatch(toggleSnackbar(vertical, horizontal, msg, color));\n },\n };\n};\n\nconst styles = (theme) => ({\n iconWhite: {\n color: theme.palette.common.white,\n },\n selected: {\n backgroundColor: theme.palette.primary.main + \"!important\",\n \"& $primary, & $icon\": {\n color: theme.palette.common.white,\n },\n },\n primary: {},\n icon: {},\n buttonIcon: {},\n selector: {\n minWidth: \"300px\",\n },\n container: {\n maxHeight: \"330px\",\n overflowY: \" auto\",\n },\n});\n\nclass PathSelectorCompoment extends Component {\n state = {\n presentPath: \"/\",\n dirList: [],\n selectedTarget: null,\n };\n\n componentDidMount = () => {\n const toBeLoad = this.props.presentPath;\n this.enterFolder(this.props.keywords === \"\" ? toBeLoad : \"/\");\n };\n\n back = () => {\n const paths = this.state.presentPath.split(\"/\");\n paths.pop();\n const toBeLoad = paths.join(\"/\");\n this.enterFolder(toBeLoad === \"\" ? \"/\" : toBeLoad);\n };\n\n enterFolder = (toBeLoad) => {\n API.get(\n (this.props.api ? this.props.api : \"/directory\") +\n encodeURIComponent(toBeLoad)\n )\n .then((response) => {\n const dirList = response.data.objects.filter((x) => {\n return (\n x.type === \"dir\" &&\n this.props.selected.findIndex((value) => {\n return (\n value.name === x.name && value.path === x.path\n );\n }) === -1\n );\n });\n if (toBeLoad === \"/\") {\n dirList.unshift({ name: \"/\", path: \"\" });\n }\n this.setState({\n presentPath: toBeLoad,\n dirList: dirList,\n selectedTarget: null,\n });\n })\n .catch((error) => {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n error.message,\n \"warning\"\n );\n });\n };\n\n handleSelect = (index) => {\n this.setState({ selectedTarget: index });\n this.props.onSelect(this.state.dirList[index]);\n };\n\n render() {\n const { classes } = this.props;\n\n return (\n
\n \n {this.state.presentPath !== \"/\" && (\n \n \n \n \n \n \n )}\n {this.state.dirList.map((value, index) => (\n this.handleSelect(index)}\n >\n \n \n \n \n {value.name !== \"/\" && (\n \n \n this.enterFolder(\n value.path === \"/\"\n ? value.path + value.name\n : value.path +\n \"/\" +\n value.name\n )\n }\n >\n \n \n \n )}\n \n ))}\n \n
\n );\n }\n}\n\nPathSelectorCompoment.propTypes = {\n classes: PropTypes.object.isRequired,\n presentPath: PropTypes.string.isRequired,\n selected: PropTypes.array.isRequired,\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(PathSelectorCompoment));\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then((registration) => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === \"installed\") {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n \"New content is available and will be used when all \" +\n \"tabs for this page are closed. See https://bit.ly/CRA-PWA.\"\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log(\"Content is cached for offline use.\");\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch((error) => {\n console.error(\"Error during service worker registration:\", error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then((response) => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get(\"content-type\");\n if (\n response.status === 404 ||\n (contentType != null &&\n contentType.indexOf(\"javascript\") === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then((registration) => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n \"No internet connection found. App is running in offline mode.\"\n );\n });\n}\n\nconst isLocalhost = Boolean(\n window.location.hostname === \"localhost\" ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === \"[::1]\" ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === \"production\" && \"serviceWorker\" in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener(\"load\", () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n \"This web app is being served cache-first by a service \" +\n \"worker. To learn more, visit https://bit.ly/CRA-PWA\"\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nexport function unregister() {\n if (\"serviceWorker\" in navigator) {\n navigator.serviceWorker.ready.then((registration) => {\n registration.unregister();\n });\n }\n}\n","import React from \"react\";\nimport Auth from \"./Auth\";\nimport { Route, Redirect } from \"react-router-dom\";\n\nfunction AuthRoute({ children, ...rest }) {\n return (\n \n Auth.Check(rest.isLogin) ? (\n children\n ) : (\n \n )\n }\n />\n );\n}\n\nexport default AuthRoute;\n","import React from \"react\";\nimport { Facebook } from \"react-content-loader\";\nimport { makeStyles, useTheme } from \"@material-ui/core/styles\";\n\nconst useStyles = makeStyles((theme) => ({\n loader: {\n width: \"80%\",\n [theme.breakpoints.up(\"md\")]: {\n width: \" 50%\",\n },\n\n marginTop: 30,\n },\n}));\n\nconst MyLoader = (props) => {\n return (\n \n );\n};\n\nfunction PageLoading() {\n const theme = useTheme();\n const classes = useStyles();\n\n return (\n \n \n \n );\n}\n\nexport default PageLoading;\n","import React from \"react\";\nimport SentimentVeryDissatisfiedIcon from \"@material-ui/icons/SentimentVeryDissatisfied\";\nimport { lighten, makeStyles } from \"@material-ui/core/styles\";\n\nconst useStyles = makeStyles((theme) => ({\n icon: {\n fontSize: \"160px\",\n },\n emptyContainer: {\n bottom: \"0\",\n height: \"300px\",\n margin: \"50px auto\",\n width: \"300px\",\n color: lighten(theme.palette.text.disabled, 0.4),\n textAlign: \"center\",\n paddingTop: \"20px\",\n },\n emptyInfoBig: {\n fontSize: \"25px\",\n color: lighten(theme.palette.text.disabled, 0.4),\n },\n}));\n\nexport default function Notice(props) {\n const classes = useStyles();\n return (\n
\n \n
{props.msg}
\n
\n );\n}\n","import {\n setSiteConfig,\n toggleSnackbar,\n enableLoadUploader,\n changeViewMethod,\n} from \"../actions/index\";\nimport { fixUrlHash } from \"../utils/index\";\nimport API from \"./Api\";\nimport Auth from \"./Auth\";\nimport pathHelper from \"../utils/page\";\n\nconst initUserConfig = (siteConfig) => {\n if (siteConfig.user !== undefined && !siteConfig.user.anonymous) {\n const themes = JSON.parse(siteConfig.themes);\n const user = siteConfig.user;\n delete siteConfig.user;\n\n //更换用户自定配色\n if (\n user[\"preferred_theme\"] !== \"\" &&\n themes[user[\"preferred_theme\"]] !== undefined\n ) {\n siteConfig.theme = themes[user[\"preferred_theme\"]];\n }\n\n // 更新登录态\n Auth.authenticate(user);\n }\n if (siteConfig.user !== undefined && siteConfig.user.anonymous) {\n Auth.SetUser(siteConfig.user);\n }\n return siteConfig;\n};\n\nexport const InitSiteConfig = (rawStore) => {\n // 从缓存获取默认配置\n const configCache = JSON.parse(localStorage.getItem(\"siteConfigCache\"));\n if (configCache != null) {\n rawStore.siteConfig = configCache;\n }\n // 检查是否有path参数\n const url = new URL(window.location.href);\n const c = url.searchParams.get(\"path\");\n rawStore.navigator.path = c === null ? \"/\" : c;\n // 初始化用户个性配置\n rawStore.siteConfig = initUserConfig(rawStore.siteConfig);\n\n // 更改站点标题\n document.title = rawStore.siteConfig.title;\n return rawStore;\n};\n\nexport function enableUploaderLoad() {\n // 开启上传组件加载\n const user = Auth.GetUser();\n window.policyType = user !== null ? user.policy.saveType : \"local\";\n window.uploadConfig = user !== null ? user.policy : {};\n window.pathCache = [];\n}\n\nexport async function UpdateSiteConfig(store) {\n API.get(\"/site/config\")\n .then(function (response) {\n const themes = JSON.parse(response.data.themes);\n response.data.theme = themes[response.data.defaultTheme];\n response.data = initUserConfig(response.data);\n store.dispatch(setSiteConfig(response.data));\n localStorage.setItem(\n \"siteConfigCache\",\n JSON.stringify(response.data)\n );\n\n // 偏爱的列表样式\n const preferListMethod = Auth.GetPreference(\"view_method\");\n if (preferListMethod) {\n store.dispatch(changeViewMethod(preferListMethod));\n } else {\n if (pathHelper.isSharePage(window.location.pathname)) {\n store.dispatch(\n changeViewMethod(response.data.share_view_method)\n );\n } else {\n store.dispatch(\n changeViewMethod(response.data.home_view_method)\n );\n }\n }\n })\n .catch(function (error) {\n store.dispatch(\n toggleSnackbar(\n \"top\",\n \"right\",\n \"无法加载站点配置:\" + error.message,\n \"error\"\n )\n );\n })\n .then(function () {\n enableUploaderLoad(store);\n store.dispatch(enableLoadUploader());\n });\n}\n","import React, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useLocation } from \"react-router\";\nimport { makeStyles, Link } from \"@material-ui/core\";\nimport pageHelper from \"../../utils/page\";\n\nconst useStyles = makeStyles(() => ({\n icp: {\n padding: \"8px 24px\",\n position: \"absolute\",\n bottom: 0,\n },\n}));\n\nexport const ICPFooter = () => {\n const siteICPId = useSelector((state) => state.siteConfig.siteICPId);\n const classes = useStyles();\n const location = useLocation();\n const [show, setShow] = useState(true);\n\n useEffect(() => {\n // 只在分享和登录界面显示\n const isSharePage = pageHelper.isSharePage(location.pathname);\n const isLoginPage = pageHelper.isLoginPage(location.pathname);\n setShow(siteICPId && (isSharePage || isLoginPage));\n }, [siteICPId, location]);\n\n if (!show) {\n return <>;\n }\n return (\n
\n {`备案号: `}\n \n {siteICPId}\n \n
\n );\n};\n","import React from \"react\";\nimport ContentLoader from \"react-content-loader\";\n\nconst MyLoader = () => (\n \n \n \n);\n\nfunction captchaPlacholder() {\n return ;\n}\n\nexport default captchaPlacholder;\n","import React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { toggleSnackbar } from \"../actions\";\nimport API from \"../middleware/Api\";\nimport { FormControl, Input, InputLabel } from \"@material-ui/core\";\nimport Placeholder from \"../component/Placeholder/Captcha\";\nimport { defaultValidate, useStyle } from \"./useCaptcha\";\n\nconst NormalCaptcha = forwardRef(function NormalCaptcha(\n { captchaRef, setLoading },\n ref\n) {\n const classes = useStyle();\n\n const [captcha, setCaptcha] = useState(\"\");\n const [captchaData, setCaptchaData] = useState(null);\n\n const dispatch = useDispatch();\n const ToggleSnackbar = useCallback(\n (vertical, horizontal, msg, color) =>\n dispatch(toggleSnackbar(vertical, horizontal, msg, color)),\n [dispatch]\n );\n\n const refreshCaptcha = () => {\n API.get(\"/site/captcha\")\n .then((response) => {\n setCaptchaData(response.data);\n setLoading(false);\n })\n .catch((error) => {\n ToggleSnackbar(\n \"top\",\n \"right\",\n \"无法加载验证码:\" + error.message,\n \"error\"\n );\n });\n };\n\n useEffect(() => {\n ref.current = refreshCaptcha;\n refreshCaptcha();\n }, []);\n\n useEffect(() => {\n captchaRef.current.captchaCode = captcha;\n }, [captcha]);\n\n return (\n
\n \n 验证码\n setCaptcha(e.target.value)}\n type=\"text\"\n id=\"captcha\"\n value={captcha}\n autoComplete\n />\n {\" \"}\n
\n {captchaData === null && (\n
\n \n
\n )}\n {captchaData !== null && (\n \n )}\n
\n
\n );\n});\n\nexport default function useNormalCaptcha(captchaRefreshRef, setLoading) {\n const isValidate = useRef({\n isValidate: true,\n });\n\n const captchaParamsRef = useRef({\n captchaCode: \"\",\n });\n\n const CaptchaRender = useCallback(\n function Normal() {\n return (\n \n );\n },\n [captchaParamsRef, captchaRefreshRef, setLoading]\n );\n\n return {\n isValidate,\n validate: defaultValidate,\n captchaParamsRef,\n CaptchaRender,\n };\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nexport default class ReCAPTCHA extends React.Component {\n constructor() {\n super();\n this.handleExpired = this.handleExpired.bind(this);\n this.handleErrored = this.handleErrored.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.handleRecaptchaRef = this.handleRecaptchaRef.bind(this);\n }\n\n getValue() {\n if (this.props.grecaptcha && this._widgetId !== undefined) {\n return this.props.grecaptcha.getResponse(this._widgetId);\n }\n return null;\n }\n\n getWidgetId() {\n if (this.props.grecaptcha && this._widgetId !== undefined) {\n return this._widgetId;\n }\n return null;\n }\n\n execute() {\n const { grecaptcha } = this.props;\n\n if (grecaptcha && this._widgetId !== undefined) {\n return grecaptcha.execute(this._widgetId);\n } else {\n this._executeRequested = true;\n }\n }\n\n reset() {\n if (this.props.grecaptcha && this._widgetId !== undefined) {\n this.props.grecaptcha.reset(this._widgetId);\n }\n }\n\n handleExpired() {\n if (this.props.onExpired) {\n this.props.onExpired();\n } else {\n this.handleChange(null);\n }\n }\n\n handleErrored() {\n if (this.props.onErrored) this.props.onErrored();\n }\n\n handleChange(token) {\n if (this.props.onChange) this.props.onChange(token);\n }\n\n explicitRender() {\n if (\n this.props.grecaptcha &&\n this.props.grecaptcha.render &&\n this._widgetId === undefined\n ) {\n const wrapper = document.createElement(\"div\");\n this._widgetId = this.props.grecaptcha.render(wrapper, {\n sitekey: this.props.sitekey,\n callback: this.handleChange,\n theme: this.props.theme,\n type: this.props.type,\n tabindex: this.props.tabindex,\n \"expired-callback\": this.handleExpired,\n \"error-callback\": this.handleErrored,\n size: this.props.size,\n stoken: this.props.stoken,\n hl: this.props.hl,\n badge: this.props.badge,\n });\n this.captcha.appendChild(wrapper);\n }\n if (\n this._executeRequested &&\n this.props.grecaptcha &&\n this._widgetId !== undefined\n ) {\n this._executeRequested = false;\n this.execute();\n }\n }\n\n componentDidMount() {\n this.explicitRender();\n }\n\n componentDidUpdate() {\n this.explicitRender();\n }\n\n componentWillUnmount() {\n if (this._widgetId !== undefined) {\n this.delayOfCaptchaIframeRemoving();\n this.reset();\n }\n }\n\n delayOfCaptchaIframeRemoving() {\n const temporaryNode = document.createElement(\"div\");\n document.body.appendChild(temporaryNode);\n temporaryNode.style.display = \"none\";\n\n // move of the recaptcha to a temporary node\n while (this.captcha.firstChild) {\n temporaryNode.appendChild(this.captcha.firstChild);\n }\n\n // delete the temporary node after reset will be done\n setTimeout(() => {\n document.body.removeChild(temporaryNode);\n }, 5000);\n }\n\n handleRecaptchaRef(elem) {\n this.captcha = elem;\n }\n\n render() {\n // consume properties owned by the reCATPCHA, pass the rest to the div so the user can style it.\n /* eslint-disable no-unused-vars */\n /* eslint-disable @typescript-eslint/no-unused-vars */\n const {\n sitekey,\n onChange,\n theme,\n type,\n tabindex,\n onExpired,\n onErrored,\n size,\n stoken,\n grecaptcha,\n badge,\n hl,\n ...childProps\n } = this.props;\n /* eslint-enable no-unused-vars */\n return
;\n }\n}\n\nReCAPTCHA.displayName = \"ReCAPTCHA\";\nReCAPTCHA.propTypes = {\n sitekey: PropTypes.string.isRequired,\n onChange: PropTypes.func,\n grecaptcha: PropTypes.object,\n theme: PropTypes.oneOf([\"dark\", \"light\"]),\n type: PropTypes.oneOf([\"image\", \"audio\"]),\n tabindex: PropTypes.number,\n onExpired: PropTypes.func,\n onErrored: PropTypes.func,\n size: PropTypes.oneOf([\"compact\", \"normal\", \"invisible\"]),\n stoken: PropTypes.string,\n hl: PropTypes.string,\n badge: PropTypes.oneOf([\"bottomright\", \"bottomleft\", \"inline\"]),\n};\nReCAPTCHA.defaultProps = {\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange: () => {},\n theme: \"light\",\n type: \"image\",\n tabindex: 0,\n size: \"normal\",\n badge: \"bottomright\",\n};\n","import ReCAPTCHA from \"./ReCaptchaWrapper\";\nimport makeAsyncScriptLoader from \"react-async-script\";\n\nconst callbackName = \"onloadcallback\";\nconst globalName = \"grecaptcha\";\n\nfunction getURL() {\n const hostname = \"recaptcha.net\";\n return `https://${hostname}/recaptcha/api.js?onload=${callbackName}&render=explicit`;\n}\n\nexport default makeAsyncScriptLoader(getURL, {\n callbackName,\n globalName,\n})(ReCAPTCHA);\n","import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { FormControl } from \"@material-ui/core\";\nimport ReCaptcha from \"../component/Login/ReCaptcha\";\nimport { defaultValidate, useStyle } from \"./useCaptcha\";\n\nconst Recaptcha = ({ captchaRef, setLoading }) => {\n const classes = useStyle();\n\n const [captcha, setCaptcha] = useState(\"\");\n\n const reCaptchaKey = useSelector(\n (state) => state.siteConfig.captcha_ReCaptchaKey\n );\n\n useEffect(() => {\n captchaRef.current.captchaCode = captcha;\n }, [captcha]);\n\n useEffect(() => setLoading(false), []);\n\n return (\n
\n \n
\n setCaptcha(value)}\n id=\"captcha\"\n name=\"captcha\"\n />\n
\n
{\" \"}\n
\n );\n};\n\nexport default function useRecaptcha(setLoading) {\n const isValidate = useRef({\n isValidate: true,\n });\n\n const captchaParamsRef = useRef({\n captchaCode: \"\",\n });\n\n const CaptchaRender = useCallback(\n function RecaptchaRender() {\n return (\n \n );\n },\n [captchaParamsRef, setLoading]\n );\n\n return {\n isValidate,\n validate: defaultValidate,\n captchaParamsRef,\n CaptchaRender,\n };\n}\n","import React, { forwardRef, useCallback, useRef } from \"react\";\nimport Script from \"react-load-script\";\nimport { useSelector } from \"react-redux\";\n\nconst TCaptcha = forwardRef(function TCaptcha(\n { captchaRef, setLoading, isValidateRef, submitRef },\n ref\n) {\n const appid = useSelector(\n (state) => state.siteConfig.tcaptcha_captcha_app_id\n );\n const onLoad = () => {\n try {\n ref.current = new window.TencentCaptcha(appid, function (res) {\n if (res.ret === 0) {\n captchaRef.current.ticket = res.ticket;\n captchaRef.current.randstr = res.randstr;\n\n isValidateRef.current.isValidate = true;\n submitRef.current.submit();\n console.log(submitRef);\n } else {\n submitRef.current.setLoading(false);\n }\n });\n } catch (e) {\n console.error(e);\n }\n setLoading(false);\n };\n return (\n \n );\n});\n\nexport default function useTCaptcha(setLoading) {\n const isValidate = useRef({\n isValidate: false,\n });\n const captchaParamsRef = useRef({\n ticket: \"\",\n randstr: \"\",\n });\n const submitRef = useRef({\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n submit: () => {},\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n setLoading: () => {},\n });\n\n const captchaRef = useRef();\n\n const CaptchaRender = useCallback(\n function TCaptchaRender() {\n return (\n \n );\n },\n [captchaParamsRef, setLoading, isValidate, submitRef, captchaRef]\n );\n\n return {\n isValidate: isValidate,\n validate: (submit, setLoading) => {\n submitRef.current.submit = submit;\n submitRef.current.setLoading = setLoading;\n captchaRef.current.show();\n },\n captchaParamsRef,\n CaptchaRender,\n };\n}\n","import { useSelector } from \"react-redux\";\nimport { useRef, useState } from \"react\";\nimport { makeStyles } from \"@material-ui/core\";\nimport useNormalCaptcha from \"./normal\";\nimport useRecaptcha from \"./recaptcha\";\nimport useTCaptcha from \"./tcaptcha\";\n\nexport const useStyle = makeStyles((theme) => ({\n captchaContainer: {\n display: \"flex\",\n marginTop: \"10px\",\n [theme.breakpoints.down(\"sm\")]: {\n display: \"block\",\n },\n },\n}));\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars,@typescript-eslint/no-empty-function\nexport const defaultValidate = (submit, setLoading) => {};\n\nexport const useCaptcha = () => {\n const captchaType = useSelector((state) => state.siteConfig.captcha_type);\n\n const [captchaLoading, setCaptchaLoading] = useState(true);\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n const captchaRefreshRef = useRef(() => {});\n\n const normal = useNormalCaptcha(captchaRefreshRef, setCaptchaLoading);\n const recaptcha = useRecaptcha(setCaptchaLoading);\n const tcaptcha = useTCaptcha(setCaptchaLoading);\n\n switch (captchaType) {\n case \"normal\":\n return { ...normal, captchaRefreshRef, captchaLoading };\n case \"recaptcha\":\n return { ...recaptcha, captchaRefreshRef, captchaLoading };\n case \"tcaptcha\":\n return { ...tcaptcha, captchaRefreshRef, captchaLoading };\n default:\n return { ...normal, captchaRefreshRef, captchaLoading };\n }\n};\n","import React, { useCallback, useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport LockOutlinedIcon from \"@material-ui/icons/LockOutlined\";\nimport {\n Avatar,\n Button,\n Divider,\n FormControl,\n Input,\n InputLabel,\n Link,\n makeStyles,\n Paper,\n Typography,\n} from \"@material-ui/core\";\nimport {\n applyThemes,\n setSessionStatus,\n toggleSnackbar,\n} from \"../../actions/index\";\nimport { useHistory } from \"react-router-dom\";\nimport API from \"../../middleware/Api\";\nimport Auth from \"../../middleware/Auth\";\nimport { bufferDecode, bufferEncode } from \"../../utils/index\";\nimport { enableUploaderLoad } from \"../../middleware/Init\";\nimport { Fingerprint, VpnKey } from \"@material-ui/icons\";\nimport VpnIcon from \"@material-ui/icons/VpnKeyOutlined\";\nimport { useLocation } from \"react-router\";\nimport { ICPFooter } from \"../Common/ICPFooter\";\nimport { useCaptcha } from \"../../hooks/useCaptcha\";\n\nconst useStyles = makeStyles((theme) => ({\n layout: {\n width: \"auto\",\n marginTop: \"110px\",\n marginLeft: theme.spacing(3),\n marginRight: theme.spacing(3),\n [theme.breakpoints.up(\"sm\")]: {\n width: 400,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n marginBottom: 110,\n },\n paper: {\n marginTop: theme.spacing(8),\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n padding: `${theme.spacing(2)}px ${theme.spacing(3)}px ${theme.spacing(\n 3\n )}px`,\n },\n avatar: {\n margin: theme.spacing(1),\n backgroundColor: theme.palette.secondary.main,\n },\n form: {\n width: \"100%\", // Fix IE 11 issue.\n marginTop: theme.spacing(1),\n },\n submit: {\n marginTop: theme.spacing(3),\n },\n link: {\n marginTop: \"20px\",\n display: \"flex\",\n width: \"100%\",\n justifyContent: \"space-between\",\n },\n captchaContainer: {\n display: \"flex\",\n marginTop: \"10px\",\n [theme.breakpoints.down(\"sm\")]: {\n display: \"block\",\n },\n },\n captchaPlaceholder: {\n width: 200,\n },\n buttonContainer: {\n display: \"flex\",\n },\n authnLink: {\n textAlign: \"center\",\n marginTop: 16,\n },\n}));\n\nfunction useQuery() {\n return new URLSearchParams(useLocation().search);\n}\n\nfunction LoginForm() {\n const [email, setEmail] = useState(\"\");\n const [pwd, setPwd] = useState(\"\");\n const [loading, setLoading] = useState(false);\n const [useAuthn, setUseAuthn] = useState(false);\n const [twoFA, setTwoFA] = useState(false);\n const [faCode, setFACode] = useState(\"\");\n\n const loginCaptcha = useSelector((state) => state.siteConfig.loginCaptcha);\n const title = useSelector((state) => state.siteConfig.title);\n const QQLogin = useSelector((state) => state.siteConfig.QQLogin);\n const authn = useSelector((state) => state.siteConfig.authn);\n\n const dispatch = useDispatch();\n const ToggleSnackbar = useCallback(\n (vertical, horizontal, msg, color) =>\n dispatch(toggleSnackbar(vertical, horizontal, msg, color)),\n [dispatch]\n );\n const ApplyThemes = useCallback((theme) => dispatch(applyThemes(theme)), [\n dispatch,\n ]);\n const SetSessionStatus = useCallback(\n (status) => dispatch(setSessionStatus(status)),\n [dispatch]\n );\n\n const history = useHistory();\n const location = useLocation();\n const {\n captchaLoading,\n isValidate,\n validate,\n CaptchaRender,\n captchaRefreshRef,\n captchaParamsRef,\n } = useCaptcha();\n const query = useQuery();\n\n const classes = useStyles();\n\n useEffect(() => {\n setEmail(query.get(\"username\"));\n }, [location]);\n\n const afterLogin = (data) => {\n Auth.authenticate(data);\n\n // 设置用户主题色\n if (data[\"preferred_theme\"] !== \"\") {\n ApplyThemes(data[\"preferred_theme\"]);\n }\n enableUploaderLoad();\n\n // 设置登录状态\n SetSessionStatus(true);\n\n history.push(\"/home\");\n ToggleSnackbar(\"top\", \"right\", \"登录成功\", \"success\");\n\n localStorage.removeItem(\"siteConfigCache\");\n };\n\n const authnLogin = (e) => {\n e.preventDefault();\n if (!navigator.credentials) {\n ToggleSnackbar(\"top\", \"right\", \"当前浏览器或环境不支持\", \"warning\");\n\n return;\n }\n\n setLoading(true);\n\n API.get(\"/user/authn/\" + email)\n .then((response) => {\n const credentialRequestOptions = response.data;\n console.log(credentialRequestOptions);\n credentialRequestOptions.publicKey.challenge = bufferDecode(\n credentialRequestOptions.publicKey.challenge\n );\n credentialRequestOptions.publicKey.allowCredentials.forEach(\n function (listItem) {\n listItem.id = bufferDecode(listItem.id);\n }\n );\n\n return navigator.credentials.get({\n publicKey: credentialRequestOptions.publicKey,\n });\n })\n .then((assertion) => {\n const authData = assertion.response.authenticatorData;\n const clientDataJSON = assertion.response.clientDataJSON;\n const rawId = assertion.rawId;\n const sig = assertion.response.signature;\n const userHandle = assertion.response.userHandle;\n\n return API.post(\n \"/user/authn/finish/\" + email,\n JSON.stringify({\n id: assertion.id,\n rawId: bufferEncode(rawId),\n type: assertion.type,\n response: {\n authenticatorData: bufferEncode(authData),\n clientDataJSON: bufferEncode(clientDataJSON),\n signature: bufferEncode(sig),\n userHandle: bufferEncode(userHandle),\n },\n })\n );\n })\n .then((response) => {\n afterLogin(response.data);\n })\n .catch((error) => {\n console.log(error);\n ToggleSnackbar(\"top\", \"right\", error.message, \"warning\");\n })\n .then(() => {\n setLoading(false);\n });\n };\n\n const login = (e) => {\n e.preventDefault();\n setLoading(true);\n if (!isValidate.current.isValidate && loginCaptcha) {\n validate(() => login(e), setLoading);\n return;\n }\n API.post(\"/user/session\", {\n userName: email,\n Password: pwd,\n ...captchaParamsRef.current,\n })\n .then((response) => {\n setLoading(false);\n if (response.rawData.code === 203) {\n setTwoFA(true);\n } else {\n afterLogin(response.data);\n }\n })\n .catch((error) => {\n setLoading(false);\n ToggleSnackbar(\"top\", \"right\", error.message, \"warning\");\n captchaRefreshRef.current();\n });\n };\n\n const initQQLogin = () => {\n setLoading(true);\n API.post(\"/user/qq\")\n .then((response) => {\n window.location.href = response.data;\n })\n .catch((error) => {\n setLoading(false);\n ToggleSnackbar(\"top\", \"right\", error.message, \"warning\");\n });\n };\n\n const twoFALogin = (e) => {\n e.preventDefault();\n setLoading(true);\n API.post(\"/user/2fa\", {\n code: faCode,\n })\n .then((response) => {\n setLoading(false);\n afterLogin(response.data);\n })\n .catch((error) => {\n setLoading(false);\n ToggleSnackbar(\"top\", \"right\", error.message, \"warning\");\n });\n };\n\n return (\n
\n {!twoFA && (\n <>\n \n \n \n \n \n 登录 {title}\n \n {!useAuthn && (\n
\n \n \n 电子邮箱\n \n \n setEmail(e.target.value)\n }\n autoComplete\n value={email}\n autoFocus\n />\n \n \n \n 密码\n \n setPwd(e.target.value)}\n type=\"password\"\n id=\"password\"\n value={pwd}\n autoComplete\n />\n \n {loginCaptcha && }\n {QQLogin && (\n
\n \n 登录\n \n \n 使用QQ登录\n \n
\n )}\n {!QQLogin && (\n \n 登录\n \n )}\n \n )}\n {useAuthn && (\n
\n \n \n 电子邮箱\n \n \n setEmail(e.target.value)\n }\n autoComplete\n value={email}\n autoFocus\n />\n \n \n 下一步\n \n \n )}\n \n
\n
\n 忘记密码\n
\n
\n 注册账号\n
\n
\n\n \n
\n\n {authn && (\n
\n setUseAuthn(!useAuthn)}\n >\n {!useAuthn && (\n <>\n \n 使用外部验证器登录\n \n )}\n {useAuthn && (\n <>\n \n 使用密码登录\n \n )}\n \n
\n )}\n \n )}\n {twoFA && (\n \n \n \n \n \n 二步验证\n \n
\n \n \n 请输入六位二步验证代码\n \n \n setFACode(event.target.value)\n }\n autoComplete\n value={faCode}\n autoFocus\n />\n \n \n 继续登录\n {\" \"}\n {\" \"}\n \n
\n )}\n
\n );\n}\n\nexport default LoginForm;\n","import * as actions from \"./action\";\nimport * as reducers from \"./reducer\";\n\nexport default {\n actions,\n reducers,\n};\n","import React, { useEffect } from \"react\";\nimport ExpandMore from \"@material-ui/icons/ExpandMore\";\nimport { Button } from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core\";\nimport { useDrop } from \"react-dnd\";\nimport classNames from \"classnames\";\nimport MoreIcon from \"@material-ui/icons/MoreHoriz\";\n\nconst useStyles = makeStyles((theme) => ({\n expandMore: {\n color: \"#8d8d8d\",\n },\n active: {\n boxShadow: \"0 0 0 2px \" + theme.palette.primary.light,\n },\n button: {\n textTransform: \"none\",\n },\n}));\n\nexport default function PathButton(props) {\n const inputRef = React.useRef(null);\n\n const [{ canDrop, isOver }, drop] = useDrop({\n accept: \"object\",\n drop: () => {\n if (props.more) {\n inputRef.current.click();\n } else {\n return {\n folder: {\n id: -1,\n path: props.path,\n name: props.folder === \"/\" ? \"\" : props.folder,\n },\n };\n }\n },\n collect: (monitor) => ({\n isOver: monitor.isOver(),\n canDrop: monitor.canDrop(),\n }),\n });\n\n const isActive = canDrop && isOver;\n\n useEffect(() => {\n if (props.more && isActive) {\n inputRef.current.click();\n }\n // eslint-disable-next-line\n }, [isActive]);\n\n const classes = useStyles();\n return (\n \n \n {props.more && }\n {!props.more && (\n <>\n {props.folder}\n {props.last && (\n \n )}\n \n )}\n \n \n );\n}\n","import React, { useEffect } from \"react\";\nimport { makeStyles } from \"@material-ui/core\";\nimport FolderIcon from \"@material-ui/icons/Folder\";\nimport { MenuItem, ListItemIcon, ListItemText } from \"@material-ui/core\";\nimport { useDrop } from \"react-dnd\";\nimport classNames from \"classnames\";\n\nconst useStyles = makeStyles((theme) => ({\n active: {\n border: \"2px solid \" + theme.palette.primary.light,\n },\n}));\n\nexport default function DropDownItem(props) {\n const [{ canDrop, isOver }, drop] = useDrop({\n accept: \"object\",\n drop: () => {\n console.log({\n folder: {\n id: -1,\n path: props.path,\n name: props.folder === \"/\" ? \"\" : props.folder,\n },\n });\n },\n collect: (monitor) => ({\n isOver: monitor.isOver(),\n canDrop: monitor.canDrop(),\n }),\n });\n\n const isActive = canDrop && isOver;\n\n useEffect(() => {\n props.setActiveStatus(props.id, isActive);\n // eslint-disable-next-line\n }, [isActive]);\n\n const classes = useStyles();\n return (\n props.navigateTo(e, props.id)}\n >\n \n \n \n \n \n );\n}\n","import React from \"react\";\nimport DropDownItem from \"./DropDownItem\";\n\nexport default function DropDown(props) {\n let timer;\n let first = props.folders.length;\n const status = [];\n for (let index = 0; index < props.folders.length; index++) {\n status[index] = false;\n }\n\n const setActiveStatus = (id, value) => {\n status[id] = value;\n if (value) {\n clearTimeout(timer);\n } else {\n let shouldClose = true;\n status.forEach((element) => {\n if (element) {\n shouldClose = false;\n }\n });\n if (shouldClose) {\n if (first <= 0) {\n timer = setTimeout(() => {\n props.onClose();\n }, 100);\n } else {\n first--;\n }\n }\n }\n console.log(status);\n };\n\n return (\n <>\n {props.folders.map((folder, id) => (\n // eslint-disable-next-line react/jsx-key\n \n ))}\n \n );\n}\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { connect } from \"react-redux\";\nimport { withRouter } from \"react-router-dom\";\nimport RightIcon from \"@material-ui/icons/KeyboardArrowRight\";\nimport ShareIcon from \"@material-ui/icons/Share\";\nimport NewFolderIcon from \"@material-ui/icons/CreateNewFolder\";\nimport RefreshIcon from \"@material-ui/icons/Refresh\";\nimport {\n navigateTo,\n navigateUp,\n setNavigatorError,\n setNavigatorLoadingStatus,\n refreshFileList,\n setSelectedTarget,\n openCreateFolderDialog,\n openShareDialog,\n drawerToggleAction,\n openCompressDialog,\n} from \"../../../actions/index\";\nimport explorer from \"../../../redux/explorer\";\nimport API from \"../../../middleware/Api\";\nimport { setCookie, setGetParameter, fixUrlHash } from \"../../../utils/index\";\nimport {\n withStyles,\n Divider,\n Menu,\n MenuItem,\n ListItemIcon,\n} from \"@material-ui/core\";\nimport PathButton from \"./PathButton\";\nimport DropDown from \"./DropDown\";\nimport pathHelper from \"../../../utils/page\";\nimport classNames from \"classnames\";\nimport Auth from \"../../../middleware/Auth\";\nimport { Archive } from \"@material-ui/icons\";\nimport { FilePlus } from \"mdi-material-ui\";\nimport { openCreateFileDialog } from \"../../../actions\";\nimport SubActions from \"./SubActions\";\n\nconst mapStateToProps = (state) => {\n return {\n path: state.navigator.path,\n refresh: state.navigator.refresh,\n drawerDesktopOpen: state.viewUpdate.open,\n viewMethod: state.viewUpdate.explorerViewMethod,\n keywords: state.explorer.keywords,\n sortMethod: state.viewUpdate.sortMethod,\n };\n};\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n navigateToPath: (path) => {\n dispatch(navigateTo(path));\n },\n navigateUp: () => {\n dispatch(navigateUp());\n },\n setNavigatorError: (status, msg) => {\n dispatch(setNavigatorError(status, msg));\n },\n updateFileList: (list) => {\n dispatch(explorer.actions.updateFileList(list));\n },\n setNavigatorLoadingStatus: (status) => {\n dispatch(setNavigatorLoadingStatus(status));\n },\n refreshFileList: () => {\n dispatch(refreshFileList());\n },\n setSelectedTarget: (target) => {\n dispatch(setSelectedTarget(target));\n },\n openCreateFolderDialog: () => {\n dispatch(openCreateFolderDialog());\n },\n openCreateFileDialog: () => {\n dispatch(openCreateFileDialog());\n },\n openShareDialog: () => {\n dispatch(openShareDialog());\n },\n handleDesktopToggle: (open) => {\n dispatch(drawerToggleAction(open));\n },\n openCompressDialog: () => {\n dispatch(openCompressDialog());\n },\n };\n};\n\nconst delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));\n\nconst styles = (theme) => ({\n container: {\n [theme.breakpoints.down(\"xs\")]: {\n display: \"none\",\n },\n height: \"49px\",\n overflow: \"hidden\",\n backgroundColor: theme.palette.background.paper,\n },\n navigatorContainer: {\n display: \"flex\",\n justifyContent: \"space-between\",\n },\n nav: {\n height: \"48px\",\n padding: \"5px 15px\",\n display: \"flex\",\n },\n optionContainer: {\n paddingTop: \"6px\",\n marginRight: \"10px\",\n },\n rightIcon: {\n marginTop: \"6px\",\n verticalAlign: \"top\",\n color: \"#868686\",\n },\n expandMore: {\n color: \"#8d8d8d\",\n },\n roundBorder: {\n borderRadius: \"4px 4px 0 0\",\n },\n});\n\nclass NavigatorComponent extends Component {\n keywords = \"\";\n currentID = 0;\n\n state = {\n hidden: false,\n hiddenFolders: [],\n folders: [],\n anchorEl: null,\n hiddenMode: false,\n anchorHidden: null,\n };\n\n constructor(props) {\n super(props);\n this.element = React.createRef();\n }\n\n componentDidMount = () => {\n const url = new URL(fixUrlHash(window.location.href));\n const c = url.searchParams.get(\"path\");\n this.renderPath(c === null ? \"/\" : c);\n\n if (!this.props.isShare) {\n // 如果是在个人文件管理页,首次加载时打开侧边栏\n this.props.handleDesktopToggle(true);\n }\n\n // 后退操作时重新导航\n window.onpopstate = () => {\n const url = new URL(fixUrlHash(window.location.href));\n const c = url.searchParams.get(\"path\");\n if (c !== null) {\n this.props.navigateToPath(c);\n }\n };\n };\n\n renderPath = (path = null) => {\n this.props.setNavigatorError(false, null);\n this.setState({\n folders:\n path !== null\n ? path.substr(1).split(\"/\")\n : this.props.path.substr(1).split(\"/\"),\n });\n let newPath = path !== null ? path : this.props.path;\n const apiURL = this.props.share\n ? \"/share/list/\" + this.props.share.key\n : this.keywords === \"\"\n ? \"/directory\"\n : \"/file/search/\";\n newPath = this.keywords === \"\" ? newPath : this.keywords;\n\n API.get(apiURL + encodeURIComponent(newPath))\n .then((response) => {\n this.currentID = response.data.parent;\n this.props.updateFileList(response.data.objects);\n this.props.setNavigatorLoadingStatus(false);\n const pathTemp = (path !== null\n ? path.substr(1).split(\"/\")\n : this.props.path.substr(1).split(\"/\")\n ).join(\",\");\n setCookie(\"path_tmp\", encodeURIComponent(pathTemp), 1);\n if (this.keywords === \"\") {\n setGetParameter(\"path\", encodeURIComponent(newPath));\n }\n })\n .catch((error) => {\n this.props.setNavigatorError(true, error);\n });\n\n this.checkOverFlow(true);\n };\n\n redresh = (path) => {\n this.props.setNavigatorLoadingStatus(true);\n this.props.setNavigatorError(false, \"error\");\n this.renderPath(path);\n };\n\n UNSAFE_componentWillReceiveProps = (nextProps) => {\n if (this.props.keywords !== nextProps.keywords) {\n this.keywords = nextProps.keywords;\n }\n if (this.props.path !== nextProps.path) {\n this.renderPath(nextProps.path);\n }\n if (this.props.refresh !== nextProps.refresh) {\n this.redresh(nextProps.path);\n }\n };\n\n componentWillUnmount() {\n this.props.updateFileList([]);\n }\n\n componentDidUpdate = (prevProps, prevStates) => {\n if (this.state.folders !== prevStates.folders) {\n this.checkOverFlow(true);\n }\n if (this.props.drawerDesktopOpen !== prevProps.drawerDesktopOpen) {\n delay(500).then(() => this.checkOverFlow());\n }\n };\n\n checkOverFlow = (force) => {\n if (this.overflowInitLock && !force) {\n return;\n }\n if (this.element.current !== null) {\n const hasOverflowingChildren =\n this.element.current.offsetHeight <\n this.element.current.scrollHeight ||\n this.element.current.offsetWidth <\n this.element.current.scrollWidth;\n if (hasOverflowingChildren) {\n this.overflowInitLock = true;\n this.setState({ hiddenMode: true });\n }\n if (!hasOverflowingChildren && this.state.hiddenMode) {\n this.setState({ hiddenMode: false });\n }\n }\n };\n\n navigateTo = (event, id) => {\n if (id === this.state.folders.length - 1) {\n //最后一个路径\n this.setState({ anchorEl: event.currentTarget });\n } else if (\n id === -1 &&\n this.state.folders.length === 1 &&\n this.state.folders[0] === \"\"\n ) {\n this.props.refreshFileList();\n this.handleClose();\n } else if (id === -1) {\n this.props.navigateToPath(\"/\");\n this.handleClose();\n } else {\n this.props.navigateToPath(\n \"/\" + this.state.folders.slice(0, id + 1).join(\"/\")\n );\n this.handleClose();\n }\n };\n\n handleClose = () => {\n this.setState({ anchorEl: null, anchorHidden: null, anchorSort: null });\n };\n\n showHiddenPath = (e) => {\n this.setState({ anchorHidden: e.currentTarget });\n };\n\n performAction = (e) => {\n this.handleClose();\n if (e === \"refresh\") {\n this.redresh();\n return;\n }\n const presentPath = this.props.path.split(\"/\");\n const newTarget = [\n {\n id: this.currentID,\n type: \"dir\",\n name: presentPath.pop(),\n path: presentPath.length === 1 ? \"/\" : presentPath.join(\"/\"),\n },\n ];\n //this.props.navitateUp();\n switch (e) {\n case \"share\":\n this.props.setSelectedTarget(newTarget);\n this.props.openShareDialog();\n break;\n case \"newfolder\":\n this.props.openCreateFolderDialog();\n break;\n case \"compress\":\n this.props.setSelectedTarget(newTarget);\n this.props.openCompressDialog();\n break;\n case \"newFile\":\n this.props.openCreateFileDialog();\n break;\n default:\n break;\n }\n };\n\n render() {\n const { classes } = this.props;\n const isHomePage = pathHelper.isHomePage(this.props.location.pathname);\n const user = Auth.GetUser();\n\n const presentFolderMenu = (\n \n this.performAction(\"refresh\")}>\n \n \n \n 刷新\n \n {this.props.keywords === \"\" && isHomePage && (\n
\n \n this.performAction(\"share\")}>\n \n \n \n 分享\n \n {user.group.compress && (\n this.performAction(\"compress\")}\n >\n \n \n \n 压缩\n \n )}\n \n this.performAction(\"newfolder\")}\n >\n \n \n \n 创建文件夹\n \n\n this.performAction(\"newFile\")}>\n \n \n \n 创建文件\n \n
\n )}\n \n );\n\n return (\n \n
\n
\n \n this.navigateTo(e, -1)}\n />\n \n \n {this.state.hiddenMode && (\n \n \n \n \n \n \n {/* */}\n \n this.navigateTo(\n e,\n this.state.folders.length - 1\n )\n }\n />\n {presentFolderMenu}\n \n )}\n {!this.state.hiddenMode &&\n this.state.folders.map((folder, id, folders) => (\n \n {folder !== \"\" && (\n \n \n this.navigateTo(e, id)\n }\n />\n {id === folders.length - 1 &&\n presentFolderMenu}\n {id !== folders.length - 1 && (\n \n )}\n \n )}\n \n ))}\n
\n
\n \n
\n
\n \n
\n );\n }\n}\n\nNavigatorComponent.propTypes = {\n classes: PropTypes.object.isRequired,\n path: PropTypes.string.isRequired,\n};\n\nconst Navigator = connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(NavigatorComponent)));\n\nexport default Navigator;\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { connect } from \"react-redux\";\nimport classNames from \"classnames\";\nimport {\n withStyles,\n ButtonBase,\n Typography,\n Tooltip,\n fade,\n} from \"@material-ui/core\";\nimport TypeIcon from \"./TypeIcon\";\nimport { lighten } from \"@material-ui/core/styles\";\nimport CheckCircleRoundedIcon from \"@material-ui/icons/CheckCircleRounded\";\nimport statusHelper from \"../../utils/page\";\nimport Grow from \"@material-ui/core/Grow\";\nimport { Folder } from \"@material-ui/icons\";\n\nconst styles = (theme) => ({\n container: {\n padding: \"7px\",\n },\n\n selected: {\n \"&:hover\": {\n border: \"1px solid #d0d0d0\",\n },\n backgroundColor: fade(\n theme.palette.primary.main,\n theme.palette.type === \"dark\" ? 0.3 : 0.18\n ),\n },\n notSelected: {\n \"&:hover\": {\n backgroundColor: theme.palette.background.default,\n border: \"1px solid #d0d0d0\",\n },\n backgroundColor: theme.palette.background.paper,\n },\n\n button: {\n height: \"50px\",\n border: \"1px solid \" + theme.palette.divider,\n width: \"100%\",\n borderRadius: \"6px\",\n boxSizing: \"border-box\",\n transition:\n \"background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n display: \"flex\",\n justifyContent: \"left\",\n alignItems: \"initial\",\n },\n icon: {\n margin: \"10px 10px 10px 16px\",\n height: \"30px\",\n minWidth: \"30px\",\n backgroundColor: theme.palette.background.paper,\n borderRadius: \"90%\",\n paddingTop: \"3px\",\n color: theme.palette.text.secondary,\n },\n folderNameSelected: {\n color:\n theme.palette.type === \"dark\" ? \"#fff\" : theme.palette.primary.dark,\n fontWeight: \"500\",\n },\n folderNameNotSelected: {\n color: theme.palette.text.secondary,\n },\n folderName: {\n marginTop: \"15px\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n marginRight: \"20px\",\n },\n checkIcon: {\n color: theme.palette.primary.main,\n },\n});\n\nconst mapStateToProps = (state) => {\n return {\n selected: state.explorer.selected,\n };\n};\n\nconst mapDispatchToProps = () => {\n return {};\n};\n\nclass SmallIconCompoment extends Component {\n state = {};\n\n render() {\n const { classes } = this.props;\n const isSelected =\n this.props.selected.findIndex((value) => {\n return value === this.props.file;\n }) !== -1;\n const isMobile = statusHelper.isMobile();\n\n return (\n \n \n {(!isSelected || !isMobile) && (\n <>\n {this.props.isFolder && }\n {!this.props.isFolder && (\n \n )}\n \n )}\n {isSelected && isMobile && (\n \n \n \n )}\n \n \n \n {this.props.file.name}\n \n \n \n );\n }\n}\n\nSmallIconCompoment.propTypes = {\n classes: PropTypes.object.isRequired,\n file: PropTypes.object.isRequired,\n};\n\nconst SmallIcon = connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(SmallIconCompoment));\n\nexport default SmallIcon;\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { connect } from \"react-redux\";\nimport classNames from \"classnames\";\nimport { LazyLoadImage } from \"react-lazy-load-image-component\";\nimport ContentLoader from \"react-content-loader\";\nimport { baseURL } from \"../../middleware/Api\";\nimport {\n withStyles,\n ButtonBase,\n Typography,\n Divider,\n Tooltip,\n fade,\n} from \"@material-ui/core\";\nimport TypeIcon from \"./TypeIcon\";\nimport { lighten } from \"@material-ui/core/styles\";\nimport { withRouter } from \"react-router\";\nimport pathHelper from \"../../utils/page\";\nimport CheckCircleRoundedIcon from \"@material-ui/icons/CheckCircleRounded\";\nimport statusHelper from \"../../utils/page\";\nimport Grow from \"@material-ui/core/Grow\";\n\nconst styles = (theme) => ({\n container: {\n padding: \"7px\",\n },\n\n selected: {\n \"&:hover\": {\n border: \"1px solid #d0d0d0\",\n },\n backgroundColor: fade(\n theme.palette.primary.main,\n theme.palette.type === \"dark\" ? 0.3 : 0.18\n ),\n },\n\n notSelected: {\n \"&:hover\": {\n backgroundColor: theme.palette.background.default,\n border: \"1px solid #d0d0d0\",\n },\n backgroundColor: theme.palette.background.paper,\n },\n\n button: {\n border: \"1px solid \" + theme.palette.divider,\n width: \"100%\",\n borderRadius: \"6px\",\n boxSizing: \"border-box\",\n transition:\n \"background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n alignItems: \"initial\",\n display: \"initial\",\n },\n folderNameSelected: {\n color:\n theme.palette.type === \"dark\" ? \"#fff\" : theme.palette.primary.dark,\n fontWeight: \"500\",\n },\n folderNameNotSelected: {\n color: theme.palette.text.secondary,\n },\n folderName: {\n marginTop: \"15px\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n marginRight: \"20px\",\n },\n preview: {\n overflow: \"hidden\",\n height: \"150px\",\n width: \"100%\",\n borderRadius: \"6px 6px 0 0\",\n backgroundColor: theme.palette.background.default,\n },\n previewIcon: {\n overflow: \"hidden\",\n height: \"149px\",\n width: \"100%\",\n borderRadius: \"5px 5px 0 0\",\n backgroundColor: theme.palette.background.paper,\n paddingTop: \"50px\",\n },\n iconBig: {\n fontSize: 50,\n },\n picPreview: {\n objectFit: \"cover\",\n width: \"100%\",\n height: \"100%\",\n },\n fileInfo: {\n height: \"50px\",\n display: \"flex\",\n },\n icon: {\n margin: \"10px 10px 10px 16px\",\n height: \"30px\",\n minWidth: \"30px\",\n backgroundColor: theme.palette.background.paper,\n borderRadius: \"90%\",\n paddingTop: \"3px\",\n color: theme.palette.text.secondary,\n },\n hide: {\n display: \"none\",\n },\n loadingAnimation: {\n borderRadius: \"6px 6px 0 0\",\n height: \"100%\",\n width: \"100%\",\n },\n shareFix: {\n marginLeft: \"20px\",\n },\n checkIcon: {\n color: theme.palette.primary.main,\n },\n});\n\nconst mapStateToProps = (state) => {\n return {\n path: state.navigator.path,\n selected: state.explorer.selected,\n };\n};\n\nconst mapDispatchToProps = () => {\n return {};\n};\n\nclass FileIconCompoment extends Component {\n static defaultProps = {\n share: false,\n };\n\n state = {\n loading: false,\n showPicIcon: false,\n };\n\n render() {\n const { classes } = this.props;\n const isSelected =\n this.props.selected.findIndex((value) => {\n return value === this.props.file;\n }) !== -1;\n const isSharePage = pathHelper.isSharePage(\n this.props.location.pathname\n );\n const isMobile = statusHelper.isMobile();\n\n return (\n
\n \n {this.props.file.pic !== \"\" &&\n !this.state.showPicIcon &&\n this.props.file.pic !== \" \" &&\n this.props.file.pic !== \"null,null\" && (\n
\n \n this.setState({ loading: false })\n }\n beforeLoad={() =>\n this.setState({ loading: true })\n }\n onError={() =>\n this.setState({ showPicIcon: true })\n }\n />\n \n \n \n
\n )}\n {(this.props.file.pic === \"\" ||\n this.state.showPicIcon ||\n this.props.file.pic === \" \" ||\n this.props.file.pic === \"null,null\") && (\n
\n \n
\n )}\n {(this.props.file.pic === \"\" ||\n this.state.showPicIcon ||\n this.props.file.pic === \" \" ||\n this.props.file.pic === \"null,null\") && }\n
\n {!this.props.share && (\n \n {(!isSelected || !isMobile) && (\n \n )}\n {isSelected && isMobile && (\n \n \n \n )}\n
\n )}\n \n \n {this.props.file.name}\n \n \n
\n \n \n );\n }\n}\n\nFileIconCompoment.propTypes = {\n classes: PropTypes.object.isRequired,\n file: PropTypes.object.isRequired,\n};\n\nconst FileIcon = connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(FileIconCompoment)));\n\nexport default FileIcon;\n","import React from \"react\";\nimport FolderIcon from \"@material-ui/icons/Folder\";\nimport classNames from \"classnames\";\nimport {\n ButtonBase,\n Typography,\n Tooltip,\n makeStyles,\n fade,\n} from \"@material-ui/core\";\nimport { useSelector } from \"react-redux\";\nimport { lighten } from \"@material-ui/core/styles\";\nimport statusHelper from \"../../utils/page\";\nimport TypeIcon from \"./TypeIcon\";\nimport CheckCircleRoundedIcon from \"@material-ui/icons/CheckCircleRounded\";\nconst useStyles = makeStyles((theme) => ({\n container: {\n padding: \"7px\",\n },\n\n selected: {\n \"&:hover\": {\n border: \"1px solid #d0d0d0\",\n },\n backgroundColor: fade(\n theme.palette.primary.main,\n theme.palette.type === \"dark\" ? 0.3 : 0.18\n ),\n },\n\n notSelected: {\n \"&:hover\": {\n backgroundColor: theme.palette.background.default,\n border: \"1px solid #d0d0d0\",\n },\n backgroundColor: theme.palette.background.paper,\n },\n\n button: {\n height: \"50px\",\n border: \"1px solid \" + theme.palette.divider,\n width: \"100%\",\n borderRadius: \"6px\",\n boxSizing: \"border-box\",\n transition:\n \"background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n display: \"flex\",\n justifyContent: \"left\",\n alignItems: \"initial\",\n },\n icon: {\n margin: \"10px 10px 10px 16px\",\n height: \"30px\",\n minWidth: \"30px\",\n backgroundColor: theme.palette.background.paper,\n borderRadius: \"90%\",\n paddingTop: \"3px\",\n color: theme.palette.text.secondary,\n },\n folderNameSelected: {\n color:\n theme.palette.type === \"dark\" ? \"#fff\" : theme.palette.primary.dark,\n fontWeight: \"500\",\n },\n folderNameNotSelected: {\n color: theme.palette.text.secondary,\n },\n folderName: {\n marginTop: \"15px\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n marginRight: \"20px\",\n },\n active: {\n boxShadow: \"0 0 0 2px \" + theme.palette.primary.light,\n },\n checkIcon: {\n color: theme.palette.primary.main,\n },\n}));\n\nexport default function Folder({ folder, isActive, onIconClick }) {\n const selected = useSelector((state) => state.explorer.selected);\n const classes = useStyles();\n const isMobile = statusHelper.isMobile();\n const isSelected =\n selected.findIndex((value) => {\n return value === folder;\n }) !== -1;\n\n return (\n \n \n {(!isSelected || !isMobile) && }\n {isSelected && isMobile && (\n \n )}\n \n \n \n {folder.name}\n \n \n \n );\n}\n","import React from \"react\";\nimport SmallIcon from \"../SmallIcon\";\nimport FileIcon from \"../FileIcon\";\nimport { useSelector } from \"react-redux\";\nimport { makeStyles } from \"@material-ui/core\";\nimport Folder from \"../Folder\";\n\nconst useStyles = makeStyles(() => ({\n dragging: {\n width: \"200px\",\n },\n cardDragged: {\n position: \"absolute\",\n \"transform-origin\": \"bottom left\",\n },\n}));\n\nconst diliverIcon = (object, viewMethod, classes) => {\n if (object.type === \"dir\") {\n return (\n
\n \n
\n );\n }\n if (object.type === \"file\" && viewMethod === \"icon\") {\n return (\n
\n \n
\n );\n }\n if (\n (object.type === \"file\" && viewMethod === \"smallIcon\") ||\n viewMethod === \"list\"\n ) {\n return (\n
\n \n
\n );\n }\n};\n\nconst Preview = (props) => {\n const selected = useSelector((state) => state.explorer.selected);\n const viewMethod = useSelector(\n (state) => state.viewUpdate.explorerViewMethod\n );\n const classes = useStyles();\n return (\n <>\n {selected.length === 0 &&\n diliverIcon(props.object, viewMethod, classes)}\n {selected.length > 0 && (\n <>\n {selected.slice(0, 3).map((card, i) => (\n \n {diliverIcon(card, viewMethod, classes)}\n \n ))}\n \n )}\n \n );\n};\nexport default Preview;\n","import React from \"react\";\nimport { useDragLayer } from \"react-dnd\";\nimport Preview from \"./Preview\";\nimport { useSelector } from \"react-redux\";\nconst layerStyles = {\n position: \"fixed\",\n pointerEvents: \"none\",\n zIndex: 100,\n left: 0,\n top: 0,\n width: \"100%\",\n height: \"100%\",\n};\n\nfunction getItemStyles(\n initialOffset,\n currentOffset,\n pointerOffset,\n viewMethod\n) {\n if (!initialOffset || !currentOffset) {\n return {\n display: \"none\",\n };\n }\n let { x, y } = currentOffset;\n if (viewMethod === \"list\") {\n x += pointerOffset.x - initialOffset.x;\n y += pointerOffset.y - initialOffset.y;\n }\n\n const transform = `translate(${x}px, ${y}px)`;\n return {\n opacity: 0.5,\n transform,\n WebkitTransform: transform,\n };\n}\nconst CustomDragLayer = (props) => {\n const {\n itemType,\n isDragging,\n item,\n initialOffset,\n currentOffset,\n pointerOffset,\n } = useDragLayer((monitor) => ({\n item: monitor.getItem(),\n itemType: monitor.getItemType(),\n initialOffset: monitor.getInitialSourceClientOffset(),\n currentOffset: monitor.getSourceClientOffset(),\n pointerOffset: monitor.getInitialClientOffset(),\n isDragging: monitor.isDragging(),\n }));\n const viewMethod = useSelector(\n (state) => state.viewUpdate.explorerViewMethod\n );\n function renderItem() {\n switch (itemType) {\n case \"object\":\n return ;\n default:\n return null;\n }\n }\n if (!isDragging) {\n return null;\n }\n return (\n
\n \n {renderItem()}\n
\n \n );\n};\nexport default CustomDragLayer;\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { connect } from \"react-redux\";\n\nimport FolderIcon from \"@material-ui/icons/Folder\";\nimport classNames from \"classnames\";\nimport { sizeToString } from \"../../utils/index\";\nimport {\n withStyles,\n TableCell,\n TableRow,\n Typography,\n fade,\n} from \"@material-ui/core\";\nimport TypeIcon from \"./TypeIcon\";\nimport { lighten } from \"@material-ui/core/styles\";\nimport pathHelper from \"../../utils/page\";\nimport { withRouter } from \"react-router\";\nimport KeyboardReturnIcon from \"@material-ui/icons/KeyboardReturn\";\nimport CheckCircleRoundedIcon from \"@material-ui/icons/CheckCircleRounded\";\nimport statusHelper from \"../../utils/page\";\nimport Grow from \"@material-ui/core/Grow\";\nimport dayjs from \"dayjs\";\nimport { formatLocalTime } from \"../../utils/datetime\";\n\nconst styles = (theme) => ({\n selected: {\n \"&:hover\": {},\n backgroundColor: fade(theme.palette.primary.main, 0.18),\n },\n\n selectedShared: {\n \"&:hover\": {},\n backgroundColor: fade(theme.palette.primary.main, 0.18),\n },\n\n notSelected: {\n \"&:hover\": {\n backgroundColor: theme.palette.background.default,\n },\n },\n icon: {\n verticalAlign: \"middle\",\n marginRight: \"20px\",\n color: theme.palette.text.secondary,\n },\n tableIcon: {\n marginRight: \"20px\",\n verticalAlign: \"middle\",\n },\n folderNameSelected: {\n color:\n theme.palette.type === \"dark\" ? \"#fff\" : theme.palette.primary.dark,\n fontWeight: \"500\",\n userSelect: \"none\",\n },\n folderNameNotSelected: {\n color: theme.palette.text.secondary,\n userSelect: \"none\",\n },\n folderName: {\n marginRight: \"20px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n hideAuto: {\n [theme.breakpoints.down(\"sm\")]: {\n display: \"none\",\n },\n },\n tableRow: {\n padding: \"10px 16px\",\n },\n checkIcon: {\n color: theme.palette.primary.main,\n },\n active: {\n backgroundColor: fade(theme.palette.primary.main, 0.1),\n },\n});\n\nconst mapStateToProps = (state) => {\n return {\n selected: state.explorer.selected,\n };\n};\n\nconst mapDispatchToProps = () => {\n return {};\n};\n\nclass TableRowCompoment extends Component {\n state = {};\n\n render() {\n const { classes } = this.props;\n const isShare = pathHelper.isSharePage(this.props.location.pathname);\n\n let icon;\n if (this.props.file.type === \"dir\") {\n icon = ;\n } else if (this.props.file.type === \"up\") {\n icon = ;\n } else {\n icon = (\n \n );\n }\n const isSelected =\n this.props.selected.findIndex((value) => {\n return value === this.props.file;\n }) !== -1;\n const isMobile = statusHelper.isMobile();\n\n return (\n \n \n \n \n {(!isSelected || !isMobile) && icon}\n {isSelected && isMobile && (\n \n \n \n )}\n \n {this.props.file.name}\n \n \n \n \n {\" \"}\n {this.props.file.type !== \"dir\" &&\n this.props.file.type !== \"up\" &&\n sizeToString(this.props.file.size)}\n \n \n \n \n {\" \"}\n {formatLocalTime(\n this.props.file.date,\n \"YYYY-MM-DD H:mm:ss\"\n )}\n \n \n \n );\n }\n}\n\nTableRowCompoment.propTypes = {\n classes: PropTypes.object.isRequired,\n file: PropTypes.object.isRequired,\n};\n\nconst TableItem = connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(TableRowCompoment)));\n\nexport default TableItem;\n","import React from \"react\";\nimport { useDrop } from \"react-dnd\";\nimport Folder from \"../Folder\";\nimport classNames from \"classnames\";\nimport TableItem from \"../TableRow\";\nexport default function FolderDropWarpper({\n isListView,\n folder,\n onIconClick,\n contextMenu,\n handleClick,\n handleDoubleClick,\n className,\n pref,\n}) {\n const [{ canDrop, isOver }, drop] = useDrop({\n accept: \"object\",\n drop: () => ({ folder }),\n collect: (monitor) => ({\n isOver: monitor.isOver(),\n canDrop: monitor.canDrop(),\n }),\n });\n const isActive = canDrop && isOver;\n if (!isListView) {\n return (\n
\n \n
\n );\n }\n return (\n \n );\n}\n","import React, { useCallback, useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport {\n changeContextMenu,\n setSelectedTarget,\n selectFile as selectFileAction,\n navigateTo,\n showImgPreivew,\n openMusicDialog,\n toggleSnackbar,\n dragAndDrop,\n openLoadingDialog,\n} from \"../../actions/index\";\nimport statusHelper from \"../../utils/page\";\nimport FileIcon from \"./FileIcon\";\nimport SmallIcon from \"./SmallIcon\";\nimport TableItem from \"./TableRow\";\nimport classNames from \"classnames\";\nimport { isPreviewable } from \"../../config\";\nimport { makeStyles } from \"@material-ui/core\";\nimport { useDrag } from \"react-dnd\";\nimport { getEmptyImage } from \"react-dnd-html5-backend\";\nimport DropWarpper from \"./DnD/DropWarpper\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport Auth from \"../../middleware/Auth\";\nimport { pathBack } from \"../../utils\";\nimport { openPreview } from \"../../actions\";\n\nconst useStyles = makeStyles(() => ({\n container: {\n padding: \"7px\",\n },\n fixFlex: {\n minWidth: 0,\n },\n dragging: {\n opacity: 0.4,\n },\n}));\n\nexport default function ObjectIcon(props) {\n const path = useSelector((state) => state.navigator.path);\n const selected = useSelector((state) => state.explorer.selected);\n const viewMethod = useSelector(\n (state) => state.viewUpdate.explorerViewMethod\n );\n const navigatorPath = useSelector((state) => state.navigator.path);\n const location = useLocation();\n\n const dispatch = useDispatch();\n const ContextMenu = useCallback(\n (type, open) => dispatch(changeContextMenu(type, open)),\n [dispatch]\n );\n const SetSelectedTarget = useCallback(\n (targets) => dispatch(setSelectedTarget(targets)),\n [dispatch]\n );\n\n const NavitateTo = useCallback((targets) => dispatch(navigateTo(targets)), [\n dispatch,\n ]);\n const ToggleSnackbar = useCallback(\n (vertical, horizontal, msg, color) =>\n dispatch(toggleSnackbar(vertical, horizontal, msg, color)),\n [dispatch]\n );\n const DragAndDrop = useCallback(\n (source, target) => dispatch(dragAndDrop(source, target)),\n [dispatch]\n );\n const OpenLoadingDialog = useCallback(\n (text) => dispatch(openLoadingDialog(text)),\n [dispatch]\n );\n const OpenPreview = useCallback(() => dispatch(openPreview()), [dispatch]);\n\n const classes = useStyles();\n\n const contextMenu = (e) => {\n if (props.file.type === \"up\") {\n return;\n }\n e.preventDefault();\n if (\n selected.findIndex((value) => {\n return value === props.file;\n }) === -1\n ) {\n SetSelectedTarget([props.file]);\n }\n ContextMenu(\"file\", true);\n };\n\n const selectFile = (e) => {\n dispatch(selectFileAction(props.file, e, props.index));\n };\n const enterFolder = () => {\n NavitateTo(\n path === \"/\" ? path + props.file.name : path + \"/\" + props.file.name\n );\n };\n const handleClick = (e) => {\n if (props.file.type === \"up\") {\n NavitateTo(pathBack(navigatorPath));\n }\n if (\n statusHelper.isMobile() ||\n statusHelper.isSharePage(location.pathname)\n ) {\n selectFile(e);\n if (props.file.type === \"dir\" && !e.ctrlKey) {\n enterFolder();\n return;\n }\n } else {\n selectFile(e);\n }\n };\n\n const handleDoubleClick = () => {\n if (props.file.type === \"up\") {\n return;\n }\n if (props.file.type === \"dir\") {\n enterFolder();\n return;\n }\n const isShare = statusHelper.isSharePage(location.pathname);\n if (isShare) {\n const user = Auth.GetUser();\n if (!Auth.Check() && user && !user.group.shareDownload) {\n ToggleSnackbar(\"top\", \"right\", \"请先登录\", \"warning\");\n return;\n }\n }\n if (window.shareInfo && !window.shareInfo.preview) {\n OpenLoadingDialog(\"获取下载地址...\");\n return;\n }\n\n OpenPreview();\n };\n\n const handleIconClick = (e) => {\n if (statusHelper.isMobile()) {\n e.stopPropagation();\n e.ctrlKey = true;\n selectFile(e);\n return false;\n }\n };\n\n const [{ isDragging }, drag, preview] = useDrag({\n item: {\n object: props.file,\n type: \"object\",\n selected: [...selected],\n viewMethod: viewMethod,\n },\n end: (item, monitor) => {\n const dropResult = monitor.getDropResult();\n if (item && dropResult) {\n if (dropResult.folder) {\n if (\n item.object.id !== dropResult.folder.id ||\n item.object.type !== dropResult.folder.type\n ) {\n DragAndDrop(item.object, dropResult.folder);\n }\n }\n }\n },\n canDrag: () => {\n return (\n !statusHelper.isMobile() &&\n statusHelper.isHomePage(location.pathname)\n );\n },\n collect: (monitor) => ({\n isDragging: monitor.isDragging(),\n }),\n });\n\n useEffect(() => {\n preview(getEmptyImage(), { captureDraggingState: true });\n // eslint-disable-next-line\n }, []);\n\n if (viewMethod === \"list\") {\n return (\n <>\n {props.file.type === \"dir\" && (\n \n )}\n {props.file.type !== \"dir\" && (\n \n )}\n \n );\n }\n\n return (\n \n \n {props.file.type === \"dir\" && viewMethod !== \"list\" && (\n \n )}\n {props.file.type === \"file\" && viewMethod === \"icon\" && (\n \n )}\n {props.file.type === \"file\" && viewMethod === \"smallIcon\" && (\n \n )}\n \n \n );\n}\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { connect } from \"react-redux\";\nimport {\n changeContextMenu,\n setNavigatorLoadingStatus,\n navigateTo,\n openCreateFolderDialog,\n openRenameDialog,\n openMoveDialog,\n openRemoveDialog,\n openShareDialog,\n showImgPreivew,\n openMusicDialog,\n toggleSnackbar,\n openRemoteDownloadDialog,\n openTorrentDownloadDialog,\n openGetSourceDialog,\n openCopyDialog,\n openLoadingDialog,\n setSelectedTarget,\n openDecompressDialog,\n refreshFileList,\n openCompressDialog,\n openCreateFileDialog,\n openRelocateDialog,\n} from \"../../actions/index\";\nimport { isCompressFile, isPreviewable, isTorrent } from \"../../config\";\nimport { allowSharePreview } from \"../../utils/index\";\nimport UploadIcon from \"@material-ui/icons/CloudUpload\";\nimport DownloadIcon from \"@material-ui/icons/CloudDownload\";\nimport NewFolderIcon from \"@material-ui/icons/CreateNewFolder\";\nimport OpenFolderIcon from \"@material-ui/icons/FolderOpen\";\nimport FileCopyIcon from \"@material-ui/icons/FileCopy\";\nimport ShareIcon from \"@material-ui/icons/Share\";\nimport RenameIcon from \"@material-ui/icons/BorderColor\";\nimport MoveIcon from \"@material-ui/icons/Input\";\nimport LinkIcon from \"@material-ui/icons/InsertLink\";\nimport DeleteIcon from \"@material-ui/icons/Delete\";\nimport OpenIcon from \"@material-ui/icons/OpenInNew\";\nimport { FilePlus, MagnetOn, Transfer } from \"mdi-material-ui\";\nimport {\n withStyles,\n Typography,\n MenuItem,\n Divider,\n ListItemIcon,\n} from \"@material-ui/core\";\nimport pathHelper from \"../../utils/page\";\nimport { withRouter } from \"react-router-dom\";\nimport Auth from \"../../middleware/Auth\";\nimport { Archive, InfoOutlined, Unarchive } from \"@material-ui/icons\";\nimport Menu from \"@material-ui/core/Menu\";\nimport { FolderUpload } from \"mdi-material-ui\";\nimport RefreshIcon from \"@material-ui/icons/Refresh\";\nimport { openPreview } from \"../../actions\";\nimport {\n setSideBar,\n toggleObjectInfoSidebar,\n} from \"../../redux/explorer/action\";\n\nconst styles = () => ({\n propover: {},\n divider: {\n marginTop: 4,\n marginBottom: 4,\n },\n});\n\nconst StyledListItemIcon = withStyles({\n root: {\n minWidth: 38,\n },\n})(ListItemIcon);\n\nconst mapStateToProps = (state) => {\n return {\n menuType: state.viewUpdate.contextType,\n menuOpen: state.viewUpdate.contextOpen,\n isMultiple: state.explorer.selectProps.isMultiple,\n withFolder: state.explorer.selectProps.withFolder,\n withFile: state.explorer.selectProps.withFile,\n path: state.navigator.path,\n selected: state.explorer.selected,\n keywords: state.explorer.keywords,\n };\n};\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n changeContextMenu: (type, open) => {\n dispatch(changeContextMenu(type, open));\n },\n setNavigatorLoadingStatus: (status) => {\n dispatch(setNavigatorLoadingStatus(status));\n },\n setSelectedTarget: (targets) => {\n dispatch(setSelectedTarget(targets));\n },\n navigateTo: (path) => {\n dispatch(navigateTo(path));\n },\n openCreateFolderDialog: () => {\n dispatch(openCreateFolderDialog());\n },\n openCreateFileDialog: () => {\n dispatch(openCreateFileDialog());\n },\n openRenameDialog: () => {\n dispatch(openRenameDialog());\n },\n openMoveDialog: () => {\n dispatch(openMoveDialog());\n },\n openRemoveDialog: () => {\n dispatch(openRemoveDialog());\n },\n openShareDialog: () => {\n dispatch(openShareDialog());\n },\n showImgPreivew: (first) => {\n dispatch(showImgPreivew(first));\n },\n openMusicDialog: () => {\n dispatch(openMusicDialog());\n },\n toggleSnackbar: (vertical, horizontal, msg, color) => {\n dispatch(toggleSnackbar(vertical, horizontal, msg, color));\n },\n openRemoteDownloadDialog: () => {\n dispatch(openRemoteDownloadDialog());\n },\n openTorrentDownloadDialog: () => {\n dispatch(openTorrentDownloadDialog());\n },\n openGetSourceDialog: () => {\n dispatch(openGetSourceDialog());\n },\n openCopyDialog: () => {\n dispatch(openCopyDialog());\n },\n openLoadingDialog: (text) => {\n dispatch(openLoadingDialog(text));\n },\n openDecompressDialog: () => {\n dispatch(openDecompressDialog());\n },\n openCompressDialog: () => {\n dispatch(openCompressDialog());\n },\n refreshFileList: () => {\n dispatch(refreshFileList());\n },\n openRelocateDialog: () => {\n dispatch(openRelocateDialog());\n },\n openPreview: () => {\n dispatch(openPreview());\n },\n toggleObjectInfoSidebar: (open) => {\n dispatch(toggleObjectInfoSidebar(open));\n },\n };\n};\n\nclass ContextMenuCompoment extends Component {\n X = 0;\n Y = 0;\n\n state = {};\n\n componentDidMount = () => {\n window.document.addEventListener(\"mousemove\", this.setPoint);\n };\n\n setPoint = (e) => {\n this.Y = e.clientY;\n this.X = e.clientX;\n };\n\n openArchiveDownload = () => {\n this.props.changeContextMenu(\"file\", false);\n this.props.openLoadingDialog(\"打包中...\");\n };\n\n openDownload = () => {\n if (!allowSharePreview()) {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n \"未登录用户无法预览\",\n \"warning\"\n );\n this.props.changeContextMenu(\"file\", false);\n return;\n }\n this.props.changeContextMenu(\"file\", false);\n this.props.openLoadingDialog(\"获取下载地址...\");\n };\n\n enterFolder = () => {\n this.props.navigateTo(\n this.props.path === \"/\"\n ? this.props.path + this.props.selected[0].name\n : this.props.path + \"/\" + this.props.selected[0].name\n );\n };\n\n clickUpload = (id) => {\n this.props.changeContextMenu(\"empty\", false);\n const uploadButton = document.getElementsByClassName(id)[0];\n if (document.body.contains(uploadButton)) {\n uploadButton.click();\n } else {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n \"上传组件还未加载完成\",\n \"warning\"\n );\n }\n };\n\n // 暂时只对空白处右键菜单使用这个函数,疑似有bug会导致的一个菜单被默认选中。\n // 相关issue: https://github.com/mui-org/material-ui/issues/23747\n renderMenuItems = (items) => {\n const res = [];\n let key = 0;\n\n [\"top\", \"center\", \"bottom\"].forEach((position) => {\n let visibleCount = 0;\n items[position].forEach((item) => {\n if (item.condition) {\n res.push(\n \n {item.icon}\n \n {item.text}\n \n \n );\n key++;\n visibleCount++;\n }\n });\n if (visibleCount > 0 && position != \"bottom\") {\n res.push(\n \n );\n key++;\n }\n });\n\n return res;\n };\n\n render() {\n const { classes } = this.props;\n const user = Auth.GetUser();\n const isHomePage = pathHelper.isHomePage(this.props.location.pathname);\n const emptyMenuList = {\n top: [\n {\n condition: true,\n onClick: () => {\n this.props.refreshFileList();\n this.props.changeContextMenu(\n this.props.menuType,\n false\n );\n },\n icon: ,\n text: \"刷新\",\n },\n ],\n center: [\n {\n condition: true,\n onClick: () => this.clickUpload(\"uploadFileForm\"),\n icon: ,\n text: \"上传文件\",\n },\n {\n condition: true,\n onClick: () => this.clickUpload(\"uploadFolderForm\"),\n icon: ,\n text: \"上传目录\",\n },\n {\n condition: user.group.allowRemoteDownload,\n onClick: () => this.props.openRemoteDownloadDialog(),\n icon: ,\n text: \"离线下载\",\n },\n ],\n bottom: [\n {\n condition: true,\n onClick: () => this.props.openCreateFolderDialog(),\n icon: ,\n text: \"创建文件夹\",\n },\n {\n condition: true,\n onClick: () => this.props.openCreateFileDialog(),\n icon: ,\n text: \"创建文件\",\n },\n ],\n };\n\n return (\n
\n \n this.props.changeContextMenu(this.props.menuType, false)\n }\n anchorReference=\"anchorPosition\"\n anchorPosition={{ top: this.Y, left: this.X }}\n anchorOrigin={{\n vertical: \"top\",\n horizontal: \"left\",\n }}\n transformOrigin={{\n vertical: \"top\",\n horizontal: \"left\",\n }}\n >\n {this.props.menuType === \"empty\" && (\n
\n {\n this.props.refreshFileList();\n this.props.changeContextMenu(\n this.props.menuType,\n false\n );\n }}\n >\n \n \n \n 刷新\n \n \n \n this.clickUpload(\"uploadFileForm\")\n }\n >\n \n \n \n \n 上传文件\n \n \n \n this.clickUpload(\"uploadFolderForm\")\n }\n >\n \n \n \n \n 上传目录\n \n \n {user.group.allowRemoteDownload && (\n \n this.props.openRemoteDownloadDialog()\n }\n >\n \n \n \n \n 离线下载\n \n \n )}\n\n \n \n this.props.openCreateFolderDialog()\n }\n >\n \n \n \n \n 创建文件夹\n \n \n \n this.props.openCreateFileDialog()\n }\n >\n \n \n \n \n 创建文件\n \n \n
\n )}\n {this.props.menuType !== \"empty\" && (\n
\n {!this.props.isMultiple && this.props.withFolder && (\n
\n \n \n \n \n \n 进入\n \n \n {isHomePage && (\n \n )}\n
\n )}\n {!this.props.isMultiple &&\n this.props.withFile &&\n (!this.props.share ||\n this.props.share.preview) &&\n isPreviewable(this.props.selected[0].name) && (\n
\n \n this.props.openPreview()\n }\n >\n \n \n \n \n 打开\n \n \n
\n )}\n\n {!this.props.isMultiple && this.props.withFile && (\n
\n this.openDownload()}\n >\n \n \n \n \n 下载\n \n \n {isHomePage && (\n \n )}\n
\n )}\n\n {(this.props.isMultiple || this.props.withFolder) &&\n (user.group.allowArchiveDownload ||\n !isHomePage) && (\n \n this.openArchiveDownload()\n }\n >\n \n \n \n \n 打包下载\n \n \n )}\n\n {!this.props.isMultiple &&\n this.props.withFile &&\n isHomePage && (\n \n this.props.openGetSourceDialog()\n }\n >\n \n \n \n \n 获取外链\n \n \n )}\n\n {!this.props.isMultiple &&\n isHomePage &&\n user.group.allowRemoteDownload &&\n this.props.withFile &&\n isTorrent(this.props.selected[0].name) && (\n \n this.props.openTorrentDownloadDialog()\n }\n >\n \n \n \n \n 创建离线下载任务\n \n \n )}\n {!this.props.isMultiple &&\n isHomePage &&\n user.group.compress &&\n this.props.withFile &&\n isCompressFile(this.props.selected[0].name) && (\n \n this.props.openDecompressDialog()\n }\n >\n \n \n \n \n 解压缩\n \n \n )}\n\n {isHomePage && user.group.compress && (\n \n this.props.openCompressDialog()\n }\n >\n \n \n \n \n 创建压缩文件\n \n \n )}\n\n {isHomePage && user.group.relocate && (\n \n this.props.openRelocateDialog()\n }\n >\n \n \n \n \n 转移存储策略\n \n \n )}\n\n {!this.props.isMultiple && isHomePage && (\n this.props.openShareDialog()}\n >\n \n \n \n \n 创建分享链接\n \n \n )}\n\n {!this.props.isMultiple && isHomePage && (\n \n this.props.toggleObjectInfoSidebar(true)\n }\n >\n \n \n \n \n 详细信息\n \n \n )}\n\n {!this.props.isMultiple && isHomePage && (\n \n )}\n\n {!this.props.isMultiple && isHomePage && (\n
\n \n this.props.openRenameDialog()\n }\n >\n \n \n \n \n 重命名\n \n \n {this.props.keywords === \"\" && (\n \n this.props.openCopyDialog()\n }\n >\n \n \n \n \n 复制\n \n \n )}\n
\n )}\n {isHomePage && (\n
\n {this.props.keywords === \"\" && (\n \n this.props.openMoveDialog()\n }\n >\n \n \n \n \n 移动\n \n \n )}\n\n \n \n this.props.openRemoveDialog()\n }\n >\n \n \n \n \n 删除\n \n \n
\n )}\n
\n )}\n \n
\n );\n }\n}\n\nContextMenuCompoment.propTypes = {\n classes: PropTypes.object.isRequired,\n menuType: PropTypes.string.isRequired,\n};\n\nconst ContextMenu = connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(ContextMenuCompoment)));\n\nexport default ContextMenu;\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { connect } from \"react-redux\";\nimport {\n navigateTo,\n changeContextMenu,\n navigateUp,\n setSelectedTarget,\n openRemoveDialog,\n} from \"../../actions/index\";\nimport explorer from \"../../redux/explorer\";\nimport ObjectIcon from \"./ObjectIcon\";\nimport ContextMenu from \"./ContextMenu\";\nimport EmptyIcon from \"@material-ui/icons/Unarchive\";\nimport SadIcon from \"@material-ui/icons/SentimentVeryDissatisfied\";\nimport classNames from \"classnames\";\nimport ImgPreivew from \"./ImgPreview\";\nimport pathHelper from \"../../utils/page\";\nimport { isMac } from \"../../utils\";\nimport { withRouter } from \"react-router-dom\";\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n withStyles,\n Typography,\n Grid,\n CircularProgress,\n Paper,\n} from \"@material-ui/core\";\nimport { GlobalHotKeys, configure } from \"react-hotkeys\";\nimport TableSortLabel from \"@material-ui/core/TableSortLabel\";\n\nconst styles = (theme) => ({\n paper: {\n padding: theme.spacing(2),\n textAlign: \"center\",\n color: theme.palette.text.secondary,\n margin: \"10px\",\n },\n root: {\n flexGrow: 1,\n padding: \"10px\",\n overflowY: \"auto\",\n height: \"calc(100vh - 113px)\",\n [theme.breakpoints.up(\"sm\")]: {\n overflowY: \"auto\",\n height: \"calc(100vh - 113px)\",\n },\n [theme.breakpoints.down(\"sm\")]: {\n height: \"100%\",\n },\n },\n rootTable: {\n padding: \"0px\",\n backgroundColor: theme.palette.background.paper.white,\n [theme.breakpoints.up(\"sm\")]: {\n overflowY: \"auto\",\n height: \"calc(100vh - 113px)\",\n },\n [theme.breakpoints.down(\"sm\")]: {\n height: \"100%\",\n },\n },\n typeHeader: {\n margin: \"10px 25px\",\n color: \"#6b6b6b\",\n fontWeight: \"500\",\n },\n loading: {\n justifyContent: \"center\",\n display: \"flex\",\n marginTop: \"40px\",\n },\n errorBox: {\n padding: theme.spacing(4),\n },\n errorMsg: {\n marginTop: \"10px\",\n },\n emptyContainer: {\n bottom: \"0\",\n height: \"300px\",\n margin: \"50px auto\",\n width: \"300px\",\n color: theme.palette.text.disabled,\n textAlign: \"center\",\n paddingTop: \"20px\",\n },\n emptyIcon: {\n fontSize: \"160px\",\n },\n emptyInfoBig: {\n fontSize: \"25px\",\n color: theme.palette.text.disabled,\n },\n emptyInfoSmall: {\n color: theme.palette.text.hint,\n },\n hideAuto: {\n [theme.breakpoints.down(\"sm\")]: {\n display: \"none\",\n },\n },\n flexFix: {\n minWidth: 0,\n },\n upButton: {\n marginLeft: \"20px\",\n marginTop: \"10px\",\n marginBottom: \"10px\",\n },\n clickAway: {\n height: \"100%\",\n width: \"100%\",\n },\n rootShare: {\n height: \"100%\",\n minHeight: 500,\n },\n visuallyHidden: {\n border: 0,\n clip: \"rect(0 0 0 0)\",\n height: 1,\n margin: -1,\n overflow: \"hidden\",\n padding: 0,\n position: \"absolute\",\n top: 20,\n width: 1,\n },\n});\n\nconst mapStateToProps = (state) => {\n return {\n path: state.navigator.path,\n drawerDesktopOpen: state.viewUpdate.open,\n viewMethod: state.viewUpdate.explorerViewMethod,\n sortMethod: state.viewUpdate.sortMethod,\n fileList: state.explorer.fileList,\n dirList: state.explorer.dirList,\n loading: state.viewUpdate.navigatorLoading,\n navigatorError: state.viewUpdate.navigatorError,\n navigatorErrorMsg: state.viewUpdate.navigatorErrorMsg,\n keywords: state.explorer.keywords,\n selected: state.explorer.selected,\n };\n};\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n navigateToPath: (path) => {\n dispatch(navigateTo(path));\n },\n\n changeContextMenu: (type, open) => {\n dispatch(changeContextMenu(type, open));\n },\n navigateUp: () => {\n dispatch(navigateUp());\n },\n setSelectedTarget: (targets) => {\n dispatch(setSelectedTarget(targets));\n },\n openRemoveDialog: () => {\n dispatch(openRemoveDialog());\n },\n changeSort: (method) => {\n dispatch(explorer.actions.changeSortMethod(method));\n },\n };\n};\n\nclass ExplorerCompoment extends Component {\n constructor() {\n super();\n this.keyMap = {\n DELETE_FILE: \"del\",\n SELECT_ALL: `${isMac() ? \"command\" : \"ctrl\"}+a`,\n };\n\n this.handlers = {\n DELETE_FILE: () => {\n if (this.props.selected.length > 0 && !this.props.share) {\n this.props.openRemoveDialog();\n }\n },\n SELECT_ALL: (e) => {\n e.preventDefault();\n if (\n this.props.selected.length >=\n this.props.dirList.length + this.props.fileList.length\n ) {\n this.props.setSelectedTarget([]);\n } else {\n this.props.setSelectedTarget([\n ...this.props.dirList,\n ...this.props.fileList,\n ]);\n }\n },\n };\n\n configure({\n ignoreTags: [\"input\", \"select\", \"textarea\"],\n });\n }\n\n contextMenu = (e) => {\n e.preventDefault();\n if (\n this.props.keywords === \"\" &&\n !pathHelper.isSharePage(this.props.location.pathname)\n ) {\n if (!this.props.loading) {\n this.props.changeContextMenu(\"empty\", true);\n }\n }\n };\n\n componentDidUpdate() {\n this.away = 0;\n }\n\n ClickAway = (e) => {\n const element = e.target;\n if (element.dataset.clickaway) {\n this.props.setSelectedTarget([]);\n }\n };\n\n render() {\n const { classes } = this.props;\n const isHomePage = pathHelper.isHomePage(this.props.location.pathname);\n\n const showView =\n !this.props.loading &&\n (this.props.dirList.length !== 0 ||\n this.props.fileList.length !== 0);\n const listView = (\n \n \n \n \n {\n this.props.changeSort(\n this.props.sortMethod === \"namePos\"\n ? \"nameRev\"\n : \"namePos\"\n );\n }}\n >\n 名称\n {this.props.sortMethod === \"namePos\" ||\n this.props.sortMethod === \"nameRev\" ? (\n \n {this.props.sortMethod === \"nameRev\"\n ? \"sorted descending\"\n : \"sorted ascending\"}\n \n ) : null}\n \n \n \n {\n this.props.changeSort(\n this.props.sortMethod === \"sizePos\"\n ? \"sizeRes\"\n : \"sizePos\"\n );\n }}\n >\n 大小\n {this.props.sortMethod === \"sizePos\" ||\n this.props.sortMethod === \"sizeRes\" ? (\n \n {this.props.sortMethod === \"sizeRes\"\n ? \"sorted descending\"\n : \"sorted ascending\"}\n \n ) : null}\n \n \n \n {\n this.props.changeSort(\n this.props.sortMethod === \"timePos\"\n ? \"timeRev\"\n : \"timePos\"\n );\n }}\n >\n 日期\n {this.props.sortMethod === \"timePos\" ||\n this.props.sortMethod === \"timeRev\" ? (\n \n {this.props.sortMethod === \"sizeRes\"\n ? \"sorted descending\"\n : \"sorted ascending\"}\n \n ) : null}\n \n \n \n \n \n {pathHelper.isMobile() && this.props.path !== \"/\" && (\n \n )}\n {this.props.dirList.map((value, index) => (\n \n ))}\n {this.props.fileList.map((value, index) => (\n \n ))}\n \n
\n );\n\n const normalView = (\n
\n {this.props.dirList.length !== 0 && (\n <>\n \n 文件夹\n \n \n {this.props.dirList.map((value, index) => (\n \n \n \n ))}\n \n \n )}\n {this.props.fileList.length !== 0 && (\n <>\n \n 文件\n \n \n {this.props.fileList.map((value, index) => (\n \n \n \n ))}\n \n \n )}\n
\n );\n const view = this.props.viewMethod === \"list\" ? listView : normalView;\n return (\n \n \n \n \n {this.props.navigatorError && (\n \n \n :( 请求时出现错误\n \n \n {this.props.navigatorErrorMsg.message}\n \n \n )}\n\n {this.props.loading && !this.props.navigatorError && (\n
\n \n
\n )}\n\n {this.props.keywords === \"\" &&\n isHomePage &&\n this.props.dirList.length === 0 &&\n this.props.fileList.length === 0 &&\n !this.props.loading &&\n !this.props.navigatorError && (\n
\n \n
\n 拖拽文件至此\n
\n
\n 或点击右下方“上传文件”按钮添加文件\n
\n
\n )}\n {((this.props.keywords !== \"\" &&\n this.props.dirList.length === 0 &&\n this.props.fileList.length === 0 &&\n !this.props.loading &&\n !this.props.navigatorError) ||\n (this.props.dirList.length === 0 &&\n this.props.fileList.length === 0 &&\n !this.props.loading &&\n !this.props.navigatorError &&\n !isHomePage)) && (\n
\n \n
\n 什么都没有找到\n
\n
\n )}\n {showView && view}\n \n );\n }\n}\n\nExplorerCompoment.propTypes = {\n classes: PropTypes.object.isRequired,\n path: PropTypes.string.isRequired,\n};\n\nconst Explorer = connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(ExplorerCompoment)));\n\nexport default Explorer;\n","import React from \"react\";\nimport { BulletList } from \"react-content-loader\";\nimport { makeStyles, useTheme } from \"@material-ui/core/styles\";\n\nconst useStyles = makeStyles((theme) => ({\n loader: {\n width: \"100%\",\n // padding: 40,\n // [theme.breakpoints.down(\"md\")]: {\n // width: \"100%\",\n // padding: 10\n // }\n },\n}));\n\nconst MyLoader = (props) => (\n \n);\n\nfunction ListLoading() {\n const theme = useTheme();\n const classes = useStyles();\n\n return (\n
\n \n
\n );\n}\n\nexport default ListLoading;\n","import React, { useCallback, useEffect, useState } from \"react\";\nimport { makeStyles } from \"@material-ui/core\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport Drawer from \"@material-ui/core/Drawer\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport { Clear, Folder } from \"@material-ui/icons\";\nimport Divider from \"@material-ui/core/Divider\";\nimport { setSideBar } from \"../../../redux/explorer/action\";\nimport TypeIcon from \"../TypeIcon\";\nimport Typography from \"@material-ui/core/Typography\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport Grid from \"@material-ui/core/Grid\";\nimport API from \"../../../middleware/Api\";\nimport { navigateTo, toggleSnackbar } from \"../../../actions\";\nimport { filename, sizeToString } from \"../../../utils\";\nimport Link from \"@material-ui/core/Link\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\nimport TimeAgo from \"timeago-react\";\nimport ListLoading from \"../../Placeholder/ListLoading\";\nimport Hidden from \"@material-ui/core/Hidden\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport Slide from \"@material-ui/core/Slide\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport { formatLocalTime } from \"../../../utils/datetime\";\n\nconst drawerWidth = 350;\n\nconst useStyles = makeStyles((theme) => ({\n drawer: {\n width: drawerWidth,\n flexShrink: 0,\n },\n drawerPaper: {\n width: drawerWidth,\n boxShadow:\n \"0px 8px 10px -5px rgb(0 0 0 / 20%), 0px 16px 24px 2px rgb(0 0 0 / 14%), 0px 6px 30px 5px rgb(0 0 0 / 12%)\",\n },\n drawerContainer: {\n overflow: \"auto\",\n },\n header: {\n display: \"flex\",\n padding: theme.spacing(3),\n placeContent: \"space-between\",\n },\n fileIcon: { width: 33, height: 33 },\n fileIconSVG: { fontSize: 20 },\n folderIcon: {\n color: theme.palette.text.secondary,\n width: 33,\n height: 33,\n },\n fileName: {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2),\n wordBreak: \"break-all\",\n flexGrow: 2,\n },\n closeIcon: {\n placeSelf: \"flex-start\",\n marginTop: 2,\n },\n propsContainer: {\n padding: theme.spacing(3),\n },\n propsLabel: {\n color: theme.palette.text.secondary,\n padding: theme.spacing(1),\n },\n propsTime: {\n color: theme.palette.text.disabled,\n padding: theme.spacing(1),\n },\n propsValue: {\n padding: theme.spacing(1),\n wordBreak: \"break-all\",\n },\n appBar: {\n position: \"relative\",\n },\n title: {\n marginLeft: theme.spacing(2),\n flex: 1,\n },\n}));\n\nconst Transition = React.forwardRef(function Transition(props, ref) {\n return ;\n});\n\nexport default function SideDrawer() {\n const dispatch = useDispatch();\n const sideBarOpen = useSelector((state) => state.explorer.sideBarOpen);\n const selected = useSelector((state) => state.explorer.selected);\n const SetSideBar = useCallback((open) => dispatch(setSideBar(open)), [\n dispatch,\n ]);\n const ToggleSnackbar = useCallback(\n (vertical, horizontal, msg, color) =>\n dispatch(toggleSnackbar(vertical, horizontal, msg, color)),\n [dispatch]\n );\n const NavigateTo = useCallback((k) => dispatch(navigateTo(k)), [dispatch]);\n const keywords = useSelector((state) => state.explorer.keywords);\n const [target, setTarget] = useState(null);\n const [details, setDetails] = useState(null);\n const loadProps = (object) => {\n API.get(\n \"/object/property/\" +\n object.id +\n \"?trace_root=\" +\n (keywords !== \"\" ? \"true\" : \"false\") +\n \"&is_folder=\" +\n (object.type === \"dir\").toString()\n )\n .then((response) => {\n setDetails(response.data);\n })\n .catch((error) => {\n ToggleSnackbar(\"top\", \"right\", error.message, \"error\");\n });\n };\n\n useEffect(() => {\n setDetails(null);\n if (sideBarOpen) {\n if (selected.length !== 1) {\n SetSideBar(false);\n } else {\n setTarget(selected[0]);\n loadProps(selected[0]);\n }\n }\n }, [selected, sideBarOpen]);\n\n const classes = useStyles();\n const propsItem = [\n {\n label: \"大小\",\n value: (d, t) =>\n sizeToString(d.size) +\n \" (\" +\n d.size.toLocaleString() +\n \" 字节)\",\n show: (d) => true,\n },\n {\n label: \"存储策略\",\n value: (d, t) => d.policy,\n show: (d) => d.type === \"file\",\n },\n {\n label: \"包含目录\",\n value: (d, t) => d.child_folder_num.toLocaleString() + \" \" + \"个\",\n show: (d) => d.type === \"dir\",\n },\n {\n label: \"包含文件\",\n value: (d, t) => d.child_file_num.toLocaleString() + \" \" + \"个\",\n show: (d) => d.type === \"dir\",\n },\n {\n label: \"所在目录\",\n // eslint-disable-next-line react/display-name\n value: (d, t) => {\n const path = d.path === \"\" ? t.path : d.path;\n const name = filename(path);\n return (\n \n NavigateTo(path)}\n >\n {name === \"\" ? \"根目录\" : name}\n \n \n );\n },\n show: (d) => true,\n },\n {\n label: \"修改于\",\n value: (d, t) =>\n formatLocalTime(d.updated_at, \"YYYY/MM/DD H:mm:ss\"),\n show: (d) => true,\n },\n {\n label: \"创建于\",\n value: (d) => formatLocalTime(d.created_at, \"YYYY/MM/DD H:mm:ss\"),\n show: (d) => true,\n },\n ];\n const content = (\n \n {!details && }\n {details && (\n <>\n {propsItem.map((item) => {\n if (item.show(target)) {\n return (\n <>\n \n {item.label}\n \n \n {item.value(details, target)}\n \n \n );\n }\n })}\n {target.type === \"dir\" && (\n \n 统计于{\" \"}\n \n \n )}\n \n )}\n \n );\n return (\n <>\n \n \n {target && (\n <>\n \n \n SetSideBar(false)}\n aria-label=\"close\"\n >\n \n \n \n {target.name}\n \n \n \n {content}\n \n )}\n \n \n \n \n \n
\n {target && (\n <>\n
\n {target.type === \"dir\" && (\n \n )}\n {target.type !== \"dir\" && (\n \n )}\n
\n \n {target.name}\n \n
\n SetSideBar(false)}\n className={classes.closeIcon}\n aria-label=\"close\"\n size={\"small\"}\n >\n \n \n
\n \n )}\n \n {content}\n
\n \n
\n \n );\n}\n","import React, { Component } from \"react\";\n\nimport Navigator from \"./Navigator/Navigator\";\nimport { DndProvider } from \"react-dnd\";\nimport HTML5Backend from \"react-dnd-html5-backend\";\nimport DragLayer from \"./DnD/DragLayer\";\nimport Explorer from \"./Explorer\";\nimport Modals from \"./Modals\";\nimport { withStyles } from \"@material-ui/core\";\nimport { connect } from \"react-redux\";\nimport {\n closeAllModals,\n navigateTo,\n setSelectedTarget,\n toggleSnackbar,\n} from \"../../actions\";\nimport { changeSubTitle } from \"../../redux/viewUpdate/action\";\nimport { withRouter } from \"react-router-dom\";\nimport pathHelper from \"../../utils/page\";\nimport SideDrawer from \"./Sidebar/SideDrawer\";\nimport { ImageLoader } from \"@abslant/cd-image-loader\";\n\nconst styles = () => ({});\n\nconst mapStateToProps = () => ({});\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n changeSubTitle: (text) => {\n dispatch(changeSubTitle(text));\n },\n setSelectedTarget: (targets) => {\n dispatch(setSelectedTarget(targets));\n },\n toggleSnackbar: (vertical, horizontal, msg, color) => {\n dispatch(toggleSnackbar(vertical, horizontal, msg, color));\n },\n closeAllModals: () => {\n dispatch(closeAllModals());\n },\n navigateTo: (path) => {\n dispatch(navigateTo(path));\n },\n };\n};\n\nclass FileManager extends Component {\n constructor(props) {\n super(props);\n }\n\n componentWillUnmount() {\n this.props.setSelectedTarget([]);\n this.props.closeAllModals();\n this.props.navigateTo(\"/\");\n }\n\n componentDidMount() {\n if (pathHelper.isHomePage(this.props.location.pathname)) {\n this.props.changeSubTitle(null);\n }\n }\n\n render() {\n return (\n
\n \n \n \n \n \n \n \n \n
\n );\n }\n}\n\nFileManager.propTypes = {};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(FileManager)));\n","import React, { useCallback, useEffect } from \"react\";\nimport DPlayer from \"react-dplayer\";\nimport { Paper } from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport { useLocation, useParams, useRouteMatch } from \"react-router\";\nimport { getBaseURL } from \"../../middleware/Api\";\nimport { useDispatch } from \"react-redux\";\nimport { changeSubTitle } from \"../../redux/viewUpdate/action\";\nimport pathHelper from \"../../utils/page\";\n\nconst useStyles = makeStyles((theme) => ({\n layout: {\n width: \"auto\",\n marginTop: \"30px\",\n marginLeft: theme.spacing(3),\n marginRight: theme.spacing(3),\n [theme.breakpoints.up(1100 + theme.spacing(3) * 2)]: {\n width: 1100,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n marginBottom: 50,\n },\n player: {\n borderRadius: \"4px\",\n },\n}));\n\nfunction useQuery() {\n return new URLSearchParams(useLocation().search);\n}\n\nexport default function VideoViewer() {\n const math = useRouteMatch();\n const location = useLocation();\n const query = useQuery();\n const { id } = useParams();\n const dispatch = useDispatch();\n const SetSubTitle = useCallback(\n (title) => dispatch(changeSubTitle(title)),\n [dispatch]\n );\n useEffect(() => {\n if (!pathHelper.isSharePage(location.pathname)) {\n const path = query.get(\"p\").split(\"/\");\n SetSubTitle(path[path.length - 1]);\n } else {\n SetSubTitle(query.get(\"name\"));\n }\n // eslint-disable-next-line\n }, [math.params[0], location]);\n\n const classes = useStyles();\n return (\n
\n \n \n \n
\n );\n}\n","import React, { useCallback, useEffect, useState } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { toggleSnackbar } from \"../../actions\";\nimport OpenIcon from \"@material-ui/icons/OpenInNew\";\nimport Pagination from \"@material-ui/lab/Pagination\";\nimport FolderIcon from \"@material-ui/icons/Folder\";\n\nimport {\n Tooltip,\n Card,\n Avatar,\n CardHeader,\n Typography,\n Grid,\n IconButton,\n} from \"@material-ui/core\";\nimport API from \"../../middleware/Api\";\nimport TypeIcon from \"../FileManager/TypeIcon\";\nimport Select from \"@material-ui/core/Select\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport { useHistory } from \"react-router-dom\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport { useLocation } from \"react-router\";\nimport TimeAgo from \"timeago-react\";\n\nconst useStyles = makeStyles((theme) => ({\n cardContainer: {\n padding: theme.spacing(1),\n },\n card: {\n maxWidth: 400,\n margin: \"0 auto\",\n },\n actions: {\n display: \"flex\",\n },\n layout: {\n width: \"auto\",\n marginTop: \"50px\",\n marginLeft: theme.spacing(3),\n marginRight: theme.spacing(3),\n [theme.breakpoints.up(1100 + theme.spacing(3) * 2)]: {\n width: 1100,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n },\n shareTitle: {\n maxWidth: \"200px\",\n },\n avatarFile: {\n backgroundColor: theme.palette.primary.light,\n },\n avatarFolder: {\n backgroundColor: theme.palette.secondary.light,\n },\n gird: {\n marginTop: \"30px\",\n },\n loadMore: {\n textAlign: \"right\",\n marginTop: \"20px\",\n marginBottom: \"40px\",\n },\n badge: {\n marginLeft: theme.spacing(1),\n height: 17,\n },\n orderSelect: {\n textAlign: \"right\",\n marginTop: 5,\n },\n}));\n\nfunction useQuery() {\n return new URLSearchParams(useLocation().search);\n}\n\nexport default function SearchResult() {\n const classes = useStyles();\n const dispatch = useDispatch();\n\n const query = useQuery();\n const location = useLocation();\n const history = useHistory();\n\n const [page, setPage] = useState(1);\n const [total, setTotal] = useState(0);\n const [shareList, setShareList] = useState([]);\n const [orderBy, setOrderBy] = useState(\"created_at DESC\");\n\n const ToggleSnackbar = useCallback(\n (vertical, horizontal, msg, color) =>\n dispatch(toggleSnackbar(vertical, horizontal, msg, color)),\n [dispatch]\n );\n\n const search = (keywords, page, orderBy) => {\n const order = orderBy.split(\" \");\n API.get(\n \"/share/search?page=\" +\n page +\n \"&order_by=\" +\n order[0] +\n \"&order=\" +\n order[1] +\n \"&keywords=\" +\n encodeURIComponent(keywords)\n )\n .then((response) => {\n if (response.data.items.length === 0) {\n ToggleSnackbar(\n \"top\",\n \"right\",\n \"找不到符合条件的分享\",\n \"info\"\n );\n }\n setTotal(response.data.total);\n setShareList(response.data.items);\n })\n .catch(() => {\n ToggleSnackbar(\"top\", \"right\", \"加载失败\", \"error\");\n });\n };\n\n useEffect(() => {\n const keywords = query.get(\"keywords\");\n if (keywords) {\n search(keywords, page, orderBy);\n } else {\n ToggleSnackbar(\"top\", \"right\", \"请输入搜索关键词\", \"warning\");\n }\n }, [location]);\n\n const handlePageChange = (event, value) => {\n setPage(value);\n const keywords = query.get(\"keywords\");\n search(keywords, value, orderBy);\n };\n\n const handleOrderChange = (event) => {\n setOrderBy(event.target.value);\n const keywords = query.get(\"keywords\");\n search(keywords, page, event.target.value);\n };\n\n return (\n
\n \n \n \n 搜索结果\n \n \n \n \n \n \n 创建日期由晚到早\n \n \n 创建日期由早到晚\n \n \n 下载次数由大到小\n \n \n 下载次数由小到大\n \n \n 浏览次数由大到小\n \n \n 浏览次数由小到大\n \n \n \n \n \n \n {shareList.map((value) => (\n \n \n \n {!value.is_dir && (\n \n )}{\" \"}\n {value.is_dir && (\n \n \n \n )}\n
\n }\n action={\n \n \n history.push(\"/s/\" + value.key)\n }\n >\n \n \n \n }\n title={\n \n \n {value.source\n ? value.source.name\n : \"[原始对象不存在]\"}{\" \"}\n \n \n }\n subheader={\n \n 分享于{\" \"}\n \n \n }\n />\n \n \n ))}\n \n
\n \n
{\" \"}\n \n );\n}\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { toggleSnackbar } from \"../../actions\";\nimport OpenIcon from \"@material-ui/icons/OpenInNew\";\nimport Pagination from \"@material-ui/lab/Pagination\";\nimport FolderIcon from \"@material-ui/icons/Folder\";\nimport LockIcon from \"@material-ui/icons/Lock\";\nimport UnlockIcon from \"@material-ui/icons/LockOpen\";\nimport EyeIcon from \"@material-ui/icons/RemoveRedEye\";\nimport DeleteIcon from \"@material-ui/icons/Delete\";\n\nimport {\n withStyles,\n Tooltip,\n Card,\n Avatar,\n CardHeader,\n CardActions,\n Typography,\n Grid,\n IconButton,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n Button,\n TextField,\n} from \"@material-ui/core\";\nimport API from \"../../middleware/Api\";\nimport TypeIcon from \"../FileManager/TypeIcon\";\nimport Chip from \"@material-ui/core/Chip\";\nimport Divider from \"@material-ui/core/Divider\";\nimport { VisibilityOff, VpnKey } from \"@material-ui/icons\";\nimport Select from \"@material-ui/core/Select\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport { withRouter } from \"react-router-dom\";\nimport ToggleIcon from \"material-ui-toggle-icon\";\nimport { formatLocalTime } from \"../../utils/datetime\";\n\nconst styles = (theme) => ({\n cardContainer: {\n padding: theme.spacing(1),\n },\n card: {\n maxWidth: 400,\n margin: \"0 auto\",\n },\n actions: {\n display: \"flex\",\n },\n layout: {\n width: \"auto\",\n marginTop: \"50px\",\n marginLeft: theme.spacing(3),\n marginRight: theme.spacing(3),\n [theme.breakpoints.up(1100 + theme.spacing(3) * 2)]: {\n width: 1100,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n },\n shareTitle: {\n maxWidth: \"200px\",\n },\n avatarFile: {\n backgroundColor: theme.palette.primary.light,\n },\n avatarFolder: {\n backgroundColor: theme.palette.secondary.light,\n },\n gird: {\n marginTop: \"30px\",\n },\n loadMore: {\n textAlign: \"right\",\n marginTop: \"20px\",\n marginBottom: \"40px\",\n },\n badge: {\n marginLeft: theme.spacing(1),\n height: 17,\n },\n orderSelect: {\n textAlign: \"right\",\n marginTop: 5,\n },\n});\nconst mapStateToProps = () => {\n return {};\n};\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n toggleSnackbar: (vertical, horizontal, msg, color) => {\n dispatch(toggleSnackbar(vertical, horizontal, msg, color));\n },\n };\n};\n\nclass MyShareCompoment extends Component {\n state = {\n page: 1,\n total: 0,\n shareList: [],\n showPwd: null,\n orderBy: \"created_at DESC\",\n };\n\n componentDidMount = () => {\n this.loadList(1, this.state.orderBy);\n };\n\n showPwd = (pwd) => {\n this.setState({ showPwd: pwd });\n };\n\n handleClose = () => {\n this.setState({ showPwd: null });\n };\n\n removeShare = (id) => {\n API.delete(\"/share/\" + id)\n .then(() => {\n let oldList = this.state.shareList;\n oldList = oldList.filter((value) => {\n return value.key !== id;\n });\n this.setState({\n shareList: oldList,\n total: this.state.total - 1,\n });\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n \"分享已取消\",\n \"success\"\n );\n if (oldList.length === 0) {\n this.loadList(1, this.state.orderBy);\n }\n })\n .catch((error) => {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n error.message,\n \"error\"\n );\n });\n };\n\n changePermission = (id) => {\n const newPwd = Math.random().toString(36).substr(2).slice(2, 8);\n const oldList = this.state.shareList;\n const shareIndex = oldList.findIndex((value) => {\n return value.key === id;\n });\n API.patch(\"/share/\" + id, {\n prop: \"password\",\n value: oldList[shareIndex].password === \"\" ? newPwd : \"\",\n })\n .then((response) => {\n oldList[shareIndex].password = response.data;\n this.setState({\n shareList: oldList,\n });\n })\n .catch((error) => {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n error.message,\n \"error\"\n );\n });\n };\n\n changePreviewOption = (id) => {\n const oldList = this.state.shareList;\n const shareIndex = oldList.findIndex((value) => {\n return value.key === id;\n });\n API.patch(\"/share/\" + id, {\n prop: \"preview_enabled\",\n value: oldList[shareIndex].preview ? \"false\" : \"true\",\n })\n .then((response) => {\n oldList[shareIndex].preview = response.data;\n this.setState({\n shareList: oldList,\n });\n })\n .catch((error) => {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n error.message,\n \"error\"\n );\n });\n };\n\n loadList = (page, orderBy) => {\n const order = orderBy.split(\" \");\n API.get(\n \"/share?page=\" +\n page +\n \"&order_by=\" +\n order[0] +\n \"&order=\" +\n order[1]\n )\n .then((response) => {\n if (response.data.items.length === 0) {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n \"没有更多了\",\n \"info\"\n );\n }\n this.setState({\n total: response.data.total,\n shareList: response.data.items,\n });\n })\n .catch(() => {\n this.props.toggleSnackbar(\"top\", \"right\", \"加载失败\", \"error\");\n });\n };\n\n handlePageChange = (event, value) => {\n this.setState({\n page: value,\n });\n this.loadList(value, this.state.orderBy);\n };\n\n handleOrderChange = (event) => {\n this.setState({\n orderBy: event.target.value,\n });\n this.loadList(this.state.page, event.target.value);\n };\n\n isExpired = (share) => {\n return share.expire < -1 || share.remain_downloads === 0;\n };\n\n render() {\n const { classes } = this.props;\n\n return (\n
\n \n \n \n 我的分享\n \n \n \n \n \n \n 创建日期由晚到早\n \n \n 创建日期由早到晚\n \n \n 下载次数由大到小\n \n \n 下载次数由小到大\n \n \n 浏览次数由大到小\n \n \n 浏览次数由小到大\n \n \n \n \n \n \n {this.state.shareList.map((value) => (\n \n \n \n {!value.is_dir && (\n \n )}{\" \"}\n {value.is_dir && (\n \n \n \n )}\n
\n }\n title={\n \n \n {value.source\n ? value.source.name\n : \"[原始对象不存在]\"}{\" \"}\n \n \n }\n subheader={\n \n {formatLocalTime(\n value.create_date,\n \"YYYY-MM-DD H:mm:ss\"\n )}\n {this.isExpired(value) && (\n \n )}\n \n }\n />\n \n \n \n \n this.props.history.push(\n \"/s/\" +\n value.key +\n (value.password === \"\"\n ? \"\"\n : \"?password=\" +\n value.password)\n )\n }\n >\n \n \n {\" \"}\n {value.password !== \"\" && (\n <>\n \n this.changePermission(\n value.key\n )\n }\n >\n \n \n \n \n \n this.showPwd(value.password)\n }\n >\n \n \n \n \n \n )}\n {value.password === \"\" && (\n \n this.changePermission(value.key)\n }\n >\n \n \n \n \n )}\n \n this.changePreviewOption(value.key)\n }\n >\n \n \n }\n offIcon={\n \n }\n />\n \n \n \n this.removeShare(value.key)\n }\n >\n \n \n \n \n \n \n \n ))}\n \n
\n \n
{\" \"}\n \n 分享密码 {\" \"}\n \n \n {\" \"}\n \n {\" \"}\n {\" \"}\n {\" \"}\n \n );\n }\n}\n\nconst MyShare = connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(MyShareCompoment)));\n\nexport default MyShare;\n","import React, { useState, useEffect } from \"react\";\nimport { makeStyles } from \"@material-ui/core\";\nimport {\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n CircularProgress,\n} from \"@material-ui/core\";\nimport FormGroup from \"@material-ui/core/FormGroup\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport Checkbox from \"@material-ui/core/Checkbox\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\n\nconst useStyles = makeStyles((theme) => ({\n contentFix: {\n padding: \"10px 24px 0px 24px\",\n },\n wrapper: {\n margin: theme.spacing(1),\n position: \"relative\",\n },\n buttonProgress: {\n color: theme.palette.secondary.light,\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n marginTop: -12,\n marginLeft: -12,\n },\n content: {\n padding: 0,\n },\n}));\n\nexport default function SelectFileDialog(props) {\n const [files, setFiles] = useState(props.files);\n\n useEffect(() => {\n setFiles(props.files);\n }, [props.files]);\n\n const handleChange = (index) => (event) => {\n const filesCopy = [...files];\n // eslint-disable-next-line\n filesCopy.map((v, k) => {\n if (v.index === index) {\n filesCopy[k] = {\n ...filesCopy[k],\n selected: event.target.checked ? \"true\" : \"false\",\n };\n }\n });\n setFiles(filesCopy);\n };\n\n const submit = () => {\n const index = [];\n // eslint-disable-next-line\n files.map((v) => {\n if (v.selected === \"true\") {\n index.push(parseInt(v.index));\n }\n });\n props.onSubmit(index);\n };\n\n const classes = useStyles();\n\n return (\n \n 选择要下载的文件\n \n {files.map((v, k) => {\n return (\n \n \n \n }\n label={v.path}\n />\n \n \n );\n })}\n \n \n \n
\n \n 确定\n {props.modalsLoading && (\n \n )}\n \n
\n
\n \n );\n}\n","import React, { useCallback, useEffect } from \"react\";\nimport {\n Card,\n CardContent,\n darken,\n IconButton,\n lighten,\n LinearProgress,\n makeStyles,\n Typography,\n useTheme,\n} from \"@material-ui/core\";\nimport { useDispatch } from \"react-redux\";\nimport { toggleSnackbar } from \"../../actions\";\nimport { hex2bin, sizeToString } from \"../../utils\";\nimport PermMediaIcon from \"@material-ui/icons/PermMedia\";\nimport TypeIcon from \"../FileManager/TypeIcon\";\nimport MuiExpansionPanel from \"@material-ui/core/ExpansionPanel\";\nimport MuiExpansionPanelSummary from \"@material-ui/core/ExpansionPanelSummary\";\nimport MuiExpansionPanelDetails from \"@material-ui/core/ExpansionPanelDetails\";\nimport withStyles from \"@material-ui/core/styles/withStyles\";\nimport Divider from \"@material-ui/core/Divider\";\nimport { ExpandMore, HighlightOff } from \"@material-ui/icons\";\nimport classNames from \"classnames\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport Table from \"@material-ui/core/Table\";\nimport Badge from \"@material-ui/core/Badge\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\nimport API from \"../../middleware/Api\";\nimport Button from \"@material-ui/core/Button\";\nimport Grid from \"@material-ui/core/Grid\";\nimport TimeAgo from \"timeago-react\";\nimport SelectFileDialog from \"../Modals/SelectFile\";\nimport { useHistory } from \"react-router\";\n\nconst ExpansionPanel = withStyles({\n root: {\n maxWidth: \"100%\",\n boxShadow: \"none\",\n \"&:not(:last-child)\": {\n borderBottom: 0,\n },\n \"&:before\": {\n display: \"none\",\n },\n \"&$expanded\": {},\n },\n expanded: {},\n})(MuiExpansionPanel);\n\nconst ExpansionPanelSummary = withStyles({\n root: {\n minHeight: 0,\n padding: 0,\n\n \"&$expanded\": {\n minHeight: 56,\n },\n },\n content: {\n maxWidth: \"100%\",\n margin: 0,\n display: \"flex\",\n \"&$expanded\": {\n margin: \"0\",\n },\n },\n expanded: {},\n})(MuiExpansionPanelSummary);\n\nconst ExpansionPanelDetails = withStyles((theme) => ({\n root: {\n display: \"block\",\n padding: theme.spacing(0),\n },\n}))(MuiExpansionPanelDetails);\n\nconst useStyles = makeStyles((theme) => ({\n card: {\n marginTop: \"20px\",\n justifyContent: \"space-between\",\n },\n iconContainer: {\n width: \"90px\",\n height: \"96px\",\n padding: \" 35px 29px 29px 29px\",\n paddingLeft: \"35px\",\n [theme.breakpoints.down(\"sm\")]: {\n display: \"none\",\n },\n },\n content: {\n width: \"100%\",\n minWidth: 0,\n [theme.breakpoints.up(\"sm\")]: {\n borderInlineStart: \"1px \" + theme.palette.divider + \" solid\",\n },\n },\n contentSide: {\n minWidth: 0,\n paddingTop: \"24px\",\n paddingRight: \"28px\",\n [theme.breakpoints.down(\"sm\")]: {\n display: \"none\",\n },\n },\n iconBig: {\n fontSize: \"30px\",\n },\n iconMultiple: {\n fontSize: \"30px\",\n color: \"#607D8B\",\n },\n progress: {\n marginTop: 8,\n marginBottom: 4,\n },\n expand: {\n transition: \".15s transform ease-in-out\",\n },\n expanded: {\n transform: \"rotate(180deg)\",\n },\n subFileName: {\n display: \"flex\",\n },\n subFileIcon: {\n marginRight: \"20px\",\n },\n scroll: {\n overflowY: \"auto\",\n },\n action: {\n padding: theme.spacing(2),\n textAlign: \"right\",\n },\n actionButton: {\n marginLeft: theme.spacing(1),\n },\n info: {\n padding: theme.spacing(2),\n },\n infoTitle: {\n fontWeight: 700,\n },\n infoValue: {\n color: theme.palette.text.secondary,\n },\n bitmap: {\n width: \"100%\",\n height: \"50px\",\n backgroundColor: theme.palette.background.default,\n },\n}));\n\nexport default function DownloadingCard(props) {\n const canvasRef = React.createRef();\n const classes = useStyles();\n const theme = useTheme();\n const history = useHistory();\n\n const [expanded, setExpanded] = React.useState(\"\");\n const [task, setTask] = React.useState(props.task);\n const [loading, setLoading] = React.useState(false);\n const [selectDialogOpen, setSelectDialogOpen] = React.useState(false);\n const [selectFileOption, setSelectFileOption] = React.useState([]);\n\n const handleChange = (panel) => (event, newExpanded) => {\n setExpanded(newExpanded ? panel : false);\n };\n\n const dispatch = useDispatch();\n const ToggleSnackbar = useCallback(\n (vertical, horizontal, msg, color) =>\n dispatch(toggleSnackbar(vertical, horizontal, msg, color)),\n [dispatch]\n );\n\n useEffect(() => {\n setTask(props.task);\n }, [props.task]);\n\n useEffect(() => {\n if (task.info.bitfield === \"\") {\n return;\n }\n let result = \"\";\n task.info.bitfield.match(/.{1,2}/g).forEach((str) => {\n result += hex2bin(str);\n });\n const canvas = canvasRef.current;\n const context = canvas.getContext(\"2d\");\n context.clearRect(0, 0, canvas.width, canvas.height);\n context.strokeStyle = theme.palette.primary.main;\n for (let i = 0; i < canvas.width; i++) {\n let bit =\n result[\n Math.round(((i + 1) / canvas.width) * task.info.numPieces)\n ];\n bit = bit ? bit : result.slice(-1);\n if (bit === \"1\") {\n context.beginPath();\n context.moveTo(i, 0);\n context.lineTo(i, canvas.height);\n context.stroke();\n }\n }\n // eslint-disable-next-line\n }, [task.info.bitfield, task.info.numPieces, theme]);\n\n const getPercent = (completed, total) => {\n if (total === 0) {\n return 0;\n }\n return (completed / total) * 100;\n };\n\n const activeFiles = useCallback(() => {\n return task.info.files.filter((v) => v.selected === \"true\");\n }, [task.info.files]);\n\n const deleteFile = (index) => {\n setLoading(true);\n const current = activeFiles();\n const newIndex = [];\n const newFiles = [];\n // eslint-disable-next-line\n current.map((v) => {\n if (v.index !== index && v.selected) {\n newIndex.push(parseInt(v.index));\n newFiles.push({\n ...v,\n selected: \"true\",\n });\n } else {\n newFiles.push({\n ...v,\n selected: \"false\",\n });\n }\n });\n API.put(\"/aria2/select/\" + task.info.gid, {\n indexes: newIndex,\n })\n .then(() => {\n setTask({\n ...task,\n info: {\n ...task.info,\n files: newFiles,\n },\n });\n ToggleSnackbar(\"top\", \"right\", \"文件已删除\", \"success\");\n })\n .catch((error) => {\n ToggleSnackbar(\"top\", \"right\", error.message, \"error\");\n })\n .then(() => {\n setLoading(false);\n });\n };\n\n const getDownloadName = useCallback(() => {\n if (task.info.bittorrent.info.name !== \"\") {\n return task.info.bittorrent.info.name;\n }\n return task.name === \".\" ? \"[未知]\" : task.name;\n }, [task]);\n\n const getIcon = useCallback(() => {\n if (task.info.bittorrent.mode === \"multi\") {\n return (\n \n \n \n );\n } else {\n return (\n \n );\n }\n // eslint-disable-next-line\n }, [task, classes]);\n\n const cancel = () => {\n setLoading(true);\n API.delete(\"/aria2/task/\" + task.info.gid)\n .then(() => {\n ToggleSnackbar(\n \"top\",\n \"right\",\n \"任务已取消,状态会在稍后更新\",\n \"success\"\n );\n })\n .catch((error) => {\n ToggleSnackbar(\"top\", \"right\", error.message, \"error\");\n })\n .then(() => {\n setLoading(false);\n });\n };\n\n const changeSelectedFile = (fileIndex) => {\n setLoading(true);\n API.put(\"/aria2/select/\" + task.info.gid, {\n indexes: fileIndex,\n })\n .then(() => {\n ToggleSnackbar(\n \"top\",\n \"right\",\n \"操作成功,状态会在稍后更新\",\n \"success\"\n );\n setSelectDialogOpen(false);\n })\n .catch((error) => {\n ToggleSnackbar(\"top\", \"right\", error.message, \"error\");\n })\n .then(() => {\n setLoading(false);\n });\n };\n\n return (\n \n setSelectDialogOpen(false)}\n modalsLoading={loading}\n files={selectFileOption}\n onSubmit={changeSelectedFile}\n />\n \n \n
{getIcon()}
\n \n \n \n {getDownloadName()}\n \n \n \n \n {task.total > 0 && (\n \n {getPercent(\n task.downloaded,\n task.total\n ).toFixed(2)}\n % -{\" \"}\n {task.downloaded === 0\n ? \"0Bytes\"\n : sizeToString(task.downloaded)}\n /\n {task.total === 0\n ? \"0Bytes\"\n : sizeToString(task.total)}{\" \"}\n -{\" \"}\n {task.speed === \"0\"\n ? \"0B/s\"\n : sizeToString(task.speed) + \"/s\"}\n \n )}\n {task.total === 0 && - }\n \n \n \n \n \n \n \n \n \n \n {task.info.bittorrent.mode === \"multi\" && (\n
\n \n \n {activeFiles().map((value) => {\n return (\n \n \n \n \n {value.path}\n \n \n \n \n {\" \"}\n {sizeToString(\n value.length\n )}\n \n \n \n \n {getPercent(\n value.completedLength,\n value.length\n ).toFixed(2)}\n %\n \n \n \n \n \n deleteFile(\n value.index\n )\n }\n disabled={loading}\n size={\"small\"}\n >\n \n \n \n \n \n );\n })}\n \n
\n
\n )}\n\n
\n \n history.push(\n \"/#/home?path=\" +\n encodeURIComponent(task.dst)\n )\n }\n >\n 打开存放目录\n \n {task.info.bittorrent.mode === \"multi\" && (\n {\n setSelectDialogOpen(true);\n setSelectFileOption([\n ...props.task.info.files,\n ]);\n }}\n >\n 选择要下载的文件\n \n )}\n \n 取消任务\n \n
\n \n
\n {task.info.bitfield !== \"\" && (\n \n )}\n\n \n \n \n 更新于:\n \n \n \n \n \n \n \n 上传大小:\n \n \n {sizeToString(task.info.uploadLength)}\n \n \n \n \n 上传速度:\n \n \n {sizeToString(task.info.uploadSpeed)} / s\n \n \n {task.info.bittorrent.mode !== \"\" && (\n <>\n \n \n InfoHash:\n \n \n {task.info.infoHash}\n \n \n \n \n 做种者:\n \n \n {task.info.numSeeders}\n \n \n \n \n 做种中:\n \n \n {task.info.seeder === \"true\"\n ? \"是\"\n : \"否\"}\n \n \n \n )}\n \n \n 分片大小:\n \n \n {sizeToString(task.info.pieceLength)}\n \n \n \n \n 分片数量:\n \n \n {task.info.numPieces}\n \n \n \n
\n
\n \n
\n );\n}\n","import React, { useCallback } from \"react\";\nimport {\n Card,\n CardContent,\n IconButton,\n makeStyles,\n Typography,\n useTheme,\n} from \"@material-ui/core\";\nimport { sizeToString } from \"../../utils\";\nimport PermMediaIcon from \"@material-ui/icons/PermMedia\";\nimport TypeIcon from \"../FileManager/TypeIcon\";\nimport MuiExpansionPanel from \"@material-ui/core/ExpansionPanel\";\nimport MuiExpansionPanelSummary from \"@material-ui/core/ExpansionPanelSummary\";\nimport MuiExpansionPanelDetails from \"@material-ui/core/ExpansionPanelDetails\";\nimport withStyles from \"@material-ui/core/styles/withStyles\";\nimport Divider from \"@material-ui/core/Divider\";\nimport { ExpandMore } from \"@material-ui/icons\";\nimport classNames from \"classnames\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport Table from \"@material-ui/core/Table\";\nimport Badge from \"@material-ui/core/Badge\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\nimport Button from \"@material-ui/core/Button\";\nimport Grid from \"@material-ui/core/Grid\";\nimport API from \"../../middleware/Api\";\nimport { useDispatch } from \"react-redux\";\nimport { toggleSnackbar } from \"../../actions\";\nimport { useHistory } from \"react-router\";\nimport { formatLocalTime } from \"../../utils/datetime\";\n\nconst ExpansionPanel = withStyles({\n root: {\n maxWidth: \"100%\",\n boxShadow: \"none\",\n \"&:not(:last-child)\": {\n borderBottom: 0,\n },\n \"&:before\": {\n display: \"none\",\n },\n \"&$expanded\": {},\n },\n expanded: {},\n})(MuiExpansionPanel);\n\nconst ExpansionPanelSummary = withStyles({\n root: {\n minHeight: 0,\n padding: 0,\n\n \"&$expanded\": {\n minHeight: 56,\n },\n },\n content: {\n maxWidth: \"100%\",\n margin: 0,\n display: \"flex\",\n \"&$expanded\": {\n margin: \"0\",\n },\n },\n expanded: {},\n})(MuiExpansionPanelSummary);\n\nconst ExpansionPanelDetails = withStyles((theme) => ({\n root: {\n display: \"block\",\n padding: theme.spacing(0),\n },\n}))(MuiExpansionPanelDetails);\n\nconst useStyles = makeStyles((theme) => ({\n card: {\n marginTop: \"20px\",\n justifyContent: \"space-between\",\n },\n iconContainer: {\n width: \"90px\",\n height: \"96px\",\n padding: \" 35px 29px 29px 29px\",\n paddingLeft: \"35px\",\n [theme.breakpoints.down(\"sm\")]: {\n display: \"none\",\n },\n },\n content: {\n width: \"100%\",\n minWidth: 0,\n [theme.breakpoints.up(\"sm\")]: {\n borderInlineStart: \"1px \" + theme.palette.divider + \" solid\",\n },\n textAlign: \"left\",\n },\n contentSide: {\n minWidth: 0,\n paddingTop: \"24px\",\n paddingRight: \"28px\",\n [theme.breakpoints.down(\"sm\")]: {\n display: \"none\",\n },\n },\n iconBig: {\n fontSize: \"30px\",\n },\n iconMultiple: {\n fontSize: \"30px\",\n color: \"#607D8B\",\n },\n progress: {\n marginTop: 8,\n marginBottom: 4,\n },\n expand: {\n transition: \".15s transform ease-in-out\",\n },\n expanded: {\n transform: \"rotate(180deg)\",\n },\n subFileName: {\n display: \"flex\",\n },\n subFileIcon: {\n marginRight: \"20px\",\n },\n scroll: {\n overflowY: \"auto\",\n },\n action: {\n padding: theme.spacing(2),\n textAlign: \"right\",\n },\n actionButton: {\n marginLeft: theme.spacing(1),\n },\n info: {\n padding: theme.spacing(2),\n },\n infoTitle: {\n fontWeight: 700,\n },\n infoValue: {\n color: theme.palette.text.secondary,\n },\n}));\n\nexport default function FinishedCard(props) {\n const classes = useStyles();\n const theme = useTheme();\n const history = useHistory();\n\n const [expanded, setExpanded] = React.useState(false);\n const [loading, setLoading] = React.useState(false);\n\n const dispatch = useDispatch();\n const ToggleSnackbar = useCallback(\n (vertical, horizontal, msg, color) =>\n dispatch(toggleSnackbar(vertical, horizontal, msg, color)),\n [dispatch]\n );\n\n const handleChange = () => (event, newExpanded) => {\n setExpanded(!!newExpanded);\n };\n\n const cancel = () => {\n setLoading(true);\n API.delete(\"/aria2/task/\" + props.task.gid)\n .then(() => {\n ToggleSnackbar(\"top\", \"right\", \"删除成功\", \"success\");\n })\n .catch((error) => {\n ToggleSnackbar(\"top\", \"right\", error.message, \"error\");\n })\n .then(() => {\n window.location.reload();\n });\n };\n\n const getPercent = (completed, total) => {\n if (total == 0) {\n return 0;\n }\n return (completed / total) * 100;\n };\n\n const getDownloadName = useCallback(() => {\n return props.task.name === \".\" ? \"[未知]\" : props.task.name;\n }, [props.task.name]);\n\n const activeFiles = useCallback(() => {\n return props.task.files.filter((v) => v.selected === \"true\");\n }, [props.task.files]);\n\n const getIcon = useCallback(() => {\n if (props.task.files.length > 1) {\n return (\n \n \n \n );\n } else {\n return (\n \n );\n }\n }, [props.task, classes]);\n\n const getTaskError = (error) => {\n try {\n const res = JSON.parse(error);\n return res.msg + \":\" + res.error;\n } catch (e) {\n return \"文件转存失败\";\n }\n };\n\n return (\n \n \n \n
{getIcon()}
\n \n \n \n {getDownloadName()}\n \n \n {props.task.status === 3 && (\n \n \n 下载出错:{props.task.error}\n \n \n )}\n {props.task.status === 5 && (\n \n 已取消\n {props.task.error !== \"\" && (\n :{props.task.error}\n )}\n \n )}\n {props.task.status === 4 &&\n props.task.task_status === 4 && (\n \n 已完成\n \n )}\n {props.task.status === 4 &&\n props.task.task_status === 0 && (\n \n 已完成,转存排队中\n \n )}\n {props.task.status === 4 &&\n props.task.task_status === 1 && (\n \n 已完成,转存处理中\n \n )}\n {props.task.status === 4 &&\n props.task.task_status === 2 && (\n \n {getTaskError(props.task.task_error)}\n \n )}\n \n \n \n \n \n \n \n \n \n {props.task.files.length > 1 && (\n
\n \n \n {activeFiles().map((value) => {\n return (\n \n \n \n \n {value.path}\n \n \n \n \n {\" \"}\n {sizeToString(\n value.length\n )}\n \n \n \n \n {getPercent(\n value.completedLength,\n value.length\n ).toFixed(2)}\n %\n \n \n \n );\n })}\n \n
\n
\n )}\n\n
\n \n history.push(\n \"/home?path=\" +\n encodeURIComponent(props.task.dst)\n )\n }\n >\n 打开存放目录\n \n \n 删除记录\n \n
\n \n
\n \n \n \n 创建日期:\n \n \n {formatLocalTime(\n props.task.create,\n \"YYYY-MM-DD H:mm:ss\"\n )}\n \n \n \n \n 最后更新:\n \n \n {formatLocalTime(\n props.task.update,\n \"YYYY-MM-DD H:mm:ss\"\n )}\n \n \n \n
\n
\n \n
\n );\n}\n","import React, { useCallback } from \"react\";\nimport { openRemoteDownloadDialog } from \"../../actions\";\nimport { useDispatch } from \"react-redux\";\nimport AutoHidden from \"./AutoHidden\";\nimport { makeStyles } from \"@material-ui/core\";\nimport Fab from \"@material-ui/core/Fab\";\nimport { Add } from \"@material-ui/icons\";\nimport Modals from \"../FileManager/Modals\";\n\nconst useStyles = makeStyles(() => ({\n fab: {\n margin: 0,\n top: \"auto\",\n right: 20,\n bottom: 20,\n left: \"auto\",\n zIndex: 5,\n position: \"fixed\",\n },\n}));\n\nexport default function RemoteDownloadButton() {\n const classes = useStyles();\n const dispatch = useDispatch();\n\n const OpenRemoteDownloadDialog = useCallback(\n () => dispatch(openRemoteDownloadDialog()),\n [dispatch]\n );\n\n return (\n <>\n \n \n OpenRemoteDownloadDialog()}\n >\n \n \n \n \n );\n}\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport RefreshIcon from \"@material-ui/icons/Refresh\";\nimport { toggleSnackbar } from \"../../actions\";\nimport API from \"../../middleware/Api\";\nimport { withStyles, Typography, Button, IconButton } from \"@material-ui/core\";\nimport DownloadingCard from \"./DownloadingCard\";\nimport FinishedCard from \"./FinishedCard\";\nimport RemoteDownloadButton from \"../Dial/Aria2\";\nimport Auth from \"../../middleware/Auth\";\n\nconst styles = (theme) => ({\n actions: {\n display: \"flex\",\n },\n title: {\n marginTop: \"20px\",\n },\n layout: {\n width: \"auto\",\n marginTop: \"30px\",\n marginLeft: theme.spacing(3),\n marginRight: theme.spacing(3),\n [theme.breakpoints.up(1100 + theme.spacing(3) * 2)]: {\n width: 700,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n },\n shareTitle: {\n maxWidth: \"200px\",\n },\n avatarFile: {\n backgroundColor: theme.palette.primary.light,\n },\n avatarFolder: {\n backgroundColor: theme.palette.secondary.light,\n },\n gird: {\n marginTop: \"30px\",\n },\n hide: {\n display: \"none\",\n },\n loadingAnimation: {\n borderRadius: \"6px 6px 0 0\",\n },\n shareFix: {\n marginLeft: \"20px\",\n },\n loadMore: {\n textAlign: \"center\",\n marginTop: \"20px\",\n marginBottom: \"20px\",\n },\n margin: {\n marginTop: theme.spacing(2),\n },\n});\nconst mapStateToProps = () => {\n return {};\n};\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n toggleSnackbar: (vertical, horizontal, msg, color) => {\n dispatch(toggleSnackbar(vertical, horizontal, msg, color));\n },\n };\n};\n\nclass DownloadComponent extends Component {\n page = 0;\n interval = 0;\n previousDownloading = -1;\n\n state = {\n downloading: [],\n loading: false,\n finishedList: [],\n continue: true,\n };\n\n componentDidMount = () => {\n this.loadDownloading();\n };\n\n componentWillUnmount() {\n clearTimeout(this.interval);\n }\n\n loadDownloading = () => {\n this.setState({\n loading: true,\n });\n API.get(\"/aria2/downloading\")\n .then((response) => {\n this.setState({\n downloading: response.data,\n loading: false,\n });\n // 设定自动更新\n clearTimeout(this.interval);\n if (response.data.length > 0) {\n this.interval = setTimeout(\n this.loadDownloading,\n 1000 *\n response.data.reduce(function (prev, current) {\n return prev.interval < current.interval\n ? prev\n : current;\n }).interval\n );\n }\n\n // 下载中条目变更时刷新已完成列表\n if (response.data.length !== this.previousDownloading) {\n this.page = 0;\n this.setState({\n finishedList: [],\n continue: true,\n });\n this.loadMore();\n }\n this.previousDownloading = response.data.length;\n })\n .catch((error) => {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n error.message,\n \"error\"\n );\n });\n };\n\n loadMore = () => {\n this.setState({\n loading: true,\n });\n API.get(\"/aria2/finished?page=\" + ++this.page)\n .then((response) => {\n this.setState({\n finishedList: [\n ...this.state.finishedList,\n ...response.data,\n ],\n loading: false,\n continue: response.data.length >= 10,\n });\n })\n .catch(() => {\n this.props.toggleSnackbar(\"top\", \"right\", \"加载失败\", \"error\");\n this.setState({\n loading: false,\n });\n });\n };\n\n render() {\n const { classes } = this.props;\n const user = Auth.GetUser();\n\n return (\n
\n {user.group.allowRemoteDownload && }\n \n 进行中\n \n \n \n \n {this.state.downloading.map((value, k) => (\n \n ))}\n \n 已完成\n \n
\n {this.state.finishedList.map((value, k) => {\n if (value.files) {\n return ;\n }\n return null;\n })}\n \n 加载更多\n \n
\n
\n );\n }\n}\n\nconst Download = connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(DownloadComponent));\n\nexport default Download;\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { toggleSnackbar } from \"../../actions\";\n\nimport {\n withStyles,\n Button,\n Card,\n Divider,\n CardHeader,\n CardContent,\n CardActions,\n TextField,\n Avatar,\n} from \"@material-ui/core\";\nimport { withRouter } from \"react-router\";\nimport { formatLocalTime } from \"../../utils/datetime\";\n\nconst styles = (theme) => ({\n card: {\n maxWidth: 400,\n margin: \"0 auto\",\n },\n actions: {\n display: \"flex\",\n },\n layout: {\n width: \"auto\",\n marginTop: \"110px\",\n marginLeft: theme.spacing(3),\n marginRight: theme.spacing(3),\n [theme.breakpoints.up(1100 + theme.spacing(3) * 2)]: {\n width: 1100,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n },\n continue: {\n marginLeft: \"auto\",\n marginRight: \"10px\",\n marginRottom: \"10px\",\n },\n});\nconst mapStateToProps = () => {\n return {};\n};\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n toggleSnackbar: (vertical, horizontal, msg, color) => {\n dispatch(toggleSnackbar(vertical, horizontal, msg, color));\n },\n };\n};\n\nclass LockedFileCompoment extends Component {\n constructor(props) {\n super(props);\n const query = new URLSearchParams(this.props.location.search);\n this.state = {\n pwd: query.get(\"password\"),\n };\n }\n\n handleChange = (name) => (event) => {\n this.setState({ [name]: event.target.value });\n };\n\n submit = (e) => {\n e.preventDefault();\n if (this.state.pwd === \"\") {\n return;\n }\n this.props.setPassowrd(this.state.pwd);\n };\n\n render() {\n const { classes } = this.props;\n\n return (\n
\n \n \n }\n title={this.props.share.creator.nick + \" 的加密分享\"}\n subheader={formatLocalTime(\n this.props.share.create_date,\n \"YYYY-MM-DD H:mm:ss\"\n )}\n />\n \n \n
\n \n \n
\n \n \n 继续\n \n \n
\n
\n );\n }\n}\n\nconst LockedFile = connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(LockedFileCompoment)));\n\nexport default LockedFile;\n","import React from \"react\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport { Avatar, Typography } from \"@material-ui/core\";\nimport { useHistory } from \"react-router\";\nimport Link from \"@material-ui/core/Link\";\nimport { formatLocalTime } from \"../../utils/datetime\";\n\nconst useStyles = makeStyles((theme) => ({\n boxHeader: {\n textAlign: \"center\",\n padding: 24,\n },\n avatar: {\n backgroundColor: theme.palette.secondary.main,\n margin: \"0 auto\",\n width: 50,\n height: 50,\n cursor: \"pointer\",\n },\n shareDes: {\n marginTop: 12,\n },\n shareInfo: {\n color: theme.palette.text.disabled,\n fontSize: 14,\n },\n}));\n\nexport default function Creator(props) {\n const classes = useStyles();\n const history = useHistory();\n\n const getSecondDes = () => {\n if (props.share.expire > 0) {\n if (props.share.expire >= 24 * 3600) {\n return (\n Math.round(props.share.expire / (24 * 3600)) + \" 天后到期\"\n );\n }\n return Math.round(props.share.expire / 3600) + \" 小时后到期\";\n }\n return formatLocalTime(props.share.create_date, \"YYYY-MM-DD H:mm:ss\");\n };\n\n const userProfile = () => {\n history.push(\"/profile/\" + props.share.creator.key);\n props.onClose && props.onClose();\n };\n\n return (\n
\n userProfile()}\n />\n \n {props.isFolder && (\n <>\n 此分享由{\" \"}\n userProfile()}\n href={\"javascript:void(0)\"}\n color=\"inherit\"\n >\n {props.share.creator.nick}\n {\" \"}\n 创建\n \n )}\n {!props.isFolder && (\n <>\n {\" \"}\n userProfile()}\n href={\"javascript:void(0)\"}\n color=\"inherit\"\n >\n {props.share.creator.nick}\n {\" \"}\n 向您分享了 1 个文件\n \n )}\n \n \n {props.share.views} 次浏览 • {props.share.downloads} 次下载 •{\" \"}\n {getSecondDes()}\n \n
\n );\n}\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { sizeToString, vhCheck } from \"../../utils\";\nimport {\n openMusicDialog,\n openResaveDialog,\n setSelectedTarget,\n showImgPreivew,\n toggleSnackbar,\n} from \"../../actions\";\nimport { isPreviewable } from \"../../config\";\nimport { withStyles, Button, Typography } from \"@material-ui/core\";\nimport Divider from \"@material-ui/core/Divider\";\nimport TypeIcon from \"../FileManager/TypeIcon\";\nimport Auth from \"../../middleware/Auth\";\nimport PurchaseShareDialog from \"../Modals/PurchaseShare\";\nimport API from \"../../middleware/Api\";\nimport { withRouter } from \"react-router-dom\";\nimport Creator from \"./Creator\";\nimport pathHelper from \"../../utils/page\";\nimport Report from \"../Modals/Report\";\n\nvhCheck();\nconst styles = (theme) => ({\n layout: {\n width: \"auto\",\n marginTop: \"90px\",\n marginLeft: theme.spacing(3),\n marginRight: theme.spacing(3),\n [theme.breakpoints.up(1100 + theme.spacing(3) * 2)]: {\n width: 1100,\n marginTop: \"90px\",\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n [theme.breakpoints.down(\"sm\")]: {\n marginTop: 0,\n marginLeft: 0,\n marginRight: 0,\n },\n justifyContent: \"center\",\n display: \"flex\",\n },\n player: {\n borderRadius: \"4px\",\n },\n fileCotainer: {\n width: \"200px\",\n margin: \"0 auto\",\n },\n buttonCotainer: {\n width: \"400px\",\n margin: \"0 auto\",\n textAlign: \"center\",\n marginTop: \"20px\",\n },\n paper: {\n padding: theme.spacing(2),\n },\n icon: {\n borderRadius: \"10%\",\n marginTop: 2,\n },\n\n box: {\n width: \"100%\",\n maxWidth: 440,\n backgroundColor: theme.palette.background.paper,\n borderRadius: 12,\n boxShadow: \"0 8px 16px rgba(29,39,55,.25)\",\n [theme.breakpoints.down(\"sm\")]: {\n height: \"calc(var(--vh, 100vh) - 56px)\",\n borderRadius: 0,\n maxWidth: 1000,\n },\n display: \"flex\",\n flexDirection: \"column\",\n },\n boxContent: {\n padding: 24,\n display: \"flex\",\n flex: \"1\",\n },\n fileName: {\n marginLeft: 20,\n },\n fileSize: {\n color: theme.palette.text.disabled,\n fontSize: 14,\n },\n boxFooter: {\n display: \"flex\",\n padding: \"20px 16px\",\n justifyContent: \"space-between\",\n },\n downloadButton: {\n marginLeft: 8,\n },\n});\nconst mapStateToProps = () => {\n return {};\n};\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n toggleSnackbar: (vertical, horizontal, msg, color) => {\n dispatch(toggleSnackbar(vertical, horizontal, msg, color));\n },\n openMusicDialog: () => {\n dispatch(openMusicDialog());\n },\n setSelectedTarget: (targets) => {\n dispatch(setSelectedTarget(targets));\n },\n showImgPreivew: (first) => {\n dispatch(showImgPreivew(first));\n },\n openResave: (key) => {\n dispatch(openResaveDialog(key));\n },\n };\n};\n\nconst Modals = React.lazy(() => import(\"../FileManager/Modals\"));\nconst ImgPreview = React.lazy(() => import(\"../FileManager/ImgPreview\"));\n\nclass SharedFileCompoment extends Component {\n state = {\n anchorEl: null,\n open: false,\n purchaseCallback: null,\n loading: false,\n openReport: false,\n };\n\n downloaded = false;\n\n // TODO merge into react thunk\n preview = () => {\n if (pathHelper.isSharePage(this.props.location.pathname)) {\n const user = Auth.GetUser();\n if (!Auth.Check() && user && !user.group.shareDownload) {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n \"请先登录\",\n \"warning\"\n );\n return;\n }\n }\n\n switch (isPreviewable(this.props.share.source.name)) {\n case \"img\":\n this.props.showImgPreivew({\n key: this.props.share.key,\n name: this.props.share.source.name,\n });\n return;\n case \"msDoc\":\n this.props.history.push(\n this.props.share.key +\n \"/doc?name=\" +\n encodeURIComponent(this.props.share.source.name)\n );\n return;\n case \"audio\":\n this.props.setSelectedTarget([\n {\n key: this.props.share.key,\n type: \"share\",\n },\n ]);\n this.props.openMusicDialog();\n return;\n case \"video\":\n this.props.history.push(\n this.props.share.key +\n \"/video?name=\" +\n encodeURIComponent(this.props.share.source.name)\n );\n return;\n case \"edit\":\n this.props.history.push(\n this.props.share.key +\n \"/text?name=\" +\n encodeURIComponent(this.props.share.source.name)\n );\n return;\n case \"pdf\":\n this.props.history.push(\n this.props.share.key +\n \"/pdf?name=\" +\n encodeURIComponent(this.props.share.source.name)\n );\n return;\n case \"code\":\n this.props.history.push(\n this.props.share.key +\n \"/code?name=\" +\n encodeURIComponent(this.props.share.source.name)\n );\n return;\n default:\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n \"此文件无法预览\",\n \"warning\"\n );\n return;\n }\n };\n\n componentWillUnmount() {\n this.props.setSelectedTarget([]);\n }\n\n scoreHandle = (callback) => (event) => {\n if (this.props.share.score > 0) {\n if (!Auth.Check()) {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n \"登录后才能继续操作\",\n \"warning\"\n );\n return;\n }\n if (!Auth.GetUser().group.shareFree && !this.downloaded) {\n this.setState({\n purchaseCallback: () => {\n this.setState({\n purchaseCallback: null,\n });\n callback(event);\n },\n });\n return;\n }\n }\n callback(event);\n };\n\n download = () => {\n this.setState({ loading: true });\n API.put(\"/share/download/\" + this.props.share.key)\n .then((response) => {\n this.downloaded = true;\n window.location.assign(response.data);\n })\n .catch((error) => {\n this.props.toggleSnackbar(\n \"top\",\n \"right\",\n error.message,\n \"warning\"\n );\n })\n .then(() => {\n this.setState({ loading: false });\n });\n };\n\n render() {\n const { classes } = this.props;\n const user = Auth.GetUser();\n const isLogin = Auth.Check();\n\n return (\n
\n \n \n this.setState({ purchaseCallback: null })}\n />\n this.setState({ openReport: false })}\n />\n
\n \n \n
\n \n
\n \n {this.props.share.source.name}\n \n \n {sizeToString(this.props.share.source.size)}\n \n
\n
\n \n
\n
\n \n this.props.openResave(this.props.share.key)\n }\n color=\"secondary\"\n >\n 保存到我的文件\n \n \n this.setState({ openReport: true })\n }\n color=\"secondary\"\n >\n 举报\n \n
\n
\n {this.props.share.preview && (\n \n 预览\n \n )}\n \n 下载\n {this.props.share.score > 0 &&\n (!isLogin || !user.group.shareFree) &&\n \" (\" + this.props.share.score + \"积分)\"}\n {this.props.share.score > 0 &&\n isLogin &&\n user.group.shareFree &&\n \" (免积分)\"}\n \n
\n
\n
\n
\n );\n }\n}\n\nconst SharedFile = connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(SharedFileCompoment)));\n\nexport default SharedFile;\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport {\n openMusicDialog,\n openResaveDialog,\n setSelectedTarget,\n setShareUserPopover,\n showImgPreivew,\n toggleSnackbar,\n} from \"../../actions\";\nimport { withStyles, Typography } from \"@material-ui/core\";\nimport { withRouter } from \"react-router-dom\";\nimport FileManager from \"../FileManager/FileManager\";\nimport Paper from \"@material-ui/core/Paper\";\nimport Popover from \"@material-ui/core/Popover\";\nimport Creator from \"./Creator\";\nimport ClickAwayListener from \"@material-ui/core/ClickAwayListener\";\nimport pathHelper from \"../../utils/page\";\nconst styles = (theme) => ({\n layout: {\n width: \"auto\",\n marginTop: 30,\n marginBottom: 30,\n marginLeft: theme.spacing(3),\n marginRight: theme.spacing(3),\n [theme.breakpoints.up(1100 + theme.spacing(3) * 2)]: {\n width: 1100,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n [theme.breakpoints.down(\"sm\")]: {\n marginTop: theme.spacing(2),\n marginLeft: theme.spacing(1),\n marginRight: theme.spacing(1),\n },\n },\n managerContainer: {\n overflowY: \"auto\",\n },\n});\n\nconst ReadMe = React.lazy(() => import(\"./ReadMe\"));\n\nconst mapStateToProps = (state) => {\n return {\n anchorEl: state.viewUpdate.shareUserPopoverAnchorEl,\n fileList: state.explorer.fileList,\n };\n};\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n toggleSnackbar: (vertical, horizontal, msg, color) => {\n dispatch(toggleSnackbar(vertical, horizontal, msg, color));\n },\n openMusicDialog: () => {\n dispatch(openMusicDialog());\n },\n setSelectedTarget: (targets) => {\n dispatch(setSelectedTarget(targets));\n },\n showImgPreivew: (first) => {\n dispatch(showImgPreivew(first));\n },\n openResave: (key) => {\n dispatch(openResaveDialog(key));\n },\n setShareUserPopover: (e) => {\n dispatch(setShareUserPopover(e));\n },\n };\n};\n\nclass SharedFolderComponent extends Component {\n state = {};\n\n UNSAFE_componentWillMount() {\n window.shareInfo = this.props.share;\n }\n\n componentWillUnmount() {\n window.shareInfo = null;\n this.props.setSelectedTarget([]);\n }\n\n handleClickAway = () => {\n if (!pathHelper.isMobile()) {\n this.props.setSelectedTarget([]);\n }\n };\n\n render() {\n const { classes } = this.props;\n let readmeShowed = false;\n const id = this.props.anchorEl !== null ? \"simple-popover\" : undefined;\n\n return (\n
\n \n \n \n \n \n {/* eslint-disable-next-line */}\n {this.props.fileList.map((value) => {\n if (\n (value.name.toLowerCase() === \"readme.md\" ||\n value.name.toLowerCase() === \"readme.txt\") &&\n !readmeShowed\n ) {\n readmeShowed = true;\n return ;\n }\n })}\n this.props.setShareUserPopover(null)}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"center\",\n }}\n transformOrigin={{\n vertical: \"top\",\n horizontal: \"center\",\n }}\n >\n \n this.props.setShareUserPopover(null)}\n share={this.props.share}\n />\n \n \n
\n );\n }\n}\n\nconst SharedFolder = connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(SharedFolderComponent)));\n\nexport default SharedFolder;\n","import React, { Suspense, useCallback, useEffect, useState } from \"react\";\nimport PageLoading from \"../Placeholder/PageLoading\";\nimport { useParams } from \"react-router\";\nimport API from \"../../middleware/Api\";\nimport { toggleSnackbar } from \"../../actions\";\nimport { changeSubTitle } from \"../../redux/viewUpdate/action\";\nimport { useDispatch } from \"react-redux\";\nimport Notice from \"./NotFound\";\nimport LockedFile from \"./LockedFile\";\nimport SharedFile from \"./SharedFile\";\nimport SharedFolder from \"./SharedFolder\";\n\nexport default function SharePreload() {\n const dispatch = useDispatch();\n const { id } = useParams();\n\n const [share, setShare] = useState(undefined);\n const [loading, setLoading] = useState(false);\n const [password, setPassword] = useState(\"\");\n\n const SetSubTitle = useCallback(\n (title) => dispatch(changeSubTitle(title)),\n [dispatch]\n );\n\n const ToggleSnackbar = useCallback(\n (vertical, horizontal, msg, color) =>\n dispatch(toggleSnackbar(vertical, horizontal, msg, color)),\n [dispatch]\n );\n\n useEffect(() => {\n if (share) {\n if (share.locked) {\n SetSubTitle(share.creator.nick + \"的加密分享\");\n if (password !== \"\") {\n ToggleSnackbar(\"top\", \"right\", \"密码不正确\", \"warning\");\n }\n } else {\n SetSubTitle(share.source.name);\n }\n } else {\n SetSubTitle();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [share, SetSubTitle, ToggleSnackbar]);\n\n useEffect(() => {\n return () => {\n SetSubTitle();\n };\n // eslint-disable-next-line\n }, []);\n\n useEffect(() => {\n setLoading(true);\n let withPassword = \"\";\n if (password !== \"\") {\n withPassword = \"?password=\" + password;\n }\n API.get(\"/share/info/\" + id + withPassword)\n .then((response) => {\n setShare(response.data);\n setLoading(false);\n })\n .catch((error) => {\n setLoading(false);\n if (error.code === 404) {\n setShare(null);\n } else {\n ToggleSnackbar(\"top\", \"right\", error.message, \"error\");\n }\n });\n }, [id, password, ToggleSnackbar]);\n\n return (\n }>\n {share === undefined && }\n {share === null && }\n {share && share.locked && (\n \n )}\n {share && !share.locked && !share.is_dir && (\n \n )}\n {share && !share.locked && share.is_dir && (\n \n )}\n \n );\n}\n","import React, { useCallback, useEffect, useState } from \"react\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport { useLocation, useParams, useRouteMatch } from \"react-router\";\nimport API from \"../../middleware/Api\";\nimport { useDispatch } from \"react-redux\";\nimport { toggleSnackbar } from \"../../actions\";\nimport { changeSubTitle } from \"../../redux/viewUpdate/action\";\nimport pathHelper from \"../../utils/page\";\n\nconst useStyles = makeStyles(() => ({\n layout: {\n width: \"auto\",\n },\n\n container: {\n border: \"none\",\n width: \"100%\",\n height: \"calc(100vh - 18px)\",\n marginBottom: -3,\n },\n}));\n\nfunction useQuery() {\n return new URLSearchParams(useLocation().search);\n}\n\nexport default function DocViewer() {\n const [url, setURL] = useState(\"\");\n const math = useRouteMatch();\n const location = useLocation();\n const query = useQuery();\n const { id } = useParams();\n\n const dispatch = useDispatch();\n\n const SetSubTitle = useCallback(\n (title) => dispatch(changeSubTitle(title)),\n [dispatch]\n );\n\n const ToggleSnackbar = useCallback(\n (vertical, horizontal, msg, color) =>\n dispatch(toggleSnackbar(vertical, horizontal, msg, color)),\n [dispatch]\n );\n\n useEffect(() => {\n if (!pathHelper.isSharePage(location.pathname)) {\n const path = query.get(\"p\").split(\"/\");\n SetSubTitle(path[path.length - 1]);\n } else {\n SetSubTitle(query.get(\"name\"));\n }\n // eslint-disable-next-line\n }, [math.params[0], location]);\n\n useEffect(() => {\n let requestURL = \"/file/doc/\" + query.get(\"id\");\n if (pathHelper.isSharePage(location.pathname)) {\n requestURL = \"/share/doc/\" + id;\n if (query.get(\"share_path\") !== \"\") {\n requestURL +=\n \"?path=\" + encodeURIComponent(query.get(\"share_path\"));\n }\n }\n API.get(requestURL)\n .then((response) => {\n setURL(response.data);\n })\n .catch((error) => {\n ToggleSnackbar(\"top\", \"right\", error.message, \"error\");\n });\n // eslint-disable-next-line\n }, [math.params[0], location]);\n\n const classes = useStyles();\n return (\n
\n {url !== \"\" && (\n