初始化

This commit is contained in:
xiaoyi
2024-01-27 19:53:17 +08:00
commit 07dbe71c31
840 changed files with 119152 additions and 0 deletions

84
admin/src/types/auto-imports.d.ts vendored Normal file
View File

@@ -0,0 +1,84 @@
/* eslint-disable */
/* prettier-ignore */
// @ts-nocheck
// Generated by unplugin-auto-import
export {}
declare global {
const EffectScope: typeof import('vue')['EffectScope']
const acceptHMRUpdate: typeof import('pinia')['acceptHMRUpdate']
const computed: typeof import('vue')['computed']
const createApp: typeof import('vue')['createApp']
const createPinia: typeof import('pinia')['createPinia']
const customRef: typeof import('vue')['customRef']
const defineAsyncComponent: typeof import('vue')['defineAsyncComponent']
const defineComponent: typeof import('vue')['defineComponent']
const defineStore: typeof import('pinia')['defineStore']
const effectScope: typeof import('vue')['effectScope']
const getActivePinia: typeof import('pinia')['getActivePinia']
const getCurrentInstance: typeof import('vue')['getCurrentInstance']
const getCurrentScope: typeof import('vue')['getCurrentScope']
const h: typeof import('vue')['h']
const inject: typeof import('vue')['inject']
const isProxy: typeof import('vue')['isProxy']
const isReactive: typeof import('vue')['isReactive']
const isReadonly: typeof import('vue')['isReadonly']
const isRef: typeof import('vue')['isRef']
const mapActions: typeof import('pinia')['mapActions']
const mapGetters: typeof import('pinia')['mapGetters']
const mapState: typeof import('pinia')['mapState']
const mapStores: typeof import('pinia')['mapStores']
const mapWritableState: typeof import('pinia')['mapWritableState']
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 onBeforeRouteLeave: typeof import('vue-router')['onBeforeRouteLeave']
const onBeforeRouteUpdate: typeof import('vue-router')['onBeforeRouteUpdate']
const onBeforeUnmount: typeof import('vue')['onBeforeUnmount']
const onBeforeUpdate: typeof import('vue')['onBeforeUpdate']
const onDeactivated: typeof import('vue')['onDeactivated']
const onErrorCaptured: typeof import('vue')['onErrorCaptured']
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 onUnmounted: typeof import('vue')['onUnmounted']
const onUpdated: typeof import('vue')['onUpdated']
const provide: typeof import('vue')['provide']
const reactive: typeof import('vue')['reactive']
const readonly: typeof import('vue')['readonly']
const ref: typeof import('vue')['ref']
const resolveComponent: typeof import('vue')['resolveComponent']
const setActivePinia: typeof import('pinia')['setActivePinia']
const setMapStoreSuffix: typeof import('pinia')['setMapStoreSuffix']
const shallowReactive: typeof import('vue')['shallowReactive']
const shallowReadonly: typeof import('vue')['shallowReadonly']
const shallowRef: typeof import('vue')['shallowRef']
const storeToRefs: typeof import('pinia')['storeToRefs']
const toRaw: typeof import('vue')['toRaw']
const toRef: typeof import('vue')['toRef']
const toRefs: typeof import('vue')['toRefs']
const triggerRef: typeof import('vue')['triggerRef']
const unref: typeof import('vue')['unref']
const useAttrs: typeof import('vue')['useAttrs']
const useAuth: typeof import('../utils/composables/useAuth')['default']
const useCssModule: typeof import('vue')['useCssModule']
const useCssVars: typeof import('vue')['useCssVars']
const useGlobalProperties: typeof import('../utils/composables/useGlobalProperties')['default']
const useLink: typeof import('vue-router')['useLink']
const useMainPage: typeof import('../utils/composables/useMainPage')['default']
const useMenu: typeof import('../utils/composables/useMenu')['default']
const useRoute: typeof import('vue-router')['useRoute']
const useRouter: typeof import('vue-router')['useRouter']
const useSlots: typeof import('vue')['useSlots']
const watch: typeof import('vue')['watch']
const watchEffect: typeof import('vue')['watchEffect']
const watchPostEffect: typeof import('vue')['watchPostEffect']
const watchSyncEffect: typeof import('vue')['watchSyncEffect']
}
// for type re-export
declare global {
// @ts-ignore
export type { Component, ComponentPublicInstance, ComputedRef, InjectionKey, PropType, Ref, VNode } from 'vue'
}

32
admin/src/types/components.d.ts vendored Normal file
View File

@@ -0,0 +1,32 @@
/* eslint-disable */
/* prettier-ignore */
// @ts-nocheck
// Generated by unplugin-vue-components
// Read more: https://github.com/vuejs/core/pull/3399
import '@vue/runtime-core'
export {}
declare module '@vue/runtime-core' {
export interface GlobalComponents {
Auth: typeof import('./../components/Auth/index.vue')['default']
AuthAll: typeof import('./../components/AuthAll/index.vue')['default']
Copyright: typeof import('./../components/Copyright/index.vue')['default']
FileUpload: typeof import('./../components/FileUpload/index.vue')['default']
FixedActionBar: typeof import('./../components/FixedActionBar/index.vue')['default']
IconifyIcon: typeof import('./../components/IconifyIcon/index.vue')['default']
ImagePreview: typeof import('./../components/ImagePreview/index.vue')['default']
ImagesUpload: typeof import('./../components/ImagesUpload/index.vue')['default']
ImageUpload: typeof import('./../components/ImageUpload/index.vue')['default']
NotAllowed: typeof import('./../components/NotAllowed/index.vue')['default']
PageHeader: typeof import('./../components/PageHeader/index.vue')['default']
PageMain: typeof import('./../components/PageMain/index.vue')['default']
PcasCascader: typeof import('./../components/PcasCascader/index.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
SearchBar: typeof import('./../components/SearchBar/index.vue')['default']
SvgIcon: typeof import('./../components/SvgIcon/index.vue')['default']
SystemInfo: typeof import('./../components/SystemInfo/index.vue')['default']
Trend: typeof import('./../components/Trend/index.vue')['default']
}
}

268
admin/src/types/global.d.ts vendored Normal file
View File

@@ -0,0 +1,268 @@
import type { RouteRecordRaw } from 'vue-router'
type RecursiveRequired<T> = {
[P in keyof T]-?: RecursiveRequired<T[P]>
}
type RecursivePartial<T> = {
[P in keyof T]?: RecursivePartial<T[P]>
}
declare namespace Settings {
interface app {
/**
* 颜色方案
* @默认值 `''` 跟随系统
* @可选值 `'light'` 明亮模式
* @可选值 `'dark'` 暗黑模式
*/
colorScheme?: '' | 'light' | 'dark'
/**
* Element Plus 组件默认尺寸
* @默认值 `'default'` 默认
* @可选值 `'large'` 大号
* @可选值 `'small'` 小号
*/
elementSize?: 'default' | 'large' | 'small'
/**
* 是否将 iconify 图标集中的 Element Plus 图标下载到本地,以便在离线环境下使用
* @默认值 `false`
*/
iconifyOfflineUse?: boolean
/**
* 是否开启权限功能
* @默认值 `false`
*/
enablePermission?: boolean
/**
* 是否开启载入进度条
* @默认值 `true`
*/
enableProgress?: boolean
/**
* 是否开启动态标题
* @默认值 `false`
*/
enableDynamicTitle?: boolean
/**
* 路由数据来源
* @默认值 `'frontend'` 前端
* @可选值 `'backend'` 后端
* @可选值 `'filesystem'` 文件系统
*/
routeBaseOn?: 'frontend' | 'backend' | 'filesystem'
/**
* 是否开启应用配置,强烈建议在生产环境中关闭
* @默认值 `false`
*/
enableAppSetting?: boolean
}
interface home {
/**
* 是否开启主页页面
* @默认值 `true`
*/
enable?: boolean
/**
* 主页名称
* @默认值 `'主页'`
*/
title?: string
}
interface layout {
/**
* 是否开启移动端适配,开启后当页面宽度小于 992px 时自动切换为移动端展示
* @默认值 `false`
*/
enableMobileAdaptation?: boolean
}
interface menu {
/**
* 导航栏数据来源,当 `app.routeBaseOn: 'filesystem'` 时生效
* @默认值 `'frontend'` 前端
* @可选值 `'backend'` 后端
*/
baseOn?: 'frontend' | 'backend'
/**
* 导航栏模式
* @默认值 `'side'` 侧边栏模式(有主导航)
* @可选值 `'head'` 顶部模式
* @可选值 `'single'` 侧边栏模式(无主导航)
*/
menuMode?: 'side' | 'head' | 'single'
/**
* 切换主导航是否跳转页面
* @默认值 `false`
*/
switchMainMenuAndPageJump?: boolean
/**
* 次导航是否只保持一个子项的展开
* @默认值 `true`
*/
subMenuUniqueOpened?: boolean
/**
* 次导航是否收起
* @默认值 `false`
*/
subMenuCollapse?: boolean
/**
* 是否开启次导航的展开/收起按钮
* @默认值 `false`
*/
enableSubMenuCollapseButton?: boolean
/**
* 是否开启主导航切换快捷键
* @默认值 `false`
*/
enableHotkeys?: boolean
}
interface topbar {
/**
* 模式
* @默认值 `'static'` 静止,跟随页面滚动
* @可选值 `'fixed'` 固定,不跟随页面滚动,始终固定在顶部
* @可选值 `'sticky'` 粘性,页面往下滚动时隐藏,往上滚动时显示
*/
mode?: 'static' | 'fixed' | 'sticky'
}
interface toolbar {
/**
* 是否开启全屏
* @默认值 `false`
*/
enableFullscreen?: boolean
/**
* 是否开启页面刷新
* @默认值 `false`
*/
enablePageReload?: boolean
/**
* 是否开启颜色主题
* @默认值 `false`
*/
enableColorScheme?: boolean
}
interface breadcrumb {
/**
* 是否开启面包屑导航
* @默认值 `true`
*/
enable?: boolean
}
interface navSearch {
/**
* 是否开启导航搜索
* @默认值 `true`
*/
enable?: boolean
/**
* 是否开启导航搜索快捷键
* @默认值 `true`
*/
enableHotkeys?: boolean
}
interface copyright {
/**
* 是否开启底部版权,同时在路由 meta 对象里可以单独设置某个路由是否显示底部版权信息
* @默认值 `true`
*/
enable?: boolean
/**
* 网站运行日期
* @默认值 `'2020-2022'`
*/
dates?: string
/**
* 公司名称
* @默认值 `'Fantastic-admin'`
*/
company?: string
/**
* 网站地址
* @默认值 `'https://hooray.gitee.io/fantastic-admin/'`
*/
website?: string
/**
* 网站备案号
* @默认值 `''`
*/
beian?: string
}
interface all {
/** 应用设置 */
app?: app
/** 主页设置 */
home?: home
/** 布局设置 */
layout?: layout
/** 导航栏设置 */
menu?: menu
/** 顶栏设置 */
topbar?: topbar
/** 工具栏设置 */
toolbar?: toolbar
/** 面包屑导航设置 */
breadcrumb?: breadcrumb
/** 导航搜索设置 */
navSearch?: navSearch
/** 底部版权设置 */
copyright?: copyright
}
}
declare module 'vue-router' {
interface RouteMeta {
title?: string | Function
i18n?: string
icon?: string
activeIcon?: string
defaultOpened?: boolean
auth?: string | string[]
sidebar?: boolean
breadcrumb?: boolean
activeMenu?: string
cache?: boolean | string | string[]
link?: string
breadcrumbNeste?: Route.breadcrumb[]
}
}
declare namespace Route {
interface recordMainRaw {
meta?: {
title?: string | Function
icon?: string
auth?: string | string[]
}
children: RouteRecordRaw[]
}
interface breadcrumb {
path: string
title?: string | Function
hide: boolean
}
}
declare namespace Menu {
/** 原始 */
interface recordRaw {
path?: string
meta?: {
title?: string
icon?: string
defaultOpened?: boolean
auth?: string | string[]
sidebar?: boolean
link?: string
}
children?: recordRaw[]
}
/** 主导航 */
interface recordMainRaw {
meta?: {
title?: string
icon?: string
auth?: string | string[]
}
children: recordRaw[]
}
}

20
admin/src/types/shims.d.ts vendored Normal file
View File

@@ -0,0 +1,20 @@
declare interface Window {
webkitDevicePixelRatio: any
mozDevicePixelRatio: any
}
declare module '*.vue' {
import { type DefineComponent } from 'vue'
const component: DefineComponent<{}, {}, any>
export default component
}
declare const __SYSTEM_INFO__: {
pkg: {
version: string
dependencies: Recordable<string>
devDependencies: Recordable<string>
}
lastBuildTime: string
}