diff --git a/public/react/src/common/UrlTool.js b/public/react/src/common/UrlTool.js index fc2100694..aeb9a8d62 100644 --- a/public/react/src/common/UrlTool.js +++ b/public/react/src/common/UrlTool.js @@ -37,6 +37,14 @@ export function getUrl(path, goTest) { } return `${path ? path: ''}`; } +export function getStaticUrl() { + const local = TEST_HOST; + if (isDev) { + return local + } + // todo cdn + return '' +} export function getUrl2(path, goTest) { const local = 'http://localhost:3000' if (isDev) { diff --git a/public/react/src/modules/courses/members/studentsList.js b/public/react/src/modules/courses/members/studentsList.js index 5ec3acab5..76112692a 100644 --- a/public/react/src/modules/courses/members/studentsList.js +++ b/public/react/src/modules/courses/members/studentsList.js @@ -153,6 +153,10 @@ class studentsList extends Component{ // getUrl() + "/api"+ const fileUrl = url; + + this.props.slowDownload(fileUrl) + return; + downloadFile({ url: fileUrl, successCallback: (url) => { diff --git a/public/react/src/modules/tpm/TPMIndexHOC.js b/public/react/src/modules/tpm/TPMIndexHOC.js index 6149687bc..820451525 100644 --- a/public/react/src/modules/tpm/TPMIndexHOC.js +++ b/public/react/src/modules/tpm/TPMIndexHOC.js @@ -5,9 +5,9 @@ import PropTypes from 'prop-types'; import NewHeader from './NewHeader' import NewFooter from './NewFooter' import SiderBar from './SiderBar' -import { getUrl } from 'educoder' +import { getUrl, downloadFile } from 'educoder' import axios from 'axios'; - +import { Spin } from 'antd' import './TPMIndex.css' import LoginDialog from '../login/LoginDialog'; import AccountProfile from '../user/AccountProfile'; @@ -79,7 +79,9 @@ export function TPMIndexHOC(WrappedComponent) { coursedata: {}, isRender: false, - AccountProfiletype: false + AccountProfiletype: false, + + slowDownloading: false } } @@ -364,6 +366,22 @@ export function TPMIndexHOC(WrappedComponent) { DownloadOpenPdf=(type,url)=>{ type===true?window.open(url):window.location.href=url; } + slowDownload = (url, tip) => { + this._slowDownloadTip = tip || '正在生成文件,请稍后...'; + this.setState({ slowDownloading: true }) + const fileUrl = url; + downloadFile({ + url: fileUrl, + successCallback: (url) => { + this.setState({ slowDownloading: false }) + console.log('successCallback') + }, + failCallback: (responseHtml, url) => { + this.setState({ slowDownloading: false }) + console.log('failCallback') + } + }) + } render() { let{Headertop,Footerdown, isRender, AccountProfiletype}=this.state; const common = { @@ -387,7 +405,9 @@ export function TPMIndexHOC(WrappedComponent) { ShowOnlinePdf:(url)=>this.ShowOnlinePdf(url), DownloadFileA:(title,url)=>this.DownloadFileA(title,url), - DownloadOpenPdf:(type,url)=>this.DownloadOpenPdf(type,url) + DownloadOpenPdf:(type,url)=>this.DownloadOpenPdf(type,url), + + slowDownload: this.slowDownload } return (
@@ -425,6 +445,10 @@ export function TPMIndexHOC(WrappedComponent) { } ` } + +
this.initCommonState(user)} @@ -440,6 +464,7 @@ export function TPMIndexHOC(WrappedComponent) { +
); }