Просмотр исходного кода

fix: miniProgram 需要区分不同的小程序

Burt 1 год назад
Родитель
Сommit
732f286ac1
4 измененных файлов с 33 добавлено и 12 удалено
  1. 5 1
      .vscode/settings.json
  2. 10 0
      env/.env
  3. 11 11
      src/utils/index.ts
  4. 7 0
      src/utils/platform.ts

+ 5 - 1
.vscode/settings.json

@@ -36,6 +36,7 @@
     "manifest.json": "jsonc" // manifest.json 可以写注释
   },
   "cSpell.words": [
+    "Aplipay",
     "climblee",
     "commitlint",
     "dcloudio",
@@ -44,9 +45,12 @@
     "refresherrefresh",
     "scrolltolower",
     "tabbar",
+    "Toutiao",
     "unibest",
     "uvui",
-    "WechatMiniprogram"
+    "Wechat",
+    "WechatMiniprogram",
+    "Weixin"
   ],
   "typescript.tsdk": "node_modules\\typescript\\lib",
   // 控制相关文件嵌套展示

+ 10 - 0
env/.env

@@ -10,6 +10,16 @@ VITE_APP_PUBLIC_BASE=/unibest/
 VITE_SERVER_BASEURL = 'https://ukw0y1.laf.run'
 VITE_UPLOAD_BASEURL = 'https://ukw0y1.laf.run/upload'
 
+# 有些同学可能需要在微信小程序里面根据 develop、trial、release 分别设置上传地址,参考代码如下。
+# 下面的变量如果没有设置,会默认使用 VITE_SERVER_BASEURL or VITE_UPLOAD_BASEURL
+VITE_SERVER_BASEURL__WEIXIN_DEVELOP = 'https://ukw0y1.laf.run'
+VITE_SERVER_BASEURL__WEIXIN_TRIAL = 'https://ukw0y1.laf.run'
+VITE_SERVER_BASEURL__WEIXIN_RELEASE = 'https://ukw0y1.laf.run'
+
+VITE_UPLOAD_BASEURL__WEIXIN_DEVELOP = 'https://ukw0y1.laf.run/upload'
+VITE_UPLOAD_BASEURL__WEIXIN_TRIAL = 'https://ukw0y1.laf.run/upload'
+VITE_UPLOAD_BASEURL__WEIXIN_RELEASE = 'https://ukw0y1.laf.run/upload'
+
 # h5是否需要配置代理
 VITE_APP_PROXY=false
 VITE_APP_PROXY_PREFIX = '/api'

+ 11 - 11
src/utils/index.ts

@@ -1,5 +1,5 @@
 import { pages, subPackages, tabBar } from '@/pages.json'
-import { isMp } from './platform'
+import { isMpWeixin } from './platform'
 
 const getLastPage = () => {
   // getCurrentPages() 至少有1个元素,所以不再额外判断
@@ -126,21 +126,21 @@ export const getEnvBaseUrl = () => {
   // 请求基准地址
   let baseUrl = import.meta.env.VITE_SERVER_BASEURL
 
-  // 小程序端环境区分
-  if (isMp) {
+  // 微信小程序端环境区分
+  if (isMpWeixin) {
     const {
       miniProgram: { envVersion },
     } = uni.getAccountInfoSync()
 
     switch (envVersion) {
       case 'develop':
-        baseUrl = 'https://ukw0y1.laf.run'
+        baseUrl = import.meta.env.VITE_SERVER_BASEURL__WEIXIN_DEVELOP || baseUrl
         break
       case 'trial':
-        baseUrl = 'https://ukw0y1.laf.run'
+        baseUrl = import.meta.env.VITE_SERVER_BASEURL__WEIXIN_TRIAL || baseUrl
         break
       case 'release':
-        baseUrl = 'https://ukw0y1.laf.run'
+        baseUrl = import.meta.env.VITE_SERVER_BASEURL__WEIXIN_RELEASE || baseUrl
         break
     }
   }
@@ -155,21 +155,21 @@ export const getEnvBaseUploadUrl = () => {
   // 请求基准地址
   let baseUploadUrl = import.meta.env.VITE_UPLOAD_BASEURL
 
-  // 小程序端环境区分
-  if (isMp) {
+  // 微信小程序端环境区分
+  if (isMpWeixin) {
     const {
       miniProgram: { envVersion },
     } = uni.getAccountInfoSync()
 
     switch (envVersion) {
       case 'develop':
-        baseUploadUrl = 'https://ukw0y1.laf.run/upload'
+        baseUploadUrl = import.meta.env.VITE_UPLOAD_BASEURL__WEIXIN_DEVELOP || baseUploadUrl
         break
       case 'trial':
-        baseUploadUrl = 'https://ukw0y1.laf.run/upload'
+        baseUploadUrl = import.meta.env.VITE_UPLOAD_BASEURL__WEIXIN_TRIAL || baseUploadUrl
         break
       case 'release':
-        baseUploadUrl = 'https://ukw0y1.laf.run/upload'
+        baseUploadUrl = import.meta.env.VITE_UPLOAD_BASEURL__WEIXIN_RELEASE || baseUploadUrl
         break
     }
   }

+ 7 - 0
src/utils/platform.ts

@@ -8,10 +8,17 @@ export const platform = __UNI_PLATFORM__
 export const isH5 = __UNI_PLATFORM__ === 'h5'
 export const isApp = __UNI_PLATFORM__ === 'app'
 export const isMp = __UNI_PLATFORM__.startsWith('mp-')
+export const isMpWeixin = __UNI_PLATFORM__.startsWith('mp-weixin')
+export const isMpAplipay = __UNI_PLATFORM__.startsWith('mp-alipay')
+export const isMpToutiao = __UNI_PLATFORM__.startsWith('mp-toutiao')
+
 const PLATFORM = {
   platform,
   isH5,
   isApp,
   isMp,
+  isMpWeixin,
+  isMpAplipay,
+  isMpToutiao,
 }
 export default PLATFORM