提交 70a16728 authored 作者: 王鹏飞's avatar 王鹏飞

chore: update

上级 8522d69a
{
"globals": {
"$": true,
"$$": true,
"$computed": true,
"$customRef": true,
"$ref": true,
"$shallowRef": true,
"$toRef": true,
"asyncComputed": true,
"autoResetRef": true,
"computed": true,
"computedAsync": true,
"computedEager": true,
"computedInject": true,
"computedWithControl": true,
"controlledComputed": true,
"controlledRef": true,
"createApp": true,
"createEventHook": true,
"createGlobalState": true,
"createInjectionState": true,
"createReactiveFn": true,
"createSharedComposable": true,
"createUnrefFn": true,
"customRef": true,
"debouncedRef": true,
"debouncedWatch": true,
"defineAsyncComponent": true,
"defineComponent": true,
"eagerComputed": true,
"effectScope": true,
"EffectScope": true,
"extendRef": true,
"getCurrentInstance": true,
"getCurrentScope": true,
"h": true,
"ignorableWatch": true,
"inject": true,
"isDefined": true,
"isReadonly": true,
"isRef": true,
"logicAnd": true,
"logicNot": true,
"logicOr": true,
"makeDestructurable": true,
"markRaw": true,
"nextTick": true,
"onActivated": true,
"onBeforeMount": true,
"onBeforeUnmount": true,
"onBeforeUpdate": true,
"onClickOutside": true,
"onDeactivated": true,
"onErrorCaptured": true,
"onKeyStroke": true,
"onLongPress": true,
"onMounted": true,
"onRenderTracked": true,
"onRenderTriggered": true,
"onScopeDispose": true,
"onServerPrefetch": true,
"onStartTyping": true,
"onUnmounted": true,
"onUpdated": true,
"pausableWatch": true,
"provide": true,
"reactify": true,
"reactifyObject": true,
"reactive": true,
"reactiveComputed": true,
"reactiveOmit": true,
"reactivePick": true,
"readonly": true,
"ref": true,
"refAutoReset": true,
"refDebounced": true,
"refDefault": true,
"refThrottled": true,
"refWithControl": true,
"resolveComponent": true,
"shallowReactive": true,
"shallowReadonly": true,
"shallowRef": true,
"syncRef": true,
"syncRefs": true,
"templateRef": true,
"throttledRef": true,
"throttledWatch": true,
"toRaw": true,
"toReactive": true,
"toRef": true,
"toRefs": true,
"triggerRef": true,
"tryOnBeforeMount": true,
"tryOnBeforeUnmount": true,
"tryOnMounted": true,
"tryOnScopeDispose": true,
"tryOnUnmounted": true,
"unref": true,
"unrefElement": true,
"until": true,
"useActiveElement": true,
"useAsyncQueue": true,
"useAsyncState": true,
"useAttrs": true,
"useBase64": true,
"useBattery": true,
"useBreakpoints": true,
"useBroadcastChannel": true,
"useBrowserLocation": true,
"useCached": true,
"useClamp": true,
"useClipboard": true,
"useColorMode": true,
"useConfirmDialog": true,
"useCounter": true,
"useCssModule": true,
"useCssVar": true,
"useCssVars": true,
"useCurrentElement": true,
"useCycleList": true,
"useDark": true,
"useDateFormat": true,
"useDebounce": true,
"useDebouncedRefHistory": true,
"useDebounceFn": true,
"useDeviceMotion": true,
"useDeviceOrientation": true,
"useDevicePixelRatio": true,
"useDevicesList": true,
"useDisplayMedia": true,
"useDocumentVisibility": true,
"useDraggable": true,
"useElementBounding": true,
"useElementByPoint": true,
"useElementHover": true,
"useElementSize": true,
"useElementVisibility": true,
"useEventBus": true,
"useEventListener": true,
"useEventSource": true,
"useEyeDropper": true,
"useFavicon": true,
"useFetch": true,
"useFileSystemAccess": true,
"useFocus": true,
"useFocusWithin": true,
"useFps": true,
"useFullscreen": true,
"useGamepad": true,
"useGeolocation": true,
"useIdle": true,
"useInfiniteScroll": true,
"useIntersectionObserver": true,
"useInterval": true,
"useIntervalFn": true,
"useKeyModifier": true,
"useLastChanged": true,
"useLocalStorage": true,
"useMagicKeys": true,
"useManualRefHistory": true,
"useMediaControls": true,
"useMediaQuery": true,
"useMemoize": true,
"useMemory": true,
"useMounted": true,
"useMouse": true,
"useMouseInElement": true,
"useMousePressed": true,
"useMutationObserver": true,
"useNavigatorLanguage": true,
"useNetwork": true,
"useNow": true,
"useOffsetPagination": true,
"useOnline": true,
"usePageLeave": true,
"useParallax": true,
"usePermission": true,
"usePointer": true,
"usePointerSwipe": true,
"usePreferredColorScheme": true,
"usePreferredDark": true,
"usePreferredLanguages": true,
"useRafFn": true,
"useRefHistory": true,
"useResizeObserver": true,
"useRoute": true,
"useRouter": true,
"useScreenOrientation": true,
"useScreenSafeArea": true,
"useScriptTag": true,
"useScroll": true,
"useScrollLock": true,
"useSessionStorage": true,
"useShare": true,
"useSlots": true,
"useSpeechRecognition": true,
"useSpeechSynthesis": true,
"useStorage": true,
"useStorageAsync": true,
"useStyleTag": true,
"useSwipe": true,
"useTemplateRefsList": true,
"useTextSelection": true,
"useThrottle": true,
"useThrottledRefHistory": true,
"useThrottleFn": true,
"useTimeAgo": true,
"useTimeout": true,
"useTimeoutFn": true,
"useTimeoutPoll": true,
"useTimestamp": true,
"useTitle": true,
"useToggle": true,
"useTransition": true,
"useUrlSearchParams": true,
"useUserMedia": true,
"useVibrate": true,
"useVirtualList": true,
"useVModel": true,
"useVModels": true,
"useWakeLock": true,
"useWebNotification": true,
"useWebSocket": true,
"useWebWorker": true,
"useWebWorkerFn": true,
"useWindowFocus": true,
"useWindowScroll": true,
"useWindowSize": true,
"watch": true,
"watchAtMost": true,
"watchDebounced": true,
"watchEffect": true,
"watchIgnorable": true,
"watchOnce": true,
"watchPausable": true,
"watchThrottled": true,
"watchWithFilter": true,
"whenever": true
}
}
\ No newline at end of file
...@@ -3,12 +3,20 @@ require('@rushstack/eslint-patch/modern-module-resolution') ...@@ -3,12 +3,20 @@ require('@rushstack/eslint-patch/modern-module-resolution')
module.exports = { module.exports = {
root: true, root: true,
extends: ['plugin:vue/vue3-essential', 'eslint:recommended', '@vue/eslint-config-typescript/recommended'], extends: [
'plugin:vue/vue3-essential',
'eslint:recommended',
'@vue/eslint-config-typescript/recommended',
'./.eslintrc-auto-import.json'
],
env: { env: {
'vue/setup-compiler-macros': true 'vue/setup-compiler-macros': true
}, },
rules: { rules: {
'vue/multi-word-component-names': 'off', 'vue/multi-word-component-names': 'off',
'@typescript-eslint/no-explicit-any': 'off' '@typescript-eslint/no-explicit-any': 'off'
},
globals: {
wx: true
} }
} }
// Generated by 'unplugin-auto-import'
// We suggest you to commit this file into source control
declare global {
const $: typeof import('vue/macros')['$']
const $$: typeof import('vue/macros')['$$']
const $computed: typeof import('vue/macros')['$computed']
const $customRef: typeof import('vue/macros')['$customRef']
const $ref: typeof import('vue/macros')['$ref']
const $shallowRef: typeof import('vue/macros')['$shallowRef']
const $toRef: typeof import('vue/macros')['$toRef']
const asyncComputed: typeof import('@vueuse/core')['asyncComputed']
const autoResetRef: typeof import('@vueuse/core')['autoResetRef']
const computed: typeof import('vue')['computed']
const computedAsync: typeof import('@vueuse/core')['computedAsync']
const computedEager: typeof import('@vueuse/core')['computedEager']
const computedInject: typeof import('@vueuse/core')['computedInject']
const computedWithControl: typeof import('@vueuse/core')['computedWithControl']
const controlledComputed: typeof import('@vueuse/core')['controlledComputed']
const controlledRef: typeof import('@vueuse/core')['controlledRef']
const createApp: typeof import('vue')['createApp']
const createEventHook: typeof import('@vueuse/core')['createEventHook']
const createGlobalState: typeof import('@vueuse/core')['createGlobalState']
const createInjectionState: typeof import('@vueuse/core')['createInjectionState']
const createReactiveFn: typeof import('@vueuse/core')['createReactiveFn']
const createSharedComposable: typeof import('@vueuse/core')['createSharedComposable']
const createUnrefFn: typeof import('@vueuse/core')['createUnrefFn']
const customRef: typeof import('vue')['customRef']
const debouncedRef: typeof import('@vueuse/core')['debouncedRef']
const debouncedWatch: typeof import('@vueuse/core')['debouncedWatch']
const defineAsyncComponent: typeof import('vue')['defineAsyncComponent']
const defineComponent: typeof import('vue')['defineComponent']
const eagerComputed: typeof import('@vueuse/core')['eagerComputed']
const effectScope: typeof import('vue')['effectScope']
const EffectScope: typeof import('vue')['EffectScope']
const extendRef: typeof import('@vueuse/core')['extendRef']
const getCurrentInstance: typeof import('vue')['getCurrentInstance']
const getCurrentScope: typeof import('vue')['getCurrentScope']
const h: typeof import('vue')['h']
const ignorableWatch: typeof import('@vueuse/core')['ignorableWatch']
const inject: typeof import('vue')['inject']
const isDefined: typeof import('@vueuse/core')['isDefined']
const isReadonly: typeof import('vue')['isReadonly']
const isRef: typeof import('vue')['isRef']
const logicAnd: typeof import('@vueuse/core')['logicAnd']
const logicNot: typeof import('@vueuse/core')['logicNot']
const logicOr: typeof import('@vueuse/core')['logicOr']
const makeDestructurable: typeof import('@vueuse/core')['makeDestructurable']
const markRaw: typeof import('vue')['markRaw']
const nextTick: typeof import('vue')['nextTick']
const onActivated: typeof import('vue')['onActivated']
const onBeforeMount: typeof import('vue')['onBeforeMount']
const onBeforeUnmount: typeof import('vue')['onBeforeUnmount']
const onBeforeUpdate: typeof import('vue')['onBeforeUpdate']
const onClickOutside: typeof import('@vueuse/core')['onClickOutside']
const onDeactivated: typeof import('vue')['onDeactivated']
const onErrorCaptured: typeof import('vue')['onErrorCaptured']
const onKeyStroke: typeof import('@vueuse/core')['onKeyStroke']
const onLongPress: typeof import('@vueuse/core')['onLongPress']
const onMounted: typeof import('vue')['onMounted']
const onRenderTracked: typeof import('vue')['onRenderTracked']
const onRenderTriggered: typeof import('vue')['onRenderTriggered']
const onScopeDispose: typeof import('vue')['onScopeDispose']
const onServerPrefetch: typeof import('vue')['onServerPrefetch']
const onStartTyping: typeof import('@vueuse/core')['onStartTyping']
const onUnmounted: typeof import('vue')['onUnmounted']
const onUpdated: typeof import('vue')['onUpdated']
const pausableWatch: typeof import('@vueuse/core')['pausableWatch']
const provide: typeof import('vue')['provide']
const reactify: typeof import('@vueuse/core')['reactify']
const reactifyObject: typeof import('@vueuse/core')['reactifyObject']
const reactive: typeof import('vue')['reactive']
const reactiveComputed: typeof import('@vueuse/core')['reactiveComputed']
const reactiveOmit: typeof import('@vueuse/core')['reactiveOmit']
const reactivePick: typeof import('@vueuse/core')['reactivePick']
const readonly: typeof import('vue')['readonly']
const ref: typeof import('vue')['ref']
const refAutoReset: typeof import('@vueuse/core')['refAutoReset']
const refDebounced: typeof import('@vueuse/core')['refDebounced']
const refDefault: typeof import('@vueuse/core')['refDefault']
const refThrottled: typeof import('@vueuse/core')['refThrottled']
const refWithControl: typeof import('@vueuse/core')['refWithControl']
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 syncRef: typeof import('@vueuse/core')['syncRef']
const syncRefs: typeof import('@vueuse/core')['syncRefs']
const templateRef: typeof import('@vueuse/core')['templateRef']
const throttledRef: typeof import('@vueuse/core')['throttledRef']
const throttledWatch: typeof import('@vueuse/core')['throttledWatch']
const toRaw: typeof import('vue')['toRaw']
const toReactive: typeof import('@vueuse/core')['toReactive']
const toRef: typeof import('vue')['toRef']
const toRefs: typeof import('vue')['toRefs']
const triggerRef: typeof import('vue')['triggerRef']
const tryOnBeforeMount: typeof import('@vueuse/core')['tryOnBeforeMount']
const tryOnBeforeUnmount: typeof import('@vueuse/core')['tryOnBeforeUnmount']
const tryOnMounted: typeof import('@vueuse/core')['tryOnMounted']
const tryOnScopeDispose: typeof import('@vueuse/core')['tryOnScopeDispose']
const tryOnUnmounted: typeof import('@vueuse/core')['tryOnUnmounted']
const unref: typeof import('vue')['unref']
const unrefElement: typeof import('@vueuse/core')['unrefElement']
const until: typeof import('@vueuse/core')['until']
const useActiveElement: typeof import('@vueuse/core')['useActiveElement']
const useAsyncQueue: typeof import('@vueuse/core')['useAsyncQueue']
const useAsyncState: typeof import('@vueuse/core')['useAsyncState']
const useAttrs: typeof import('vue')['useAttrs']
const useBase64: typeof import('@vueuse/core')['useBase64']
const useBattery: typeof import('@vueuse/core')['useBattery']
const useBreakpoints: typeof import('@vueuse/core')['useBreakpoints']
const useBroadcastChannel: typeof import('@vueuse/core')['useBroadcastChannel']
const useBrowserLocation: typeof import('@vueuse/core')['useBrowserLocation']
const useCached: typeof import('@vueuse/core')['useCached']
const useClamp: typeof import('@vueuse/core')['useClamp']
const useClipboard: typeof import('@vueuse/core')['useClipboard']
const useColorMode: typeof import('@vueuse/core')['useColorMode']
const useConfirmDialog: typeof import('@vueuse/core')['useConfirmDialog']
const useCounter: typeof import('@vueuse/core')['useCounter']
const useCssModule: typeof import('vue')['useCssModule']
const useCssVar: typeof import('@vueuse/core')['useCssVar']
const useCssVars: typeof import('vue')['useCssVars']
const useCurrentElement: typeof import('@vueuse/core')['useCurrentElement']
const useCycleList: typeof import('@vueuse/core')['useCycleList']
const useDark: typeof import('@vueuse/core')['useDark']
const useDateFormat: typeof import('@vueuse/core')['useDateFormat']
const useDebounce: typeof import('@vueuse/core')['useDebounce']
const useDebouncedRefHistory: typeof import('@vueuse/core')['useDebouncedRefHistory']
const useDebounceFn: typeof import('@vueuse/core')['useDebounceFn']
const useDeviceMotion: typeof import('@vueuse/core')['useDeviceMotion']
const useDeviceOrientation: typeof import('@vueuse/core')['useDeviceOrientation']
const useDevicePixelRatio: typeof import('@vueuse/core')['useDevicePixelRatio']
const useDevicesList: typeof import('@vueuse/core')['useDevicesList']
const useDisplayMedia: typeof import('@vueuse/core')['useDisplayMedia']
const useDocumentVisibility: typeof import('@vueuse/core')['useDocumentVisibility']
const useDraggable: typeof import('@vueuse/core')['useDraggable']
const useElementBounding: typeof import('@vueuse/core')['useElementBounding']
const useElementByPoint: typeof import('@vueuse/core')['useElementByPoint']
const useElementHover: typeof import('@vueuse/core')['useElementHover']
const useElementSize: typeof import('@vueuse/core')['useElementSize']
const useElementVisibility: typeof import('@vueuse/core')['useElementVisibility']
const useEventBus: typeof import('@vueuse/core')['useEventBus']
const useEventListener: typeof import('@vueuse/core')['useEventListener']
const useEventSource: typeof import('@vueuse/core')['useEventSource']
const useEyeDropper: typeof import('@vueuse/core')['useEyeDropper']
const useFavicon: typeof import('@vueuse/core')['useFavicon']
const useFetch: typeof import('@vueuse/core')['useFetch']
const useFileSystemAccess: typeof import('@vueuse/core')['useFileSystemAccess']
const useFocus: typeof import('@vueuse/core')['useFocus']
const useFocusWithin: typeof import('@vueuse/core')['useFocusWithin']
const useFps: typeof import('@vueuse/core')['useFps']
const useFullscreen: typeof import('@vueuse/core')['useFullscreen']
const useGamepad: typeof import('@vueuse/core')['useGamepad']
const useGeolocation: typeof import('@vueuse/core')['useGeolocation']
const useIdle: typeof import('@vueuse/core')['useIdle']
const useInfiniteScroll: typeof import('@vueuse/core')['useInfiniteScroll']
const useIntersectionObserver: typeof import('@vueuse/core')['useIntersectionObserver']
const useInterval: typeof import('@vueuse/core')['useInterval']
const useIntervalFn: typeof import('@vueuse/core')['useIntervalFn']
const useKeyModifier: typeof import('@vueuse/core')['useKeyModifier']
const useLastChanged: typeof import('@vueuse/core')['useLastChanged']
const useLocalStorage: typeof import('@vueuse/core')['useLocalStorage']
const useMagicKeys: typeof import('@vueuse/core')['useMagicKeys']
const useManualRefHistory: typeof import('@vueuse/core')['useManualRefHistory']
const useMediaControls: typeof import('@vueuse/core')['useMediaControls']
const useMediaQuery: typeof import('@vueuse/core')['useMediaQuery']
const useMemoize: typeof import('@vueuse/core')['useMemoize']
const useMemory: typeof import('@vueuse/core')['useMemory']
const useMounted: typeof import('@vueuse/core')['useMounted']
const useMouse: typeof import('@vueuse/core')['useMouse']
const useMouseInElement: typeof import('@vueuse/core')['useMouseInElement']
const useMousePressed: typeof import('@vueuse/core')['useMousePressed']
const useMutationObserver: typeof import('@vueuse/core')['useMutationObserver']
const useNavigatorLanguage: typeof import('@vueuse/core')['useNavigatorLanguage']
const useNetwork: typeof import('@vueuse/core')['useNetwork']
const useNow: typeof import('@vueuse/core')['useNow']
const useOffsetPagination: typeof import('@vueuse/core')['useOffsetPagination']
const useOnline: typeof import('@vueuse/core')['useOnline']
const usePageLeave: typeof import('@vueuse/core')['usePageLeave']
const useParallax: typeof import('@vueuse/core')['useParallax']
const usePermission: typeof import('@vueuse/core')['usePermission']
const usePointer: typeof import('@vueuse/core')['usePointer']
const usePointerSwipe: typeof import('@vueuse/core')['usePointerSwipe']
const usePreferredColorScheme: typeof import('@vueuse/core')['usePreferredColorScheme']
const usePreferredDark: typeof import('@vueuse/core')['usePreferredDark']
const usePreferredLanguages: typeof import('@vueuse/core')['usePreferredLanguages']
const useRafFn: typeof import('@vueuse/core')['useRafFn']
const useRefHistory: typeof import('@vueuse/core')['useRefHistory']
const useResizeObserver: typeof import('@vueuse/core')['useResizeObserver']
const useRoute: typeof import('vue-router')['useRoute']
const useRouter: typeof import('vue-router')['useRouter']
const useScreenOrientation: typeof import('@vueuse/core')['useScreenOrientation']
const useScreenSafeArea: typeof import('@vueuse/core')['useScreenSafeArea']
const useScriptTag: typeof import('@vueuse/core')['useScriptTag']
const useScroll: typeof import('@vueuse/core')['useScroll']
const useScrollLock: typeof import('@vueuse/core')['useScrollLock']
const useSessionStorage: typeof import('@vueuse/core')['useSessionStorage']
const useShare: typeof import('@vueuse/core')['useShare']
const useSlots: typeof import('vue')['useSlots']
const useSpeechRecognition: typeof import('@vueuse/core')['useSpeechRecognition']
const useSpeechSynthesis: typeof import('@vueuse/core')['useSpeechSynthesis']
const useStorage: typeof import('@vueuse/core')['useStorage']
const useStorageAsync: typeof import('@vueuse/core')['useStorageAsync']
const useStyleTag: typeof import('@vueuse/core')['useStyleTag']
const useSwipe: typeof import('@vueuse/core')['useSwipe']
const useTemplateRefsList: typeof import('@vueuse/core')['useTemplateRefsList']
const useTextSelection: typeof import('@vueuse/core')['useTextSelection']
const useThrottle: typeof import('@vueuse/core')['useThrottle']
const useThrottledRefHistory: typeof import('@vueuse/core')['useThrottledRefHistory']
const useThrottleFn: typeof import('@vueuse/core')['useThrottleFn']
const useTimeAgo: typeof import('@vueuse/core')['useTimeAgo']
const useTimeout: typeof import('@vueuse/core')['useTimeout']
const useTimeoutFn: typeof import('@vueuse/core')['useTimeoutFn']
const useTimeoutPoll: typeof import('@vueuse/core')['useTimeoutPoll']
const useTimestamp: typeof import('@vueuse/core')['useTimestamp']
const useTitle: typeof import('@vueuse/core')['useTitle']
const useToggle: typeof import('@vueuse/core')['useToggle']
const useTransition: typeof import('@vueuse/core')['useTransition']
const useUrlSearchParams: typeof import('@vueuse/core')['useUrlSearchParams']
const useUserMedia: typeof import('@vueuse/core')['useUserMedia']
const useVibrate: typeof import('@vueuse/core')['useVibrate']
const useVirtualList: typeof import('@vueuse/core')['useVirtualList']
const useVModel: typeof import('@vueuse/core')['useVModel']
const useVModels: typeof import('@vueuse/core')['useVModels']
const useWakeLock: typeof import('@vueuse/core')['useWakeLock']
const useWebNotification: typeof import('@vueuse/core')['useWebNotification']
const useWebSocket: typeof import('@vueuse/core')['useWebSocket']
const useWebWorker: typeof import('@vueuse/core')['useWebWorker']
const useWebWorkerFn: typeof import('@vueuse/core')['useWebWorkerFn']
const useWindowFocus: typeof import('@vueuse/core')['useWindowFocus']
const useWindowScroll: typeof import('@vueuse/core')['useWindowScroll']
const useWindowSize: typeof import('@vueuse/core')['useWindowSize']
const watch: typeof import('vue')['watch']
const watchAtMost: typeof import('@vueuse/core')['watchAtMost']
const watchDebounced: typeof import('@vueuse/core')['watchDebounced']
const watchEffect: typeof import('vue')['watchEffect']
const watchIgnorable: typeof import('@vueuse/core')['watchIgnorable']
const watchOnce: typeof import('@vueuse/core')['watchOnce']
const watchPausable: typeof import('@vueuse/core')['watchPausable']
const watchThrottled: typeof import('@vueuse/core')['watchThrottled']
const watchWithFilter: typeof import('@vueuse/core')['watchWithFilter']
const whenever: typeof import('@vueuse/core')['whenever']
}
export {}
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover"
/> />
<title>PRP私享星球</title> <title>PRP私享星球</title>
<script src="https://res2.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
<script> <script>
;(function (win, doc) { ;(function (win, doc) {
function resizeRoot() { function resizeRoot() {
......
...@@ -13,35 +13,36 @@ ...@@ -13,35 +13,36 @@
"deploy": "node ./deploy.js" "deploy": "node ./deploy.js"
}, },
"dependencies": { "dependencies": {
"@vueuse/core": "^8.2.6", "@vueuse/core": "^8.4.2",
"axios": "^0.26.1", "axios": "^0.27.2",
"blueimp-md5": "^2.19.0", "blueimp-md5": "^2.19.0",
"lodash-es": "^4.17.21", "lodash-es": "^4.17.21",
"pinia": "^2.0.13", "pinia": "^2.0.14",
"qs": "^6.10.3", "qs": "^6.10.3",
"sass": "^1.50.1", "sass": "^1.51.0",
"swiper": "^8.1.1", "swiper": "^8.1.4",
"vant": "^3.4.8", "vant": "^3.4.9",
"vue": "^3.2.33", "vue": "^3.2.33",
"vue-infinite-scroll": "^2.0.2", "vue-infinite-scroll": "^2.0.2",
"vue-router": "^4.0.14" "vue-router": "^4.0.15"
}, },
"devDependencies": { "devDependencies": {
"@rushstack/eslint-patch": "^1.1.3", "@rushstack/eslint-patch": "^1.1.3",
"@types/blueimp-md5": "^2.18.0", "@types/blueimp-md5": "^2.18.0",
"@types/lodash-es": "^4.17.6", "@types/lodash-es": "^4.17.6",
"@types/node": "^17.0.25", "@types/node": "^17.0.32",
"@types/qs": "^6.9.7", "@types/qs": "^6.9.7",
"@vitejs/plugin-vue": "^2.3.1", "@vitejs/plugin-vue": "^2.3.3",
"@vue/eslint-config-typescript": "^10.0.0", "@vue/eslint-config-typescript": "^10.0.0",
"@vue/tsconfig": "^0.1.3", "@vue/tsconfig": "^0.1.3",
"ali-oss": "^6.17.1", "ali-oss": "^6.17.1",
"chalk": "^5.0.1", "chalk": "^5.0.1",
"eslint": "^8.13.0", "eslint": "^8.15.0",
"eslint-plugin-vue": "^8.6.0", "eslint-plugin-vue": "^8.7.1",
"typescript": "~4.6.3", "typescript": "~4.6.4",
"vite": "^2.9.5", "unplugin-auto-import": "^0.7.1",
"vite": "^2.9.9",
"vite-plugin-checker": "^0.4.6", "vite-plugin-checker": "^0.4.6",
"vue-tsc": "^0.34.7" "vue-tsc": "^0.34.13"
} }
} }
lockfileVersion: 5.3 lockfileVersion: 5.4
specifiers: specifiers:
'@rushstack/eslint-patch': ^1.1.3 '@rushstack/eslint-patch': ^1.1.3
'@types/blueimp-md5': ^2.18.0 '@types/blueimp-md5': ^2.18.0
'@types/lodash-es': ^4.17.6 '@types/lodash-es': ^4.17.6
'@types/node': ^17.0.25 '@types/node': ^17.0.32
'@types/qs': ^6.9.7 '@types/qs': ^6.9.7
'@vitejs/plugin-vue': ^2.3.1 '@vitejs/plugin-vue': ^2.3.3
'@vue/eslint-config-typescript': ^10.0.0 '@vue/eslint-config-typescript': ^10.0.0
'@vue/tsconfig': ^0.1.3 '@vue/tsconfig': ^0.1.3
'@vueuse/core': ^8.2.6 '@vueuse/core': ^8.4.2
ali-oss: ^6.17.1 ali-oss: ^6.17.1
axios: ^0.26.1 axios: ^0.27.2
blueimp-md5: ^2.19.0 blueimp-md5: ^2.19.0
chalk: ^5.0.1 chalk: ^5.0.1
eslint: ^8.13.0 eslint: ^8.15.0
eslint-plugin-vue: ^8.6.0 eslint-plugin-vue: ^8.7.1
lodash-es: ^4.17.21 lodash-es: ^4.17.21
pinia: ^2.0.13 pinia: ^2.0.14
qs: ^6.10.3 qs: ^6.10.3
sass: ^1.50.1 sass: ^1.51.0
swiper: ^8.1.1 swiper: ^8.1.4
typescript: ~4.6.3 typescript: ~4.6.4
vant: ^3.4.8 unplugin-auto-import: ^0.7.1
vite: ^2.9.5 vant: ^3.4.9
vite: ^2.9.9
vite-plugin-checker: ^0.4.6 vite-plugin-checker: ^0.4.6
vue: ^3.2.33 vue: ^3.2.33
vue-infinite-scroll: ^2.0.2 vue-infinite-scroll: ^2.0.2
vue-router: ^4.0.14 vue-router: ^4.0.15
vue-tsc: ^0.34.7 vue-tsc: ^0.34.13
dependencies: dependencies:
'@vueuse/core': 8.2.6_vue@3.2.33 '@vueuse/core': 8.4.2_vue@3.2.33
axios: 0.26.1 axios: 0.27.2
blueimp-md5: 2.19.0 blueimp-md5: 2.19.0
lodash-es: 4.17.21 lodash-es: 4.17.21
pinia: 2.0.13_typescript@4.6.3+vue@3.2.33 pinia: 2.0.14_ytvqwwdyss532bvoq2clv4ed5m
qs: 6.10.3 qs: 6.10.3
sass: 1.50.1 sass: 1.51.0
swiper: 8.1.1 swiper: 8.1.4
vant: 3.4.8_vue@3.2.33 vant: 3.4.9_vue@3.2.33
vue: 3.2.33 vue: 3.2.33
vue-infinite-scroll: 2.0.2 vue-infinite-scroll: 2.0.2
vue-router: 4.0.14_vue@3.2.33 vue-router: 4.0.15_vue@3.2.33
devDependencies: devDependencies:
'@rushstack/eslint-patch': 1.1.3 '@rushstack/eslint-patch': 1.1.3
'@types/blueimp-md5': 2.18.0 '@types/blueimp-md5': 2.18.0
'@types/lodash-es': 4.17.6 '@types/lodash-es': 4.17.6
'@types/node': 17.0.25 '@types/node': 17.0.32
'@types/qs': 6.9.7 '@types/qs': 6.9.7
'@vitejs/plugin-vue': 2.3.1_vite@2.9.5+vue@3.2.33 '@vitejs/plugin-vue': 2.3.3_vite@2.9.9+vue@3.2.33
'@vue/eslint-config-typescript': 10.0.0_a62cbc2f4797496d74696b1f6538012a '@vue/eslint-config-typescript': 10.0.0_p4if3q7l2moozcc73o6tbvomjq
'@vue/tsconfig': 0.1.3_@types+node@17.0.25 '@vue/tsconfig': 0.1.3_@types+node@17.0.32
ali-oss: 6.17.1 ali-oss: 6.17.1
chalk: 5.0.1 chalk: 5.0.1
eslint: 8.13.0 eslint: 8.15.0
eslint-plugin-vue: 8.6.0_eslint@8.13.0 eslint-plugin-vue: 8.7.1_eslint@8.15.0
typescript: 4.6.3 typescript: 4.6.4
vite: 2.9.5_sass@1.50.1 unplugin-auto-import: 0.7.1_y44jlmyuqbnkfkqeyjo67naj6e
vite-plugin-checker: 0.4.6_vite@2.9.5 vite: 2.9.9_sass@1.51.0
vue-tsc: 0.34.7_typescript@4.6.3 vite-plugin-checker: 0.4.6_vite@2.9.9
vue-tsc: 0.34.13_typescript@4.6.4
packages: packages:
/@antfu/utils/0.5.1:
resolution: {integrity: sha512-8Afo0+xvYe1K8Wm4xHTymfTkpzy36aaqDvhXIayUwl+mecMG9Xzl3XjXa6swG6Bk8FBeQ646RyvmsYt6+2Be9g==}
dev: true
/@babel/code-frame/7.16.7: /@babel/code-frame/7.16.7:
resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==} resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
...@@ -90,13 +96,13 @@ packages: ...@@ -90,13 +96,13 @@ packages:
engines: {node: '>=6.0.0'} engines: {node: '>=6.0.0'}
hasBin: true hasBin: true
/@eslint/eslintrc/1.2.1: /@eslint/eslintrc/1.2.3:
resolution: {integrity: sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==} resolution: {integrity: sha512-uGo44hIwoLGNyduRpjdEpovcbMdd+Nv7amtmJxnKmI8xj6yd5LncmSwDa5NgX/41lIFJtkjD6YdVfgEzPfJ5UA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies: dependencies:
ajv: 6.12.6 ajv: 6.12.6
debug: 4.3.4 debug: 4.3.4
espree: 9.3.1 espree: 9.3.2
globals: 13.13.0 globals: 13.13.0
ignore: 5.2.0 ignore: 5.2.0
import-fresh: 3.3.0 import-fresh: 3.3.0
...@@ -147,6 +153,14 @@ packages: ...@@ -147,6 +153,14 @@ packages:
resolution: {integrity: sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw==} resolution: {integrity: sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw==}
dev: false dev: false
/@rollup/pluginutils/4.2.1:
resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
engines: {node: '>= 8.0.0'}
dependencies:
estree-walker: 2.0.2
picomatch: 2.3.1
dev: true
/@rushstack/eslint-patch/1.1.3: /@rushstack/eslint-patch/1.1.3:
resolution: {integrity: sha512-WiBSI6JBIhC6LRIsB2Kwh8DsGTlbBU+mLRxJmAe3LjHTdkDpwIbEOZgoXBbZilk/vlfjK8i6nKRAvIRn1XaIMw==} resolution: {integrity: sha512-WiBSI6JBIhC6LRIsB2Kwh8DsGTlbBU+mLRxJmAe3LjHTdkDpwIbEOZgoXBbZilk/vlfjK8i6nKRAvIRn1XaIMw==}
dev: true dev: true
...@@ -174,15 +188,15 @@ packages: ...@@ -174,15 +188,15 @@ packages:
resolution: {integrity: sha512-n3tyKthHJbkiWhDZs3DkhkCzt2MexYHXlX0td5iMplyfwketaOeKboEVBqzceH7juqvEg3q5oUoBFxSLu7zFag==} resolution: {integrity: sha512-n3tyKthHJbkiWhDZs3DkhkCzt2MexYHXlX0td5iMplyfwketaOeKboEVBqzceH7juqvEg3q5oUoBFxSLu7zFag==}
dev: true dev: true
/@types/node/17.0.25: /@types/node/17.0.32:
resolution: {integrity: sha512-wANk6fBrUwdpY4isjWrKTufkrXdu1D2YHCot2fD/DfWxF5sMrVSA+KN7ydckvaTCh0HiqX9IVl0L5/ZoXg5M7w==} resolution: {integrity: sha512-eAIcfAvhf/BkHcf4pkLJ7ECpBAhh9kcxRBpip9cTiO+hf+aJrsxYxBeS6OXvOd9WqNAJmavXVpZvY1rBjNsXmw==}
dev: true dev: true
/@types/qs/6.9.7: /@types/qs/6.9.7:
resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==}
dev: true dev: true
/@typescript-eslint/eslint-plugin/5.19.0_f34adc8488d2e4f014fe61432d70cbf2: /@typescript-eslint/eslint-plugin/5.19.0_l5goh7id5fhepy46jcfqi6hchi:
resolution: {integrity: sha512-w59GpFqDYGnWFim9p6TGJz7a3qWeENJuAKCqjGSx+Hq/bwq3RZwXYqy98KIfN85yDqz9mq6QXiY5h0FjGQLyEg==} resolution: {integrity: sha512-w59GpFqDYGnWFim9p6TGJz7a3qWeENJuAKCqjGSx+Hq/bwq3RZwXYqy98KIfN85yDqz9mq6QXiY5h0FjGQLyEg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies: peerDependencies:
...@@ -193,23 +207,23 @@ packages: ...@@ -193,23 +207,23 @@ packages:
typescript: typescript:
optional: true optional: true
dependencies: dependencies:
'@typescript-eslint/parser': 5.19.0_eslint@8.13.0+typescript@4.6.3 '@typescript-eslint/parser': 5.19.0_hcfsmds2fshutdssjqluwm76uu
'@typescript-eslint/scope-manager': 5.19.0 '@typescript-eslint/scope-manager': 5.19.0
'@typescript-eslint/type-utils': 5.19.0_eslint@8.13.0+typescript@4.6.3 '@typescript-eslint/type-utils': 5.19.0_hcfsmds2fshutdssjqluwm76uu
'@typescript-eslint/utils': 5.19.0_eslint@8.13.0+typescript@4.6.3 '@typescript-eslint/utils': 5.19.0_hcfsmds2fshutdssjqluwm76uu
debug: 4.3.4 debug: 4.3.4
eslint: 8.13.0 eslint: 8.15.0
functional-red-black-tree: 1.0.1 functional-red-black-tree: 1.0.1
ignore: 5.2.0 ignore: 5.2.0
regexpp: 3.2.0 regexpp: 3.2.0
semver: 7.3.6 semver: 7.3.6
tsutils: 3.21.0_typescript@4.6.3 tsutils: 3.21.0_typescript@4.6.4
typescript: 4.6.3 typescript: 4.6.4
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
/@typescript-eslint/parser/5.19.0_eslint@8.13.0+typescript@4.6.3: /@typescript-eslint/parser/5.19.0_hcfsmds2fshutdssjqluwm76uu:
resolution: {integrity: sha512-yhktJjMCJX8BSBczh1F/uY8wGRYrBeyn84kH6oyqdIJwTGKmzX5Qiq49LRQ0Jh0LXnWijEziSo6BRqny8nqLVQ==} resolution: {integrity: sha512-yhktJjMCJX8BSBczh1F/uY8wGRYrBeyn84kH6oyqdIJwTGKmzX5Qiq49LRQ0Jh0LXnWijEziSo6BRqny8nqLVQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies: peerDependencies:
...@@ -221,10 +235,10 @@ packages: ...@@ -221,10 +235,10 @@ packages:
dependencies: dependencies:
'@typescript-eslint/scope-manager': 5.19.0 '@typescript-eslint/scope-manager': 5.19.0
'@typescript-eslint/types': 5.19.0 '@typescript-eslint/types': 5.19.0
'@typescript-eslint/typescript-estree': 5.19.0_typescript@4.6.3 '@typescript-eslint/typescript-estree': 5.19.0_typescript@4.6.4
debug: 4.3.4 debug: 4.3.4
eslint: 8.13.0 eslint: 8.15.0
typescript: 4.6.3 typescript: 4.6.4
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
...@@ -237,7 +251,7 @@ packages: ...@@ -237,7 +251,7 @@ packages:
'@typescript-eslint/visitor-keys': 5.19.0 '@typescript-eslint/visitor-keys': 5.19.0
dev: true dev: true
/@typescript-eslint/type-utils/5.19.0_eslint@8.13.0+typescript@4.6.3: /@typescript-eslint/type-utils/5.19.0_hcfsmds2fshutdssjqluwm76uu:
resolution: {integrity: sha512-O6XQ4RI4rQcBGshTQAYBUIGsKqrKeuIOz9v8bckXZnSeXjn/1+BDZndHLe10UplQeJLXDNbaZYrAytKNQO2T4Q==} resolution: {integrity: sha512-O6XQ4RI4rQcBGshTQAYBUIGsKqrKeuIOz9v8bckXZnSeXjn/1+BDZndHLe10UplQeJLXDNbaZYrAytKNQO2T4Q==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies: peerDependencies:
...@@ -247,11 +261,11 @@ packages: ...@@ -247,11 +261,11 @@ packages:
typescript: typescript:
optional: true optional: true
dependencies: dependencies:
'@typescript-eslint/utils': 5.19.0_eslint@8.13.0+typescript@4.6.3 '@typescript-eslint/utils': 5.19.0_hcfsmds2fshutdssjqluwm76uu
debug: 4.3.4 debug: 4.3.4
eslint: 8.13.0 eslint: 8.15.0
tsutils: 3.21.0_typescript@4.6.3 tsutils: 3.21.0_typescript@4.6.4
typescript: 4.6.3 typescript: 4.6.4
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
...@@ -261,7 +275,7 @@ packages: ...@@ -261,7 +275,7 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true dev: true
/@typescript-eslint/typescript-estree/5.19.0_typescript@4.6.3: /@typescript-eslint/typescript-estree/5.19.0_typescript@4.6.4:
resolution: {integrity: sha512-dRPuD4ocXdaE1BM/dNR21elSEUPKaWgowCA0bqJ6YbYkvtrPVEvZ+zqcX5a8ECYn3q5iBSSUcBBD42ubaOp0Hw==} resolution: {integrity: sha512-dRPuD4ocXdaE1BM/dNR21elSEUPKaWgowCA0bqJ6YbYkvtrPVEvZ+zqcX5a8ECYn3q5iBSSUcBBD42ubaOp0Hw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies: peerDependencies:
...@@ -276,13 +290,13 @@ packages: ...@@ -276,13 +290,13 @@ packages:
globby: 11.1.0 globby: 11.1.0
is-glob: 4.0.3 is-glob: 4.0.3
semver: 7.3.6 semver: 7.3.6
tsutils: 3.21.0_typescript@4.6.3 tsutils: 3.21.0_typescript@4.6.4
typescript: 4.6.3 typescript: 4.6.4
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
/@typescript-eslint/utils/5.19.0_eslint@8.13.0+typescript@4.6.3: /@typescript-eslint/utils/5.19.0_hcfsmds2fshutdssjqluwm76uu:
resolution: {integrity: sha512-ZuEckdupXpXamKvFz/Ql8YnePh2ZWcwz7APICzJL985Rp5C2AYcHO62oJzIqNhAMtMK6XvrlBTZeNG8n7gS3lQ==} resolution: {integrity: sha512-ZuEckdupXpXamKvFz/Ql8YnePh2ZWcwz7APICzJL985Rp5C2AYcHO62oJzIqNhAMtMK6XvrlBTZeNG8n7gS3lQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies: peerDependencies:
...@@ -291,10 +305,10 @@ packages: ...@@ -291,10 +305,10 @@ packages:
'@types/json-schema': 7.0.11 '@types/json-schema': 7.0.11
'@typescript-eslint/scope-manager': 5.19.0 '@typescript-eslint/scope-manager': 5.19.0
'@typescript-eslint/types': 5.19.0 '@typescript-eslint/types': 5.19.0
'@typescript-eslint/typescript-estree': 5.19.0_typescript@4.6.3 '@typescript-eslint/typescript-estree': 5.19.0_typescript@4.6.4
eslint: 8.13.0 eslint: 8.15.0
eslint-scope: 5.1.1 eslint-scope: 5.1.1
eslint-utils: 3.0.0_eslint@8.13.0 eslint-utils: 3.0.0_eslint@8.15.0
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
- typescript - typescript
...@@ -322,43 +336,43 @@ packages: ...@@ -322,43 +336,43 @@ packages:
resolution: {integrity: sha512-3z+nywPaV2F5BdJO7RQxWlgfzJeEOmViD2yHMb7Tg+R4NR/7iQskqW8v2Cnv9FWSJgTOSHlcr7UzeLpiTAP4HA==} resolution: {integrity: sha512-3z+nywPaV2F5BdJO7RQxWlgfzJeEOmViD2yHMb7Tg+R4NR/7iQskqW8v2Cnv9FWSJgTOSHlcr7UzeLpiTAP4HA==}
dev: false dev: false
/@vitejs/plugin-vue/2.3.1_vite@2.9.5+vue@3.2.33: /@vitejs/plugin-vue/2.3.3_vite@2.9.9+vue@3.2.33:
resolution: {integrity: sha512-YNzBt8+jt6bSwpt7LP890U1UcTOIZZxfpE5WOJ638PNxSEKOqAi0+FSKS0nVeukfdZ0Ai/H7AFd6k3hayfGZqQ==} resolution: {integrity: sha512-SmQLDyhz+6lGJhPELsBdzXGc+AcaT8stgkbiTFGpXPe8Tl1tJaBw1A6pxDqDuRsVkD8uscrkx3hA7QDOoKYtyw==}
engines: {node: '>=12.0.0'} engines: {node: '>=12.0.0'}
peerDependencies: peerDependencies:
vite: ^2.5.10 vite: ^2.5.10
vue: ^3.2.25 vue: ^3.2.25
dependencies: dependencies:
vite: 2.9.5_sass@1.50.1 vite: 2.9.9_sass@1.51.0
vue: 3.2.33 vue: 3.2.33
dev: true dev: true
/@volar/code-gen/0.34.7: /@volar/code-gen/0.34.13:
resolution: {integrity: sha512-E1N1VGlChXd0D7WPmmjKhtcZdUKNpBFC4BRqfY+7FZGh89FZlw3uG6Nn76/DjMBLVhfCIY9vA8pwWIN1lI8nYw==} resolution: {integrity: sha512-FO1jC3aB514Ydg0yX3Usx+s/hwnKhDI9yfcEuCyJvWLZtcc+DOrWJu4G0MMLG6AdRvn5UbSyec/g5TnevYfY1g==}
dependencies: dependencies:
'@volar/source-map': 0.34.7 '@volar/source-map': 0.34.13
dev: true dev: true
/@volar/source-map/0.34.7: /@volar/source-map/0.34.13:
resolution: {integrity: sha512-KBNcKCWKsY2f965xuuT4dSbt8GR6nHMzb9gi7ucUHtmRQnvrB31BLBvZNQTHMqkbhRmKArDSuIrbUUG9yu0OXQ==} resolution: {integrity: sha512-Cb9rqhA00Q1tgqr2XjckMqlOJlozaBd6R4PndsvTRkGHTwdlv63CvunJGdAh6dXOIDZRKvhplfIJDKS9nDiIIA==}
dev: true dev: true
/@volar/vue-code-gen/0.34.7: /@volar/vue-code-gen/0.34.13:
resolution: {integrity: sha512-vejzO30QrDAEZKguZI8hlAnKhwNoX1INXrOMurlmwCbNft2oEloT+ikFF8QYDz3vWWrdFSsoOKp3BTHyurJ5Nw==} resolution: {integrity: sha512-rNuxyKmv+NW+SbQx6Hx6oQrkAtk7LWc47fiKKt0LZhNPQaNGj7/zhTvpe+aLFCDZw+a6rrH622qi+eovOOAnBA==}
dependencies: dependencies:
'@volar/code-gen': 0.34.7 '@volar/code-gen': 0.34.13
'@volar/source-map': 0.34.7 '@volar/source-map': 0.34.13
'@vue/compiler-core': 3.2.33 '@vue/compiler-core': 3.2.33
'@vue/compiler-dom': 3.2.33 '@vue/compiler-dom': 3.2.33
'@vue/shared': 3.2.33 '@vue/shared': 3.2.33
dev: true dev: true
/@volar/vue-typescript/0.34.7: /@volar/vue-typescript/0.34.13:
resolution: {integrity: sha512-Ebln64LQutjuNs8nk57oFo45JMQVdZKThkNAeFrzaqB0UItazRQpSXet4vHzfV18FMCV3Cc6fEqZ14WZzQAxgQ==} resolution: {integrity: sha512-vfZngBr0fkZSA5BajA8VLTsao7ZES7j5pHch6xV5vjjcuK6GIbxytQjKPq20Q34DMUrvgI6g30yULAc6zSB4rQ==}
dependencies: dependencies:
'@volar/code-gen': 0.34.7 '@volar/code-gen': 0.34.13
'@volar/source-map': 0.34.7 '@volar/source-map': 0.34.13
'@volar/vue-code-gen': 0.34.7 '@volar/vue-code-gen': 0.34.13
'@vue/compiler-sfc': 3.2.33 '@vue/compiler-sfc': 3.2.33
'@vue/reactivity': 3.2.33 '@vue/reactivity': 3.2.33
dev: true dev: true
...@@ -401,18 +415,18 @@ packages: ...@@ -401,18 +415,18 @@ packages:
resolution: {integrity: sha512-IiA0SvDrJEgXvVxjNkHPFfDx6SXw0b/TUkqMcDZWNg9fnCAHbTpoo59YfJ9QLFkwa3raau5vSlRVzMSLDnfdtQ==} resolution: {integrity: sha512-IiA0SvDrJEgXvVxjNkHPFfDx6SXw0b/TUkqMcDZWNg9fnCAHbTpoo59YfJ9QLFkwa3raau5vSlRVzMSLDnfdtQ==}
dev: false dev: false
/@vue/eslint-config-typescript/10.0.0_a62cbc2f4797496d74696b1f6538012a: /@vue/eslint-config-typescript/10.0.0_p4if3q7l2moozcc73o6tbvomjq:
resolution: {integrity: sha512-F94cL8ug3FaYXlCfU5/wiGjk1qeadmoBpRGAOBq+qre3Smdupa59dd6ZJrsfRODpsMPyTG7330juMDsUvpZ3Rw==} resolution: {integrity: sha512-F94cL8ug3FaYXlCfU5/wiGjk1qeadmoBpRGAOBq+qre3Smdupa59dd6ZJrsfRODpsMPyTG7330juMDsUvpZ3Rw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies: peerDependencies:
eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 eslint: ^6.2.0 || ^7.0.0 || ^8.0.0
eslint-plugin-vue: ^8.0.1 eslint-plugin-vue: ^8.0.1
dependencies: dependencies:
'@typescript-eslint/eslint-plugin': 5.19.0_f34adc8488d2e4f014fe61432d70cbf2 '@typescript-eslint/eslint-plugin': 5.19.0_l5goh7id5fhepy46jcfqi6hchi
'@typescript-eslint/parser': 5.19.0_eslint@8.13.0+typescript@4.6.3 '@typescript-eslint/parser': 5.19.0_hcfsmds2fshutdssjqluwm76uu
eslint: 8.13.0 eslint: 8.15.0
eslint-plugin-vue: 8.6.0_eslint@8.13.0 eslint-plugin-vue: 8.7.1_eslint@8.15.0
vue-eslint-parser: 8.3.0_eslint@8.13.0 vue-eslint-parser: 8.3.0_eslint@8.15.0
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
- typescript - typescript
...@@ -460,7 +474,7 @@ packages: ...@@ -460,7 +474,7 @@ packages:
/@vue/shared/3.2.33: /@vue/shared/3.2.33:
resolution: {integrity: sha512-UBc1Pg1T3yZ97vsA2ueER0F6GbJebLHYlEi4ou1H5YL4KWvMOOWwpYo9/QpWq93wxKG6Wo13IY74Hcn/f7c7Bg==} resolution: {integrity: sha512-UBc1Pg1T3yZ97vsA2ueER0F6GbJebLHYlEi4ou1H5YL4KWvMOOWwpYo9/QpWq93wxKG6Wo13IY74Hcn/f7c7Bg==}
/@vue/tsconfig/0.1.3_@types+node@17.0.25: /@vue/tsconfig/0.1.3_@types+node@17.0.32:
resolution: {integrity: sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg==} resolution: {integrity: sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg==}
peerDependencies: peerDependencies:
'@types/node': '*' '@types/node': '*'
...@@ -468,11 +482,11 @@ packages: ...@@ -468,11 +482,11 @@ packages:
'@types/node': '@types/node':
optional: true optional: true
dependencies: dependencies:
'@types/node': 17.0.25 '@types/node': 17.0.32
dev: true dev: true
/@vueuse/core/8.2.6_vue@3.2.33: /@vueuse/core/8.4.2_vue@3.2.33:
resolution: {integrity: sha512-fzlpM3B5oVe+UhCT1mXlhG1Zxdq2lq1Z2AvddSB8+RxrsSFzII7DKfsQEz8Vop7Lzc++4m8drTNbhPovYoFqHw==} resolution: {integrity: sha512-dUVU96lii1ZdWoNJXauQNt+4QrHz1DKbuW+y6pDR2N10q7rGZJMDU7pQeMcC2XeosX7kMODfaBuqsF03NozzLg==}
peerDependencies: peerDependencies:
'@vue/composition-api': ^1.1.0 '@vue/composition-api': ^1.1.0
vue: ^2.6.0 || ^3.2.0 vue: ^2.6.0 || ^3.2.0
...@@ -482,18 +496,18 @@ packages: ...@@ -482,18 +496,18 @@ packages:
vue: vue:
optional: true optional: true
dependencies: dependencies:
'@vueuse/metadata': 8.2.6 '@vueuse/metadata': 8.4.2
'@vueuse/shared': 8.2.6_vue@3.2.33 '@vueuse/shared': 8.4.2_vue@3.2.33
vue: 3.2.33 vue: 3.2.33
vue-demi: 0.12.5_vue@3.2.33 vue-demi: 0.12.5_vue@3.2.33
dev: false dev: false
/@vueuse/metadata/8.2.6: /@vueuse/metadata/8.4.2:
resolution: {integrity: sha512-OBKtafCt+4RcEJlYDCjp1vl65pBCL2g4TmipEtdZ8/qphKlW6nakJbkY7XRN5grPmjqU99/ahJGtyGk5NHS2hw==} resolution: {integrity: sha512-2BIj++7P0/I5dfMsEe8q7Kw0HqVAjVcyNOd9+G22/ILUC9TVLTeYOuJ1kwa1Gpr+0LWKHc6GqHiLWNL33+exoQ==}
dev: false dev: false
/@vueuse/shared/8.2.6_vue@3.2.33: /@vueuse/shared/8.4.2_vue@3.2.33:
resolution: {integrity: sha512-J/W4CMfdL8TahELuSOgtfVO4eQXTjhigp7dVWIBsLUVFCeY9d49gvHUcQN3y5xYLZ6iNP57TjTQjMMT/zhklkw==} resolution: {integrity: sha512-hILXMEjL8YQhj1LHN/HZ49UThyfk8irTjhele2nW+L3N55ElFUBGB/f4w0rg8EW+/suhqv7kJJPTZzvHCqxlIw==}
peerDependencies: peerDependencies:
'@vue/composition-api': ^1.1.0 '@vue/composition-api': ^1.1.0
vue: ^2.6.0 || ^3.2.0 vue: ^2.6.0 || ^3.2.0
...@@ -515,6 +529,14 @@ packages: ...@@ -515,6 +529,14 @@ packages:
acorn: 8.7.0 acorn: 8.7.0
dev: true dev: true
/acorn-jsx/5.3.2_acorn@8.7.1:
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
acorn: 8.7.1
dev: true
/acorn-walk/8.2.0: /acorn-walk/8.2.0:
resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==}
engines: {node: '>=0.4.0'} engines: {node: '>=0.4.0'}
...@@ -526,6 +548,12 @@ packages: ...@@ -526,6 +548,12 @@ packages:
hasBin: true hasBin: true
dev: true dev: true
/acorn/8.7.1:
resolution: {integrity: sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==}
engines: {node: '>=0.4.0'}
hasBin: true
dev: true
/address/1.1.2: /address/1.1.2:
resolution: {integrity: sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==} resolution: {integrity: sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==}
engines: {node: '>= 0.12.0'} engines: {node: '>= 0.12.0'}
...@@ -641,10 +669,15 @@ packages: ...@@ -641,10 +669,15 @@ packages:
tslib: 2.3.1 tslib: 2.3.1
dev: true dev: true
/axios/0.26.1: /asynckit/0.4.0:
resolution: {integrity: sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==} resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=}
dev: false
/axios/0.27.2:
resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==}
dependencies: dependencies:
follow-redirects: 1.14.9 follow-redirects: 1.14.9
form-data: 4.0.0
transitivePeerDependencies: transitivePeerDependencies:
- debug - debug
dev: false dev: false
...@@ -661,6 +694,10 @@ packages: ...@@ -661,6 +694,10 @@ packages:
resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==} resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==}
dev: false dev: false
/boolbase/1.0.0:
resolution: {integrity: sha1-aN/1++YMUes3cl6p4+0xDcwed24=}
dev: true
/bowser/1.9.4: /bowser/1.9.4:
resolution: {integrity: sha512-9IdMmj2KjigRq6oWhmwv1W36pDuA4STQZ8q6YO9um+x07xgYNCD3Oou+WP/3L1HNz7iqythGet3/p4wvc8AAwQ==} resolution: {integrity: sha512-9IdMmj2KjigRq6oWhmwv1W36pDuA4STQZ8q6YO9um+x07xgYNCD3Oou+WP/3L1HNz7iqythGet3/p4wvc8AAwQ==}
dev: true dev: true
...@@ -755,6 +792,13 @@ packages: ...@@ -755,6 +792,13 @@ packages:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
dev: true dev: true
/combined-stream/1.0.8:
resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
engines: {node: '>= 0.8'}
dependencies:
delayed-stream: 1.0.0
dev: false
/commander/8.3.0: /commander/8.3.0:
resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
engines: {node: '>= 12'} engines: {node: '>= 12'}
...@@ -786,6 +830,12 @@ packages: ...@@ -786,6 +830,12 @@ packages:
which: 2.0.2 which: 2.0.2
dev: true dev: true
/cssesc/3.0.0:
resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
engines: {node: '>=4'}
hasBin: true
dev: true
/csstype/2.6.20: /csstype/2.6.20:
resolution: {integrity: sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==} resolution: {integrity: sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==}
dev: false dev: false
...@@ -838,6 +888,11 @@ packages: ...@@ -838,6 +888,11 @@ packages:
vm2: 3.9.9 vm2: 3.9.9
dev: true dev: true
/delayed-stream/1.0.0:
resolution: {integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=}
engines: {node: '>=0.4.0'}
dev: false
/depd/2.0.0: /depd/2.0.0:
resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
engines: {node: '>= 0.8'} engines: {node: '>= 0.8'}
...@@ -1125,17 +1180,19 @@ packages: ...@@ -1125,17 +1180,19 @@ packages:
source-map: 0.6.1 source-map: 0.6.1
dev: true dev: true
/eslint-plugin-vue/8.6.0_eslint@8.13.0: /eslint-plugin-vue/8.7.1_eslint@8.15.0:
resolution: {integrity: sha512-abXiF2J18n/7ZPy9foSlJyouKf54IqpKlNvNmzhM93N0zs3QUxZG/oBd3tVPOJTKg7SlhBUtPxugpqzNbgGpQQ==} resolution: {integrity: sha512-28sbtm4l4cOzoO1LtzQPxfxhQABararUb1JtqusQqObJpWX2e/gmVyeYVfepizPFne0Q5cILkYGiBoV36L12Wg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies: peerDependencies:
eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 eslint: ^6.2.0 || ^7.0.0 || ^8.0.0
dependencies: dependencies:
eslint: 8.13.0 eslint: 8.15.0
eslint-utils: 3.0.0_eslint@8.13.0 eslint-utils: 3.0.0_eslint@8.15.0
natural-compare: 1.4.0 natural-compare: 1.4.0
nth-check: 2.0.1
postcss-selector-parser: 6.0.10
semver: 7.3.6 semver: 7.3.6
vue-eslint-parser: 8.3.0_eslint@8.13.0 vue-eslint-parser: 8.3.0_eslint@8.15.0
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
...@@ -1156,13 +1213,13 @@ packages: ...@@ -1156,13 +1213,13 @@ packages:
estraverse: 5.3.0 estraverse: 5.3.0
dev: true dev: true
/eslint-utils/3.0.0_eslint@8.13.0: /eslint-utils/3.0.0_eslint@8.15.0:
resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==}
engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
peerDependencies: peerDependencies:
eslint: '>=5' eslint: '>=5'
dependencies: dependencies:
eslint: 8.13.0 eslint: 8.15.0
eslint-visitor-keys: 2.1.0 eslint-visitor-keys: 2.1.0
dev: true dev: true
...@@ -1176,12 +1233,12 @@ packages: ...@@ -1176,12 +1233,12 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true dev: true
/eslint/8.13.0: /eslint/8.15.0:
resolution: {integrity: sha512-D+Xei61eInqauAyTJ6C0q6x9mx7kTUC1KZ0m0LSEexR0V+e94K12LmWX076ZIsldwfQ2RONdaJe0re0TRGQbRQ==} resolution: {integrity: sha512-GG5USZ1jhCu8HJkzGgeK8/+RGnHaNYZGrGDzUtigK3BsGESW/rs2az23XqE0WVwDxy1VRvvjSSGu5nB0Bu+6SA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
hasBin: true hasBin: true
dependencies: dependencies:
'@eslint/eslintrc': 1.2.1 '@eslint/eslintrc': 1.2.3
'@humanwhocodes/config-array': 0.9.5 '@humanwhocodes/config-array': 0.9.5
ajv: 6.12.6 ajv: 6.12.6
chalk: 4.1.2 chalk: 4.1.2
...@@ -1190,9 +1247,9 @@ packages: ...@@ -1190,9 +1247,9 @@ packages:
doctrine: 3.0.0 doctrine: 3.0.0
escape-string-regexp: 4.0.0 escape-string-regexp: 4.0.0
eslint-scope: 7.1.1 eslint-scope: 7.1.1
eslint-utils: 3.0.0_eslint@8.13.0 eslint-utils: 3.0.0_eslint@8.15.0
eslint-visitor-keys: 3.3.0 eslint-visitor-keys: 3.3.0
espree: 9.3.1 espree: 9.3.2
esquery: 1.4.0 esquery: 1.4.0
esutils: 2.0.3 esutils: 2.0.3
fast-deep-equal: 3.1.3 fast-deep-equal: 3.1.3
...@@ -1229,6 +1286,15 @@ packages: ...@@ -1229,6 +1286,15 @@ packages:
eslint-visitor-keys: 3.3.0 eslint-visitor-keys: 3.3.0
dev: true dev: true
/espree/9.3.2:
resolution: {integrity: sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
acorn: 8.7.1
acorn-jsx: 5.3.2_acorn@8.7.1
eslint-visitor-keys: 3.3.0
dev: true
/esprima/4.0.1: /esprima/4.0.1:
resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
engines: {node: '>=4'} engines: {node: '>=4'}
...@@ -1343,6 +1409,15 @@ packages: ...@@ -1343,6 +1409,15 @@ packages:
optional: true optional: true
dev: false dev: false
/form-data/4.0.0:
resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
engines: {node: '>= 6'}
dependencies:
asynckit: 0.4.0
combined-stream: 1.0.8
mime-types: 2.1.35
dev: false
/formstream/1.1.1: /formstream/1.1.1:
resolution: {integrity: sha512-yHRxt3qLFnhsKAfhReM4w17jP+U1OlhUjnKPPtonwKbIJO7oBP0MvoxkRUwb8AU9n0MIkYy5X5dK6pQnbj+R2Q==} resolution: {integrity: sha512-yHRxt3qLFnhsKAfhReM4w17jP+U1OlhUjnKPPtonwKbIJO7oBP0MvoxkRUwb8AU9n0MIkYy5X5dK6pQnbj+R2Q==}
dependencies: dependencies:
...@@ -1674,6 +1749,11 @@ packages: ...@@ -1674,6 +1749,11 @@ packages:
type-check: 0.4.0 type-check: 0.4.0
dev: true dev: true
/local-pkg/0.4.1:
resolution: {integrity: sha512-lL87ytIGP2FU5PWwNDo0w3WhIo2gopIAxPg9RxDYF7m4rr5ahuZxP22xnJHIvaLTe4Z9P6uKKY2UHiwyB4pcrw==}
engines: {node: '>=14'}
dev: true
/lodash-es/4.17.21: /lodash-es/4.17.21:
resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
dev: false dev: false
...@@ -1710,6 +1790,13 @@ packages: ...@@ -1710,6 +1790,13 @@ packages:
dependencies: dependencies:
sourcemap-codec: 1.4.8 sourcemap-codec: 1.4.8
/magic-string/0.26.1:
resolution: {integrity: sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg==}
engines: {node: '>=12'}
dependencies:
sourcemap-codec: 1.4.8
dev: true
/merge-descriptors/1.0.1: /merge-descriptors/1.0.1:
resolution: {integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=} resolution: {integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=}
dev: true dev: true
...@@ -1727,6 +1814,18 @@ packages: ...@@ -1727,6 +1814,18 @@ packages:
picomatch: 2.3.1 picomatch: 2.3.1
dev: true dev: true
/mime-db/1.52.0:
resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
engines: {node: '>= 0.6'}
dev: false
/mime-types/2.1.35:
resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
engines: {node: '>= 0.6'}
dependencies:
mime-db: 1.52.0
dev: false
/mime/2.6.0: /mime/2.6.0:
resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==}
engines: {node: '>=4.0.0'} engines: {node: '>=4.0.0'}
...@@ -1782,6 +1881,12 @@ packages: ...@@ -1782,6 +1881,12 @@ packages:
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true hasBin: true
/nanoid/3.3.4:
resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
dev: true
/natural-compare/1.4.0: /natural-compare/1.4.0:
resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=}
dev: true dev: true
...@@ -1802,6 +1907,12 @@ packages: ...@@ -1802,6 +1907,12 @@ packages:
path-key: 3.1.1 path-key: 3.1.1
dev: true dev: true
/nth-check/2.0.1:
resolution: {integrity: sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==}
dependencies:
boolbase: 1.0.0
dev: true
/object-assign/4.1.1: /object-assign/4.1.1:
resolution: {integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=} resolution: {integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
...@@ -1922,8 +2033,8 @@ packages: ...@@ -1922,8 +2033,8 @@ packages:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'} engines: {node: '>=8.6'}
/pinia/2.0.13_typescript@4.6.3+vue@3.2.33: /pinia/2.0.14_ytvqwwdyss532bvoq2clv4ed5m:
resolution: {integrity: sha512-B7rSqm1xNpwcPMnqns8/gVBfbbi7lWTByzS6aPZ4JOXSJD4Y531rZHDCoYWBwLyHY/8hWnXljgiXp6rRyrofcw==} resolution: {integrity: sha512-0nPuZR4TetT/WcLN+feMSjWJku3SQU7dBbXC6uw+R6FLQJCsg+/0pzXyD82T1FmAYe0lsx+jnEDQ1BLgkRKlxA==}
peerDependencies: peerDependencies:
'@vue/composition-api': ^1.4.0 '@vue/composition-api': ^1.4.0
typescript: '>=4.4.4' typescript: '>=4.4.4'
...@@ -1935,7 +2046,7 @@ packages: ...@@ -1935,7 +2046,7 @@ packages:
optional: true optional: true
dependencies: dependencies:
'@vue/devtools-api': 6.1.4 '@vue/devtools-api': 6.1.4
typescript: 4.6.3 typescript: 4.6.4
vue: 3.2.33 vue: 3.2.33
vue-demi: 0.12.5_vue@3.2.33 vue-demi: 0.12.5_vue@3.2.33
dev: false dev: false
...@@ -1944,6 +2055,14 @@ packages: ...@@ -1944,6 +2055,14 @@ packages:
resolution: {integrity: sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==} resolution: {integrity: sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==}
dev: true dev: true
/postcss-selector-parser/6.0.10:
resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==}
engines: {node: '>=4'}
dependencies:
cssesc: 3.0.0
util-deprecate: 1.0.2
dev: true
/postcss/8.4.12: /postcss/8.4.12:
resolution: {integrity: sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==} resolution: {integrity: sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==}
engines: {node: ^10 || ^12 || >=14} engines: {node: ^10 || ^12 || >=14}
...@@ -1952,6 +2071,15 @@ packages: ...@@ -1952,6 +2071,15 @@ packages:
picocolors: 1.0.0 picocolors: 1.0.0
source-map-js: 1.0.2 source-map-js: 1.0.2
/postcss/8.4.13:
resolution: {integrity: sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==}
engines: {node: ^10 || ^12 || >=14}
dependencies:
nanoid: 3.3.4
picocolors: 1.0.0
source-map-js: 1.0.2
dev: true
/prelude-ls/1.1.2: /prelude-ls/1.1.2:
resolution: {integrity: sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=} resolution: {integrity: sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=}
engines: {node: '>= 0.8.0'} engines: {node: '>= 0.8.0'}
...@@ -2105,8 +2233,8 @@ packages: ...@@ -2105,8 +2233,8 @@ packages:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
dev: true dev: true
/sass/1.50.1: /sass/1.51.0:
resolution: {integrity: sha512-noTnY41KnlW2A9P8sdwESpDmo+KBNkukI1i8+hOK3footBUcohNHtdOJbckp46XO95nuvcHDDZ+4tmOnpK3hjw==} resolution: {integrity: sha512-haGdpTgywJTvHC2b91GSq+clTKGbtkkZmVAb82jZQN/wTy6qs8DdFm2lhEQbEwrY0QDRgSQ3xDurqM977C3noA==}
engines: {node: '>=12.0.0'} engines: {node: '>=12.0.0'}
hasBin: true hasBin: true
dependencies: dependencies:
...@@ -2271,8 +2399,8 @@ packages: ...@@ -2271,8 +2399,8 @@ packages:
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
dev: true dev: true
/swiper/8.1.1: /swiper/8.1.4:
resolution: {integrity: sha512-Ypx0K79en1Y5EcTy4ArR6E9EP/OwMMY2K0gawl/P27B5PYRiHedFdbdgfyuOFuxSUKsMoSVqFdmKs3DPXYHTdQ==} resolution: {integrity: sha512-ho6ceKxqbDxV51qymVxwn1oB4CqTrsG3Y5pGW2aKlZxsT6NMdlow8ICUa+wD/m5l2T5ZD2B0yyqTihSSmLBV4A==}
engines: {node: '>= 4.7.0'} engines: {node: '>= 4.7.0'}
requiresBuild: true requiresBuild: true
dependencies: dependencies:
...@@ -2328,14 +2456,14 @@ packages: ...@@ -2328,14 +2456,14 @@ packages:
resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==} resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==}
dev: true dev: true
/tsutils/3.21.0_typescript@4.6.3: /tsutils/3.21.0_typescript@4.6.4:
resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
engines: {node: '>= 6'} engines: {node: '>= 6'}
peerDependencies: peerDependencies:
typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
dependencies: dependencies:
tslib: 1.14.1 tslib: 1.14.1
typescript: 4.6.3 typescript: 4.6.4
dev: true dev: true
/type-check/0.3.2: /type-check/0.3.2:
...@@ -2362,8 +2490,8 @@ packages: ...@@ -2362,8 +2490,8 @@ packages:
engines: {node: '>=10'} engines: {node: '>=10'}
dev: true dev: true
/typescript/4.6.3: /typescript/4.6.4:
resolution: {integrity: sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==} resolution: {integrity: sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==}
engines: {node: '>=4.2.0'} engines: {node: '>=4.2.0'}
hasBin: true hasBin: true
dev: true dev: true
...@@ -2385,6 +2513,52 @@ packages: ...@@ -2385,6 +2513,52 @@ packages:
engines: {node: '>= 0.8'} engines: {node: '>= 0.8'}
dev: true dev: true
/unplugin-auto-import/0.7.1_y44jlmyuqbnkfkqeyjo67naj6e:
resolution: {integrity: sha512-9865OV9eP99PNxHR2mtTDExeN01m4M9boT5U2BtIwsU1wDRsaFIYWLwcCBEjvXzXfTTC2NNMskhHGVAMfL2WgA==}
engines: {node: '>=14'}
peerDependencies:
'@vueuse/core': '*'
peerDependenciesMeta:
'@vueuse/core':
optional: true
dependencies:
'@antfu/utils': 0.5.1
'@rollup/pluginutils': 4.2.1
'@vueuse/core': 8.4.2_vue@3.2.33
local-pkg: 0.4.1
magic-string: 0.26.1
resolve: 1.22.0
unplugin: 0.6.2_vite@2.9.9
transitivePeerDependencies:
- esbuild
- rollup
- vite
- webpack
dev: true
/unplugin/0.6.2_vite@2.9.9:
resolution: {integrity: sha512-+QONc2uBFQbeo4x5mlJHjTKjR6pmuchMpGVrWhwdGFFMb4ttFZ4E9KqhOOrNcm3Q8NNyB1vJ4s5e36IZC7UWYw==}
peerDependencies:
esbuild: '>=0.13'
rollup: ^2.50.0
vite: ^2.3.0
webpack: 4 || 5
peerDependenciesMeta:
esbuild:
optional: true
rollup:
optional: true
vite:
optional: true
webpack:
optional: true
dependencies:
chokidar: 3.5.3
vite: 2.9.9_sass@1.51.0
webpack-sources: 3.2.3
webpack-virtual-modules: 0.4.3
dev: true
/uri-js/4.4.1: /uri-js/4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
dependencies: dependencies:
...@@ -2440,8 +2614,8 @@ packages: ...@@ -2440,8 +2614,8 @@ packages:
resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==}
dev: true dev: true
/vant/3.4.8_vue@3.2.33: /vant/3.4.9_vue@3.2.33:
resolution: {integrity: sha512-xPAiPdCiaZbcdbVplVh4N2lmYzDAr2UdadkUHoa9uwfHS9/dab4f8TigfCFzlfAEk53U1J6w+6qZ+whtt4T3hw==} resolution: {integrity: sha512-OXwfL3oDahlEQC4HhaC7TmM9uoPDjAuWi1mR/OLW3JyOvPoCR8YhOtX2M6OQnz3Hnd3l4oWjjASKNGltWiPtjQ==}
peerDependencies: peerDependencies:
vue: ^3.0.0 vue: ^3.0.0
dependencies: dependencies:
...@@ -2451,7 +2625,7 @@ packages: ...@@ -2451,7 +2625,7 @@ packages:
vue: 3.2.33 vue: 3.2.33
dev: false dev: false
/vite-plugin-checker/0.4.6_vite@2.9.5: /vite-plugin-checker/0.4.6_vite@2.9.9:
resolution: {integrity: sha512-oFel33hlsc8aUspfq0ThQRpWsfrG772fmZ5qPHKUhmew6ieejd2viITlwXHIRBY6hE3U0kirXoTWwft3DdbK+g==} resolution: {integrity: sha512-oFel33hlsc8aUspfq0ThQRpWsfrG772fmZ5qPHKUhmew6ieejd2viITlwXHIRBY6hE3U0kirXoTWwft3DdbK+g==}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
...@@ -2468,15 +2642,15 @@ packages: ...@@ -2468,15 +2642,15 @@ packages:
npm-run-path: 4.0.1 npm-run-path: 4.0.1
strip-ansi: 6.0.1 strip-ansi: 6.0.1
tiny-invariant: 1.2.0 tiny-invariant: 1.2.0
vite: 2.9.5_sass@1.50.1 vite: 2.9.9_sass@1.51.0
vscode-languageclient: 7.0.0 vscode-languageclient: 7.0.0
vscode-languageserver: 7.0.0 vscode-languageserver: 7.0.0
vscode-languageserver-textdocument: 1.0.4 vscode-languageserver-textdocument: 1.0.4
vscode-uri: 3.0.3 vscode-uri: 3.0.3
dev: true dev: true
/vite/2.9.5_sass@1.50.1: /vite/2.9.9_sass@1.51.0:
resolution: {integrity: sha512-dvMN64X2YEQgSXF1lYabKXw3BbN6e+BL67+P3Vy4MacnY+UzT1AfkHiioFSi9+uiDUiaDy7Ax/LQqivk6orilg==} resolution: {integrity: sha512-ffaam+NgHfbEmfw/Vuh6BHKKlI/XIAhxE5QSS7gFLIngxg171mg1P3a4LSRME0z2ZU1ScxoKzphkipcYwSD5Ew==}
engines: {node: '>=12.2.0'} engines: {node: '>=12.2.0'}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
...@@ -2492,10 +2666,10 @@ packages: ...@@ -2492,10 +2666,10 @@ packages:
optional: true optional: true
dependencies: dependencies:
esbuild: 0.14.34 esbuild: 0.14.34
postcss: 8.4.12 postcss: 8.4.13
resolve: 1.22.0 resolve: 1.22.0
rollup: 2.70.1 rollup: 2.70.1
sass: 1.50.1 sass: 1.51.0
optionalDependencies: optionalDependencies:
fsevents: 2.3.2 fsevents: 2.3.2
dev: true dev: true
...@@ -2505,7 +2679,7 @@ packages: ...@@ -2505,7 +2679,7 @@ packages:
engines: {node: '>=6.0'} engines: {node: '>=6.0'}
hasBin: true hasBin: true
dependencies: dependencies:
acorn: 8.7.0 acorn: 8.7.1
acorn-walk: 8.2.0 acorn-walk: 8.2.0
dev: true dev: true
...@@ -2564,14 +2738,14 @@ packages: ...@@ -2564,14 +2738,14 @@ packages:
vue: 3.2.33 vue: 3.2.33
dev: false dev: false
/vue-eslint-parser/8.3.0_eslint@8.13.0: /vue-eslint-parser/8.3.0_eslint@8.15.0:
resolution: {integrity: sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==} resolution: {integrity: sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies: peerDependencies:
eslint: '>=6.0.0' eslint: '>=6.0.0'
dependencies: dependencies:
debug: 4.3.4 debug: 4.3.4
eslint: 8.13.0 eslint: 8.15.0
eslint-scope: 7.1.1 eslint-scope: 7.1.1
eslint-visitor-keys: 3.3.0 eslint-visitor-keys: 3.3.0
espree: 9.3.1 espree: 9.3.1
...@@ -2586,8 +2760,8 @@ packages: ...@@ -2586,8 +2760,8 @@ packages:
resolution: {integrity: sha512-n+YghR059YmciANGJh9SsNWRi1YZEBVlODtmnb/12zI+4R72QZSWd+EuZ5mW6auEo/yaJXgxzwsuhvALVnm73A==} resolution: {integrity: sha512-n+YghR059YmciANGJh9SsNWRi1YZEBVlODtmnb/12zI+4R72QZSWd+EuZ5mW6auEo/yaJXgxzwsuhvALVnm73A==}
dev: false dev: false
/vue-router/4.0.14_vue@3.2.33: /vue-router/4.0.15_vue@3.2.33:
resolution: {integrity: sha512-wAO6zF9zxA3u+7AkMPqw9LjoUCjSxfFvINQj3E/DceTt6uEz1XZLraDhdg2EYmvVwTBSGlLYsUw8bDmx0754Mw==} resolution: {integrity: sha512-xa+pIN9ZqORdIW1MkN2+d9Ui2pCM1b/UMgwYUCZOiFYHAvz/slKKBDha8DLrh5aCG/RibtrpyhKjKOZ85tYyWg==}
peerDependencies: peerDependencies:
vue: ^3.2.0 vue: ^3.2.0
dependencies: dependencies:
...@@ -2595,14 +2769,14 @@ packages: ...@@ -2595,14 +2769,14 @@ packages:
vue: 3.2.33 vue: 3.2.33
dev: false dev: false
/vue-tsc/0.34.7_typescript@4.6.3: /vue-tsc/0.34.13_typescript@4.6.4:
resolution: {integrity: sha512-GcdwGuddEakVBHKw7uiZUfHqobGD4Ym2XExGuwYuxw7rT50ZnRZvYQ3IB7zyPLa7UZEmiy6HTJiTrArw7ZOu+w==} resolution: {integrity: sha512-xvmUq03dFpLfYSfE8jl2lwDPcbrmh81TB+OsVkkp+Em3Ar4ff2XgMKuUgoFXpWTv5tLLoYYpggFWwYADa2zgQg==}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
typescript: '*' typescript: '*'
dependencies: dependencies:
'@volar/vue-typescript': 0.34.7 '@volar/vue-typescript': 0.34.13
typescript: 4.6.3 typescript: 4.6.4
dev: true dev: true
/vue/3.2.33: /vue/3.2.33:
...@@ -2615,6 +2789,15 @@ packages: ...@@ -2615,6 +2789,15 @@ packages:
'@vue/shared': 3.2.33 '@vue/shared': 3.2.33
dev: false dev: false
/webpack-sources/3.2.3:
resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
engines: {node: '>=10.13.0'}
dev: true
/webpack-virtual-modules/0.4.3:
resolution: {integrity: sha512-5NUqC2JquIL2pBAAo/VfBP6KuGkHIZQXW/lNKupLPfhViwh8wNsu0BObtl09yuKZszeEUfbXz8xhrHvSG16Nqw==}
dev: true
/which/2.0.2: /which/2.0.2:
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
engines: {node: '>= 8'} engines: {node: '>= 8'}
......
<script lang="ts">
export default {
name: 'PublishItem'
}
</script>
<script setup lang="ts"> <script setup lang="ts">
import { ref, computed, nextTick } from 'vue' import { ref, computed, nextTick } from 'vue'
import { ImagePreview } from 'vant' import { ImagePreview } from 'vant'
const props = defineProps<{ data: any }>() const props = defineProps<{ data: any }>()
const emit = defineEmits(['submitComment', 'load']) const emit = defineEmits(['submitComment', 'load'])
...@@ -54,6 +61,9 @@ const onSubmitComment = (data: any) => { ...@@ -54,6 +61,9 @@ const onSubmitComment = (data: any) => {
<Avatar :src="data.user_info.avatar" class="publish-avatar"></Avatar> <Avatar :src="data.user_info.avatar" class="publish-avatar"></Avatar>
<div class="publish-item-hd-info"> <div class="publish-item-hd-info">
<h5>{{ data.user_info.name }}</h5> <h5>{{ data.user_info.name }}</h5>
<ul>
<li v-for="item in data.user_info.label" :key="item">{{ item }}</li>
</ul>
</div> </div>
</div> </div>
<div class="publish-item-bd"> <div class="publish-item-bd">
...@@ -71,9 +81,9 @@ const onSubmitComment = (data: any) => { ...@@ -71,9 +81,9 @@ const onSubmitComment = (data: any) => {
<div class="comment-item-hd">{{ item.user_name }}</div> <div class="comment-item-hd">{{ item.user_name }}</div>
<div class="comment-item-bd">{{ item.content }}</div> <div class="comment-item-bd">{{ item.content }}</div>
</div> </div>
<div class="comment-more" v-if="data.comments.total > data.comments.list.length" @click="$emit('load')"> <!-- <div class="comment-more" v-if="data.comments.total > data.comments.list.length" @click="viewItem">
查看{{ data.comments.total }}条评论 <van-icon name="arrow" /> 查看{{ data.comments.total }}条评论 <van-icon name="arrow" />
</div> </div> -->
</div> </div>
</div> </div>
</div> </div>
...@@ -105,8 +115,24 @@ const onSubmitComment = (data: any) => { ...@@ -105,8 +115,24 @@ const onSubmitComment = (data: any) => {
h5 { h5 {
font-size: 0.24rem; font-size: 0.24rem;
font-weight: 400; font-weight: 400;
line-height: 0.34rem;
color: #333333; color: #333333;
} }
ul {
display: flex;
}
li {
margin-top: 0.05rem;
padding: 0 0.2rem;
font-size: 0.18rem;
font-weight: 300;
line-height: 0.28rem;
color: #666666;
background: #edf6ff;
}
li + li {
margin-left: 0.1rem;
}
} }
.publish-avatar { .publish-avatar {
width: 0.68rem; width: 0.68rem;
...@@ -119,6 +145,7 @@ const onSubmitComment = (data: any) => { ...@@ -119,6 +145,7 @@ const onSubmitComment = (data: any) => {
margin-left: 0.86rem; margin-left: 0.86rem;
} }
.publish-content { .publish-content {
margin-top: 0.24rem;
font-size: 0.24rem; font-size: 0.24rem;
font-weight: 400; font-weight: 400;
line-height: 0.3rem; line-height: 0.3rem;
......
<script setup lang="ts">
import PublishItem from './PublishItem.vue'
// 详情信息
const detail = ref()
</script>
<template>
<van-popup round position="bottom" teleport="body" v-bind="$attrs">
<PublishItem :data="detail" v-bind="$attrs"></PublishItem>
</van-popup>
</template>
...@@ -6,7 +6,7 @@ defineProps<{ title?: string }>() ...@@ -6,7 +6,7 @@ defineProps<{ title?: string }>()
<div class="app-card"> <div class="app-card">
<div class="app-card-hd"> <div class="app-card-hd">
<slot name="header"> <slot name="header">
<h2 class="app-card-hd__title" v-if="title">{{ title }}</h2> <h2 class="app-card-hd__title">{{ title }}</h2>
<div class="app-card-hd-aside"> <div class="app-card-hd-aside">
<slot name="header-aside"></slot> <slot name="header-aside"></slot>
</div> </div>
......
...@@ -11,6 +11,8 @@ import Avatar from '@/components/Avatar.vue' ...@@ -11,6 +11,8 @@ import Avatar from '@/components/Avatar.vue'
import modules from './modules' import modules from './modules'
import useWXShare from '@/utils/wx'
const app = createApp(App) const app = createApp(App)
// 注册公共组件 // 注册公共组件
app.component('AppCard', AppCard).component('AppContainer', AppContainer).component('Avatar', Avatar) app.component('AppCard', AppCard).component('AppContainer', AppContainer).component('Avatar', Avatar)
...@@ -22,3 +24,5 @@ app.use(router) ...@@ -22,3 +24,5 @@ app.use(router)
app.use(Vant) app.use(Vant)
app.mount('#app') app.mount('#app')
useWXShare()
...@@ -54,5 +54,8 @@ onMounted(() => { ...@@ -54,5 +54,8 @@ onMounted(() => {
font-weight: 400; font-weight: 400;
color: #666666; color: #666666;
line-height: 0.42rem; line-height: 0.42rem;
:deep(img) {
max-width: 100%;
}
} }
</style> </style>
...@@ -14,8 +14,10 @@ defineProps<{ teams: ITeam[] }>() ...@@ -14,8 +14,10 @@ defineProps<{ teams: ITeam[] }>()
<h2>团队荣誉总榜</h2> <h2>团队荣誉总榜</h2>
<ul> <ul>
<li v-for="item in teams" :key="item.id"> <li v-for="item in teams" :key="item.id">
<router-link :to="{ name: 'teamView', params: { id: item.id } }">
<h4>{{ item.name }}</h4> <h4>{{ item.name }}</h4>
<p>{{ item.slogan }}<em>|</em>{{ item.members_count }}人</p> <p>{{ item.slogan }}<em>|</em>{{ item.members_count }}人</p>
</router-link>
</li> </li>
</ul> </ul>
</div> </div>
......
...@@ -3,13 +3,13 @@ import { ref, onMounted } from 'vue' ...@@ -3,13 +3,13 @@ import { ref, onMounted } from 'vue'
import type { HomeInfo } from '../types' import type { HomeInfo } from '../types'
import * as api from '../api' import * as api from '../api'
import Banner from '../components/Banner.vue' import Banner from '../components/Banner.vue'
// import Menu from '../components/Menu.vue' import Menu from '../components/Menu.vue'
// import AdmissionGuide from '../components/AdmissionGuide.vue' import AdmissionGuide from '../components/AdmissionGuide.vue'
import LearningMap from '../components/LearningMap.vue' import LearningMap from '../components/LearningMap.vue'
// import QueryView from '../components/QueryView.vue' import QueryView from '../components/QueryView.vue'
// import ExamStrategy from '../components/ExamStrategy.vue' import ExamStrategy from '../components/ExamStrategy.vue'
// import TeamRanking from '../components/TeamRanking.vue' import TeamRanking from '../components/TeamRanking.vue'
// import Questions from '../components/Questions.vue' import Questions from '../components/Questions.vue'
const data = ref<HomeInfo>({ const data = ref<HomeInfo>({
banner: [], banner: [],
...@@ -33,17 +33,17 @@ onMounted(() => { ...@@ -33,17 +33,17 @@ onMounted(() => {
<template> <template>
<Banner :list="data.banner"></Banner> <Banner :list="data.banner"></Banner>
<!-- <Menu></Menu> --> <Menu></Menu>
<!-- 入学指南 --> <!-- 入学指南 -->
<!-- <AdmissionGuide :docs="data.admission_guide_docs" :videos="data.admission_guide_videos"></AdmissionGuide> --> <AdmissionGuide :docs="data.admission_guide_docs" :videos="data.admission_guide_videos"></AdmissionGuide>
<!-- 学习地图 --> <!-- 学习地图 -->
<LearningMap :docs="data.learning_map_docs"></LearningMap> <LearningMap :docs="data.learning_map_docs"></LearningMap>
<!-- 权益查看 --> <!-- 权益查看 -->
<!-- <QueryView></QueryView> --> <QueryView></QueryView>
<!-- 荣誉总榜 --> <!-- 荣誉总榜 -->
<!-- <TeamRanking :teams="data.ranking"></TeamRanking> --> <TeamRanking :teams="data.ranking"></TeamRanking>
<!-- 考试攻略 --> <!-- 考试攻略 -->
<!-- <ExamStrategy :docs="data.exam_strategy_docs"></ExamStrategy> --> <ExamStrategy :docs="data.exam_strategy_docs"></ExamStrategy>
<!-- 陪伴问答 --> <!-- 陪伴问答 -->
<!-- <Questions :data="data.questions"></Questions> --> <Questions :data="data.questions"></Questions>
</template> </template>
...@@ -54,5 +54,8 @@ onMounted(() => { ...@@ -54,5 +54,8 @@ onMounted(() => {
font-weight: 400; font-weight: 400;
color: #666666; color: #666666;
line-height: 0.42rem; line-height: 0.42rem;
:deep(img) {
max-width: 100%;
}
} }
</style> </style>
...@@ -25,7 +25,7 @@ const menus: Array<{ ...@@ -25,7 +25,7 @@ const menus: Array<{
icon: 'https://webapp-pub.ezijing.com/project/prp-h5/my_menu_1.png' icon: 'https://webapp-pub.ezijing.com/project/prp-h5/my_menu_1.png'
} }
// { // {
// path: '/', // path: '/team/view/my',
// name: '我的团队', // name: '我的团队',
// icon: 'https://webapp-pub.ezijing.com/project/prp-h5/my_menu_2.png' // icon: 'https://webapp-pub.ezijing.com/project/prp-h5/my_menu_2.png'
// }, // },
......
...@@ -9,3 +9,35 @@ export function getTeamList(params?: { page?: number; page_size?: number }) { ...@@ -9,3 +9,35 @@ export function getTeamList(params?: { page?: number; page_size?: number }) {
export function createTeam(data: { name: string; slogan: string; logo: string; brief: string }) { export function createTeam(data: { name: string; slogan: string; logo: string; brief: string }) {
return httpRequest.post('/api/psp/v1/team/create-team', data) return httpRequest.post('/api/psp/v1/team/create-team', data)
} }
// 获取团队详情
export function getTeam(params: { id: string }) {
return httpRequest.get('/api/psp/v1/team/view', { params })
}
// 加入团队
export function joinTeam(data: { id: string }) {
return httpRequest.post('/api/psp/v1/team/join', data)
}
// 团队-上传资料/发布讨论
export function createTeamPosts(data: {
type: string
team_visible: string
title: string
desc: string
picture?: string
file?: string
}) {
return httpRequest.post('/api/psp/v1/team/upload', data)
}
// 团队-团队文件/讨论列表
export function getTeamFileOrQuestions(params: { id: string; type: string; page?: number; page_size?: number }) {
return httpRequest.get('/api/psp/v1/team/files-or-questions', { params })
}
// 团队-团队文件/讨论 创建评论
export function createTeamComment(data: { entity_id: string; type: string; content: string; to_comment_id?: string }) {
return httpRequest.post('/api/psp//v1/team/create-comment', data)
}
<script setup lang="ts">
import { Toast } from 'vant'
import PublishItem from '@/components/PublishItem.vue'
import { getTeamFileOrQuestions, createTeamComment } from '../api'
const props = defineProps<{ id: string }>()
// 获取列表数据
const page = ref<number>(1)
const dataset = reactive<{ total: number; list: Record<string, any>[] }>({ total: 0, list: [] })
async function fetchList(isRefresh?: boolean) {
if (isRefresh) {
page.value = 1
}
const { data } = await getTeamFileOrQuestions({ id: props.id, type: 'file', page: page.value, page_size: 20 })
dataset.total = data.total
dataset.list = isRefresh ? data.list : [...dataset.list, ...data.list]
}
onMounted(() => {
fetchList()
})
// 评论
const onSubmitComment = (data: any, action: string) => {
if (action === 'comment') {
// 评论
createTeamComment({
type: 'file',
entity_id: data.id,
content: data.comment
}).then(() => {
Toast.success('评论成功')
fetchList(true)
})
} else {
// 回复
createTeamComment({
type: 'file',
entity_id: data.entity_id,
content: data.comment,
to_comment_id: data.id
}).then(() => {
Toast.success('回复成功')
fetchList(true)
})
}
}
</script>
<template>
<AppCard>
<template #header-aside>
<div class="button"><router-link :to="{ name: 'teamFilePublish', params: { id } }">上传</router-link></div>
</template>
<template v-if="dataset.list?.length">
<PublishItem
a="123"
v-for="item in dataset.list"
:data="item"
:key="item.id"
@submitComment="onSubmitComment"
></PublishItem>
</template>
<van-empty description="暂无内容" v-else />
</AppCard>
</template>
<style lang="scss" scoped>
:deep(.publish-item) {
padding: 0.24rem;
margin-bottom: 0.2rem;
background: #fff;
border-radius: 0.2rem;
}
</style>
<script setup lang="ts">
import { Toast } from 'vant'
import PublishItem from '@/components/PublishItem.vue'
import { getTeamFileOrQuestions, createTeamComment } from '../api'
const props = defineProps<{ id: string }>()
// 获取列表数据
const dataset = reactive<{ total: number; list: Record<string, any>[] }>({ total: 0, list: [] })
async function fetchList() {
const { data } = await getTeamFileOrQuestions({ id: props.id, type: 'question' })
dataset.total = data.total
dataset.list = [...dataset.list, ...data.list]
}
onMounted(() => {
fetchList()
})
// 评论
const onSubmitComment = (data: any, action: string) => {
if (action === 'comment') {
// 评论
createTeamComment({
type: 'question',
entity_id: data.id,
content: data.comment
}).then(() => {
Toast.success('评论成功')
})
} else {
// 回复
createTeamComment({
type: 'question',
entity_id: data.entity_id,
content: data.comment,
to_comment_id: data.id
}).then(() => {
Toast.success('回复成功')
})
}
}
</script>
<template>
<AppCard>
<template #header-aside>
<div class="button"><router-link :to="{ name: 'teamQuestionPublish', params: { id } }"> 发布</router-link></div>
</template>
<template v-if="dataset.list?.length">
<PublishItem
v-for="item in dataset.list"
:data="item"
:key="item.id"
@submitComment="onSubmitComment"
></PublishItem>
</template>
<van-empty description="暂无内容" v-else />
</AppCard>
</template>
<style lang="scss" scoped>
:deep(.publish-item) {
padding: 0.24rem;
margin-bottom: 0.2rem;
background: #fff;
border-radius: 0.2rem;
}
</style>
...@@ -4,7 +4,10 @@ import { getTeamList } from '../api' ...@@ -4,7 +4,10 @@ import { getTeamList } from '../api'
import type { ITeam } from '@/types' import type { ITeam } from '@/types'
let list = ref<ITeam[]>([]) const router = useRouter()
const list = ref<ITeam[]>([])
function fetchTeamList() { function fetchTeamList() {
getTeamList({ page_size: 100 }).then(res => { getTeamList({ page_size: 100 }).then(res => {
list.value = res.data.list.list list.value = res.data.list.list
...@@ -16,8 +19,8 @@ onMounted(() => { ...@@ -16,8 +19,8 @@ onMounted(() => {
</script> </script>
<template> <template>
<ul class="list-card"> <ul class="team-list">
<li v-for="(item, index) in list" :key="index"> <li v-for="(item, index) in list" :key="index" @click="router.push({ name: 'teamView', params: { id: item.id } })">
<div class="team-order"> <div class="team-order">
<div class="order">{{ index > 2 ? index + 1 : '' }}</div> <div class="order">{{ index > 2 ? index + 1 : '' }}</div>
</div> </div>
...@@ -29,8 +32,8 @@ onMounted(() => { ...@@ -29,8 +32,8 @@ onMounted(() => {
</ul> </ul>
</template> </template>
<style lang="scss" scoped> <style lang="scss">
.list-card { .team-list {
background: #ffffff; background: #ffffff;
border-radius: 0.15rem; border-radius: 0.15rem;
opacity: 1; opacity: 1;
......
...@@ -6,8 +6,28 @@ export const routes: Array<RouteRecordRaw> = [ ...@@ -6,8 +6,28 @@ export const routes: Array<RouteRecordRaw> = [
path: '/team', path: '/team',
component: AppLayout, component: AppLayout,
children: [ children: [
{ path: '', component: () => import('./views/Index.vue') }, { name: 'teamList', path: '', component: () => import('./views/Index.vue') },
{ path: 'create', component: () => import('./views/Create.vue'), meta: { requireLogin: true } } {
name: 'teamCreate',
path: 'create',
component: () => import('./views/Create.vue'),
meta: { requireLogin: true }
},
{ name: 'teamView', path: 'view/:id', component: () => import('./views/View.vue'), props: true },
{
name: 'teamFilePublish',
path: 'view/:id/file/publish',
component: () => import('./views/PublishFile.vue'),
meta: { requireLogin: true },
props: true
},
{
name: 'teamQuestionPublish',
path: 'view/:id/question/publish',
component: () => import('./views/PublishQuestion.vue'),
meta: { requireLogin: true },
props: true
}
] ]
} }
] ]
...@@ -33,7 +33,7 @@ function onSubmit() { ...@@ -33,7 +33,7 @@ function onSubmit() {
:autosize="{ minHeight: 200 }" :autosize="{ minHeight: 200 }"
:rules="[{ required: true, message: '请输入团队简介' }]" :rules="[{ required: true, message: '请输入团队简介' }]"
/> />
<van-field :rules="[{ required: true, message: '请上传图片' }]"> <van-field :rules="[{ required: true, message: '请上传团队Logo' }]">
<template #input> <template #input>
<AppUpload v-model="form.logo"></AppUpload> <AppUpload v-model="form.logo"></AppUpload>
</template> </template>
......
<script setup lang="ts"> <script setup lang="ts">
import { Toast } from 'vant'
import { getTeamList } from '../api'
import TeamList from '../components/TeamList.vue' import TeamList from '../components/TeamList.vue'
const router = useRouter()
// let list = $ref<Record<string, any>[]>()
let myTeam = $ref<{ team_id: string }>()
async function fetchList() {
const { data = {} } = await getTeamList()
// list = data.list?.list || []
myTeam = data.my_team
}
onMounted(() => {
fetchList()
})
// 创建团队
function createTeam() {
if (myTeam) {
Toast.fail('您已经加入了团队')
} else {
router.push({ name: 'teamCreate' })
}
}
// 我的团队
function viewMyTeam() {
if (myTeam) {
router.push({ name: 'teamView', params: { id: myTeam.team_id } })
} else {
Toast.fail('您还没有加入任何团队')
}
}
</script> </script>
<template> <template>
<AppContainer title="团队总榜"> <AppContainer title="团队总榜">
<div class="team-header"> <div class="team-header">
<div class="btn-box"> <div class="btn-box" @click="createTeam">
<router-link to="/team/create">
<img src="https://webapp-pub.ezijing.com/project/prp-h5/team-h2.png" /> <img src="https://webapp-pub.ezijing.com/project/prp-h5/team-h2.png" />
<div class="b-text">团队创建</div> <div class="b-text">团队创建</div>
</router-link>
</div> </div>
<div class="btn-box"> <div class="btn-box" @click="viewMyTeam">
<img src="https://webapp-pub.ezijing.com/project/prp-h5/team-h1.png" /> <img src="https://webapp-pub.ezijing.com/project/prp-h5/team-h1.png" />
<div class="b-text">我的团队</div> <div class="b-text">我的团队</div>
</div> </div>
......
<script setup lang="ts">
import { createTeamPosts } from '../api'
import AppUpload from '@/components/base/AppUpload.vue'
import { Toast } from 'vant'
const props = defineProps<{ id: string }>()
const router = useRouter()
const form = reactive({
type: 'file',
team_visible: '1',
title: '',
desc: '',
file: []
})
function onSubmit() {
const params = Object.assign({}, form, { file: JSON.stringify(form.file) })
createTeamPosts(params).then(() => {
Toast.success('上传成功')
router.push({ name: 'teamView', params: { id: props.id } })
})
}
</script>
<template>
<AppContainer title="上传资料" backgroundColor="#fff" headerAlign="center">
<van-form @submit="onSubmit">
<van-field v-model="form.title" placeholder="标题" :rules="[{ required: true, message: '请输入标题' }]" />
<van-field
v-model="form.desc"
type="textarea"
placeholder="正文"
:autosize="{ minHeight: 200 }"
:rules="[{ required: true, message: '请输入资料内容' }]"
/>
<van-field>
<template #input>
<AppUpload accept="*" v-model="form.file"></AppUpload>
</template>
</van-field>
<van-button block round native-type="submit" class="my-button">上传</van-button>
</van-form>
</AppContainer>
</template>
<style lang="scss" scoped>
:deep(.van-cell) {
padding-left: 0;
padding-right: 0;
&::after {
left: 0;
right: 0;
}
}
.my-button {
margin: 1rem 0;
}
</style>
<script setup lang="ts">
import { createTeamPosts } from '../api'
import AppUpload from '@/components/base/AppUpload.vue'
import { Toast } from 'vant'
const props = defineProps<{ id: string }>()
const router = useRouter()
const form = reactive({
type: 'question',
team_visible: '1',
title: '',
desc: '',
picture: []
})
function onSubmit() {
const params = Object.assign({}, form, { picture: JSON.stringify(form.picture) })
createTeamPosts(params).then(() => {
Toast.success('发布成功')
router.push({ name: 'teamView', params: { id: props.id } })
})
}
</script>
<template>
<AppContainer title="发布问题" backgroundColor="#fff" headerAlign="center">
<van-form @submit="onSubmit">
<van-field v-model="form.title" placeholder="标题" :rules="[{ required: true, message: '请输入标题' }]" />
<van-field
v-model="form.desc"
type="textarea"
placeholder="正文"
:autosize="{ minHeight: 200 }"
:rules="[{ required: true, message: '请输入问题内容' }]"
/>
<van-field>
<template #input>
<AppUpload v-model="form.picture"></AppUpload>
</template>
</van-field>
<van-button block round native-type="submit" class="my-button">发布</van-button>
</van-form>
</AppContainer>
</template>
<style lang="scss" scoped>
:deep(.van-cell) {
padding-left: 0;
padding-right: 0;
&::after {
left: 0;
right: 0;
}
}
.my-button {
margin: 1rem 0;
}
</style>
<script setup lang="ts">
import { Toast } from 'vant'
import FileList from '../components/FileList.vue'
import QuestionList from '../components/QuestionList.vue'
import * as api from '../api'
const props = defineProps<{ id: string }>()
const detail = ref()
// 获取详情信息
async function fetchDetailInfo() {
const { data } = await api.getTeam({ id: props.id })
detail.value = data
}
onMounted(() => {
fetchDetailInfo()
})
// 加入团队
async function joinTeam() {
await api.joinTeam({ id: props.id })
Toast.success('加入成功')
}
</script>
<template>
<AppContainer title="团队详情">
<div class="info" v-if="detail">
<div class="info-pic"><img :src="detail.team_info.logo" /></div>
<div class="info-main">
<h2>{{ detail.team_info.name }}</h2>
<h6>{{ detail.team_info.slogan }}</h6>
<p>
<span>人员数{{ detail.team_info.members_count }}</span
><span>积分数{{ detail.team_info.star }}</span>
</p>
<p>
<span>资料数{{ detail.team_info.files_count }}</span
><span>问答数{{ detail.team_info.questions_count }}</span>
</p>
<van-button round v-if="!detail.is_sign_in" @click="joinTeam">加入</van-button>
</div>
</div>
<van-tabs
shrink
color="#033974"
background="transparent"
title-active-color="#033974"
title-inactive-color="#4E4E4E"
>
<van-tab title="资料">
<FileList :id="id"></FileList>
</van-tab>
<van-tab title="问答">
<QuestionList :id="id"></QuestionList>
</van-tab>
</van-tabs>
</AppContainer>
</template>
<style lang="scss" scoped>
.info {
display: flex;
}
.info-pic {
margin-right: 0.16rem;
width: 2rem;
height: 2.4rem;
border-radius: 0.2rem;
overflow: hidden;
img {
width: 100%;
height: 100%;
object-fit: cover;
}
}
.info-main {
flex: 1;
overflow: hidden;
h2 {
font-size: 0.32rem;
font-weight: 500;
color: #333333;
}
h6 {
margin-top: 0.08rem;
font-size: 0.28rem;
font-weight: 400;
color: #4e4e4e;
}
p {
margin-top: 0.1rem;
font-size: 0.24rem;
color: #999999;
span + span {
margin-left: 0.2rem;
}
}
}
</style>
...@@ -52,6 +52,7 @@ httpRequest.interceptors.response.use( ...@@ -52,6 +52,7 @@ httpRequest.interceptors.response.use(
if (status === 403) { if (status === 403) {
location.href = `${import.meta.env.VITE_LOGIN_URL}?rd=${encodeURIComponent(location.href)}` location.href = `${import.meta.env.VITE_LOGIN_URL}?rd=${encodeURIComponent(location.href)}`
} else { } else {
Toast.fail(message)
console.error(`${status}: ${message}`) console.error(`${status}: ${message}`)
} }
} else { } else {
......
import httpRequest from './axios'
export default function useWXShare() {
httpRequest
.post('https://node-server.ezijing.com/share/getsignature', {
data: { appId: 'wx451c01d40d090d7a', url: location.href.split('#').pop() }
})
.then(result => {
wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: 'wx451c01d40d090d7a', // 必填,公众号的唯一标识
timestamp: result.timestamp, // 必填,生成签名的时间戳
nonceStr: result.noncestr, // 必填,生成签名的随机串
signature: result.token, // 必填,签名
jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData'] // 必填,需要使用的JS接口列表
})
wx.ready(() => {
wx.updateAppMessageShareData({
title: 'PRP私享星球', // 分享标题
desc: '玩转【PRP系统知识 】践行【有品牌的IP】', // 分享描述
link: location.href,
imgUrl: 'https://webapp-pub.ezijing.com/upload/admin/8348532dc17af54ed9d2279ca12b055a.png'
})
wx.updateTimelineShareData({
title: 'PRP私享星球', // 分享标题
link: location.href,
imgUrl: 'https://webapp-pub.ezijing.com/upload/admin/8348532dc17af54ed9d2279ca12b055a.png'
})
})
})
}
{ {
"extends": "@vue/tsconfig/tsconfig.web.json", "extends": "@vue/tsconfig/tsconfig.web.json",
"include": ["env.d.ts", "src/**/*", "src/**/*.vue"], "include": ["env.d.ts", "auto-imports.d.ts", "src/**/*", "src/**/*.vue"],
"compilerOptions": { "compilerOptions": {
"allowJs": true,
"baseUrl": ".", "baseUrl": ".",
"paths": { "paths": {
"@/*": ["./src/*"] "@/*": ["./src/*"]
......
...@@ -5,13 +5,19 @@ import { fileURLToPath, URL } from 'url' ...@@ -5,13 +5,19 @@ import { fileURLToPath, URL } from 'url'
import { defineConfig } from 'vite' import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue' import vue from '@vitejs/plugin-vue'
import checker from 'vite-plugin-checker' import checker from 'vite-plugin-checker'
import AutoImport from 'unplugin-auto-import/vite'
export default defineConfig(({ mode }) => { export default defineConfig(({ mode }) => {
return { return {
base: mode === 'prod' ? 'https://webapp-pub.ezijing.com/website/prod/prp-h5/' : '/', base: mode === 'prod' ? 'https://webapp-pub.ezijing.com/website/prod/prp-h5/' : '/',
plugins: [ plugins: [
checker({ eslint: { lintCommand: 'eslint "./src/**/*.{vue,js,jsx,ts,tsx}"' } }), checker({ vueTsc: true, eslint: { lintCommand: 'eslint "./src/**/*.{vue,js,jsx,ts,tsx}"' } }),
vue({ reactivityTransform: true }) vue({ reactivityTransform: true }),
AutoImport({
imports: ['vue', 'vue/macros', 'vue-router', '@vueuse/core'],
dts: true,
eslintrc: { enabled: true }
})
], ],
server: { server: {
open: true, open: true,
...@@ -28,10 +34,6 @@ export default defineConfig(({ mode }) => { ...@@ -28,10 +34,6 @@ export default defineConfig(({ mode }) => {
alias: { alias: {
'@': fileURLToPath(new URL('./src', import.meta.url)) '@': fileURLToPath(new URL('./src', import.meta.url))
} }
},
css: {
// 禁用SASS警告提醒
preprocessorOptions: { scss: { charset: false } }
} }
} }
}) })
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论