diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 6c91aa5..2cb056d 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -7,6 +7,10 @@ import router from '@/router' import Layout from '@/layout' import ParentView from '@/components/ParentView' +const setState = (state) => { + localStorage.setItem('store', JSON.stringify(state)) +} + const getDefaultState = () => { const storeData = localStorage.getItem('store') let store = null @@ -127,6 +131,7 @@ const actions = { const { data } = response commit('SET_SHARE_TOKEN', data) commit('SET_SHARE_ID', shareId) + setState(state) resolve() }).catch(error => { reject(error) @@ -139,7 +144,7 @@ const actions = { commit('SET_NETDISK_NAME', netdiskName) commit('SET_NETDISK_LOGO', netdiskLogo) setLogo(netdiskName, netdiskLogo) - localStorage.setItem('store', JSON.stringify(state)) + setState(state) }, // get user info @@ -171,7 +176,7 @@ const actions = { commit('SET_NEW_VERSION', '') } setLogo(netdiskName, netdiskLogo) - localStorage.setItem('store', JSON.stringify(state)) + setState(state) resolve(data) }).catch(error => { reject(error) diff --git a/src/utils/file-config.js b/src/utils/file-config.js index 3916038..1c49b31 100644 --- a/src/utils/file-config.js +++ b/src/utils/file-config.js @@ -1,6 +1,12 @@ import fileApi from '@/api/file-api' import store from '@/store' +function isFilePath(str) { + // 匹配 test/r2/file.txt + const filePathRegex = /^[\w\-\/]+[\u4e00-\u9fa5\w\-]+\.\w+$/; + return filePathRegex.test(str); +} + export default { baseUrl: '/api', // 网盘logo @@ -42,8 +48,14 @@ export default { return `${fileUrl}?jmal-token=${token}&name=${username}` } if (shareToken) { + if (isFilePath(file.id)) { + return `${fileUrl}?share-token=${shareToken}` + } return `${baseUrl}/share-file/${file.id}/${shareToken}/${encodeURI(file.name)}` } + if (isFilePath(file.id)) { + return fileUrl + } return `${baseUrl}/share-file/${file.id}/${encodeURI(file.name)}` }, // 预览历史文件