From 24bf79586794b27f9b4535938f2d60f5acdf376a Mon Sep 17 00:00:00 2001 From: jmal Date: Fri, 22 Aug 2025 20:20:32 +0800 Subject: [PATCH 1/3] refactor: remove user token and name from image and audio URLs for cleaner API calls --- src/components/Cropper/dialog.vue | 2 +- src/components/ShareDialog/index.vue | 4 ++-- src/components/ShowFile/mixins/common.js | 4 ++-- src/components/preview/ImageViewer.vue | 2 +- src/layout/components/Navbar.vue | 2 +- src/utils/file-config.js | 8 ++++---- src/views/home/mobile/index.vue | 4 ++-- src/views/setting/cloudManager.vue | 2 +- src/views/setting/sys/cusomerInfo.vue | 2 +- src/views/share/index.vue | 4 ++-- 10 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/components/Cropper/dialog.vue b/src/components/Cropper/dialog.vue index ceb850b..3142e01 100644 --- a/src/components/Cropper/dialog.vue +++ b/src/components/Cropper/dialog.vue @@ -94,7 +94,7 @@ if(selectImg.id){ this.loading = true this.cropper.reset() - let url = fileConfig.previewUrl(this.$store.state.user.name, selectImg, this.$store.getters.token) + '&o=crop&w=1024' + let url = fileConfig.previewUrl(this.$store.state.user.name, selectImg, this.$store.getters.token) + '?o=crop&w=1024' this.sourceImg = url this.cropper.replace(url) this.loading = false diff --git a/src/components/ShareDialog/index.vue b/src/components/ShareDialog/index.vue index 68bef1f..cf36d5b 100644 --- a/src/components/ShareDialog/index.vue +++ b/src/components/ShareDialog/index.vue @@ -160,8 +160,8 @@ export default { }, data() { return { - imageUrl: `${process.env.VUE_APP_BASE_API}/view/thumbnail?jmal-token=${this.$store.state.user.token}&name=${this.$store.state.user.name}&id=`, - audioCoverUrl: `${process.env.VUE_APP_BASE_API}/view/cover?jmal-token=${this.$store.state.user.token}&name=${this.$store.state.user.name}&id=`, + imageUrl: `${process.env.VUE_APP_BASE_API}/view/thumbnail?id=`, + audioCoverUrl: `${process.env.VUE_APP_BASE_API}/view/cover?id=`, shareDialogVisible: false, generateShareLinkLoading: false, cancelSharing: false, diff --git a/src/components/ShowFile/mixins/common.js b/src/components/ShowFile/mixins/common.js index 1869c53..40ebeeb 100644 --- a/src/components/ShowFile/mixins/common.js +++ b/src/components/ShowFile/mixins/common.js @@ -3,10 +3,10 @@ import { formatSize, formatTime } from '@/utils/number' export default { computed: { imageUrl() { - return `${process.env.VUE_APP_BASE_API}/view/thumbnail?jmal-token=${this.$store.state.user.token}&name=${this.$store.state.user.name}&id=` + return `${process.env.VUE_APP_BASE_API}/view/thumbnail?id=` }, audioCoverUrl() { - return `${process.env.VUE_APP_BASE_API}/view/cover?jmal-token=${this.$store.state.user.token}&name=${this.$store.state.user.name}&id=` + return `${process.env.VUE_APP_BASE_API}/view/cover?id=` } }, diff --git a/src/components/preview/ImageViewer.vue b/src/components/preview/ImageViewer.vue index d168d43..e7945bf 100644 --- a/src/components/preview/ImageViewer.vue +++ b/src/components/preview/ImageViewer.vue @@ -128,7 +128,7 @@ export default { }, getImageUrlByThumbnail(file) { if (this.$store.getters.token){ - return `${this.imageThumbnailUrl}/${file.name}?jmal-token=${this.$store.state.user.token}&name=${this.$store.state.user.name}&id=${file.id}` + return `${this.imageThumbnailUrl}/${file.name}?id=${file.id}` } else { if (this.$store.getters.shareToken) { return `${this.shareImageThumbnailUrl}/${file.name}?share-token=${this.$store.getters.shareToken}&id=${file.id}` diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index fd7f758..371dba4 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -73,7 +73,7 @@ export default { return { isShow: true, activeIndex: '1', - imageUrl: `${process.env.VUE_APP_BASE_API}/view/thumbnail?jmal-token=${this.$store.state.user.token}&name=${this.$store.state.user.name}&id=`, + imageUrl: `${process.env.VUE_APP_BASE_API}/view/thumbnail?id=`, defaultAvatar: require('../../assets/img/default-avatar.png'), showTaskProgress: false, taskCount: 0, diff --git a/src/utils/file-config.js b/src/utils/file-config.js index db5db56..675a4c9 100644 --- a/src/utils/file-config.js +++ b/src/utils/file-config.js @@ -40,11 +40,11 @@ export default { fileUrl = fileUrl.replaceAll(/%5C/g, '/') if (file.userId !== store.getters.userId && token && !shareToken) { - return `${baseUrl}/pre-file/${file.id}/${encodeURIComponent(file.name)}?jmal-token=${token}&name=${username}` + return `${baseUrl}/pre-file/${file.id}/${encodeURIComponent(file.name)}` } if (token) { - return `${fileUrl}?jmal-token=${token}&name=${username}` + return `${fileUrl}` } if (shareToken) { if (isFilePath(file.id)) { @@ -59,7 +59,7 @@ export default { }, // 预览历史文件 previewHistoryUrl: function(historyId, name, token) { - return `${this.baseUrl}/history/preview/file?id=${historyId}&name=${name}&jmal-token=${token}` + return `${this.baseUrl}/history/preview/file?id=${historyId}` }, // markdown里上传图片后的图片预览地址 markdownPreviewUrl: function (path){ @@ -74,7 +74,7 @@ export default { // 下载文件 download: function(username, file, token) { fileApi.isAllowDownload({fileIds: [file.id]}).then(() => { - let url = this.previewUrl(username, file, token) + '&o=download' + let url = this.previewUrl(username, file, token) + '?o=download' window.open(url, '_self') }) }, diff --git a/src/views/home/mobile/index.vue b/src/views/home/mobile/index.vue index 64d62c2..3c27b39 100644 --- a/src/views/home/mobile/index.vue +++ b/src/views/home/mobile/index.vue @@ -306,8 +306,8 @@ export default { lastTabbarOffsetTop: 0,// 底部tabbar与上边框 上次的距离 diffTabbarTop: 0,// 底部tabbar与上边框的变化距离 isiPhoneX: 0, - imageUrl: `${process.env.VUE_APP_BASE_API}/view/thumbnail?jmal-token=${this.$store.state.user.token}&name=${this.$store.state.user.name}&id=`, - audioCoverUrl: `${process.env.VUE_APP_BASE_API}/view/cover?jmal-token=${this.$store.state.user.token}&name=${this.$store.state.user.name}&id=`, + imageUrl: `${process.env.VUE_APP_BASE_API}/view/thumbnail?id=`, + audioCoverUrl: `${process.env.VUE_APP_BASE_API}/view/cover?id=`, tabActive: 0, path: this.$route.query.path, fileList: [], diff --git a/src/views/setting/cloudManager.vue b/src/views/setting/cloudManager.vue index 8957ffb..62eb967 100644 --- a/src/views/setting/cloudManager.vue +++ b/src/views/setting/cloudManager.vue @@ -135,7 +135,7 @@ export default { data() { return { activeName: '1', - uploadUrl: `${process.env.VUE_APP_BASE_API}/user/setting/upload_logo?jmal-token=${this.$store.state.user.token}&name=${this.$store.state.user.name}`, + uploadUrl: `${process.env.VUE_APP_BASE_API}/user/setting/upload_logo`, title: this.$t('app.setting'), syncLoading: false, clickSync: false, diff --git a/src/views/setting/sys/cusomerInfo.vue b/src/views/setting/sys/cusomerInfo.vue index 87c4335..ee254e4 100644 --- a/src/views/setting/sys/cusomerInfo.vue +++ b/src/views/setting/sys/cusomerInfo.vue @@ -87,7 +87,7 @@ } }; return { - imageUrl: `${process.env.VUE_APP_BASE_API}/view/thumbnail?jmal-token=${this.$store.state.user.token}&name=${this.$store.state.user.name}&id=`, + imageUrl: `${process.env.VUE_APP_BASE_API}/view/thumbnail?id=`, title: "个人信息", userUpdateLoading: false, dialogAvatar: false, diff --git a/src/views/share/index.vue b/src/views/share/index.vue index be6ca92..d6c4b65 100644 --- a/src/views/share/index.vue +++ b/src/views/share/index.vue @@ -213,8 +213,8 @@ }, data() { return { - imageUrl: `${process.env.VUE_APP_BASE_API}/view/thumbnail?jmal-token=${this.$store.state.user.token}&name=${this.$store.state.user.name}&id=`, - audioCoverUrl: `${process.env.VUE_APP_BASE_API}/view/cover?jmal-token=${this.$store.state.user.token}&name=${this.$store.state.user.name}&id=`, + imageUrl: `${process.env.VUE_APP_BASE_API}/view/thumbnail?id=`, + audioCoverUrl: `${process.env.VUE_APP_BASE_API}/view/cover?id=`, path: this.$route.query.path, pathList: [ { 'folder': '', index: 0 }, From 74e4b5b3c7cb7a82949fe4d95d334c38764c7330 Mon Sep 17 00:00:00 2001 From: jmal Date: Fri, 22 Aug 2025 20:25:40 +0800 Subject: [PATCH 2/3] fix: add null check for preview reference in loadScripts method --- src/views/setting/articles/blogManager.vue | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/views/setting/articles/blogManager.vue b/src/views/setting/articles/blogManager.vue index aad3074..4545e67 100644 --- a/src/views/setting/articles/blogManager.vue +++ b/src/views/setting/articles/blogManager.vue @@ -209,6 +209,9 @@ export default { methods: { loadScripts() { const preview = this.$refs.previewFooterHtml; + + if (!preview) return; + const scripts = preview.querySelectorAll('script'); scripts.forEach(script => { From 2ad7178460afa0770c593a45a3ef7a77417e66eb Mon Sep 17 00:00:00 2001 From: jmal Date: Fri, 22 Aug 2025 20:32:20 +0800 Subject: [PATCH 3/3] fix: remove unused token parameter from previewHistoryUrl function --- src/utils/file-config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/file-config.js b/src/utils/file-config.js index 7843197..d889f50 100644 --- a/src/utils/file-config.js +++ b/src/utils/file-config.js @@ -58,7 +58,7 @@ export default { return `${baseUrl}/share-file/${file.id}/${encodeURIComponent(file.name)}` }, // 预览历史文件 - previewHistoryUrl: function(historyId, name, token) { + previewHistoryUrl: function(historyId) { return `${this.baseUrl}/history/preview/file?id=${historyId}` }, // markdown里上传图片后的图片预览地址