diff --git a/.eslintignore b/.eslintignore
new file mode 100644
index 0000000..2ce5c91
--- /dev/null
+++ b/.eslintignore
@@ -0,0 +1 @@
+src/uni_modules/
diff --git a/.gitignore b/.gitignore
index ee50950..4fd1279 100644
--- a/.gitignore
+++ b/.gitignore
@@ -22,21 +22,18 @@ dist
.hbuilderx
.stylelintcache
-# rollup-plugin-visualizer 生成的分析文件
-stats.html
-# unplugin-auto-import 生成的类型文件
-auto-import.d.ts
-# unplugin-vue-components 生成的类型文件
-components.d.ts
-# vite-plugin-uni-pages 生成的类型文件
+
+# unplugin-auto-import 生成的类型文件,因为变化较小,还是加入版本管理吧
+# auto-import.d.ts
+
+# vite-plugin-uni-pages 生成的类型文件,每次切换分支都一堆不同的,所以直接 .gitignore
uni-pages.d.ts
# 插件生成的文件
-src/pages.json
-src/manifest.json
+# src/pages.json
+# src/manifest.json
# lock 文件还是不要了,我主要的版本写死就好了
-# github actions 需要这些文件,所以main分支需要留着
pnpm-lock.yaml
package-lock.json
@@ -46,3 +43,6 @@ package-lock.json
# git rm -r --cached file1 file2 ## 针对某些文件
# git rm -r --cached dir1 dir2 ## 针对某些文件夹
# git rm -r --cached . ## 针对所有文件
+
+# 更新 uni-app 官方版本
+# npx @dcloudio/uvm@latest
diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 0000000..301d974
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1,9 @@
+# unplugin-auto-import 生成的类型文件,每次提交都改变,所以加入这里吧,与 .gitignore 配合使用
+auto-import.d.ts
+
+# vite-plugin-uni-pages 生成的类型文件,每次切换分支都一堆不同的,所以直接 .gitignore
+uni-pages.d.ts
+
+# 插件生成的文件
+src/pages.json
+src/manifest.json
diff --git a/.stylelintignore b/.stylelintignore
new file mode 100644
index 0000000..2ce5c91
--- /dev/null
+++ b/.stylelintignore
@@ -0,0 +1 @@
+src/uni_modules/
diff --git a/.stylelintrc.cjs b/.stylelintrc.cjs
index b2f0a8f..2cb661a 100644
--- a/.stylelintrc.cjs
+++ b/.stylelintrc.cjs
@@ -3,7 +3,8 @@
module.exports = {
root: true,
extends: [
- 'stylelint-config-standard',
+ // stylelint-config-standard 替换成了更宽松的 stylelint-config-recommended
+ 'stylelint-config-recommended',
// stylelint-config-standard-scss 替换成了更宽松的 stylelint-config-recommended-scss
'stylelint-config-recommended-scss',
'stylelint-config-recommended-vue/scss',
diff --git a/package.json b/package.json
index 7ee4350..5fc8aae 100644
--- a/package.json
+++ b/package.json
@@ -79,35 +79,35 @@
"bin-wrapper": "npm:bin-wrapper-china"
},
"dependencies": {
- "@dcloudio/uni-app": "3.0.0-4000820240401001",
- "@dcloudio/uni-app-plus": "3.0.0-4000820240401001",
- "@dcloudio/uni-components": "3.0.0-4000820240401001",
- "@dcloudio/uni-h5": "3.0.0-4000820240401001",
- "@dcloudio/uni-mp-alipay": "3.0.0-4000820240401001",
- "@dcloudio/uni-mp-baidu": "3.0.0-4000820240401001",
- "@dcloudio/uni-mp-jd": "3.0.0-4000820240401001",
- "@dcloudio/uni-mp-kuaishou": "3.0.0-4000820240401001",
- "@dcloudio/uni-mp-lark": "3.0.0-4000820240401001",
- "@dcloudio/uni-mp-qq": "3.0.0-4000820240401001",
- "@dcloudio/uni-mp-toutiao": "3.0.0-4000820240401001",
- "@dcloudio/uni-mp-weixin": "3.0.0-4000820240401001",
- "@dcloudio/uni-mp-xhs": "3.0.0-4000820240401001",
- "@dcloudio/uni-quickapp-webview": "3.0.0-4000820240401001",
+ "@dcloudio/uni-app": "3.0.0-4010420240430001",
+ "@dcloudio/uni-app-plus": "3.0.0-4010420240430001",
+ "@dcloudio/uni-components": "3.0.0-4010420240430001",
+ "@dcloudio/uni-h5": "3.0.0-4010420240430001",
+ "@dcloudio/uni-mp-alipay": "3.0.0-4010420240430001",
+ "@dcloudio/uni-mp-baidu": "3.0.0-4010420240430001",
+ "@dcloudio/uni-mp-jd": "3.0.0-4010420240430001",
+ "@dcloudio/uni-mp-kuaishou": "3.0.0-4010420240430001",
+ "@dcloudio/uni-mp-lark": "3.0.0-4010420240430001",
+ "@dcloudio/uni-mp-qq": "3.0.0-4010420240430001",
+ "@dcloudio/uni-mp-toutiao": "3.0.0-4010420240430001",
+ "@dcloudio/uni-mp-weixin": "3.0.0-4010420240430001",
+ "@dcloudio/uni-mp-xhs": "3.0.0-4010420240430001",
+ "@dcloudio/uni-quickapp-webview": "3.0.0-4010420240430001",
"dayjs": "1.11.10",
"pinia": "2.0.36",
"pinia-plugin-persistedstate": "3.2.1",
"qs": "6.5.3",
- "vue": "3.3.11",
+ "vue": "3.4.26",
"wot-design-uni": "^1.2.13"
},
"devDependencies": {
"@commitlint/cli": "^18.4.3",
"@commitlint/config-conventional": "^18.4.3",
"@dcloudio/types": "^3.4.8",
- "@dcloudio/uni-automator": "3.0.0-4000820240401001",
- "@dcloudio/uni-cli-shared": "3.0.0-4000820240401001",
- "@dcloudio/uni-stacktracey": "3.0.0-4000820240401001",
- "@dcloudio/vite-plugin-uni": "3.0.0-4000820240401001",
+ "@dcloudio/uni-automator": "3.0.0-4010420240430001",
+ "@dcloudio/uni-cli-shared": "3.0.0-4010420240430001",
+ "@dcloudio/uni-stacktracey": "3.0.0-4010420240430001",
+ "@dcloudio/vite-plugin-uni": "3.0.0-4010420240430001",
"@iconify-json/carbon": "^1.1.27",
"@types/node": "^20.11.5",
"@types/wechat-miniprogram": "^3.4.7",
@@ -139,16 +139,16 @@
"stylelint": "^16.0.2",
"stylelint-config-html": "^1.1.0",
"stylelint-config-recess-order": "^4.4.0",
+ "stylelint-config-recommended": "^14.0.0",
"stylelint-config-recommended-scss": "^14.0.0",
"stylelint-config-recommended-vue": "^1.5.0",
- "stylelint-config-standard": "^35.0.0",
"stylelint-prettier": "^5.0.0",
"terser": "^5.26.0",
"typescript": "^4.9.5",
"unocss": "^0.58.0",
"unocss-applet": "^0.7.8",
"unplugin-auto-import": "^0.17.2",
- "vite": "4.3.5",
+ "vite": "5.2.8",
"vite-plugin-restart": "^0.4.0",
"vue-i18n": "^9.11.0",
"vue-tsc": "^1.8.25"
diff --git a/src/pages/index/about.vue b/src/pages/index/about.vue
index d0cae67..417fa0a 100644
--- a/src/pages/index/about.vue
+++ b/src/pages/index/about.vue
@@ -20,6 +20,7 @@
进入多语言页面
去请求页
+
上传demo
上传demo2(请求状态一体化)
diff --git a/src/service/index/foo.ts b/src/service/index/foo.ts
index 7263dfc..dac3519 100644
--- a/src/service/index/foo.ts
+++ b/src/service/index/foo.ts
@@ -1,4 +1,4 @@
-import { http, httpGet } from '@/utils/http'
+import { http } from '@/utils/http'
export interface IFooItem {
id: string
name: string
@@ -15,7 +15,7 @@ export const getFooAPI = (name: string) => {
/** GET 请求 - 再次简化,看大家是否喜欢这种简化 */
export const getFooAPI2 = (name: string) => {
- return httpGet('/foo', { name })
+ return http.get('/foo', { name })
}
/** POST 请求 */
@@ -27,3 +27,7 @@ export const postFooAPI = (name: string) => {
data: { name },
})
}
+/** POST 请求 - 再次简化,看大家是否喜欢这种简化 */
+export const postFooAPI2 = (name: string) => {
+ return http.post('/foo', { name }, { name })
+}
diff --git a/src/types/auto-import.d.ts b/src/types/auto-import.d.ts
new file mode 100644
index 0000000..a822be5
--- /dev/null
+++ b/src/types/auto-import.d.ts
@@ -0,0 +1,264 @@
+/* eslint-disable */
+/* prettier-ignore */
+// @ts-nocheck
+// noinspection JSUnusedGlobalSymbols
+// Generated by unplugin-auto-import
+export {}
+declare global {
+ const EffectScope: typeof import('vue')['EffectScope']
+ const computed: typeof import('vue')['computed']
+ const createApp: typeof import('vue')['createApp']
+ const customRef: typeof import('vue')['customRef']
+ const defineAsyncComponent: typeof import('vue')['defineAsyncComponent']
+ const defineComponent: typeof import('vue')['defineComponent']
+ const effectScope: typeof import('vue')['effectScope']
+ const getCurrentInstance: typeof import('vue')['getCurrentInstance']
+ const getCurrentScope: typeof import('vue')['getCurrentScope']
+ const h: typeof import('vue')['h']
+ const inject: typeof import('vue')['inject']
+ const isProxy: typeof import('vue')['isProxy']
+ const isReactive: typeof import('vue')['isReactive']
+ const isReadonly: typeof import('vue')['isReadonly']
+ const isRef: typeof import('vue')['isRef']
+ const markRaw: typeof import('vue')['markRaw']
+ const nextTick: typeof import('vue')['nextTick']
+ const onActivated: typeof import('vue')['onActivated']
+ const onAddToFavorites: typeof import('@dcloudio/uni-app')['onAddToFavorites']
+ const onBackPress: typeof import('@dcloudio/uni-app')['onBackPress']
+ const onBeforeMount: typeof import('vue')['onBeforeMount']
+ const onBeforeUnmount: typeof import('vue')['onBeforeUnmount']
+ const onBeforeUpdate: typeof import('vue')['onBeforeUpdate']
+ const onDeactivated: typeof import('vue')['onDeactivated']
+ const onError: typeof import('@dcloudio/uni-app')['onError']
+ const onErrorCaptured: typeof import('vue')['onErrorCaptured']
+ const onHide: typeof import('@dcloudio/uni-app')['onHide']
+ const onLaunch: typeof import('@dcloudio/uni-app')['onLaunch']
+ const onLoad: typeof import('@dcloudio/uni-app')['onLoad']
+ const onMounted: typeof import('vue')['onMounted']
+ const onNavigationBarButtonTap: typeof import('@dcloudio/uni-app')['onNavigationBarButtonTap']
+ const onNavigationBarSearchInputChanged: typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputChanged']
+ const onNavigationBarSearchInputClicked: typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputClicked']
+ const onNavigationBarSearchInputConfirmed: typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputConfirmed']
+ const onNavigationBarSearchInputFocusChanged: typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputFocusChanged']
+ const onPageNotFound: typeof import('@dcloudio/uni-app')['onPageNotFound']
+ const onPageScroll: typeof import('@dcloudio/uni-app')['onPageScroll']
+ const onPullDownRefresh: typeof import('@dcloudio/uni-app')['onPullDownRefresh']
+ const onReachBottom: typeof import('@dcloudio/uni-app')['onReachBottom']
+ const onReady: typeof import('@dcloudio/uni-app')['onReady']
+ const onRenderTracked: typeof import('vue')['onRenderTracked']
+ const onRenderTriggered: typeof import('vue')['onRenderTriggered']
+ const onResize: typeof import('@dcloudio/uni-app')['onResize']
+ const onScopeDispose: typeof import('vue')['onScopeDispose']
+ const onServerPrefetch: typeof import('vue')['onServerPrefetch']
+ const onShareAppMessage: typeof import('@dcloudio/uni-app')['onShareAppMessage']
+ const onShareTimeline: typeof import('@dcloudio/uni-app')['onShareTimeline']
+ const onShow: typeof import('@dcloudio/uni-app')['onShow']
+ const onTabItemTap: typeof import('@dcloudio/uni-app')['onTabItemTap']
+ const onThemeChange: typeof import('@dcloudio/uni-app')['onThemeChange']
+ const onUnhandledRejection: typeof import('@dcloudio/uni-app')['onUnhandledRejection']
+ const onUnload: typeof import('@dcloudio/uni-app')['onUnload']
+ const onUnmounted: typeof import('vue')['onUnmounted']
+ const onUpdated: typeof import('vue')['onUpdated']
+ const provide: typeof import('vue')['provide']
+ const reactive: typeof import('vue')['reactive']
+ const readonly: typeof import('vue')['readonly']
+ const ref: typeof import('vue')['ref']
+ const resolveComponent: typeof import('vue')['resolveComponent']
+ const shallowReactive: typeof import('vue')['shallowReactive']
+ const shallowReadonly: typeof import('vue')['shallowReadonly']
+ const shallowRef: typeof import('vue')['shallowRef']
+ const toRaw: typeof import('vue')['toRaw']
+ const toRef: typeof import('vue')['toRef']
+ const toRefs: typeof import('vue')['toRefs']
+ const toValue: typeof import('vue')['toValue']
+ const triggerRef: typeof import('vue')['triggerRef']
+ const unref: typeof import('vue')['unref']
+ const useAttrs: typeof import('vue')['useAttrs']
+ const useCssModule: typeof import('vue')['useCssModule']
+ const useCssVars: typeof import('vue')['useCssVars']
+ const useNavbarWeixin: (typeof import('../hooks/useNavbarWeixin'))['default']
+ const useRequest: typeof import('../hooks/useRequest')['default']
+ const useSlots: typeof import('vue')['useSlots']
+ const useUpload: typeof import('../hooks/useUpload')['default']
+ const useUpload2: typeof import('../hooks/useUpload2')['default']
+ const watch: typeof import('vue')['watch']
+ const watchEffect: typeof import('vue')['watchEffect']
+ const watchPostEffect: typeof import('vue')['watchPostEffect']
+ const watchSyncEffect: typeof import('vue')['watchSyncEffect']
+}
+// for type re-export
+declare global {
+ // @ts-ignore
+ export type { Component, ComponentPublicInstance, ComputedRef, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, VNode, WritableComputedRef } from 'vue'
+ import('vue')
+}
+// for vue template auto import
+import { UnwrapRef } from 'vue'
+declare module 'vue' {
+ interface GlobalComponents {}
+ interface ComponentCustomProperties {
+ readonly EffectScope: UnwrapRef
+ readonly computed: UnwrapRef
+ readonly createApp: UnwrapRef
+ readonly customRef: UnwrapRef
+ readonly defineAsyncComponent: UnwrapRef
+ readonly defineComponent: UnwrapRef
+ readonly effectScope: UnwrapRef
+ readonly getCurrentInstance: UnwrapRef
+ readonly getCurrentScope: UnwrapRef
+ readonly h: UnwrapRef
+ readonly inject: UnwrapRef
+ readonly isProxy: UnwrapRef
+ readonly isReactive: UnwrapRef
+ readonly isReadonly: UnwrapRef
+ readonly isRef: UnwrapRef
+ readonly markRaw: UnwrapRef
+ readonly nextTick: UnwrapRef
+ readonly onActivated: UnwrapRef
+ readonly onAddToFavorites: UnwrapRef
+ readonly onBackPress: UnwrapRef
+ readonly onBeforeMount: UnwrapRef
+ readonly onBeforeUnmount: UnwrapRef
+ readonly onBeforeUpdate: UnwrapRef
+ readonly onDeactivated: UnwrapRef
+ readonly onError: UnwrapRef
+ readonly onErrorCaptured: UnwrapRef
+ readonly onHide: UnwrapRef
+ readonly onLaunch: UnwrapRef
+ readonly onLoad: UnwrapRef
+ readonly onMounted: UnwrapRef
+ readonly onNavigationBarButtonTap: UnwrapRef
+ readonly onNavigationBarSearchInputChanged: UnwrapRef
+ readonly onNavigationBarSearchInputClicked: UnwrapRef
+ readonly onNavigationBarSearchInputConfirmed: UnwrapRef
+ readonly onNavigationBarSearchInputFocusChanged: UnwrapRef
+ readonly onPageNotFound: UnwrapRef
+ readonly onPageScroll: UnwrapRef
+ readonly onPullDownRefresh: UnwrapRef
+ readonly onReachBottom: UnwrapRef
+ readonly onReady: UnwrapRef
+ readonly onRenderTracked: UnwrapRef
+ readonly onRenderTriggered: UnwrapRef
+ readonly onResize: UnwrapRef
+ readonly onScopeDispose: UnwrapRef
+ readonly onServerPrefetch: UnwrapRef
+ readonly onShareAppMessage: UnwrapRef
+ readonly onShareTimeline: UnwrapRef
+ readonly onShow: UnwrapRef
+ readonly onTabItemTap: UnwrapRef
+ readonly onThemeChange: UnwrapRef
+ readonly onUnhandledRejection: UnwrapRef
+ readonly onUnload: UnwrapRef
+ readonly onUnmounted: UnwrapRef
+ readonly onUpdated: UnwrapRef
+ readonly provide: UnwrapRef
+ readonly reactive: UnwrapRef
+ readonly readonly: UnwrapRef
+ readonly ref: UnwrapRef
+ readonly resolveComponent: UnwrapRef
+ readonly shallowReactive: UnwrapRef
+ readonly shallowReadonly: UnwrapRef
+ readonly shallowRef: UnwrapRef
+ readonly toRaw: UnwrapRef
+ readonly toRef: UnwrapRef
+ readonly toRefs: UnwrapRef
+ readonly toValue: UnwrapRef
+ readonly triggerRef: UnwrapRef
+ readonly unref: UnwrapRef
+ readonly useAttrs: UnwrapRef
+ readonly useCssModule: UnwrapRef
+ readonly useCssVars: UnwrapRef
+ readonly useRequest: UnwrapRef
+ readonly useSlots: UnwrapRef
+ readonly useUpload2: UnwrapRef
+ readonly useUpload: UnwrapRef
+ readonly watch: UnwrapRef
+ readonly watchEffect: UnwrapRef
+ readonly watchPostEffect: UnwrapRef
+ readonly watchSyncEffect: UnwrapRef
+ }
+}
+declare module '@vue/runtime-core' {
+ interface GlobalComponents {}
+ interface ComponentCustomProperties {
+ readonly EffectScope: UnwrapRef
+ readonly computed: UnwrapRef
+ readonly createApp: UnwrapRef
+ readonly customRef: UnwrapRef
+ readonly defineAsyncComponent: UnwrapRef
+ readonly defineComponent: UnwrapRef
+ readonly effectScope: UnwrapRef
+ readonly getCurrentInstance: UnwrapRef
+ readonly getCurrentScope: UnwrapRef
+ readonly h: UnwrapRef
+ readonly inject: UnwrapRef
+ readonly isProxy: UnwrapRef
+ readonly isReactive: UnwrapRef
+ readonly isReadonly: UnwrapRef
+ readonly isRef: UnwrapRef
+ readonly markRaw: UnwrapRef
+ readonly nextTick: UnwrapRef
+ readonly onActivated: UnwrapRef
+ readonly onAddToFavorites: UnwrapRef
+ readonly onBackPress: UnwrapRef
+ readonly onBeforeMount: UnwrapRef
+ readonly onBeforeUnmount: UnwrapRef
+ readonly onBeforeUpdate: UnwrapRef
+ readonly onDeactivated: UnwrapRef
+ readonly onError: UnwrapRef
+ readonly onErrorCaptured: UnwrapRef
+ readonly onHide: UnwrapRef
+ readonly onLaunch: UnwrapRef
+ readonly onLoad: UnwrapRef
+ readonly onMounted: UnwrapRef
+ readonly onNavigationBarButtonTap: UnwrapRef
+ readonly onNavigationBarSearchInputChanged: UnwrapRef
+ readonly onNavigationBarSearchInputClicked: UnwrapRef
+ readonly onNavigationBarSearchInputConfirmed: UnwrapRef
+ readonly onNavigationBarSearchInputFocusChanged: UnwrapRef
+ readonly onPageNotFound: UnwrapRef
+ readonly onPageScroll: UnwrapRef
+ readonly onPullDownRefresh: UnwrapRef
+ readonly onReachBottom: UnwrapRef
+ readonly onReady: UnwrapRef
+ readonly onRenderTracked: UnwrapRef
+ readonly onRenderTriggered: UnwrapRef
+ readonly onResize: UnwrapRef
+ readonly onScopeDispose: UnwrapRef
+ readonly onServerPrefetch: UnwrapRef
+ readonly onShareAppMessage: UnwrapRef
+ readonly onShareTimeline: UnwrapRef
+ readonly onShow: UnwrapRef
+ readonly onTabItemTap: UnwrapRef
+ readonly onThemeChange: UnwrapRef
+ readonly onUnhandledRejection: UnwrapRef
+ readonly onUnload: UnwrapRef
+ readonly onUnmounted: UnwrapRef
+ readonly onUpdated: UnwrapRef
+ readonly provide: UnwrapRef
+ readonly reactive: UnwrapRef
+ readonly readonly: UnwrapRef
+ readonly ref: UnwrapRef
+ readonly resolveComponent: UnwrapRef
+ readonly shallowReactive: UnwrapRef
+ readonly shallowReadonly: UnwrapRef
+ readonly shallowRef: UnwrapRef
+ readonly toRaw: UnwrapRef
+ readonly toRef: UnwrapRef
+ readonly toRefs: UnwrapRef
+ readonly toValue: UnwrapRef
+ readonly triggerRef: UnwrapRef
+ readonly unref: UnwrapRef
+ readonly useAttrs: UnwrapRef
+ readonly useCssModule: UnwrapRef
+ readonly useCssVars: UnwrapRef
+ readonly useRequest: UnwrapRef
+ readonly useSlots: UnwrapRef
+ readonly useUpload2: UnwrapRef
+ readonly useUpload: UnwrapRef
+ readonly watch: UnwrapRef
+ readonly watchEffect: UnwrapRef
+ readonly watchPostEffect: UnwrapRef
+ readonly watchSyncEffect: UnwrapRef
+ }
+}
diff --git a/src/uni_modules/.gitkeep b/src/uni_modules/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/src/utils/http.ts b/src/utils/http.ts
index db4c6aa..4e3f38c 100644
--- a/src/utils/http.ts
+++ b/src/utils/http.ts
@@ -41,6 +41,7 @@ export const http = (options: CustomRequestOptions) => {
})
})
}
+
/**
* GET 请求
* @param url 后台地址
@@ -74,3 +75,6 @@ export const httpPost = (
method: 'POST',
})
}
+
+http.get = httpGet
+http.post = httpPost
diff --git a/src/utils/index.ts b/src/utils/index.ts
index 98fe2b6..14ef106 100644
--- a/src/utils/index.ts
+++ b/src/utils/index.ts
@@ -1,16 +1,19 @@
-import pagesJson from '@/pages.json'
-
-console.log(pagesJson)
+// @ts-expect-error import json file
+import { pages, subPackages, tabBar } from '@/pages.json'
/** 判断当前页面是否是tabbar页 */
export const getIsTabbar = () => {
- if (!Object.keys(pagesJson).includes('tabBar')) {
+ if (!tabBar) {
return false
}
- const pages = getCurrentPages()
- const lastPage = pages.at(-1)
+ if (!tabBar.list.length) {
+ // 通常有tabBar的话,list不能有空,且至少有2个元素,这里其实不用处理
+ return false
+ }
+ // getCurrentPages() 至少有1个元素,所以不再额外判断
+ const lastPage = getCurrentPages().at(-1)
const currPath = lastPage.route
- return !!pagesJson.tabBar.list.find((e) => e.pagePath === currPath)
+ return !!tabBar.list.find((e) => e.pagePath === currPath)
}
/**
@@ -19,10 +22,8 @@ export const getIsTabbar = () => {
* redirectPath 如 ‘/pages/demo/base/route-interceptor’
*/
export const currRoute = () => {
- const pages = getCurrentPages()
- console.log('pages:', pages)
-
- const lastPage = pages.at(-1)
+ // getCurrentPages() 至少有1个元素,所以不再额外判断
+ const lastPage = getCurrentPages().at(-1)
const currRoute = (lastPage as any).$page
// console.log('lastPage.$page:', currRoute)
// console.log('lastPage.$page.fullpath:', currRoute.fullPath)
@@ -66,8 +67,8 @@ export const getUrlObj = (url: string) => {
*/
export const getAllPages = (key = 'needLogin') => {
// 这里处理主包
- const pages = [
- ...pagesJson.pages
+ const mainPages = [
+ ...pages
.filter((page) => !key || page[key])
.map((page) => ({
...page,
@@ -76,7 +77,7 @@ export const getAllPages = (key = 'needLogin') => {
]
// 这里处理分包
const subPages: any[] = []
- pagesJson.subPackages.forEach((subPageObj) => {
+ subPackages.forEach((subPageObj) => {
// console.log(subPageObj)
const { root } = subPageObj
@@ -89,7 +90,7 @@ export const getAllPages = (key = 'needLogin') => {
})
})
})
- const result = [...pages, ...subPages]
+ const result = [...mainPages, ...subPages]
console.log(`getAllPages by ${key} result: `, result)
return result
}
diff --git a/vite.config.ts b/vite.config.ts
index e678465..24acf1c 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -110,13 +110,13 @@ export default ({ command, mode }) => {
hmr: true,
port: Number.parseInt(VITE_APP_PORT, 10),
// 仅 H5 端生效,其他端不生效(其他端走build,不走devServer)
- proxy: {
- '/api': {
- target: VITE_SERVER_BASEURL,
- changeOrigin: true,
- rewrite: (path) => path.replace(/^\/api/, ''),
- },
- },
+ // proxy: {
+ // '/api': {
+ // target: VITE_SERVER_BASEURL,
+ // changeOrigin: true,
+ // rewrite: (path) => path.replace(/^\/api/, ''),
+ // },
+ // },
},
build: {
// 方便非h5端调试