fix unlogin user open share file

This commit is contained in:
Simba
2020-09-06 14:30:57 +08:00
parent bb16ed3b21
commit 9fa6462bcd
3 changed files with 30 additions and 16 deletions
+8 -6
View File
@@ -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
+2 -2
View File
@@ -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));
}
}
};
+20 -8
View File
@@ -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);
}
});
}
}
}
}