Browse Source

Merge branch 'base' into tabbar

Burt 1 năm trước cách đây
mục cha
commit
e57853fda0
9 tập tin đã thay đổi với 70 bổ sung41 xóa
  1. 5 1
      .vscode/settings.json
  2. 10 0
      env/.env
  3. 1 1
      package.json
  4. 2 0
      src/pages/index/index.vue
  5. 28 0
      src/typings.d.ts
  6. 4 27
      src/typings.ts
  7. 11 11
      src/utils/index.ts
  8. 7 0
      src/utils/platform.ts
  9. 2 1
      tsconfig.json

+ 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'

+ 1 - 1
package.json

@@ -1,7 +1,7 @@
 {
   "name": "unibest",
   "type": "commonjs",
-  "version": "2.5.4",
+  "version": "2.5.5",
   "description": "unibest - 最好的 uniapp 开发模板",
   "author": {
     "name": "feige996",

+ 2 - 0
src/pages/index/index.vue

@@ -32,6 +32,7 @@
 </template>
 
 <script lang="ts" setup>
+import { TestEnum } from '@/typings'
 import PLATFORM from '@/utils/platform'
 
 defineOptions({
@@ -47,6 +48,7 @@ const description = ref(
 // 测试 uni API 自动引入
 onLoad(() => {
   console.log(author)
+  console.log(TestEnum.A)
 })
 </script>
 

+ 28 - 0
src/typings.d.ts

@@ -0,0 +1,28 @@
+// 全局要用的类型放到这里
+
+declare global {
+  type IResData<T> = {
+    code: number
+    msg: string
+    data: T
+  }
+
+  // uni.uploadFile文件上传参数
+  type IUniUploadFileOptions = {
+    file?: File
+    files?: UniApp.UploadFileOptionFiles[]
+    filePath?: string
+    name?: string
+    formData?: any
+  }
+
+  type IUserInfo = {
+    nickname?: string
+    avatar?: string
+    /** 微信的 openid,非微信没有这个字段 */
+    openid?: string
+    token?: string
+  }
+}
+
+export {} // 防止模块污染

+ 4 - 27
src/typings.ts

@@ -1,29 +1,6 @@
-// 全局要用的类型放到这里
+// 枚举定义
 
-type IResData<T> = {
-  code: number
-  msg: string
-  data: T
-}
-
-// uni.uploadFile文件上传参数
-type IUniUploadFileOptions = {
-  file?: File
-  files?: UniApp.UploadFileOptionFiles[]
-  filePath?: string
-  name?: string
-  formData?: any
-}
-
-type IUserInfo = {
-  nickname?: string
-  avatar?: string
-  /** 微信的 openid,非微信没有这个字段 */
-  openid?: string
-  token?: string
-}
-
-enum TestEnum {
-  A = 'a',
-  B = 'b',
+export enum TestEnum {
+  A = '1',
+  B = '2',
 }

+ 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

+ 2 - 1
tsconfig.json

@@ -20,7 +20,8 @@
       "@uni-helper/uni-types",
       "@types/wechat-miniprogram",
       "wot-design-uni/global.d.ts",
-      "z-paging/types"
+      "z-paging/types",
+      "./src/typings.d.ts"
     ]
   },
   "vueCompilerOptions": {