diff --git a/app/config/app.cfg.php b/app/config/app.cfg.php index 8e312184..8023310a 100644 --- a/app/config/app.cfg.php +++ b/app/config/app.cfg.php @@ -14,6 +14,11 @@ // 附件url define('ATTACHMENT_URL', ROOT_URL . 'attachment/'); +// office支持实时预览 +define('IS_OFFICE_PREVIEW', (boolean)$appConfig['office_preview']['enanle']); +define('OFFICE_PREVIEW_API', $appConfig['office_preview']['office_api']); +define('OFFICE_PREVIEW_SUFFIX_MAP', (array)$appConfig['office_preview']['office_suffix_map']); + // 当前版本号 define('MASTERLAB_VERSION', $appConfig['version']); diff --git a/app/ctrl/issue/Detail.php b/app/ctrl/issue/Detail.php index 5b198795..309e557e 100644 --- a/app/ctrl/issue/Detail.php +++ b/app/ctrl/issue/Detail.php @@ -314,6 +314,12 @@ public function get() foreach ($attachmentDatas as $f) { $file = []; $file['thumbnailUrl'] = ATTACHMENT_URL . $f['file_name']; + + // 支持office文件实时预览 + $file_suffix = substr(strrchr( $f['file_name'], '.'), 1); + if (IS_OFFICE_PREVIEW && in_array($file_suffix, OFFICE_PREVIEW_SUFFIX_MAP)) { + $file['thumbnailUrl'] = OFFICE_PREVIEW_API . ATTACHMENT_URL . $f['file_name']; + } $file['size'] = $f['file_size']; $file['name'] = $f['origin_name']; $file['uuid'] = $f['uuid']; diff --git a/config.tpl.yml b/config.tpl.yml index 53ae8ddf..ae35ed60 100644 --- a/config.tpl.yml +++ b/config.tpl.yml @@ -13,6 +13,11 @@ xhprof: enable: false rate: 1 +office_preview: + enanle: false + office_api: https://view.officeapps.live.com/op/view.aspx?src= + office_suffix_map: ["ppt","pptx","xls","xlsx","doc","docx"] + cache: enable: {{cache_enable}} expire: 864000