diff --git a/.env b/.env index 9a9d752..c64620c 100644 --- a/.env +++ b/.env @@ -4,9 +4,7 @@ VITE_APP_NAME=垃圾回收监管平台 # 服务器基础地址 VITE_HTTP_SERVER_BASE_URL=/api VITE_WS_SERVER_BASE_URL=/ws -VITE_OSS_BUCKET_NAME=zsy VITE_OSS_UPLOAD_BASE_URL=/api/oss/upload -VITE_OSS_DOWNLOAD_BASE_URL=/api/oss/download # 接口超时时间 VITE_HTTP_SERVER_TIMEOUT=10000 diff --git a/.env.development b/.env.development index 6c5ec6b..f44d5e0 100644 --- a/.env.development +++ b/.env.development @@ -4,5 +4,8 @@ VITE_LOG_LEVEL=TRACE # 后台服务地址 # 普通接口地址 VITE_HTTP_PROXY_TARGET=http://127.0.0.1:10086 +# 上传接口地址 +VITE_OSS_UPLOAD_BASE_URL=https://cdn-zsy.oss-cn-shanghai.aliyuncs.com +VITE_OSS_UPLOAD_PROXY_TARGET=https://cdn-zsy.oss-cn-shanghai.aliyuncs.com # Websocket 地址 VITE_WS_PROXY_TARGET=ws://127.0.0.1:10086 diff --git a/.env.production b/.env.production index c3aed41..6da92b8 100644 --- a/.env.production +++ b/.env.production @@ -1,3 +1,4 @@ # 日志级别 TRACE < DEBUG < INFO < WARN < ERROR VITE_LOG_LEVEL=DEBUG +VITE_OSS_UPLOAD_BASE_URL=https://cdn-zsy.oss-cn-shanghai.aliyuncs.com diff --git a/src/common/app/app-api.ts b/src/common/app/app-api.ts index 9934c7e..2cea2ff 100644 --- a/src/common/app/app-api.ts +++ b/src/common/app/app-api.ts @@ -2,21 +2,21 @@ import { get, getFileUrl } from '@/common/utils/http-util.ts' -import { bucketName, } from '@/common' interface PresignedUrl extends Record { + url?: string bucketName?: string objectName?: string } export default { obtainPresignedUrl(filename: string) { - return get('/oss/obtain_presigned_url', {filename, bucketName}) + return get('/oss/obtain_presigned_url', {filename}) }, download(objectName: string) { return get('/oss/download/' + objectName) }, fileUrl(filename: string) { - return getFileUrl(filename) + return getFileUrl('/oss/download' + filename) } } diff --git a/src/common/index.ts b/src/common/index.ts index 74f1b0c..9edb537 100644 --- a/src/common/index.ts +++ b/src/common/index.ts @@ -12,9 +12,7 @@ export const appName = import.meta.env.VITE_APP_NAME * 服务器基础地址 */ export const serverBaseUrl = import.meta.env.VITE_HTTP_SERVER_BASE_URL ?? '/' -export const downloadBaseUrl = import.meta.env.VITE_OSS_DOWNLOAD_BASE_URL ?? '/' -export const bucketName = import.meta.env.VITE_OSS_BUCKET_NAME ?? 'zsy' -export const uploadBaseUrl = (import.meta.env.VITE_OSS_UPLOAD_BASE_URL ?? '') + '/' + bucketName +export const uploadBaseUrl = import.meta.env.VITE_OSS_UPLOAD_BASE_URL ?? '' /** * Axios 超时时间 diff --git a/src/common/utils/http-util.ts b/src/common/utils/http-util.ts index a1f9d16..801a9d6 100644 --- a/src/common/utils/http-util.ts +++ b/src/common/utils/http-util.ts @@ -1,5 +1,4 @@ import { - downloadBaseUrl, serverBaseUrl, serverTimeout } from '@/common' @@ -254,9 +253,9 @@ export function download(url: string, params?: any, disposeErr: boolean = true) }) } -export function getFileUrl(filename: string) { +export function getFileUrl(path: string) { const appUserStore = useAppUserStore() - return downloadBaseUrl + filename + '?authorization=' + appUserStore.token + return serverBaseUrl + path + '?authorization=' + appUserStore.token } export default { diff --git a/src/components/input-upload/InputUpload.vue b/src/components/input-upload/InputUpload.vue new file mode 100644 index 0000000..b5df15d --- /dev/null +++ b/src/components/input-upload/InputUpload.vue @@ -0,0 +1,77 @@ + + + + + diff --git a/src/components/input-upload/input-upload-api.ts b/src/components/input-upload/input-upload-api.ts new file mode 100644 index 0000000..b304660 --- /dev/null +++ b/src/components/input-upload/input-upload-api.ts @@ -0,0 +1,10 @@ +import { get, } from '@/common/utils/http-util.ts' +import { uploadBaseUrl } from '@/common' + +export default { + upload() { + }, + getFile(fileName: string) { + return get(uploadBaseUrl + fileName) + } +} diff --git a/src/components/input-upload/input-upload.d.ts b/src/components/input-upload/input-upload.d.ts new file mode 100644 index 0000000..183cbf8 --- /dev/null +++ b/src/components/input-upload/input-upload.d.ts @@ -0,0 +1,9 @@ +export {} +declare global { + namespace InputUploadTypes { + interface UploadParams { + url?: string + file: File + } + } +} diff --git a/src/dts/components.d.ts b/src/dts/components.d.ts index 490e856..d149a4b 100644 --- a/src/dts/components.d.ts +++ b/src/dts/components.d.ts @@ -13,6 +13,7 @@ declare module 'vue' { District: typeof import('./../components/district/District.vue')['default'] Funbar: typeof import('./../components/fun-bar/Funbar.vue')['default'] Iconfont: typeof import('./../components/iconfont/Iconfont.vue')['default'] + InputUpload: typeof import('./../components/input-upload/InputUpload.vue')['default'] IxAvatar: typeof import('@idux/components/avatar')['IxAvatar'] IxButton: typeof import('@idux/components/button')['IxButton'] IxButtonGroup: typeof import('@idux/components/button')['IxButtonGroup'] diff --git a/src/dts/vite-env.d.ts b/src/dts/vite-env.d.ts index c7a1d96..b90256a 100644 --- a/src/dts/vite-env.d.ts +++ b/src/dts/vite-env.d.ts @@ -7,9 +7,9 @@ interface ImportMetaEnv { readonly VITE_APP_NAME: string readonly VITE_APP_BASE_URL: string readonly VITE_HTTP_SERVER_BASE_URL: string + readonly VITE_HTTP_PROXY_TARGET: string readonly VITE_OSS_UPLOAD_BASE_URL: string - readonly VITE_OSS_DOWNLOAD_BASE_URL: string - readonly VITE_OSS_BUCKET_NAME: string + readonly VITE_OSS_UPLOAD_PROXY_TARGET: string readonly VITE_SERVER_TIMEOUT: string readonly VITE_LOG_LEVEL: string } diff --git a/src/pages/main-zone/header-bar/UserInfo.vue b/src/pages/main-zone/header-bar/UserInfo.vue index 4219222..0c89ff6 100644 --- a/src/pages/main-zone/header-bar/UserInfo.vue +++ b/src/pages/main-zone/header-bar/UserInfo.vue @@ -90,6 +90,7 @@ function showMsg({status}: UploadRequestChangeOption) { if (loading != null) Toast.close(loading) Toast.success('上传成功') } else if (status === 'error') { + if (loading != null) Toast.close(loading) Toast.error('上传失败') } else if (status === 'abort') { diff --git a/vite.config.ts b/vite.config.ts index 3196ff4..827eb4d 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -86,11 +86,16 @@ let viteConfig: UserConfigFnObject = configEnv => { host: '0.0.0.0', port: 80, proxy: { - [env.VITE_OSS_UPLOAD_BASE_URL]: { + /* [env.VITE_OSS_UPLOAD_BASE_URL]: { proxyTimeout: 10000, - target: 'http://localhost:9000', - rewrite: path => env.VITE_OSS_UPLOAD_BASE_URL == null || env.VITE_OSS_UPLOAD_BASE_URL == '/' ? path : path.replace(new RegExp(env.VITE_OSS_UPLOAD_BASE_URL), ''), - } as ProxyOptions, + target: env.VITE_OSS_UPLOAD_PROXY_TARGET, + // target: 'http://cdn-zsy.oss-cn-shanghai.aliyuncs.com', + rewrite: path => { + const s = env.VITE_OSS_UPLOAD_BASE_URL == null || env.VITE_OSS_UPLOAD_BASE_URL == '/' ? path : path.replace(new RegExp(env.VITE_OSS_UPLOAD_BASE_URL), '') + console.log('-----------', '[', s, ']', path) + return s + }, + } as ProxyOptions, */ [env.VITE_HTTP_SERVER_BASE_URL]: { proxyTimeout: 10000, target: env.VITE_HTTP_PROXY_TARGET,