docs: better error message when failed loading

This commit is contained in:
tiddlygit-test 2021-06-29 00:16:24 +08:00
parent df353131aa
commit 7bfdae7940
4 changed files with 18 additions and 4 deletions

View file

@ -281,7 +281,9 @@
"InsertMenuAfterSubMenuIndexErrorDescription": "E-5 You try to insert menu with afterSubMenu \"{afterSubMenu}\" in menu \"{menuID}\", but we can not found it in menu \"{menu}\", please specific a menuitem with correct id attribute",
"MainWindowMissing": "This program can't access main window data, can't run normally.",
"InitWikiGitSyncedWikiNoGitUserInfoError": "InitWikiGitSyncedWikiNoGitUserInfoErrorDescription",
"InitWikiGitSyncedWikiNoGitUserInfoErrorDescription": "E-6 Initializing the note repository synchronized to the cloud requires you to select a cloud git repository address and provide the certification credentials for the corresponding cloud service. However, this information is not currently available."
"InitWikiGitSyncedWikiNoGitUserInfoErrorDescription": "E-6 Initializing the note repository synchronized to the cloud requires you to select a cloud git repository address and provide the certification credentials for the corresponding cloud service. However, this information is not currently available.",
"WorkspaceFailedToLoadError": "WorkspaceFailedToLoadError",
"WorkspaceFailedToLoadErrorDescription": "The Wiki page corresponding to the workspace failed to load. There are many reasons, but it is basically because of program bugs."
},
"Loading": "Loading",
"Yes": "Yes",

View file

@ -309,7 +309,9 @@
"InsertMenuAfterSubMenuIndexErrorDescription": "E-5 你尝试插入目录,且 afterSubMenu \"{afterSubMenu}\" 在目录 menuID \"{menuID}\" 内,但我们无法在目录 \"{menu}\" 里找到它,请用正确的 menuID 指定一个目录。",
"InitWikiGitSyncedWikiNoGitUserInfoError": "笔记仓库初始化失败因为没有提供Git信息错误",
"InitWikiGitSyncedWikiNoGitUserInfoErrorDescription": "E-6 初始化同步到云端的笔记仓库需要你选择一个云端的 git 仓库地址,还有提供相应云服务的认证凭证,然而目前没有获得这些信息。",
"MainWindowMissing": "程序无法获取主窗口信息,无法正常运行。"
"MainWindowMissing": "程序无法获取主窗口信息,无法正常运行。",
"WorkspaceFailedToLoadError": "工作区加载失败错误",
"WorkspaceFailedToLoadErrorDescription": "工作区对应的Wiki网页加载失败了原因有很多但基本是因为程序Bug"
},
"Loading": "加载中",
"Yes": "是的",

View file

@ -0,0 +1,9 @@
import i18n from '@services/libs/i18n';
export class WorkspaceFailedToLoadError extends Error {
constructor(extraMessage?: string, url?: string) {
super(extraMessage);
this.name = i18n.t('Error.WorkspaceFailedToLoadError');
this.message = `${i18n.t('Error.WorkspaceFailedToLoadErrorDescription')} ${extraMessage ?? ''} ${url ?? ''}`;
}
}

View file

@ -19,6 +19,7 @@ import { IWikiService } from '@services/wiki/interface';
import { IWorkspaceViewService } from './interface';
import { lazyInject } from '@services/container';
import { SupportedStorageServices } from '@services/types';
import { WorkspaceFailedToLoadError } from './error';
@injectable()
export class WorkspaceView implements IWorkspaceViewService {
@ -62,7 +63,7 @@ export class WorkspaceView implements IWorkspaceViewService {
}
await this.viewService.addView(mainWindow, workspace);
const userInfo = await this.authService.getStorageServiceUserInfo(workspace.storageService);
const { wikiFolderLocation, gitUrl: githubRepoUrl, storageService } = workspace;
const { wikiFolderLocation, gitUrl: githubRepoUrl, storageService, homeUrl } = workspace;
// wait for main wiki's watch-fs plugin to be fully initialized
// and also wait for wiki BrowserView to be able to receive command
// eslint-disable-next-line global-require
@ -76,7 +77,7 @@ export class WorkspaceView implements IWorkspaceViewService {
}
loadFailed = typeof workspaceMetadata.didFailLoadErrorMessage === 'string' && workspaceMetadata.didFailLoadErrorMessage.length > 0;
if (loadFailed) {
throw new Error(workspaceMetadata.didFailLoadErrorMessage!);
throw new WorkspaceFailedToLoadError(workspaceMetadata.didFailLoadErrorMessage!, homeUrl);
}
// get sync process ready
try {