Merge branch 'base' into i18n

This commit is contained in:
菲鸽 2024-05-12 11:36:54 +08:00
commit 6703f4c09c
13 changed files with 342 additions and 56 deletions

1
.eslintignore Normal file
View File

@ -0,0 +1 @@
src/uni_modules/

20
.gitignore vendored
View File

@ -22,21 +22,18 @@ dist
.hbuilderx .hbuilderx
.stylelintcache .stylelintcache
# rollup-plugin-visualizer 生成的分析文件
stats.html # unplugin-auto-import 生成的类型文件,因为变化较小,还是加入版本管理吧
# unplugin-auto-import 生成的类型文件 # auto-import.d.ts
auto-import.d.ts
# unplugin-vue-components 生成的类型文件 # vite-plugin-uni-pages 生成的类型文件,每次切换分支都一堆不同的,所以直接 .gitignore
components.d.ts
# vite-plugin-uni-pages 生成的类型文件
uni-pages.d.ts uni-pages.d.ts
# 插件生成的文件 # 插件生成的文件
src/pages.json # src/pages.json
src/manifest.json # src/manifest.json
# lock 文件还是不要了,我主要的版本写死就好了 # lock 文件还是不要了,我主要的版本写死就好了
# github actions 需要这些文件所以main分支需要留着
pnpm-lock.yaml pnpm-lock.yaml
package-lock.json package-lock.json
@ -46,3 +43,6 @@ package-lock.json
# git rm -r --cached file1 file2 ## 针对某些文件 # git rm -r --cached file1 file2 ## 针对某些文件
# git rm -r --cached dir1 dir2 ## 针对某些文件夹 # git rm -r --cached dir1 dir2 ## 针对某些文件夹
# git rm -r --cached . ## 针对所有文件 # git rm -r --cached . ## 针对所有文件
# 更新 uni-app 官方版本
# npx @dcloudio/uvm@latest

9
.prettierignore Normal file
View File

@ -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

1
.stylelintignore Normal file
View File

@ -0,0 +1 @@
src/uni_modules/

View File

@ -3,7 +3,8 @@
module.exports = { module.exports = {
root: true, root: true,
extends: [ extends: [
'stylelint-config-standard', // stylelint-config-standard 替换成了更宽松的 stylelint-config-recommended
'stylelint-config-recommended',
// stylelint-config-standard-scss 替换成了更宽松的 stylelint-config-recommended-scss // stylelint-config-standard-scss 替换成了更宽松的 stylelint-config-recommended-scss
'stylelint-config-recommended-scss', 'stylelint-config-recommended-scss',
'stylelint-config-recommended-vue/scss', 'stylelint-config-recommended-vue/scss',

View File

@ -79,35 +79,35 @@
"bin-wrapper": "npm:bin-wrapper-china" "bin-wrapper": "npm:bin-wrapper-china"
}, },
"dependencies": { "dependencies": {
"@dcloudio/uni-app": "3.0.0-4000820240401001", "@dcloudio/uni-app": "3.0.0-4010420240430001",
"@dcloudio/uni-app-plus": "3.0.0-4000820240401001", "@dcloudio/uni-app-plus": "3.0.0-4010420240430001",
"@dcloudio/uni-components": "3.0.0-4000820240401001", "@dcloudio/uni-components": "3.0.0-4010420240430001",
"@dcloudio/uni-h5": "3.0.0-4000820240401001", "@dcloudio/uni-h5": "3.0.0-4010420240430001",
"@dcloudio/uni-mp-alipay": "3.0.0-4000820240401001", "@dcloudio/uni-mp-alipay": "3.0.0-4010420240430001",
"@dcloudio/uni-mp-baidu": "3.0.0-4000820240401001", "@dcloudio/uni-mp-baidu": "3.0.0-4010420240430001",
"@dcloudio/uni-mp-jd": "3.0.0-4000820240401001", "@dcloudio/uni-mp-jd": "3.0.0-4010420240430001",
"@dcloudio/uni-mp-kuaishou": "3.0.0-4000820240401001", "@dcloudio/uni-mp-kuaishou": "3.0.0-4010420240430001",
"@dcloudio/uni-mp-lark": "3.0.0-4000820240401001", "@dcloudio/uni-mp-lark": "3.0.0-4010420240430001",
"@dcloudio/uni-mp-qq": "3.0.0-4000820240401001", "@dcloudio/uni-mp-qq": "3.0.0-4010420240430001",
"@dcloudio/uni-mp-toutiao": "3.0.0-4000820240401001", "@dcloudio/uni-mp-toutiao": "3.0.0-4010420240430001",
"@dcloudio/uni-mp-weixin": "3.0.0-4000820240401001", "@dcloudio/uni-mp-weixin": "3.0.0-4010420240430001",
"@dcloudio/uni-mp-xhs": "3.0.0-4000820240401001", "@dcloudio/uni-mp-xhs": "3.0.0-4010420240430001",
"@dcloudio/uni-quickapp-webview": "3.0.0-4000820240401001", "@dcloudio/uni-quickapp-webview": "3.0.0-4010420240430001",
"dayjs": "1.11.10", "dayjs": "1.11.10",
"pinia": "2.0.36", "pinia": "2.0.36",
"pinia-plugin-persistedstate": "3.2.1", "pinia-plugin-persistedstate": "3.2.1",
"qs": "6.5.3", "qs": "6.5.3",
"vue": "3.3.11", "vue": "3.4.26",
"wot-design-uni": "^1.2.13" "wot-design-uni": "^1.2.13"
}, },
"devDependencies": { "devDependencies": {
"@commitlint/cli": "^18.4.3", "@commitlint/cli": "^18.4.3",
"@commitlint/config-conventional": "^18.4.3", "@commitlint/config-conventional": "^18.4.3",
"@dcloudio/types": "^3.4.8", "@dcloudio/types": "^3.4.8",
"@dcloudio/uni-automator": "3.0.0-4000820240401001", "@dcloudio/uni-automator": "3.0.0-4010420240430001",
"@dcloudio/uni-cli-shared": "3.0.0-4000820240401001", "@dcloudio/uni-cli-shared": "3.0.0-4010420240430001",
"@dcloudio/uni-stacktracey": "3.0.0-4000820240401001", "@dcloudio/uni-stacktracey": "3.0.0-4010420240430001",
"@dcloudio/vite-plugin-uni": "3.0.0-4000820240401001", "@dcloudio/vite-plugin-uni": "3.0.0-4010420240430001",
"@iconify-json/carbon": "^1.1.27", "@iconify-json/carbon": "^1.1.27",
"@types/node": "^20.11.5", "@types/node": "^20.11.5",
"@types/wechat-miniprogram": "^3.4.7", "@types/wechat-miniprogram": "^3.4.7",
@ -139,16 +139,16 @@
"stylelint": "^16.0.2", "stylelint": "^16.0.2",
"stylelint-config-html": "^1.1.0", "stylelint-config-html": "^1.1.0",
"stylelint-config-recess-order": "^4.4.0", "stylelint-config-recess-order": "^4.4.0",
"stylelint-config-recommended": "^14.0.0",
"stylelint-config-recommended-scss": "^14.0.0", "stylelint-config-recommended-scss": "^14.0.0",
"stylelint-config-recommended-vue": "^1.5.0", "stylelint-config-recommended-vue": "^1.5.0",
"stylelint-config-standard": "^35.0.0",
"stylelint-prettier": "^5.0.0", "stylelint-prettier": "^5.0.0",
"terser": "^5.26.0", "terser": "^5.26.0",
"typescript": "^4.9.5", "typescript": "^4.9.5",
"unocss": "^0.58.0", "unocss": "^0.58.0",
"unocss-applet": "^0.7.8", "unocss-applet": "^0.7.8",
"unplugin-auto-import": "^0.17.2", "unplugin-auto-import": "^0.17.2",
"vite": "4.3.5", "vite": "5.2.8",
"vite-plugin-restart": "^0.4.0", "vite-plugin-restart": "^0.4.0",
"vue-i18n": "^9.11.0", "vue-i18n": "^9.11.0",
"vue-tsc": "^1.8.25" "vue-tsc": "^1.8.25"

View File

@ -20,6 +20,7 @@
<wd-button type="primary" @click="gotoPage('i18n')">进入多语言页面</wd-button> <wd-button type="primary" @click="gotoPage('i18n')">进入多语言页面</wd-button>
<wd-button type="primary" @click="gotoPage('request')" class="ml-2">去请求页</wd-button> <wd-button type="primary" @click="gotoPage('request')" class="ml-2">去请求页</wd-button>
</view> </view>
<view class="text-center mt-8 text-#fff"> <view class="text-center mt-8 text-#fff">
<wd-button type="primary" @click="gotoPage('upload')">上传demo</wd-button> <wd-button type="primary" @click="gotoPage('upload')">上传demo</wd-button>
<wd-button type="primary" @click="gotoPage('upload2')">上传demo2(请求状态一体化)</wd-button> <wd-button type="primary" @click="gotoPage('upload2')">上传demo2(请求状态一体化)</wd-button>

View File

@ -1,4 +1,4 @@
import { http, httpGet } from '@/utils/http' import { http } from '@/utils/http'
export interface IFooItem { export interface IFooItem {
id: string id: string
name: string name: string
@ -15,7 +15,7 @@ export const getFooAPI = (name: string) => {
/** GET 请求 - 再次简化,看大家是否喜欢这种简化 */ /** GET 请求 - 再次简化,看大家是否喜欢这种简化 */
export const getFooAPI2 = (name: string) => { export const getFooAPI2 = (name: string) => {
return httpGet<IFooItem>('/foo', { name }) return http.get<IFooItem>('/foo', { name })
} }
/** POST 请求 */ /** POST 请求 */
@ -27,3 +27,7 @@ export const postFooAPI = (name: string) => {
data: { name }, data: { name },
}) })
} }
/** POST 请求 - 再次简化,看大家是否喜欢这种简化 */
export const postFooAPI2 = (name: string) => {
return http.post<IFooItem>('/foo', { name }, { name })
}

264
src/types/auto-import.d.ts vendored Normal file
View File

@ -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<typeof import('vue')['EffectScope']>
readonly computed: UnwrapRef<typeof import('vue')['computed']>
readonly createApp: UnwrapRef<typeof import('vue')['createApp']>
readonly customRef: UnwrapRef<typeof import('vue')['customRef']>
readonly defineAsyncComponent: UnwrapRef<typeof import('vue')['defineAsyncComponent']>
readonly defineComponent: UnwrapRef<typeof import('vue')['defineComponent']>
readonly effectScope: UnwrapRef<typeof import('vue')['effectScope']>
readonly getCurrentInstance: UnwrapRef<typeof import('vue')['getCurrentInstance']>
readonly getCurrentScope: UnwrapRef<typeof import('vue')['getCurrentScope']>
readonly h: UnwrapRef<typeof import('vue')['h']>
readonly inject: UnwrapRef<typeof import('vue')['inject']>
readonly isProxy: UnwrapRef<typeof import('vue')['isProxy']>
readonly isReactive: UnwrapRef<typeof import('vue')['isReactive']>
readonly isReadonly: UnwrapRef<typeof import('vue')['isReadonly']>
readonly isRef: UnwrapRef<typeof import('vue')['isRef']>
readonly markRaw: UnwrapRef<typeof import('vue')['markRaw']>
readonly nextTick: UnwrapRef<typeof import('vue')['nextTick']>
readonly onActivated: UnwrapRef<typeof import('vue')['onActivated']>
readonly onAddToFavorites: UnwrapRef<typeof import('@dcloudio/uni-app')['onAddToFavorites']>
readonly onBackPress: UnwrapRef<typeof import('@dcloudio/uni-app')['onBackPress']>
readonly onBeforeMount: UnwrapRef<typeof import('vue')['onBeforeMount']>
readonly onBeforeUnmount: UnwrapRef<typeof import('vue')['onBeforeUnmount']>
readonly onBeforeUpdate: UnwrapRef<typeof import('vue')['onBeforeUpdate']>
readonly onDeactivated: UnwrapRef<typeof import('vue')['onDeactivated']>
readonly onError: UnwrapRef<typeof import('@dcloudio/uni-app')['onError']>
readonly onErrorCaptured: UnwrapRef<typeof import('vue')['onErrorCaptured']>
readonly onHide: UnwrapRef<typeof import('@dcloudio/uni-app')['onHide']>
readonly onLaunch: UnwrapRef<typeof import('@dcloudio/uni-app')['onLaunch']>
readonly onLoad: UnwrapRef<typeof import('@dcloudio/uni-app')['onLoad']>
readonly onMounted: UnwrapRef<typeof import('vue')['onMounted']>
readonly onNavigationBarButtonTap: UnwrapRef<typeof import('@dcloudio/uni-app')['onNavigationBarButtonTap']>
readonly onNavigationBarSearchInputChanged: UnwrapRef<typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputChanged']>
readonly onNavigationBarSearchInputClicked: UnwrapRef<typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputClicked']>
readonly onNavigationBarSearchInputConfirmed: UnwrapRef<typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputConfirmed']>
readonly onNavigationBarSearchInputFocusChanged: UnwrapRef<typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputFocusChanged']>
readonly onPageNotFound: UnwrapRef<typeof import('@dcloudio/uni-app')['onPageNotFound']>
readonly onPageScroll: UnwrapRef<typeof import('@dcloudio/uni-app')['onPageScroll']>
readonly onPullDownRefresh: UnwrapRef<typeof import('@dcloudio/uni-app')['onPullDownRefresh']>
readonly onReachBottom: UnwrapRef<typeof import('@dcloudio/uni-app')['onReachBottom']>
readonly onReady: UnwrapRef<typeof import('@dcloudio/uni-app')['onReady']>
readonly onRenderTracked: UnwrapRef<typeof import('vue')['onRenderTracked']>
readonly onRenderTriggered: UnwrapRef<typeof import('vue')['onRenderTriggered']>
readonly onResize: UnwrapRef<typeof import('@dcloudio/uni-app')['onResize']>
readonly onScopeDispose: UnwrapRef<typeof import('vue')['onScopeDispose']>
readonly onServerPrefetch: UnwrapRef<typeof import('vue')['onServerPrefetch']>
readonly onShareAppMessage: UnwrapRef<typeof import('@dcloudio/uni-app')['onShareAppMessage']>
readonly onShareTimeline: UnwrapRef<typeof import('@dcloudio/uni-app')['onShareTimeline']>
readonly onShow: UnwrapRef<typeof import('@dcloudio/uni-app')['onShow']>
readonly onTabItemTap: UnwrapRef<typeof import('@dcloudio/uni-app')['onTabItemTap']>
readonly onThemeChange: UnwrapRef<typeof import('@dcloudio/uni-app')['onThemeChange']>
readonly onUnhandledRejection: UnwrapRef<typeof import('@dcloudio/uni-app')['onUnhandledRejection']>
readonly onUnload: UnwrapRef<typeof import('@dcloudio/uni-app')['onUnload']>
readonly onUnmounted: UnwrapRef<typeof import('vue')['onUnmounted']>
readonly onUpdated: UnwrapRef<typeof import('vue')['onUpdated']>
readonly provide: UnwrapRef<typeof import('vue')['provide']>
readonly reactive: UnwrapRef<typeof import('vue')['reactive']>
readonly readonly: UnwrapRef<typeof import('vue')['readonly']>
readonly ref: UnwrapRef<typeof import('vue')['ref']>
readonly resolveComponent: UnwrapRef<typeof import('vue')['resolveComponent']>
readonly shallowReactive: UnwrapRef<typeof import('vue')['shallowReactive']>
readonly shallowReadonly: UnwrapRef<typeof import('vue')['shallowReadonly']>
readonly shallowRef: UnwrapRef<typeof import('vue')['shallowRef']>
readonly toRaw: UnwrapRef<typeof import('vue')['toRaw']>
readonly toRef: UnwrapRef<typeof import('vue')['toRef']>
readonly toRefs: UnwrapRef<typeof import('vue')['toRefs']>
readonly toValue: UnwrapRef<typeof import('vue')['toValue']>
readonly triggerRef: UnwrapRef<typeof import('vue')['triggerRef']>
readonly unref: UnwrapRef<typeof import('vue')['unref']>
readonly useAttrs: UnwrapRef<typeof import('vue')['useAttrs']>
readonly useCssModule: UnwrapRef<typeof import('vue')['useCssModule']>
readonly useCssVars: UnwrapRef<typeof import('vue')['useCssVars']>
readonly useRequest: UnwrapRef<typeof import('../hooks/useRequest')['default']>
readonly useSlots: UnwrapRef<typeof import('vue')['useSlots']>
readonly useUpload2: UnwrapRef<typeof import('../hooks/useUpload2')['default']>
readonly useUpload: UnwrapRef<typeof import('../hooks/useUpload')['default']>
readonly watch: UnwrapRef<typeof import('vue')['watch']>
readonly watchEffect: UnwrapRef<typeof import('vue')['watchEffect']>
readonly watchPostEffect: UnwrapRef<typeof import('vue')['watchPostEffect']>
readonly watchSyncEffect: UnwrapRef<typeof import('vue')['watchSyncEffect']>
}
}
declare module '@vue/runtime-core' {
interface GlobalComponents {}
interface ComponentCustomProperties {
readonly EffectScope: UnwrapRef<typeof import('vue')['EffectScope']>
readonly computed: UnwrapRef<typeof import('vue')['computed']>
readonly createApp: UnwrapRef<typeof import('vue')['createApp']>
readonly customRef: UnwrapRef<typeof import('vue')['customRef']>
readonly defineAsyncComponent: UnwrapRef<typeof import('vue')['defineAsyncComponent']>
readonly defineComponent: UnwrapRef<typeof import('vue')['defineComponent']>
readonly effectScope: UnwrapRef<typeof import('vue')['effectScope']>
readonly getCurrentInstance: UnwrapRef<typeof import('vue')['getCurrentInstance']>
readonly getCurrentScope: UnwrapRef<typeof import('vue')['getCurrentScope']>
readonly h: UnwrapRef<typeof import('vue')['h']>
readonly inject: UnwrapRef<typeof import('vue')['inject']>
readonly isProxy: UnwrapRef<typeof import('vue')['isProxy']>
readonly isReactive: UnwrapRef<typeof import('vue')['isReactive']>
readonly isReadonly: UnwrapRef<typeof import('vue')['isReadonly']>
readonly isRef: UnwrapRef<typeof import('vue')['isRef']>
readonly markRaw: UnwrapRef<typeof import('vue')['markRaw']>
readonly nextTick: UnwrapRef<typeof import('vue')['nextTick']>
readonly onActivated: UnwrapRef<typeof import('vue')['onActivated']>
readonly onAddToFavorites: UnwrapRef<typeof import('@dcloudio/uni-app')['onAddToFavorites']>
readonly onBackPress: UnwrapRef<typeof import('@dcloudio/uni-app')['onBackPress']>
readonly onBeforeMount: UnwrapRef<typeof import('vue')['onBeforeMount']>
readonly onBeforeUnmount: UnwrapRef<typeof import('vue')['onBeforeUnmount']>
readonly onBeforeUpdate: UnwrapRef<typeof import('vue')['onBeforeUpdate']>
readonly onDeactivated: UnwrapRef<typeof import('vue')['onDeactivated']>
readonly onError: UnwrapRef<typeof import('@dcloudio/uni-app')['onError']>
readonly onErrorCaptured: UnwrapRef<typeof import('vue')['onErrorCaptured']>
readonly onHide: UnwrapRef<typeof import('@dcloudio/uni-app')['onHide']>
readonly onLaunch: UnwrapRef<typeof import('@dcloudio/uni-app')['onLaunch']>
readonly onLoad: UnwrapRef<typeof import('@dcloudio/uni-app')['onLoad']>
readonly onMounted: UnwrapRef<typeof import('vue')['onMounted']>
readonly onNavigationBarButtonTap: UnwrapRef<typeof import('@dcloudio/uni-app')['onNavigationBarButtonTap']>
readonly onNavigationBarSearchInputChanged: UnwrapRef<typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputChanged']>
readonly onNavigationBarSearchInputClicked: UnwrapRef<typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputClicked']>
readonly onNavigationBarSearchInputConfirmed: UnwrapRef<typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputConfirmed']>
readonly onNavigationBarSearchInputFocusChanged: UnwrapRef<typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputFocusChanged']>
readonly onPageNotFound: UnwrapRef<typeof import('@dcloudio/uni-app')['onPageNotFound']>
readonly onPageScroll: UnwrapRef<typeof import('@dcloudio/uni-app')['onPageScroll']>
readonly onPullDownRefresh: UnwrapRef<typeof import('@dcloudio/uni-app')['onPullDownRefresh']>
readonly onReachBottom: UnwrapRef<typeof import('@dcloudio/uni-app')['onReachBottom']>
readonly onReady: UnwrapRef<typeof import('@dcloudio/uni-app')['onReady']>
readonly onRenderTracked: UnwrapRef<typeof import('vue')['onRenderTracked']>
readonly onRenderTriggered: UnwrapRef<typeof import('vue')['onRenderTriggered']>
readonly onResize: UnwrapRef<typeof import('@dcloudio/uni-app')['onResize']>
readonly onScopeDispose: UnwrapRef<typeof import('vue')['onScopeDispose']>
readonly onServerPrefetch: UnwrapRef<typeof import('vue')['onServerPrefetch']>
readonly onShareAppMessage: UnwrapRef<typeof import('@dcloudio/uni-app')['onShareAppMessage']>
readonly onShareTimeline: UnwrapRef<typeof import('@dcloudio/uni-app')['onShareTimeline']>
readonly onShow: UnwrapRef<typeof import('@dcloudio/uni-app')['onShow']>
readonly onTabItemTap: UnwrapRef<typeof import('@dcloudio/uni-app')['onTabItemTap']>
readonly onThemeChange: UnwrapRef<typeof import('@dcloudio/uni-app')['onThemeChange']>
readonly onUnhandledRejection: UnwrapRef<typeof import('@dcloudio/uni-app')['onUnhandledRejection']>
readonly onUnload: UnwrapRef<typeof import('@dcloudio/uni-app')['onUnload']>
readonly onUnmounted: UnwrapRef<typeof import('vue')['onUnmounted']>
readonly onUpdated: UnwrapRef<typeof import('vue')['onUpdated']>
readonly provide: UnwrapRef<typeof import('vue')['provide']>
readonly reactive: UnwrapRef<typeof import('vue')['reactive']>
readonly readonly: UnwrapRef<typeof import('vue')['readonly']>
readonly ref: UnwrapRef<typeof import('vue')['ref']>
readonly resolveComponent: UnwrapRef<typeof import('vue')['resolveComponent']>
readonly shallowReactive: UnwrapRef<typeof import('vue')['shallowReactive']>
readonly shallowReadonly: UnwrapRef<typeof import('vue')['shallowReadonly']>
readonly shallowRef: UnwrapRef<typeof import('vue')['shallowRef']>
readonly toRaw: UnwrapRef<typeof import('vue')['toRaw']>
readonly toRef: UnwrapRef<typeof import('vue')['toRef']>
readonly toRefs: UnwrapRef<typeof import('vue')['toRefs']>
readonly toValue: UnwrapRef<typeof import('vue')['toValue']>
readonly triggerRef: UnwrapRef<typeof import('vue')['triggerRef']>
readonly unref: UnwrapRef<typeof import('vue')['unref']>
readonly useAttrs: UnwrapRef<typeof import('vue')['useAttrs']>
readonly useCssModule: UnwrapRef<typeof import('vue')['useCssModule']>
readonly useCssVars: UnwrapRef<typeof import('vue')['useCssVars']>
readonly useRequest: UnwrapRef<typeof import('../hooks/useRequest')['default']>
readonly useSlots: UnwrapRef<typeof import('vue')['useSlots']>
readonly useUpload2: UnwrapRef<typeof import('../hooks/useUpload2')['default']>
readonly useUpload: UnwrapRef<typeof import('../hooks/useUpload')['default']>
readonly watch: UnwrapRef<typeof import('vue')['watch']>
readonly watchEffect: UnwrapRef<typeof import('vue')['watchEffect']>
readonly watchPostEffect: UnwrapRef<typeof import('vue')['watchPostEffect']>
readonly watchSyncEffect: UnwrapRef<typeof import('vue')['watchSyncEffect']>
}
}

0
src/uni_modules/.gitkeep Normal file
View File

View File

@ -41,6 +41,7 @@ export const http = <T>(options: CustomRequestOptions) => {
}) })
}) })
} }
/** /**
* GET * GET
* @param url * @param url
@ -74,3 +75,6 @@ export const httpPost = <T>(
method: 'POST', method: 'POST',
}) })
} }
http.get = httpGet
http.post = httpPost

View File

@ -1,16 +1,19 @@
import pagesJson from '@/pages.json' // @ts-expect-error import json file
import { pages, subPackages, tabBar } from '@/pages.json'
console.log(pagesJson)
/** 判断当前页面是否是tabbar页 */ /** 判断当前页面是否是tabbar页 */
export const getIsTabbar = () => { export const getIsTabbar = () => {
if (!Object.keys(pagesJson).includes('tabBar')) { if (!tabBar) {
return false return false
} }
const pages = getCurrentPages() if (!tabBar.list.length) {
const lastPage = pages.at(-1) // 通常有tabBar的话list不能有空且至少有2个元素这里其实不用处理
return false
}
// getCurrentPages() 至少有1个元素所以不再额外判断
const lastPage = getCurrentPages().at(-1)
const currPath = lastPage.route 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 * redirectPath /pages/demo/base/route-interceptor
*/ */
export const currRoute = () => { export const currRoute = () => {
const pages = getCurrentPages() // getCurrentPages() 至少有1个元素所以不再额外判断
console.log('pages:', pages) const lastPage = getCurrentPages().at(-1)
const lastPage = pages.at(-1)
const currRoute = (lastPage as any).$page const currRoute = (lastPage as any).$page
// console.log('lastPage.$page:', currRoute) // console.log('lastPage.$page:', currRoute)
// console.log('lastPage.$page.fullpath:', currRoute.fullPath) // console.log('lastPage.$page.fullpath:', currRoute.fullPath)
@ -66,8 +67,8 @@ export const getUrlObj = (url: string) => {
*/ */
export const getAllPages = (key = 'needLogin') => { export const getAllPages = (key = 'needLogin') => {
// 这里处理主包 // 这里处理主包
const pages = [ const mainPages = [
...pagesJson.pages ...pages
.filter((page) => !key || page[key]) .filter((page) => !key || page[key])
.map((page) => ({ .map((page) => ({
...page, ...page,
@ -76,7 +77,7 @@ export const getAllPages = (key = 'needLogin') => {
] ]
// 这里处理分包 // 这里处理分包
const subPages: any[] = [] const subPages: any[] = []
pagesJson.subPackages.forEach((subPageObj) => { subPackages.forEach((subPageObj) => {
// console.log(subPageObj) // console.log(subPageObj)
const { root } = 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) console.log(`getAllPages by ${key} result: `, result)
return result return result
} }

View File

@ -110,13 +110,13 @@ export default ({ command, mode }) => {
hmr: true, hmr: true,
port: Number.parseInt(VITE_APP_PORT, 10), port: Number.parseInt(VITE_APP_PORT, 10),
// 仅 H5 端生效其他端不生效其他端走build不走devServer) // 仅 H5 端生效其他端不生效其他端走build不走devServer)
proxy: { // proxy: {
'/api': { // '/api': {
target: VITE_SERVER_BASEURL, // target: VITE_SERVER_BASEURL,
changeOrigin: true, // changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, ''), // rewrite: (path) => path.replace(/^\/api/, ''),
}, // },
}, // },
}, },
build: { build: {
// 方便非h5端调试 // 方便非h5端调试