Quellcode durchsuchen

refactor: 移除上传地址环境变量并直接使用固定路径,优化上传逻辑

feige996 vor 7 Monaten
Ursprung
Commit
619daf4325
7 geänderte Dateien mit 12 neuen und 55 gelöschten Zeilen
  1. 5 6
      env/.env
  2. 0 2
      src/env.d.ts
  3. 1 4
      src/hooks/useUpload.ts
  4. 1 2
      src/http/interceptor.ts
  5. 2 2
      src/pages/me/me.vue
  6. 0 33
      src/utils/index.ts
  7. 3 6
      vite.config.ts

+ 5 - 6
env/.env

@@ -6,20 +6,19 @@ VITE_WX_APPID = 'wxa2abb91f64032a2b'
 
 # h5部署网站的base,配置到 manifest.config.ts 里的 h5.router.base
 # https://uniapp.dcloud.net.cn/collocation/manifest.html#h5-router
+# 比如你要部署到 https://unibest.tech/doc/ ,则配置为 /doc/
 VITE_APP_PUBLIC_BASE=/
 
 # 后台请求地址
 VITE_SERVER_BASEURL = 'https://ukw0y1.laf.run'
-# 后台上传地址
-VITE_UPLOAD_BASEURL = 'https://ukw0y1.laf.run/upload'
+# 备注:如果后台带统一前缀,则也要加到后面,eg: https://ukw0y1.laf.run/api
 
-# 注意,如果是微信小程序,还有一套请求地址的配置,在 `src/utils/index.ts` 中
+# 注意,如果是微信小程序,还有一套请求地址的配置,根据 develop、trial、release 分别设置上传地址,见 `src/utils/index.ts`。
 
 # h5是否需要配置代理
 VITE_APP_PROXY_ENABLE = true
-VITE_APP_PROXY_PREFIX = '/api'
-# 后端是否有统一前缀 /api,决定本地代码的时候是否需要去掉 /api 前缀。这里面默认是没有的,即前端会把/api 转发去掉
-VITE_SERVER_HAS_API_PREFIX = false
+# 下面的不用修改,只要不跟你后台的统一前缀冲突就行
+VITE_APP_PROXY_PREFIX = '/fg-api'
 
 # 第二个请求地址 (目前alova中可以使用)
 VITE_API_SECONDARY_URL = 'https://ukw0y1.laf.run'

+ 0 - 2
src/env.d.ts

@@ -23,8 +23,6 @@ interface ImportMetaEnv {
   readonly VITE_SERVER_HAS_API_PREFIX: 'true' | 'false'
   /** 认证模式,'single' | 'double' ==> 单token | 双token */
   readonly VITE_AUTH_MODE: 'single' | 'double'
-  /** 上传图片地址 */
-  readonly VITE_UPLOAD_BASEURL: string
   /** 是否清除console */
   readonly VITE_DELETE_CONSOLE: string
   // 更多环境变量...

+ 1 - 4
src/hooks/useUpload.ts

@@ -1,7 +1,4 @@
 import { ref } from 'vue'
-import { getEnvBaseUploadUrl } from '@/utils'
-
-const VITE_UPLOAD_BASEURL = `${getEnvBaseUploadUrl()}`
 
 type TfileType = 'image' | 'file'
 type TImage = 'png' | 'jpg' | 'jpeg' | 'webp' | '*'
@@ -138,7 +135,7 @@ async function uploadFile({
   onComplete: () => void
 }) {
   uni.uploadFile({
-    url: VITE_UPLOAD_BASEURL,
+    url: '/upload',
     filePath: tempFilePath,
     name: 'file',
     formData,

+ 1 - 2
src/http/interceptor.ts

@@ -24,8 +24,7 @@ const httpInterceptor = {
     // 非 http 开头需拼接地址
     if (!options.url.startsWith('http')) {
       // #ifdef H5
-      // console.log(__VITE_APP_PROXY__)
-      if (JSON.parse(__VITE_APP_PROXY__)) {
+      if (JSON.parse(import.meta.env.VITE_APP_PROXY_ENABLE)) {
         // 自动拼接代理前缀
         options.url = import.meta.env.VITE_APP_PROXY_PREFIX + options.url
       }

+ 2 - 2
src/pages/me/me.vue

@@ -20,7 +20,7 @@ const { userInfo } = storeToRefs(userStore)
 // #ifndef MP-WEIXIN
 // 上传头像
 const { run: uploadAvatar } = useUpload<IUploadSuccessInfo>(
-  import.meta.env.VITE_UPLOAD_BASEURL,
+  '/upload',
   {},
   {
     onSuccess: (res) => {
@@ -52,7 +52,7 @@ function onChooseAvatar(e: any) {
   console.log('选择头像', e.detail)
   const { avatarUrl } = e.detail
   const { run } = useUpload<IUploadSuccessInfo>(
-    import.meta.env.VITE_UPLOAD_BASEURL,
+    '/upload',
     {},
     {
       onSuccess: (res) => {

+ 0 - 33
src/utils/index.ts

@@ -144,39 +144,6 @@ export function getEnvBaseUrl() {
   return baseUrl
 }
 
-/**
- * 根据微信小程序当前环境,判断应该获取的 UPLOAD_BASEURL
- */
-export function getEnvBaseUploadUrl() {
-  // 请求基准地址
-  let baseUploadUrl = import.meta.env.VITE_UPLOAD_BASEURL
-
-  const VITE_UPLOAD_BASEURL__WEIXIN_DEVELOP = 'https://ukw0y1.laf.run/upload'
-  const VITE_UPLOAD_BASEURL__WEIXIN_TRIAL = 'https://ukw0y1.laf.run/upload'
-  const VITE_UPLOAD_BASEURL__WEIXIN_RELEASE = 'https://ukw0y1.laf.run/upload'
-
-  // 微信小程序端环境区分
-  if (isMpWeixin) {
-    const {
-      miniProgram: { envVersion },
-    } = uni.getAccountInfoSync()
-
-    switch (envVersion) {
-      case 'develop':
-        baseUploadUrl = VITE_UPLOAD_BASEURL__WEIXIN_DEVELOP || baseUploadUrl
-        break
-      case 'trial':
-        baseUploadUrl = VITE_UPLOAD_BASEURL__WEIXIN_TRIAL || baseUploadUrl
-        break
-      case 'release':
-        baseUploadUrl = VITE_UPLOAD_BASEURL__WEIXIN_RELEASE || baseUploadUrl
-        break
-    }
-  }
-
-  return baseUploadUrl
-}
-
 /**
  * 是否是双token模式
  */

+ 3 - 6
vite.config.ts

@@ -26,7 +26,7 @@ import { defineConfig, loadEnv } from 'vite'
 import ViteRestart from 'vite-plugin-restart'
 
 // https://vitejs.dev/config/
-export default ({ command, mode }) => {
+export default defineConfig(({ command, mode }) => {
   // @see https://unocss.dev/
   // const UnoCSS = (await import('unocss/vite')).default
   // console.log(mode === process.env.NODE_ENV) // true
@@ -52,7 +52,6 @@ export default ({ command, mode }) => {
     VITE_DELETE_CONSOLE,
     VITE_APP_PUBLIC_BASE,
     VITE_APP_PROXY_ENABLE,
-    VITE_SERVER_HAS_API_PREFIX,
     VITE_APP_PROXY_PREFIX,
   } = env
   console.log('环境变量 env -> ', env)
@@ -168,9 +167,7 @@ export default ({ command, mode }) => {
               target: VITE_SERVER_BASEURL,
               changeOrigin: true,
               // 后端有/api前缀则不做处理,没有则需要去掉
-              rewrite: path => JSON.parse(VITE_SERVER_HAS_API_PREFIX)
-                ? path
-                : path.replace(new RegExp(`^${VITE_APP_PROXY_PREFIX}`), ''),
+              rewrite: path => path.replace(new RegExp(`^${VITE_APP_PROXY_PREFIX}`), ''),
             },
           }
         : undefined,
@@ -187,4 +184,4 @@ export default ({ command, mode }) => {
       minify: mode === 'development' ? false : 'esbuild',
     },
   })
-}
+})