diff --git a/src/config.ts b/src/config.ts index e1aa684..24a7a9c 100644 --- a/src/config.ts +++ b/src/config.ts @@ -9,7 +9,7 @@ export const imgPreviewSuffix = [ "svg", "webp", ]; -export const msDocPreviewSuffix = [ +export let msDocPreviewSuffix = [ "ppt", "pptx", "pps", @@ -148,3 +148,7 @@ export const getTaskProgress = (type: any, status: any) => { } return i18next.t(taskProgress[status]); }; + +export const setWopiExts = (exts: string[]) => { + msDocPreviewSuffix = exts; +}; \ No newline at end of file diff --git a/src/middleware/Init.js b/src/middleware/Init.js index 8aa4585..a66a5b9 100644 --- a/src/middleware/Init.js +++ b/src/middleware/Init.js @@ -7,6 +7,7 @@ import { toggleSnackbar, } from "../redux/explorer"; import i18next from "../i18n"; +import { msDocPreviewSuffix, setWopiExts } from "../config"; const initUserConfig = (siteConfig) => { if (siteConfig.user !== undefined && !siteConfig.user.anonymous) { @@ -46,6 +47,7 @@ export const InitSiteConfig = (rawStore) => { // 更改站点标题 document.title = rawStore.siteConfig.title; + return rawStore; }; @@ -61,6 +63,11 @@ export async function UpdateSiteConfig(store) { JSON.stringify(response.data) ); + // 更新 office WOPI 预览后缀 + if (response.data.wopi_exts) { + setWopiExts(response.data.wopi_exts); + } + // 偏爱的列表样式 const preferListMethod = Auth.GetPreference("view_method"); if (preferListMethod) { diff --git a/src/reducers/index.js b/src/reducers/index.js index ae23b94..83716ff 100644 --- a/src/reducers/index.js +++ b/src/reducers/index.js @@ -65,6 +65,7 @@ export const initState = { captcha_ReCaptchaKey: "defaultKey", captcha_type: "normal", tcaptcha_captcha_app_id: "", + wopi_exts: [], }, navigator: { path: "/",