mirror of
https://github.com/eyebluecn/tank-front
synced 2024-04-21 12:31:55 +00:00
fix unlogin user open share file
This commit is contained in:
@@ -183,20 +183,22 @@ export default class Matter extends BaseEntity {
|
||||
|
||||
//预览文件 在分享的预览中才主动传入previewUrl.
|
||||
preview(previewUrl?: string | null) {
|
||||
let that = this;
|
||||
|
||||
let shareMode = true;
|
||||
if (previewUrl) {
|
||||
shareMode = true;
|
||||
} else {
|
||||
shareMode = false;
|
||||
previewUrl = that.getPreviewUrl();
|
||||
previewUrl = this.getPreviewUrl();
|
||||
}
|
||||
|
||||
if (that.isImage()) {
|
||||
if (this.isImage()) {
|
||||
ImagePreviewer.showSinglePhoto(previewUrl);
|
||||
} else {
|
||||
PreviewerHelper.preview(this);
|
||||
if(shareMode) {
|
||||
PreviewerHelper.preview(this, previewUrl);
|
||||
} else {
|
||||
PreviewerHelper.preview(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -562,7 +564,7 @@ export default class Matter extends BaseEntity {
|
||||
getSharePreviewUrl(
|
||||
shareUuid: string,
|
||||
shareCode: string,
|
||||
shareRootUuid: String
|
||||
shareRootUuid: string
|
||||
): string {
|
||||
return `${EnvUtil.currentHost()}/api/alien/preview/${this.uuid}/${
|
||||
this.name
|
||||
|
||||
@@ -34,7 +34,7 @@ export default class ShareMatterPanel extends TankComponent<IProps, IState> {
|
||||
}
|
||||
|
||||
clickRow = () => {
|
||||
const { matter, onGoToDirectory, onPreviewImage } = this.props;
|
||||
const { matter, share, onGoToDirectory, onPreviewImage } = this.props;
|
||||
|
||||
if (matter.dir) {
|
||||
onGoToDirectory(matter.uuid!);
|
||||
@@ -43,7 +43,7 @@ export default class ShareMatterPanel extends TankComponent<IProps, IState> {
|
||||
if (matter.isImage()) {
|
||||
onPreviewImage(matter);
|
||||
} else {
|
||||
matter.preview();
|
||||
matter.preview(matter.getSharePreviewUrl(share.uuid!, share.code!, share.rootUuid));
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -35,8 +35,9 @@ export default class PreviewerHelper {
|
||||
/**
|
||||
* 对一个文件进行预览,自动选择预览引擎
|
||||
* @param matter 文件
|
||||
* @param previewUrl 文件预览url,分享文件预览需从外部把previewUrl传入
|
||||
*/
|
||||
static preview(matter: Matter) {
|
||||
static preview(matter: Matter, previewUrl?: string) {
|
||||
let fileName: string = matter.name;
|
||||
let extension: string = MimeUtil.getExtensionWithoutDot(fileName);
|
||||
if (!extension) {
|
||||
@@ -74,19 +75,30 @@ export default class PreviewerHelper {
|
||||
let targetUrl = previewEngine.url;
|
||||
|
||||
const engine: PreviewEngine = previewEngine;
|
||||
const needToken: boolean =
|
||||
matter.privacy && targetUrl.indexOf("{url}") !== -1;
|
||||
|
||||
PreviewerHelper.prepareMatterUrl(matter, needToken, function (url) {
|
||||
targetUrl = targetUrl.replace("{originUrl}", matter.getPreviewUrl());
|
||||
targetUrl = targetUrl.replace("{url}", encodeURIComponent(url));
|
||||
|
||||
if(previewUrl) {
|
||||
targetUrl = targetUrl.replace("{originUrl}", previewUrl);
|
||||
targetUrl = targetUrl.replace("{url}", previewUrl);
|
||||
if (engine.previewInSite) {
|
||||
BrowserPreviewer.show(fileName, targetUrl, matter.size);
|
||||
} else {
|
||||
window.open(targetUrl);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
const needToken = matter.privacy && targetUrl.indexOf("{url}") !== -1;
|
||||
|
||||
PreviewerHelper.prepareMatterUrl(matter, needToken, function (url) {
|
||||
targetUrl = targetUrl.replace("{originUrl}", matter.getPreviewUrl());
|
||||
targetUrl = targetUrl.replace("{url}", encodeURIComponent(url));
|
||||
|
||||
if (engine.previewInSite) {
|
||||
BrowserPreviewer.show(fileName, targetUrl, matter.size);
|
||||
} else {
|
||||
window.open(targetUrl);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user