初始化2
This commit is contained in:
BIN
.data/content/contents.sqlite
Normal file
BIN
.data/content/contents.sqlite
Normal file
Binary file not shown.
8
.idea/.gitignore
generated
vendored
Normal file
8
.idea/.gitignore
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
# 默认忽略的文件
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# 基于编辑器的 HTTP 客户端请求
|
||||
/httpRequests/
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
||||
14
.idea/codeStyles/Project.xml
generated
Normal file
14
.idea/codeStyles/Project.xml
generated
Normal file
@@ -0,0 +1,14 @@
|
||||
<component name="ProjectCodeStyleConfiguration">
|
||||
<code_scheme name="Project" version="173">
|
||||
<HTMLCodeStyleSettings>
|
||||
<option name="HTML_ENFORCE_QUOTES" value="true" />
|
||||
<option name="HTML_NEWLINE_AFTER_LAST_ATTRIBUTE" value="When multiline" />
|
||||
</HTMLCodeStyleSettings>
|
||||
<codeStyleSettings language="HTML">
|
||||
<indentOptions>
|
||||
<option name="INDENT_SIZE" value="2" />
|
||||
<option name="CONTINUATION_INDENT_SIZE" value="2" />
|
||||
</indentOptions>
|
||||
</codeStyleSettings>
|
||||
</code_scheme>
|
||||
</component>
|
||||
5
.idea/codeStyles/codeStyleConfig.xml
generated
Normal file
5
.idea/codeStyles/codeStyleConfig.xml
generated
Normal file
@@ -0,0 +1,5 @@
|
||||
<component name="ProjectCodeStyleConfiguration">
|
||||
<state>
|
||||
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
|
||||
</state>
|
||||
</component>
|
||||
6
.idea/inspectionProfiles/Project_Default.xml
generated
Normal file
6
.idea/inspectionProfiles/Project_Default.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
<inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
</profile>
|
||||
</component>
|
||||
7
.idea/misc.xml
generated
Normal file
7
.idea/misc.xml
generated
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="KubernetesApiPersistence">{}</component>
|
||||
<component name="KubernetesApiProvider">{
|
||||
"isMigrated": true
|
||||
}</component>
|
||||
</project>
|
||||
8
.idea/modules.xml
generated
Normal file
8
.idea/modules.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/tiantian-system.iml" filepath="$PROJECT_DIR$/.idea/tiantian-system.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
12
.idea/tiantian-system.iml
generated
Normal file
12
.idea/tiantian-system.iml
generated
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="WEB_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<excludeFolder url="file://$MODULE_DIR$/.tmp" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/temp" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/tmp" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
||||
6
.idea/vcs.xml
generated
Normal file
6
.idea/vcs.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
21
.nuxt/app.config.mjs
Normal file
21
.nuxt/app.config.mjs
Normal file
@@ -0,0 +1,21 @@
|
||||
|
||||
import { defuFn } from 'defu'
|
||||
|
||||
const inlineConfig = {
|
||||
"nuxt": {}
|
||||
}
|
||||
|
||||
/** client **/
|
||||
import { _replaceAppConfig } from '#app/config'
|
||||
|
||||
// Vite - webpack is handled directly in #app/config
|
||||
if (import.meta.dev && !import.meta.nitro && import.meta.hot) {
|
||||
import.meta.hot.accept((newModule) => {
|
||||
_replaceAppConfig(newModule.default)
|
||||
})
|
||||
}
|
||||
/** client-end **/
|
||||
|
||||
|
||||
|
||||
export default /*@__PURE__*/ defuFn(inlineConfig)
|
||||
162
.nuxt/components.d.ts
vendored
Normal file
162
.nuxt/components.d.ts
vendored
Normal file
@@ -0,0 +1,162 @@
|
||||
|
||||
import type { DefineComponent, SlotsType } from 'vue'
|
||||
type IslandComponent<T> = DefineComponent<{}, {refresh: () => Promise<void>}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, SlotsType<{ fallback: { error: unknown } }>> & T
|
||||
|
||||
type HydrationStrategies = {
|
||||
hydrateOnVisible?: IntersectionObserverInit | true
|
||||
hydrateOnIdle?: number | true
|
||||
hydrateOnInteraction?: keyof HTMLElementEventMap | Array<keyof HTMLElementEventMap> | true
|
||||
hydrateOnMediaQuery?: string
|
||||
hydrateAfter?: number
|
||||
hydrateWhen?: boolean
|
||||
hydrateNever?: true
|
||||
}
|
||||
type LazyComponent<T> = DefineComponent<HydrationStrategies, {}, {}, {}, {}, {}, {}, { hydrated: () => void }> & T
|
||||
|
||||
|
||||
export const LangSwitch: typeof import("../app/components/LangSwitch.vue").default
|
||||
export const NotificationBell: typeof import("../app/components/NotificationBell.vue").default
|
||||
export const QrCodeModal: typeof import("../app/components/QrCodeModal.vue").default
|
||||
export const QrLogin: typeof import("../app/components/QrLogin.vue").default
|
||||
export const SiteFooter: typeof import("../app/components/SiteFooter.vue").default
|
||||
export const SiteHeader: typeof import("../app/components/SiteHeader.vue").default
|
||||
export const AdminMarkdownEditor: typeof import("../app/components/admin/MarkdownEditor.vue").default
|
||||
export const AdminMarkdownRenderer: typeof import("../app/components/admin/MarkdownRenderer.vue").default
|
||||
export const ConsoleAppsCenter: typeof import("../app/components/console/AppsCenter.vue").default
|
||||
export const ConsoleHeader: typeof import("../app/components/console/ConsoleHeader.vue").default
|
||||
export const DeveloperAppDetail: typeof import("../app/components/developer/AppDetail.vue").default
|
||||
export const DeveloperAppsCenter: typeof import("../app/components/developer/AppsCenter.vue").default
|
||||
export const DeveloperPermissionGuard: typeof import("../app/components/developer/PermissionGuard.vue").default
|
||||
export const DeveloperRoleTag: typeof import("../app/components/developer/RoleTag.vue").default
|
||||
export const InviteBell: typeof import("../app/components/invite/InviteBell.vue").default
|
||||
export const InviteNotification: typeof import("../app/components/invite/InviteNotification.vue").default
|
||||
export const PaymentModal: typeof import("../app/components/payment/PaymentModal.vue").default
|
||||
export const ProseA: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseA.vue").default
|
||||
export const ProseBlockquote: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseBlockquote.vue").default
|
||||
export const ProseCode: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseCode.vue").default
|
||||
export const ProseEm: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseEm.vue").default
|
||||
export const ProseH1: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH1.vue").default
|
||||
export const ProseH2: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH2.vue").default
|
||||
export const ProseH3: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH3.vue").default
|
||||
export const ProseH4: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH4.vue").default
|
||||
export const ProseH5: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH5.vue").default
|
||||
export const ProseH6: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH6.vue").default
|
||||
export const ProseHr: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseHr.vue").default
|
||||
export const ProseImg: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseImg.vue").default
|
||||
export const ProseLi: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseLi.vue").default
|
||||
export const ProseOl: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseOl.vue").default
|
||||
export const ProseP: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseP.vue").default
|
||||
export const ProsePre: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProsePre.vue").default
|
||||
export const ProseScript: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseScript.vue").default
|
||||
export const ProseStrong: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseStrong.vue").default
|
||||
export const ProseTable: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTable.vue").default
|
||||
export const ProseTbody: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTbody.vue").default
|
||||
export const ProseTd: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTd.vue").default
|
||||
export const ProseTh: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTh.vue").default
|
||||
export const ProseThead: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseThead.vue").default
|
||||
export const ProseTr: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTr.vue").default
|
||||
export const ProseUl: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseUl.vue").default
|
||||
export const NuxtWelcome: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/welcome.vue").default
|
||||
export const NuxtLayout: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-layout").default
|
||||
export const NuxtErrorBoundary: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-error-boundary.vue").default
|
||||
export const ClientOnly: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/client-only").default
|
||||
export const DevOnly: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/dev-only").default
|
||||
export const ServerPlaceholder: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/server-placeholder").default
|
||||
export const NuxtLink: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-link").default
|
||||
export const NuxtLoadingIndicator: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-loading-indicator").default
|
||||
export const NuxtTime: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-time.vue").default
|
||||
export const NuxtRouteAnnouncer: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-route-announcer").default
|
||||
export const NuxtImg: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-stubs").NuxtImg
|
||||
export const NuxtPicture: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-stubs").NuxtPicture
|
||||
export const ContentRenderer: typeof import("../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/components/ContentRenderer.vue").default
|
||||
export const NuxtLinkLocale: typeof import("../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/components/NuxtLinkLocale").default
|
||||
export const SwitchLocalePathLink: typeof import("../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/components/SwitchLocalePathLink").default
|
||||
export const NuxtPage: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/pages/runtime/page").default
|
||||
export const NoScript: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").NoScript
|
||||
export const Link: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Link
|
||||
export const Base: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Base
|
||||
export const Title: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Title
|
||||
export const Meta: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Meta
|
||||
export const Style: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Style
|
||||
export const Head: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Head
|
||||
export const Html: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Html
|
||||
export const Body: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Body
|
||||
export const MDC: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDC.vue").default
|
||||
export const MDCCached: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDCCached.vue").default
|
||||
export const MDCRenderer: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDCRenderer.vue").default
|
||||
export const MDCSlot: typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDCSlot.vue").default
|
||||
export const NuxtIsland: typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-island").default
|
||||
export const LazyLangSwitch: LazyComponent<typeof import("../app/components/LangSwitch.vue").default>
|
||||
export const LazyNotificationBell: LazyComponent<typeof import("../app/components/NotificationBell.vue").default>
|
||||
export const LazyQrCodeModal: LazyComponent<typeof import("../app/components/QrCodeModal.vue").default>
|
||||
export const LazyQrLogin: LazyComponent<typeof import("../app/components/QrLogin.vue").default>
|
||||
export const LazySiteFooter: LazyComponent<typeof import("../app/components/SiteFooter.vue").default>
|
||||
export const LazySiteHeader: LazyComponent<typeof import("../app/components/SiteHeader.vue").default>
|
||||
export const LazyAdminMarkdownEditor: LazyComponent<typeof import("../app/components/admin/MarkdownEditor.vue").default>
|
||||
export const LazyAdminMarkdownRenderer: LazyComponent<typeof import("../app/components/admin/MarkdownRenderer.vue").default>
|
||||
export const LazyConsoleAppsCenter: LazyComponent<typeof import("../app/components/console/AppsCenter.vue").default>
|
||||
export const LazyConsoleHeader: LazyComponent<typeof import("../app/components/console/ConsoleHeader.vue").default>
|
||||
export const LazyDeveloperAppDetail: LazyComponent<typeof import("../app/components/developer/AppDetail.vue").default>
|
||||
export const LazyDeveloperAppsCenter: LazyComponent<typeof import("../app/components/developer/AppsCenter.vue").default>
|
||||
export const LazyDeveloperPermissionGuard: LazyComponent<typeof import("../app/components/developer/PermissionGuard.vue").default>
|
||||
export const LazyDeveloperRoleTag: LazyComponent<typeof import("../app/components/developer/RoleTag.vue").default>
|
||||
export const LazyInviteBell: LazyComponent<typeof import("../app/components/invite/InviteBell.vue").default>
|
||||
export const LazyInviteNotification: LazyComponent<typeof import("../app/components/invite/InviteNotification.vue").default>
|
||||
export const LazyPaymentModal: LazyComponent<typeof import("../app/components/payment/PaymentModal.vue").default>
|
||||
export const LazyProseA: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseA.vue").default>
|
||||
export const LazyProseBlockquote: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseBlockquote.vue").default>
|
||||
export const LazyProseCode: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseCode.vue").default>
|
||||
export const LazyProseEm: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseEm.vue").default>
|
||||
export const LazyProseH1: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH1.vue").default>
|
||||
export const LazyProseH2: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH2.vue").default>
|
||||
export const LazyProseH3: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH3.vue").default>
|
||||
export const LazyProseH4: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH4.vue").default>
|
||||
export const LazyProseH5: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH5.vue").default>
|
||||
export const LazyProseH6: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH6.vue").default>
|
||||
export const LazyProseHr: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseHr.vue").default>
|
||||
export const LazyProseImg: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseImg.vue").default>
|
||||
export const LazyProseLi: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseLi.vue").default>
|
||||
export const LazyProseOl: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseOl.vue").default>
|
||||
export const LazyProseP: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseP.vue").default>
|
||||
export const LazyProsePre: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProsePre.vue").default>
|
||||
export const LazyProseScript: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseScript.vue").default>
|
||||
export const LazyProseStrong: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseStrong.vue").default>
|
||||
export const LazyProseTable: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTable.vue").default>
|
||||
export const LazyProseTbody: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTbody.vue").default>
|
||||
export const LazyProseTd: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTd.vue").default>
|
||||
export const LazyProseTh: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTh.vue").default>
|
||||
export const LazyProseThead: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseThead.vue").default>
|
||||
export const LazyProseTr: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTr.vue").default>
|
||||
export const LazyProseUl: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseUl.vue").default>
|
||||
export const LazyNuxtWelcome: LazyComponent<typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/welcome.vue").default>
|
||||
export const LazyNuxtLayout: LazyComponent<typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-layout").default>
|
||||
export const LazyNuxtErrorBoundary: LazyComponent<typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-error-boundary.vue").default>
|
||||
export const LazyClientOnly: LazyComponent<typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/client-only").default>
|
||||
export const LazyDevOnly: LazyComponent<typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/dev-only").default>
|
||||
export const LazyServerPlaceholder: LazyComponent<typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/server-placeholder").default>
|
||||
export const LazyNuxtLink: LazyComponent<typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-link").default>
|
||||
export const LazyNuxtLoadingIndicator: LazyComponent<typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-loading-indicator").default>
|
||||
export const LazyNuxtTime: LazyComponent<typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-time.vue").default>
|
||||
export const LazyNuxtRouteAnnouncer: LazyComponent<typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-route-announcer").default>
|
||||
export const LazyNuxtImg: LazyComponent<typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-stubs").NuxtImg>
|
||||
export const LazyNuxtPicture: LazyComponent<typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-stubs").NuxtPicture>
|
||||
export const LazyContentRenderer: LazyComponent<typeof import("../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/components/ContentRenderer.vue").default>
|
||||
export const LazyNuxtLinkLocale: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/components/NuxtLinkLocale").default>
|
||||
export const LazySwitchLocalePathLink: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/components/SwitchLocalePathLink").default>
|
||||
export const LazyNuxtPage: LazyComponent<typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/pages/runtime/page").default>
|
||||
export const LazyNoScript: LazyComponent<typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").NoScript>
|
||||
export const LazyLink: LazyComponent<typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Link>
|
||||
export const LazyBase: LazyComponent<typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Base>
|
||||
export const LazyTitle: LazyComponent<typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Title>
|
||||
export const LazyMeta: LazyComponent<typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Meta>
|
||||
export const LazyStyle: LazyComponent<typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Style>
|
||||
export const LazyHead: LazyComponent<typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Head>
|
||||
export const LazyHtml: LazyComponent<typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Html>
|
||||
export const LazyBody: LazyComponent<typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Body>
|
||||
export const LazyMDC: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDC.vue").default>
|
||||
export const LazyMDCCached: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDCCached.vue").default>
|
||||
export const LazyMDCRenderer: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDCRenderer.vue").default>
|
||||
export const LazyMDCSlot: LazyComponent<typeof import("../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDCSlot.vue").default>
|
||||
export const LazyNuxtIsland: LazyComponent<typeof import("../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-island").default>
|
||||
|
||||
export const componentNames: string[]
|
||||
58
.nuxt/content/components.ts
Normal file
58
.nuxt/content/components.ts
Normal file
@@ -0,0 +1,58 @@
|
||||
const pickExport = (mod, exportName, componentName, path) => {
|
||||
const resolved = exportName === 'default' ? mod?.default : mod?.[exportName]
|
||||
if (!resolved) {
|
||||
throw new Error(`[nuxt-content] Missing export "${exportName}" for component "${componentName}" in "${path}".`)
|
||||
}
|
||||
return resolved
|
||||
}
|
||||
export const localComponentLoaders = {
|
||||
LangSwitch: () => import("./../../app/components/LangSwitch.vue").then(m => pickExport(m, "default", "LangSwitch", "./../../app/components/LangSwitch.vue")),
|
||||
NotificationBell: () => import("./../../app/components/NotificationBell.vue").then(m => pickExport(m, "default", "NotificationBell", "./../../app/components/NotificationBell.vue")),
|
||||
QrCodeModal: () => import("./../../app/components/QrCodeModal.vue").then(m => pickExport(m, "default", "QrCodeModal", "./../../app/components/QrCodeModal.vue")),
|
||||
QrLogin: () => import("./../../app/components/QrLogin.vue").then(m => pickExport(m, "default", "QrLogin", "./../../app/components/QrLogin.vue")),
|
||||
SiteFooter: () => import("./../../app/components/SiteFooter.vue").then(m => pickExport(m, "default", "SiteFooter", "./../../app/components/SiteFooter.vue")),
|
||||
SiteHeader: () => import("./../../app/components/SiteHeader.vue").then(m => pickExport(m, "default", "SiteHeader", "./../../app/components/SiteHeader.vue")),
|
||||
AdminMarkdownEditor: () => import("./../../app/components/admin/MarkdownEditor.vue").then(m => pickExport(m, "default", "AdminMarkdownEditor", "./../../app/components/admin/MarkdownEditor.vue")),
|
||||
AdminMarkdownRenderer: () => import("./../../app/components/admin/MarkdownRenderer.vue").then(m => pickExport(m, "default", "AdminMarkdownRenderer", "./../../app/components/admin/MarkdownRenderer.vue")),
|
||||
ConsoleAppsCenter: () => import("./../../app/components/console/AppsCenter.vue").then(m => pickExport(m, "default", "ConsoleAppsCenter", "./../../app/components/console/AppsCenter.vue")),
|
||||
ConsoleHeader: () => import("./../../app/components/console/ConsoleHeader.vue").then(m => pickExport(m, "default", "ConsoleHeader", "./../../app/components/console/ConsoleHeader.vue")),
|
||||
DeveloperAppDetail: () => import("./../../app/components/developer/AppDetail.vue").then(m => pickExport(m, "default", "DeveloperAppDetail", "./../../app/components/developer/AppDetail.vue")),
|
||||
DeveloperAppsCenter: () => import("./../../app/components/developer/AppsCenter.vue").then(m => pickExport(m, "default", "DeveloperAppsCenter", "./../../app/components/developer/AppsCenter.vue")),
|
||||
DeveloperPermissionGuard: () => import("./../../app/components/developer/PermissionGuard.vue").then(m => pickExport(m, "default", "DeveloperPermissionGuard", "./../../app/components/developer/PermissionGuard.vue")),
|
||||
DeveloperRoleTag: () => import("./../../app/components/developer/RoleTag.vue").then(m => pickExport(m, "default", "DeveloperRoleTag", "./../../app/components/developer/RoleTag.vue")),
|
||||
InviteBell: () => import("./../../app/components/invite/InviteBell.vue").then(m => pickExport(m, "default", "InviteBell", "./../../app/components/invite/InviteBell.vue")),
|
||||
InviteNotification: () => import("./../../app/components/invite/InviteNotification.vue").then(m => pickExport(m, "default", "InviteNotification", "./../../app/components/invite/InviteNotification.vue")),
|
||||
PaymentModal: () => import("./../../app/components/payment/PaymentModal.vue").then(m => pickExport(m, "default", "PaymentModal", "./../../app/components/payment/PaymentModal.vue")),
|
||||
NuxtWelcome: () => import("./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/welcome.vue").then(m => pickExport(m, "default", "NuxtWelcome", "./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/welcome.vue")),
|
||||
NuxtLayout: () => import("./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-layout").then(m => pickExport(m, "default", "NuxtLayout", "./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-layout")),
|
||||
NuxtErrorBoundary: () => import("./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-error-boundary.vue").then(m => pickExport(m, "default", "NuxtErrorBoundary", "./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-error-boundary.vue")),
|
||||
ClientOnly: () => import("./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/client-only").then(m => pickExport(m, "default", "ClientOnly", "./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/client-only")),
|
||||
DevOnly: () => import("./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/dev-only").then(m => pickExport(m, "default", "DevOnly", "./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/dev-only")),
|
||||
ServerPlaceholder: () => import("./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/server-placeholder").then(m => pickExport(m, "default", "ServerPlaceholder", "./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/server-placeholder")),
|
||||
NuxtLink: () => import("./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-link").then(m => pickExport(m, "default", "NuxtLink", "./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-link")),
|
||||
NuxtLoadingIndicator: () => import("./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-loading-indicator").then(m => pickExport(m, "default", "NuxtLoadingIndicator", "./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-loading-indicator")),
|
||||
NuxtTime: () => import("./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-time.vue").then(m => pickExport(m, "default", "NuxtTime", "./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-time.vue")),
|
||||
NuxtRouteAnnouncer: () => import("./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-route-announcer").then(m => pickExport(m, "default", "NuxtRouteAnnouncer", "./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-route-announcer")),
|
||||
NuxtImg: () => import("./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-stubs").then(m => pickExport(m, "NuxtImg", "NuxtImg", "./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-stubs")),
|
||||
NuxtPicture: () => import("./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-stubs").then(m => pickExport(m, "NuxtPicture", "NuxtPicture", "./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-stubs")),
|
||||
ContentRenderer: () => import("./../../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/components/ContentRenderer.vue").then(m => pickExport(m, "default", "ContentRenderer", "./../../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/components/ContentRenderer.vue")),
|
||||
NuxtLinkLocale: () => import("./../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/components/NuxtLinkLocale").then(m => pickExport(m, "default", "NuxtLinkLocale", "./../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/components/NuxtLinkLocale")),
|
||||
SwitchLocalePathLink: () => import("./../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/components/SwitchLocalePathLink").then(m => pickExport(m, "default", "SwitchLocalePathLink", "./../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/components/SwitchLocalePathLink")),
|
||||
NuxtPage: () => import("./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/pages/runtime/page").then(m => pickExport(m, "default", "NuxtPage", "./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/pages/runtime/page")),
|
||||
NoScript: () => import("./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").then(m => pickExport(m, "NoScript", "NoScript", "./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components")),
|
||||
Link: () => import("./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").then(m => pickExport(m, "Link", "Link", "./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components")),
|
||||
Base: () => import("./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").then(m => pickExport(m, "Base", "Base", "./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components")),
|
||||
Title: () => import("./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").then(m => pickExport(m, "Title", "Title", "./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components")),
|
||||
Meta: () => import("./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").then(m => pickExport(m, "Meta", "Meta", "./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components")),
|
||||
Style: () => import("./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").then(m => pickExport(m, "Style", "Style", "./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components")),
|
||||
Head: () => import("./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").then(m => pickExport(m, "Head", "Head", "./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components")),
|
||||
Html: () => import("./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").then(m => pickExport(m, "Html", "Html", "./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components")),
|
||||
Body: () => import("./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").then(m => pickExport(m, "Body", "Body", "./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components")),
|
||||
MDC: () => import("./../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDC.vue").then(m => pickExport(m, "default", "MDC", "./../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDC.vue")),
|
||||
MDCCached: () => import("./../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDCCached.vue").then(m => pickExport(m, "default", "MDCCached", "./../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDCCached.vue")),
|
||||
MDCRenderer: () => import("./../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDCRenderer.vue").then(m => pickExport(m, "default", "MDCRenderer", "./../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDCRenderer.vue")),
|
||||
MDCSlot: () => import("./../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDCSlot.vue").then(m => pickExport(m, "default", "MDCSlot", "./../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDCSlot.vue")),
|
||||
NuxtIsland: () => import("./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-island").then(m => pickExport(m, "default", "NuxtIsland", "./../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-island")),
|
||||
}
|
||||
export const globalComponents: string[] = ["ProseA","ProseBlockquote","ProseCode","ProseEm","ProseH1","ProseH2","ProseH3","ProseH4","ProseH5","ProseH6","ProseHr","ProseImg","ProseLi","ProseOl","ProseP","ProsePre","ProseScript","ProseStrong","ProseTable","ProseTbody","ProseTd","ProseTh","ProseThead","ProseTr","ProseUl"]
|
||||
export const localComponents: string[] = ["LangSwitch","NotificationBell","QrCodeModal","QrLogin","SiteFooter","SiteHeader","AdminMarkdownEditor","AdminMarkdownRenderer","ConsoleAppsCenter","ConsoleHeader","DeveloperAppDetail","DeveloperAppsCenter","DeveloperPermissionGuard","DeveloperRoleTag","InviteBell","InviteNotification","PaymentModal","NuxtWelcome","NuxtLayout","NuxtErrorBoundary","ClientOnly","DevOnly","ServerPlaceholder","NuxtLink","NuxtLoadingIndicator","NuxtTime","NuxtRouteAnnouncer","NuxtImg","NuxtPicture","ContentRenderer","NuxtLinkLocale","SwitchLocalePathLink","NuxtPage","NoScript","Link","Base","Title","Meta","Style","Head","Html","Body","MDC","MDCCached","MDCRenderer","MDCSlot","NuxtIsland"]
|
||||
1
.nuxt/content/database.compressed.mjs
Normal file
1
.nuxt/content/database.compressed.mjs
Normal file
File diff suppressed because one or more lines are too long
33
.nuxt/content/manifest.ts
Normal file
33
.nuxt/content/manifest.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
export const checksums = {
|
||||
"docs": "v3.5.0--jyttfyMCdlkkD2Cy6uAigSOupLz7w9JK12BEQDx-Jb8"
|
||||
}
|
||||
export const checksumsStructure = {
|
||||
"docs": "quFkNIUZZFAwcn0ok74-KsIERem9u0p5DW-cqEgxrPA"
|
||||
}
|
||||
|
||||
export const tables = {
|
||||
"docs": "_content_docs",
|
||||
"info": "_content_info"
|
||||
}
|
||||
|
||||
export default {
|
||||
"docs": {
|
||||
"type": "page",
|
||||
"fields": {
|
||||
"id": "string",
|
||||
"title": "string",
|
||||
"body": "json",
|
||||
"description": "string",
|
||||
"extension": "string",
|
||||
"meta": "json",
|
||||
"navigation": "json",
|
||||
"path": "string",
|
||||
"seo": "json",
|
||||
"stem": "string"
|
||||
}
|
||||
},
|
||||
"info": {
|
||||
"type": "data",
|
||||
"fields": {}
|
||||
}
|
||||
}
|
||||
18
.nuxt/content/sql_dump.txt
Normal file
18
.nuxt/content/sql_dump.txt
Normal file
File diff suppressed because one or more lines are too long
21
.nuxt/content/types.d.ts
vendored
Normal file
21
.nuxt/content/types.d.ts
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
import type { PageCollectionItemBase, DataCollectionItemBase } from '@nuxt/content'
|
||||
|
||||
declare module '@nuxt/content' {
|
||||
/* eslint-disable */
|
||||
/**
|
||||
* This file was automatically generated by json-schema-to-typescript.
|
||||
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
|
||||
* and run json-schema-to-typescript to regenerate this file.
|
||||
*/
|
||||
|
||||
interface DocsCollectionItem extends PageCollectionItemBase {}
|
||||
|
||||
|
||||
interface PageCollections {
|
||||
docs: DocsCollectionItem
|
||||
}
|
||||
|
||||
interface Collections {
|
||||
docs: DocsCollectionItem
|
||||
}
|
||||
}
|
||||
4271
.nuxt/dev/index.mjs
Normal file
4271
.nuxt/dev/index.mjs
Normal file
File diff suppressed because it is too large
Load Diff
1
.nuxt/dev/index.mjs.map
Normal file
1
.nuxt/dev/index.mjs.map
Normal file
File diff suppressed because one or more lines are too long
3
.nuxt/i18n-route-resources.mjs
Normal file
3
.nuxt/i18n-route-resources.mjs
Normal file
@@ -0,0 +1,3 @@
|
||||
// Generated by @nuxtjs/i18n
|
||||
export const pathToI18nConfig = {};
|
||||
export const i18nPathToPath = {};
|
||||
49
.nuxt/imports.d.ts
vendored
Normal file
49
.nuxt/imports.d.ts
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
export { useScriptTriggerConsent, useScriptEventPage, useScriptTriggerElement, useScript, useScriptGoogleAnalytics, useScriptPlausibleAnalytics, useScriptCrisp, useScriptClarity, useScriptCloudflareWebAnalytics, useScriptFathomAnalytics, useScriptMatomoAnalytics, useScriptGoogleTagManager, useScriptGoogleAdsense, useScriptSegment, useScriptMetaPixel, useScriptXPixel, useScriptIntercom, useScriptHotjar, useScriptStripe, useScriptLemonSqueezy, useScriptVimeoPlayer, useScriptYouTubePlayer, useScriptGoogleMaps, useScriptNpm, useScriptUmamiAnalytics, useScriptSnapchatPixel, useScriptRybbitAnalytics, useScriptDatabuddyAnalytics, useScriptRedditPixel, useScriptPayPal } from '#app/composables/script-stubs';
|
||||
export { isVue2, isVue3 } from 'vue-demi';
|
||||
export { defineNuxtLink } from '#app/components/nuxt-link';
|
||||
export { useNuxtApp, tryUseNuxtApp, defineNuxtPlugin, definePayloadPlugin, useRuntimeConfig, defineAppConfig } from '#app/nuxt';
|
||||
export { useAppConfig, updateAppConfig } from '#app/config';
|
||||
export { defineNuxtComponent } from '#app/composables/component';
|
||||
export { useAsyncData, useLazyAsyncData, useNuxtData, refreshNuxtData, clearNuxtData } from '#app/composables/asyncData';
|
||||
export { useHydration } from '#app/composables/hydrate';
|
||||
export { callOnce } from '#app/composables/once';
|
||||
export { useState, clearNuxtState } from '#app/composables/state';
|
||||
export { clearError, createError, isNuxtError, showError, useError } from '#app/composables/error';
|
||||
export { useFetch, useLazyFetch } from '#app/composables/fetch';
|
||||
export { useCookie, refreshCookie } from '#app/composables/cookie';
|
||||
export { onPrehydrate, prerenderRoutes, useRequestHeader, useRequestHeaders, useResponseHeader, useRequestEvent, useRequestFetch, setResponseStatus } from '#app/composables/ssr';
|
||||
export { onNuxtReady } from '#app/composables/ready';
|
||||
export { preloadComponents, prefetchComponents, preloadRouteComponents } from '#app/composables/preload';
|
||||
export { abortNavigation, addRouteMiddleware, defineNuxtRouteMiddleware, setPageLayout, navigateTo, useRoute, useRouter } from '#app/composables/router';
|
||||
export { isPrerendered, loadPayload, preloadPayload, definePayloadReducer, definePayloadReviver } from '#app/composables/payload';
|
||||
export { useLoadingIndicator } from '#app/composables/loading-indicator';
|
||||
export { getAppManifest, getRouteRules } from '#app/composables/manifest';
|
||||
export { reloadNuxtApp } from '#app/composables/chunk';
|
||||
export { useRequestURL } from '#app/composables/url';
|
||||
export { usePreviewMode } from '#app/composables/preview';
|
||||
export { useRouteAnnouncer } from '#app/composables/route-announcer';
|
||||
export { useRuntimeHook } from '#app/composables/runtime-hook';
|
||||
export { useHead, useHeadSafe, useServerHeadSafe, useServerHead, useSeoMeta, useServerSeoMeta, injectHead } from '#app/composables/head';
|
||||
export { onBeforeRouteLeave, onBeforeRouteUpdate, useLink } from 'vue-router';
|
||||
export { withCtx, withDirectives, withKeys, withMemo, withModifiers, withScopeId, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onServerPrefetch, onUnmounted, onUpdated, computed, customRef, isProxy, isReactive, isReadonly, isRef, markRaw, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, toRaw, toRef, toRefs, triggerRef, unref, watch, watchEffect, watchPostEffect, watchSyncEffect, onWatcherCleanup, isShallow, effect, effectScope, getCurrentScope, onScopeDispose, defineComponent, defineAsyncComponent, resolveComponent, getCurrentInstance, h, inject, hasInjectionContext, nextTick, provide, toValue, useModel, useAttrs, useCssModule, useCssVars, useSlots, useTransitionState, useId, useTemplateRef, useShadowRoot, Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue';
|
||||
export { requestIdleCallback, cancelIdleCallback } from '#app/compat/idle-callback';
|
||||
export { setInterval } from '#app/compat/interval';
|
||||
export { useRouteBaseName, useLocalePath, useLocaleRoute, useSwitchLocalePath, useLocaleHead, useBrowserLocale, useCookieLocale, useSetI18nParams, useI18nPreloadKeys, defineI18nRoute, defineI18nLocale, defineI18nConfig } from '../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index';
|
||||
export { definePageMeta } from '../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/pages/runtime/composables';
|
||||
export { defineLazyHydrationComponent } from '#app/composables/lazy-hydration';
|
||||
export { ROLE_HIERARCHY, ROLE_LABEL, ROLE_COLOR, useAppPermission, AppPermission } from '../app/composables/useAppPermission';
|
||||
export { notificationTypeMap, useNotificationCenter } from '../app/composables/useNotificationCenter';
|
||||
export { usePageSeo } from '../app/composables/usePageSeo';
|
||||
export { generateQrCodeDataUrl, generateQrCodeCanvas } from '../app/composables/useQRCode';
|
||||
export { isResourceOwner, getResourceAccessLevel, canViewBasic, canViewConnection, canViewSensitive, canManageResource, isMaskedValue, useResourceAccess, enrichResourcesWithPermission, ResourceAccessLevel } from '../app/composables/useResourceAccess';
|
||||
export { resolveWebHomeUrl, getAppEntries, getPrimaryEntry, getScanTip, executeEntry, EntryType, AppEntry } from '../app/utils/appEntry';
|
||||
export { getTenantId } from '../app/utils/domain';
|
||||
export { default as permission, setAuthz, clearAuthz, setAuthzFromUser, hasRole, hasAnyRole, hasPermission, hasAnyPermission } from '../app/utils/permission';
|
||||
export { default as request } from '../app/utils/request';
|
||||
export { setToken, getToken, removeToken } from '../app/utils/token-util';
|
||||
export { queryCollection, queryCollectionSearchSections, queryCollectionNavigation, queryCollectionItemSurroundings } from '../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/client';
|
||||
export { useI18n } from 'vue-i18n';
|
||||
export { useNuxtDevTools } from '../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/@nuxt/devtools/dist/runtime/use-nuxt-devtools';
|
||||
export { flatUnwrap as unwrapSlot } from '../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/utils/node';
|
||||
export { parseMarkdown } from '../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/parser';
|
||||
export { stringifyMarkdown } from '../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/stringify';
|
||||
8
.nuxt/mdc-configs.mjs
Normal file
8
.nuxt/mdc-configs.mjs
Normal file
@@ -0,0 +1,8 @@
|
||||
let configs
|
||||
export function getMdcConfigs () {
|
||||
if (!configs) {
|
||||
configs = Promise.all([
|
||||
])
|
||||
}
|
||||
return configs
|
||||
}
|
||||
217
.nuxt/mdc-highlighter.mjs
Normal file
217
.nuxt/mdc-highlighter.mjs
Normal file
@@ -0,0 +1,217 @@
|
||||
import { getMdcConfigs } from '#mdc-configs'
|
||||
import { createOnigurumaEngine } from '@shikijs/engine-oniguruma'
|
||||
import { createJavaScriptRegexEngine } from "@shikijs/engine-javascript";
|
||||
export function createShikiHighlighter({
|
||||
langs = [],
|
||||
themes = [],
|
||||
bundledLangs = {},
|
||||
bundledThemes = {},
|
||||
getMdcConfigs,
|
||||
options: shikiOptions,
|
||||
engine
|
||||
} = {}) {
|
||||
let shiki;
|
||||
let configs;
|
||||
async function _getShiki() {
|
||||
const { createHighlighterCore, addClassToHast, isSpecialLang, isSpecialTheme } = await import("@shikijs/core");
|
||||
const { transformerNotationDiff, transformerNotationErrorLevel, transformerNotationFocus, transformerNotationHighlight } = await import("@shikijs/transformers");
|
||||
const shiki2 = await createHighlighterCore({
|
||||
langs,
|
||||
themes,
|
||||
engine: engine || createJavaScriptRegexEngine()
|
||||
});
|
||||
for await (const config of await getConfigs()) {
|
||||
await config.shiki?.setup?.(shiki2);
|
||||
}
|
||||
return {
|
||||
shiki: shiki2,
|
||||
addClassToHast,
|
||||
isSpecialLang,
|
||||
isSpecialTheme,
|
||||
transformers: [
|
||||
transformerNotationDiff(),
|
||||
transformerNotationErrorLevel(),
|
||||
transformerNotationFocus(),
|
||||
transformerNotationHighlight()
|
||||
]
|
||||
};
|
||||
}
|
||||
async function getShiki() {
|
||||
if (!shiki) {
|
||||
shiki = _getShiki();
|
||||
}
|
||||
return shiki;
|
||||
}
|
||||
async function getConfigs() {
|
||||
if (!configs) {
|
||||
configs = Promise.resolve(getMdcConfigs?.() || []);
|
||||
}
|
||||
return configs;
|
||||
}
|
||||
const highlighter = async (code, lang, theme, options = {}) => {
|
||||
const {
|
||||
shiki: shiki2,
|
||||
addClassToHast,
|
||||
isSpecialLang,
|
||||
isSpecialTheme,
|
||||
transformers: baseTransformers
|
||||
} = await getShiki();
|
||||
const codeToHastOptions = {
|
||||
defaultColor: false,
|
||||
meta: {
|
||||
__raw: options.meta
|
||||
}
|
||||
};
|
||||
if (lang === "ts-type" || lang === "typescript-type") {
|
||||
lang = "typescript";
|
||||
codeToHastOptions.grammarContextCode = "let a:";
|
||||
} else if (lang === "vue-html" || lang === "vue-template") {
|
||||
lang = "vue";
|
||||
codeToHastOptions.grammarContextCode = "<template>";
|
||||
}
|
||||
const themesObject = { ...typeof theme === "string" ? { default: theme } : theme || {} };
|
||||
const loadedThemes = shiki2.getLoadedThemes();
|
||||
const loadedLanguages = shiki2.getLoadedLanguages();
|
||||
if (typeof lang === "string" && !loadedLanguages.includes(lang) && !isSpecialLang(lang)) {
|
||||
if (bundledLangs[lang]) {
|
||||
await shiki2.loadLanguage(bundledLangs[lang]);
|
||||
} else {
|
||||
if (process.dev) {
|
||||
console.warn(`[@nuxtjs/mdc] Language "${lang}" is not loaded to the Shiki highlighter, fallback to plain text. Add the language to "mdc.highlight.langs" to fix this.`);
|
||||
}
|
||||
lang = "text";
|
||||
}
|
||||
}
|
||||
for (const [color, theme2] of Object.entries(themesObject)) {
|
||||
if (typeof theme2 === "string" && !loadedThemes.includes(theme2) && !isSpecialTheme(theme2)) {
|
||||
if (bundledThemes[theme2]) {
|
||||
await shiki2.loadTheme(bundledThemes[theme2]);
|
||||
} else {
|
||||
if (process.dev) {
|
||||
console.warn(`[@nuxtjs/mdc] Theme "${theme2}" is not loaded to the Shiki highlighter. Add the theme to "mdc.highlight.themes" to fix this.`);
|
||||
}
|
||||
themesObject[color] = "none";
|
||||
}
|
||||
}
|
||||
}
|
||||
const transformersMap = /* @__PURE__ */ new Map();
|
||||
for (const transformer of baseTransformers) {
|
||||
transformersMap.set(transformer.name || `transformer:${Math.random()}-${transformer.constructor.name}`, transformer);
|
||||
}
|
||||
for (const config of await getConfigs()) {
|
||||
const newTransformers = typeof config.shiki?.transformers === "function" ? await config.shiki?.transformers(code, lang, theme, options) : config.shiki?.transformers || [];
|
||||
for (const transformer of newTransformers) {
|
||||
transformersMap.set(transformer.name || `transformer:${Math.random()}-${transformer.constructor.name}`, transformer);
|
||||
}
|
||||
}
|
||||
const root = shiki2.codeToHast(code.trimEnd(), {
|
||||
lang,
|
||||
...codeToHastOptions,
|
||||
themes: themesObject,
|
||||
transformers: [
|
||||
...transformersMap.values(),
|
||||
{
|
||||
name: "mdc:highlight",
|
||||
line(node, line) {
|
||||
if (options.highlights?.includes(line))
|
||||
addClassToHast(node, "highlight");
|
||||
node.properties.line = line;
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "mdc:newline",
|
||||
line(node) {
|
||||
if (code?.includes("\n")) {
|
||||
if (node.children.length === 0 || node.children.length === 1 && node.children[0].type === "element" && node.children[0].children.length === 1 && node.children[0].children[0].type === "text" && node.children[0].children[0].value === "") {
|
||||
node.children = [{
|
||||
type: "element",
|
||||
tagName: "span",
|
||||
properties: {
|
||||
emptyLinePlaceholder: true
|
||||
},
|
||||
children: [{ type: "text", value: "\n" }]
|
||||
}];
|
||||
return;
|
||||
}
|
||||
const last = node.children.at(-1);
|
||||
if (last?.type === "element" && last.tagName === "span") {
|
||||
const text = last.children.at(-1);
|
||||
if (text?.type === "text")
|
||||
text.value += "\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
const preEl = root.children[0];
|
||||
const codeEl = preEl.children[0];
|
||||
const wrapperStyle = shikiOptions?.wrapperStyle;
|
||||
preEl.properties.style = wrapperStyle ? typeof wrapperStyle === "string" ? wrapperStyle : preEl.properties.style : "";
|
||||
const styles = [];
|
||||
Object.keys(themesObject).forEach((color) => {
|
||||
const colorScheme = color !== "default" ? `.${color}` : "";
|
||||
styles.push(
|
||||
wrapperStyle ? `${colorScheme} .shiki,` : "",
|
||||
`html .${color} .shiki span {`,
|
||||
`color: var(--shiki-${color});`,
|
||||
`background: var(--shiki-${color}-bg);`,
|
||||
`font-style: var(--shiki-${color}-font-style);`,
|
||||
`font-weight: var(--shiki-${color}-font-weight);`,
|
||||
`text-decoration: var(--shiki-${color}-text-decoration);`,
|
||||
"}"
|
||||
);
|
||||
styles.push(
|
||||
`html${colorScheme} .shiki span {`,
|
||||
`color: var(--shiki-${color});`,
|
||||
`background: var(--shiki-${color}-bg);`,
|
||||
`font-style: var(--shiki-${color}-font-style);`,
|
||||
`font-weight: var(--shiki-${color}-font-weight);`,
|
||||
`text-decoration: var(--shiki-${color}-text-decoration);`,
|
||||
"}"
|
||||
);
|
||||
});
|
||||
return {
|
||||
tree: codeEl.children,
|
||||
className: Array.isArray(preEl.properties.class) ? preEl.properties.class.join(" ") : preEl.properties.class,
|
||||
inlineStyle: preEl.properties.style,
|
||||
style: styles.join("")
|
||||
};
|
||||
};
|
||||
return highlighter;
|
||||
}
|
||||
|
||||
const bundledLangs = {
|
||||
"javascript": () => import('@shikijs/langs/javascript').then(r => r.default || r),
|
||||
"js": () => import('@shikijs/langs/javascript').then(r => r.default || r),
|
||||
"cjs": () => import('@shikijs/langs/javascript').then(r => r.default || r),
|
||||
"mjs": () => import('@shikijs/langs/javascript').then(r => r.default || r),
|
||||
"jsx": () => import('@shikijs/langs/jsx').then(r => r.default || r),
|
||||
"json": () => import('@shikijs/langs/json').then(r => r.default || r),
|
||||
"typescript": () => import('@shikijs/langs/typescript').then(r => r.default || r),
|
||||
"ts": () => import('@shikijs/langs/typescript').then(r => r.default || r),
|
||||
"cts": () => import('@shikijs/langs/typescript').then(r => r.default || r),
|
||||
"mts": () => import('@shikijs/langs/typescript').then(r => r.default || r),
|
||||
"tsx": () => import('@shikijs/langs/tsx').then(r => r.default || r),
|
||||
"vue": () => import('@shikijs/langs/vue').then(r => r.default || r),
|
||||
"css": () => import('@shikijs/langs/css').then(r => r.default || r),
|
||||
"html": () => import('@shikijs/langs/html').then(r => r.default || r),
|
||||
"shellscript": () => import('@shikijs/langs/shellscript').then(r => r.default || r),
|
||||
"bash": () => import('@shikijs/langs/shellscript').then(r => r.default || r),
|
||||
"sh": () => import('@shikijs/langs/shellscript').then(r => r.default || r),
|
||||
"shell": () => import('@shikijs/langs/shellscript').then(r => r.default || r),
|
||||
"zsh": () => import('@shikijs/langs/shellscript').then(r => r.default || r),
|
||||
"markdown": () => import('@shikijs/langs/markdown').then(r => r.default || r),
|
||||
"md": () => import('@shikijs/langs/markdown').then(r => r.default || r),
|
||||
"mdc": () => import('@shikijs/langs/mdc').then(r => r.default || r),
|
||||
"yaml": () => import('@shikijs/langs/yaml').then(r => r.default || r),
|
||||
"yml": () => import('@shikijs/langs/yaml').then(r => r.default || r),
|
||||
}
|
||||
const bundledThemes = {
|
||||
"github-light": () => import('@shikijs/themes/github-light').then(r => r.default || r),
|
||||
"github-dark": () => import('@shikijs/themes/github-dark').then(r => r.default || r),
|
||||
}
|
||||
const options = {"theme":{"default":"github-light","dark":"github-dark"}}
|
||||
const engine = createOnigurumaEngine(() => import('shiki/wasm'))
|
||||
const highlighter = createShikiHighlighter({ bundledLangs, bundledThemes, options, getMdcConfigs, engine })
|
||||
export default highlighter
|
||||
1
.nuxt/mdc-image-component.mjs
Normal file
1
.nuxt/mdc-image-component.mjs
Normal file
@@ -0,0 +1 @@
|
||||
export default "img"
|
||||
12
.nuxt/mdc-imports.mjs
Normal file
12
.nuxt/mdc-imports.mjs
Normal file
@@ -0,0 +1,12 @@
|
||||
import _RemarkEmoji from 'remark-emoji'
|
||||
import _Highlight from '/Users/gxwebsoft/VUE/tiantian-system/node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/highlighter/rehype-nuxt.js'
|
||||
|
||||
export const remarkPlugins = {
|
||||
'remark-emoji': { instance: _RemarkEmoji },
|
||||
}
|
||||
|
||||
export const rehypePlugins = {
|
||||
'highlight': { instance: _Highlight, options: {} },
|
||||
}
|
||||
|
||||
export const highlight = {"theme":{"default":"github-light","dark":"github-dark"}}
|
||||
17
.nuxt/nitro.json
Normal file
17
.nuxt/nitro.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"date": "2026-04-08T09:07:42.267Z",
|
||||
"preset": "nitro-dev",
|
||||
"framework": {
|
||||
"name": "nuxt",
|
||||
"version": "4.2.2"
|
||||
},
|
||||
"versions": {
|
||||
"nitro": "2.12.8"
|
||||
},
|
||||
"dev": {
|
||||
"pid": 39171,
|
||||
"workerAddress": {
|
||||
"socketPath": "/var/folders/qz/k8gbknb502j_f8wbdcc8bs6h0000gn/T/nitro-worker-39171-1-1-6661.sock"
|
||||
}
|
||||
}
|
||||
}
|
||||
26
.nuxt/nuxt.d.ts
vendored
Normal file
26
.nuxt/nuxt.d.ts
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
/// <reference types="./modules/fix-tailwind-postcss" />
|
||||
/// <reference types="@nuxtjs/tailwindcss" />
|
||||
/// <reference types="@nuxt/content" />
|
||||
/// <reference types="@nuxtjs/i18n" />
|
||||
/// <reference types="@nuxt/devtools" />
|
||||
/// <reference types="@nuxt/telemetry" />
|
||||
/// <reference path="types/builder-env.d.ts" />
|
||||
/// <reference path="types/plugins.d.ts" />
|
||||
/// <reference path="types/build.d.ts" />
|
||||
/// <reference path="types/app.config.d.ts" />
|
||||
/// <reference path="types/runtime-config.d.ts" />
|
||||
/// <reference types="nuxt/app" />
|
||||
/// <reference types="/Users/gxwebsoft/VUE/tiantian-system/node_modules/.pnpm/@nuxt+nitro-server@4.2.2_better-sqlite3@12.8.0_db0@0.3.4_better-sqlite3@12.8.0__ioredis_a0a2be7525d559e696e64db570f075d2/node_modules/@nuxt/nitro-server/dist/index.mjs" />
|
||||
/// <reference path="content/types.d.ts" />
|
||||
/// <reference path="types/i18n-plugin.d.ts" />
|
||||
/// <reference types="vue-router" />
|
||||
/// <reference path="types/middleware.d.ts" />
|
||||
/// <reference path="types/nitro-middleware.d.ts" />
|
||||
/// <reference path="types/layouts.d.ts" />
|
||||
/// <reference path="types/components.d.ts" />
|
||||
/// <reference path="imports.d.ts" />
|
||||
/// <reference path="types/imports.d.ts" />
|
||||
/// <reference path="schema/nuxt.schema.d.ts" />
|
||||
/// <reference path="types/nitro.d.ts" />
|
||||
|
||||
export {}
|
||||
9
.nuxt/nuxt.json
Normal file
9
.nuxt/nuxt.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"_hash": "ZY4lm8jhCM6pZliWKYkdQZl-nhCk0lcFDozHfi-GXz4",
|
||||
"project": {
|
||||
"rootDir": "/Users/gxwebsoft/VUE/tiantian-system"
|
||||
},
|
||||
"versions": {
|
||||
"nuxt": "4.2.2"
|
||||
}
|
||||
}
|
||||
16
.nuxt/nuxt.node.d.ts
vendored
Normal file
16
.nuxt/nuxt.node.d.ts
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
/// <reference types="./modules/fix-tailwind-postcss" />
|
||||
/// <reference types="@nuxtjs/tailwindcss" />
|
||||
/// <reference types="@nuxt/content" />
|
||||
/// <reference types="@nuxtjs/i18n" />
|
||||
/// <reference types="@nuxt/devtools" />
|
||||
/// <reference types="@nuxt/telemetry" />
|
||||
/// <reference path="types/modules.d.ts" />
|
||||
/// <reference path="types/runtime-config.d.ts" />
|
||||
/// <reference path="types/app.config.d.ts" />
|
||||
/// <reference types="nuxt" />
|
||||
/// <reference types="../node_modules/.pnpm/@nuxt+vite-builder@4.2.2_@types+node@25.0.3_eslint@9.39.2_jiti@2.6.1__magicast@0.5.1_nu_d02b07d05348134360f42d727d38b333/node_modules/@nuxt/vite-builder/dist/index.mjs" />
|
||||
/// <reference types="/Users/gxwebsoft/VUE/tiantian-system/node_modules/.pnpm/@nuxt+nitro-server@4.2.2_better-sqlite3@12.8.0_db0@0.3.4_better-sqlite3@12.8.0__ioredis_a0a2be7525d559e696e64db570f075d2/node_modules/@nuxt/nitro-server/dist/index.mjs" />
|
||||
/// <reference path="types/nitro-middleware.d.ts" />
|
||||
/// <reference path="schema/nuxt.schema.d.ts" />
|
||||
|
||||
export {}
|
||||
5
.nuxt/nuxt.shared.d.ts
vendored
Normal file
5
.nuxt/nuxt.shared.d.ts
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
/// <reference path="types/runtime-config.d.ts" />
|
||||
/// <reference path="types/app.config.d.ts" />
|
||||
/// <reference path="schema/nuxt.schema.d.ts" />
|
||||
|
||||
export {}
|
||||
17
.nuxt/schema/nuxt.schema.d.ts
vendored
Normal file
17
.nuxt/schema/nuxt.schema.d.ts
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
export interface NuxtCustomSchema {
|
||||
|
||||
}
|
||||
export type CustomAppConfig = Exclude<NuxtCustomSchema['appConfig'], undefined>
|
||||
type _CustomAppConfig = CustomAppConfig
|
||||
|
||||
declare module '@nuxt/schema' {
|
||||
interface NuxtConfig extends Omit<NuxtCustomSchema, 'appConfig'> {}
|
||||
interface NuxtOptions extends Omit<NuxtCustomSchema, 'appConfig'> {}
|
||||
interface CustomAppConfig extends _CustomAppConfig {}
|
||||
}
|
||||
|
||||
declare module 'nuxt/schema' {
|
||||
interface NuxtConfig extends Omit<NuxtCustomSchema, 'appConfig'> {}
|
||||
interface NuxtOptions extends Omit<NuxtCustomSchema, 'appConfig'> {}
|
||||
interface CustomAppConfig extends _CustomAppConfig {}
|
||||
}
|
||||
3
.nuxt/schema/nuxt.schema.json
Normal file
3
.nuxt/schema/nuxt.schema.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"id": "#"
|
||||
}
|
||||
16
.nuxt/tailwind/postcss.mjs
Normal file
16
.nuxt/tailwind/postcss.mjs
Normal file
@@ -0,0 +1,16 @@
|
||||
// generated by the @nuxtjs/tailwindcss <https://github.com/nuxt-modules/tailwindcss> module at 4/8/2026, 5:07:40 PM
|
||||
import "@nuxtjs/tailwindcss/config-ctx"
|
||||
import configMerger from "@nuxtjs/tailwindcss/merger";
|
||||
|
||||
import cfg2 from "./../../tailwind.config.cjs";
|
||||
import cfg3 from "./../../tailwind.config.cjs";
|
||||
const config = [
|
||||
{"content":{"files":["/Users/gxwebsoft/VUE/tiantian-system/app/components/**/*.{vue,js,jsx,mjs,ts,tsx}","/Users/gxwebsoft/VUE/tiantian-system/app/components/global/**/*.{vue,js,jsx,mjs,ts,tsx}","/Users/gxwebsoft/VUE/tiantian-system/app/components/**/*.{vue,js,jsx,mjs,ts,tsx}","/Users/gxwebsoft/VUE/tiantian-system/app/layouts/**/*.{vue,js,jsx,mjs,ts,tsx}","/Users/gxwebsoft/VUE/tiantian-system/app/plugins/**/*.{js,ts,mjs}","/Users/gxwebsoft/VUE/tiantian-system/app/composables/**/*.{js,ts,mjs}","/Users/gxwebsoft/VUE/tiantian-system/app/utils/**/*.{js,ts,mjs}","/Users/gxwebsoft/VUE/tiantian-system/app/pages/**/*.{vue,js,jsx,mjs,ts,tsx}","/Users/gxwebsoft/VUE/tiantian-system/app/{A,a}pp.{vue,js,jsx,mjs,ts,tsx}","/Users/gxwebsoft/VUE/tiantian-system/app/{E,e}rror.{vue,js,jsx,mjs,ts,tsx}","/Users/gxwebsoft/VUE/tiantian-system/app/app.config.{js,ts,mjs}"]}},
|
||||
{},
|
||||
cfg2,
|
||||
cfg3
|
||||
].reduce((acc, curr) => configMerger(acc, curr), {});
|
||||
|
||||
const resolvedConfig = config;
|
||||
|
||||
export default resolvedConfig;
|
||||
263
.nuxt/tsconfig.app.json
Normal file
263
.nuxt/tsconfig.app.json
Normal file
@@ -0,0 +1,263 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"paths": {
|
||||
"nitropack/types": [
|
||||
"../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/types"
|
||||
],
|
||||
"nitropack/runtime": [
|
||||
"../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/runtime"
|
||||
],
|
||||
"nitropack": [
|
||||
"../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack"
|
||||
],
|
||||
"defu": [
|
||||
"../node_modules/.pnpm/defu@6.1.4/node_modules/defu"
|
||||
],
|
||||
"h3": [
|
||||
"../node_modules/.pnpm/h3@1.15.4/node_modules/h3"
|
||||
],
|
||||
"consola": [
|
||||
"../node_modules/.pnpm/consola@3.4.2/node_modules/consola"
|
||||
],
|
||||
"ofetch": [
|
||||
"../node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch"
|
||||
],
|
||||
"@unhead/vue": [
|
||||
"../node_modules/.pnpm/@unhead+vue@2.1.1_vue@3.5.26_typescript@5.9.3_/node_modules/@unhead/vue"
|
||||
],
|
||||
"@nuxt/devtools": [
|
||||
"../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/@nuxt/devtools"
|
||||
],
|
||||
"@vue/runtime-core": [
|
||||
"../node_modules/.pnpm/@vue+runtime-core@3.5.26/node_modules/@vue/runtime-core"
|
||||
],
|
||||
"@vue/compiler-sfc": [
|
||||
"../node_modules/.pnpm/@vue+compiler-sfc@3.5.26/node_modules/@vue/compiler-sfc"
|
||||
],
|
||||
"unplugin-vue-router/client": [
|
||||
"../node_modules/.pnpm/unplugin-vue-router@0.19.1_@vue+compiler-sfc@3.5.26_vue-router@4.6.4_vue@3.5.26_typescr_afeae63e4951cf0abe0304554948e4ca/node_modules/unplugin-vue-router/client"
|
||||
],
|
||||
"@nuxt/schema": [
|
||||
"../node_modules/.pnpm/@nuxt+schema@4.2.2/node_modules/@nuxt/schema"
|
||||
],
|
||||
"nuxt": [
|
||||
"../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt"
|
||||
],
|
||||
"vite/client": [
|
||||
"../node_modules/.pnpm/vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2/node_modules/vite/client"
|
||||
],
|
||||
"@nuxtjs/mdc": [
|
||||
"../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc"
|
||||
],
|
||||
"vue-i18n": [
|
||||
"../node_modules/.pnpm/vue-i18n@11.3.0_vue@3.5.26_typescript@5.9.3_/node_modules/vue-i18n/dist/vue-i18n",
|
||||
"../node_modules/.pnpm/vue-i18n@11.3.0_vue@3.5.26_typescript@5.9.3_/node_modules/vue-i18n"
|
||||
],
|
||||
"@intlify/shared": [
|
||||
"../node_modules/.pnpm/@intlify+shared@11.3.0/node_modules/@intlify/shared/dist/shared",
|
||||
"../node_modules/.pnpm/@intlify+shared@11.3.0/node_modules/@intlify/shared"
|
||||
],
|
||||
"@intlify/core": [
|
||||
"../node_modules/.pnpm/@intlify+core@11.3.0/node_modules/@intlify/core/dist/core.node",
|
||||
"../node_modules/.pnpm/@intlify+core@11.3.0/node_modules/@intlify/core"
|
||||
],
|
||||
"@intlify/core-base": [
|
||||
"../node_modules/.pnpm/@intlify+core-base@11.3.0/node_modules/@intlify/core-base/dist/core-base",
|
||||
"../node_modules/.pnpm/@intlify+core-base@11.3.0/node_modules/@intlify/core-base"
|
||||
],
|
||||
"@intlify/utils": [
|
||||
"../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils/dist/index",
|
||||
"../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils"
|
||||
],
|
||||
"@intlify/utils/h3": [
|
||||
"../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils/dist/h3",
|
||||
"../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils"
|
||||
],
|
||||
"@intlify/message-compiler": [
|
||||
"../node_modules/.pnpm/@intlify+message-compiler@11.3.0/node_modules/@intlify/message-compiler/dist/message-compiler",
|
||||
"../node_modules/.pnpm/@intlify+message-compiler@11.3.0/node_modules/@intlify/message-compiler"
|
||||
],
|
||||
"#content/components": [
|
||||
"./content/components"
|
||||
],
|
||||
"#content/manifest": [
|
||||
"./content/manifest"
|
||||
],
|
||||
"~": [
|
||||
"../app"
|
||||
],
|
||||
"~/*": [
|
||||
"../app/*"
|
||||
],
|
||||
"@": [
|
||||
"../app"
|
||||
],
|
||||
"@/*": [
|
||||
"../app/*"
|
||||
],
|
||||
"~~": [
|
||||
".."
|
||||
],
|
||||
"~~/*": [
|
||||
"../*"
|
||||
],
|
||||
"@@": [
|
||||
".."
|
||||
],
|
||||
"@@/*": [
|
||||
"../*"
|
||||
],
|
||||
"#shared": [
|
||||
"../shared"
|
||||
],
|
||||
"#shared/*": [
|
||||
"../shared/*"
|
||||
],
|
||||
"#app": [
|
||||
"../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app"
|
||||
],
|
||||
"#app/*": [
|
||||
"../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/*"
|
||||
],
|
||||
"vue-demi": [
|
||||
"../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/compat/vue-demi"
|
||||
],
|
||||
"#i18n": [
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index"
|
||||
],
|
||||
"#i18n-kit": [
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/kit"
|
||||
],
|
||||
"#i18n-kit/*": [
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/kit/*"
|
||||
],
|
||||
"#internal-i18n-types": [
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/types"
|
||||
],
|
||||
"#vue-router": [
|
||||
"../node_modules/.pnpm/vue-router@4.6.4_vue@3.5.26_typescript@5.9.3_/node_modules/vue-router"
|
||||
],
|
||||
"#unhead/composables": [
|
||||
"../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/composables"
|
||||
],
|
||||
"#imports": [
|
||||
"./imports"
|
||||
],
|
||||
"#mdc-configs": [
|
||||
"./mdc-configs"
|
||||
],
|
||||
"#mdc-highlighter": [
|
||||
"./mdc-highlighter"
|
||||
],
|
||||
"#mdc-imports": [
|
||||
"./mdc-imports"
|
||||
],
|
||||
"#app-manifest": [
|
||||
"../node_modules/.pnpm/mocked-exports@0.1.1/node_modules/mocked-exports/lib/proxy"
|
||||
],
|
||||
"#components": [
|
||||
"./components"
|
||||
],
|
||||
"#build": [
|
||||
"."
|
||||
],
|
||||
"#build/*": [
|
||||
"./*"
|
||||
]
|
||||
},
|
||||
"esModuleInterop": true,
|
||||
"skipLibCheck": true,
|
||||
"target": "ESNext",
|
||||
"allowJs": true,
|
||||
"resolveJsonModule": true,
|
||||
"moduleDetection": "force",
|
||||
"isolatedModules": true,
|
||||
"verbatimModuleSyntax": true,
|
||||
"strict": true,
|
||||
"noUncheckedIndexedAccess": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"noImplicitOverride": true,
|
||||
"module": "preserve",
|
||||
"noEmit": true,
|
||||
"lib": [
|
||||
"ESNext",
|
||||
"dom",
|
||||
"dom.iterable",
|
||||
"webworker"
|
||||
],
|
||||
"jsx": "preserve",
|
||||
"jsxImportSource": "vue",
|
||||
"types": [],
|
||||
"moduleResolution": "Bundler",
|
||||
"useDefineForClassFields": true,
|
||||
"noImplicitThis": true,
|
||||
"allowSyntheticDefaultImports": true
|
||||
},
|
||||
"include": [
|
||||
"../i18n/**/*",
|
||||
"./nuxt.d.ts",
|
||||
"../app/**/*",
|
||||
"../modules/*/runtime/**/*",
|
||||
"../test/nuxt/**/*",
|
||||
"../tests/nuxt/**/*",
|
||||
"../layers/*/app/**/*",
|
||||
"../layers/*/modules/*/runtime/**/*",
|
||||
"../shared/**/*.d.ts",
|
||||
"../modules/*/shared/**/*.d.ts",
|
||||
"../layers/*/shared/**/*.d.ts",
|
||||
"../*.d.ts",
|
||||
"../layers/*/*.d.ts",
|
||||
"../modules/runtime",
|
||||
"../modules/dist/runtime"
|
||||
],
|
||||
"exclude": [
|
||||
"../node_modules",
|
||||
"../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/node_modules",
|
||||
"../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/node_modules",
|
||||
"../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/@nuxtjs/tailwindcss/node_modules",
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/node_modules",
|
||||
"../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/@nuxt/devtools/node_modules",
|
||||
"../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/@nuxt/telemetry/node_modules",
|
||||
"../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/node_modules",
|
||||
"../dist",
|
||||
"../.data",
|
||||
"../modules/*/runtime/server/**/*",
|
||||
"../layers/*/server/**/*",
|
||||
"../layers/*/modules/*/runtime/server/**/*",
|
||||
"../modules/*.*",
|
||||
"../nuxt.config.*",
|
||||
"../.config/nuxt.*",
|
||||
"../layers/*/nuxt.config.*",
|
||||
"../layers/*/.config/nuxt.*",
|
||||
"../layers/*/modules/**/*",
|
||||
"../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/dist/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/*.*",
|
||||
"../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/dist/*.*",
|
||||
"../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/dist/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/*.*",
|
||||
"../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/dist/*.*",
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/dist/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/*.*",
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/dist/*.*",
|
||||
"../modules/runtime/server",
|
||||
"../modules/dist/runtime/server",
|
||||
"../modules/dist/*.*",
|
||||
"../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/dist/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/*.*",
|
||||
"../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/dist/*.*",
|
||||
"../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/dist/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/*.*",
|
||||
"../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/dist/*.*",
|
||||
"../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/dist/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/*.*",
|
||||
"../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/dist/*.*",
|
||||
"dev",
|
||||
"../server"
|
||||
]
|
||||
}
|
||||
264
.nuxt/tsconfig.json
Normal file
264
.nuxt/tsconfig.json
Normal file
@@ -0,0 +1,264 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"paths": {
|
||||
"nitropack/types": [
|
||||
"../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/types"
|
||||
],
|
||||
"nitropack/runtime": [
|
||||
"../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/runtime"
|
||||
],
|
||||
"nitropack": [
|
||||
"../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack"
|
||||
],
|
||||
"defu": [
|
||||
"../node_modules/.pnpm/defu@6.1.4/node_modules/defu"
|
||||
],
|
||||
"h3": [
|
||||
"../node_modules/.pnpm/h3@1.15.4/node_modules/h3"
|
||||
],
|
||||
"consola": [
|
||||
"../node_modules/.pnpm/consola@3.4.2/node_modules/consola"
|
||||
],
|
||||
"ofetch": [
|
||||
"../node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch"
|
||||
],
|
||||
"@unhead/vue": [
|
||||
"../node_modules/.pnpm/@unhead+vue@2.1.1_vue@3.5.26_typescript@5.9.3_/node_modules/@unhead/vue"
|
||||
],
|
||||
"@nuxt/devtools": [
|
||||
"../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/@nuxt/devtools"
|
||||
],
|
||||
"@vue/runtime-core": [
|
||||
"../node_modules/.pnpm/@vue+runtime-core@3.5.26/node_modules/@vue/runtime-core"
|
||||
],
|
||||
"@vue/compiler-sfc": [
|
||||
"../node_modules/.pnpm/@vue+compiler-sfc@3.5.26/node_modules/@vue/compiler-sfc"
|
||||
],
|
||||
"unplugin-vue-router/client": [
|
||||
"../node_modules/.pnpm/unplugin-vue-router@0.19.1_@vue+compiler-sfc@3.5.26_vue-router@4.6.4_vue@3.5.26_typescr_afeae63e4951cf0abe0304554948e4ca/node_modules/unplugin-vue-router/client"
|
||||
],
|
||||
"@nuxt/schema": [
|
||||
"../node_modules/.pnpm/@nuxt+schema@4.2.2/node_modules/@nuxt/schema"
|
||||
],
|
||||
"nuxt": [
|
||||
"../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt"
|
||||
],
|
||||
"vite/client": [
|
||||
"../node_modules/.pnpm/vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2/node_modules/vite/client"
|
||||
],
|
||||
"@nuxtjs/mdc": [
|
||||
"../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc"
|
||||
],
|
||||
"vue-i18n": [
|
||||
"../node_modules/.pnpm/vue-i18n@11.3.0_vue@3.5.26_typescript@5.9.3_/node_modules/vue-i18n/dist/vue-i18n",
|
||||
"../node_modules/.pnpm/vue-i18n@11.3.0_vue@3.5.26_typescript@5.9.3_/node_modules/vue-i18n"
|
||||
],
|
||||
"@intlify/shared": [
|
||||
"../node_modules/.pnpm/@intlify+shared@11.3.0/node_modules/@intlify/shared/dist/shared",
|
||||
"../node_modules/.pnpm/@intlify+shared@11.3.0/node_modules/@intlify/shared"
|
||||
],
|
||||
"@intlify/core": [
|
||||
"../node_modules/.pnpm/@intlify+core@11.3.0/node_modules/@intlify/core/dist/core.node",
|
||||
"../node_modules/.pnpm/@intlify+core@11.3.0/node_modules/@intlify/core"
|
||||
],
|
||||
"@intlify/core-base": [
|
||||
"../node_modules/.pnpm/@intlify+core-base@11.3.0/node_modules/@intlify/core-base/dist/core-base",
|
||||
"../node_modules/.pnpm/@intlify+core-base@11.3.0/node_modules/@intlify/core-base"
|
||||
],
|
||||
"@intlify/utils": [
|
||||
"../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils/dist/index",
|
||||
"../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils"
|
||||
],
|
||||
"@intlify/utils/h3": [
|
||||
"../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils/dist/h3",
|
||||
"../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils"
|
||||
],
|
||||
"@intlify/message-compiler": [
|
||||
"../node_modules/.pnpm/@intlify+message-compiler@11.3.0/node_modules/@intlify/message-compiler/dist/message-compiler",
|
||||
"../node_modules/.pnpm/@intlify+message-compiler@11.3.0/node_modules/@intlify/message-compiler"
|
||||
],
|
||||
"#content/components": [
|
||||
"./content/components"
|
||||
],
|
||||
"#content/manifest": [
|
||||
"./content/manifest"
|
||||
],
|
||||
"~": [
|
||||
"../app"
|
||||
],
|
||||
"~/*": [
|
||||
"../app/*"
|
||||
],
|
||||
"@": [
|
||||
"../app"
|
||||
],
|
||||
"@/*": [
|
||||
"../app/*"
|
||||
],
|
||||
"~~": [
|
||||
".."
|
||||
],
|
||||
"~~/*": [
|
||||
"../*"
|
||||
],
|
||||
"@@": [
|
||||
".."
|
||||
],
|
||||
"@@/*": [
|
||||
"../*"
|
||||
],
|
||||
"#shared": [
|
||||
"../shared"
|
||||
],
|
||||
"#shared/*": [
|
||||
"../shared/*"
|
||||
],
|
||||
"#app": [
|
||||
"../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app"
|
||||
],
|
||||
"#app/*": [
|
||||
"../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/*"
|
||||
],
|
||||
"vue-demi": [
|
||||
"../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/compat/vue-demi"
|
||||
],
|
||||
"#i18n": [
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index"
|
||||
],
|
||||
"#i18n-kit": [
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/kit"
|
||||
],
|
||||
"#i18n-kit/*": [
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/kit/*"
|
||||
],
|
||||
"#internal-i18n-types": [
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/types"
|
||||
],
|
||||
"#vue-router": [
|
||||
"../node_modules/.pnpm/vue-router@4.6.4_vue@3.5.26_typescript@5.9.3_/node_modules/vue-router"
|
||||
],
|
||||
"#unhead/composables": [
|
||||
"../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/composables"
|
||||
],
|
||||
"#imports": [
|
||||
"./imports"
|
||||
],
|
||||
"#mdc-configs": [
|
||||
"./mdc-configs"
|
||||
],
|
||||
"#mdc-highlighter": [
|
||||
"./mdc-highlighter"
|
||||
],
|
||||
"#mdc-imports": [
|
||||
"./mdc-imports"
|
||||
],
|
||||
"#app-manifest": [
|
||||
"../node_modules/.pnpm/mocked-exports@0.1.1/node_modules/mocked-exports/lib/proxy"
|
||||
],
|
||||
"#components": [
|
||||
"./components"
|
||||
],
|
||||
"#build": [
|
||||
"."
|
||||
],
|
||||
"#build/*": [
|
||||
"./*"
|
||||
]
|
||||
},
|
||||
"esModuleInterop": true,
|
||||
"skipLibCheck": true,
|
||||
"target": "ESNext",
|
||||
"allowJs": true,
|
||||
"resolveJsonModule": true,
|
||||
"moduleDetection": "force",
|
||||
"isolatedModules": true,
|
||||
"verbatimModuleSyntax": true,
|
||||
"strict": true,
|
||||
"noUncheckedIndexedAccess": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"noImplicitOverride": true,
|
||||
"module": "preserve",
|
||||
"noEmit": true,
|
||||
"lib": [
|
||||
"ESNext",
|
||||
"dom",
|
||||
"dom.iterable",
|
||||
"webworker"
|
||||
],
|
||||
"jsx": "preserve",
|
||||
"jsxImportSource": "vue",
|
||||
"types": [],
|
||||
"moduleResolution": "Bundler",
|
||||
"useDefineForClassFields": true,
|
||||
"noImplicitThis": true,
|
||||
"allowSyntheticDefaultImports": true
|
||||
},
|
||||
"include": [
|
||||
"../i18n/**/*",
|
||||
"./nuxt.d.ts",
|
||||
"../app/**/*",
|
||||
"../modules/*/runtime/**/*",
|
||||
"../test/nuxt/**/*",
|
||||
"../tests/nuxt/**/*",
|
||||
"../layers/*/app/**/*",
|
||||
"../layers/*/modules/*/runtime/**/*",
|
||||
"../shared/**/*.d.ts",
|
||||
"../modules/*/shared/**/*.d.ts",
|
||||
"../layers/*/shared/**/*.d.ts",
|
||||
"../*.d.ts",
|
||||
"../layers/*/*.d.ts",
|
||||
"../modules/runtime",
|
||||
"../modules/dist/runtime",
|
||||
"./nuxt.node.d.ts",
|
||||
"../modules/*.*",
|
||||
"../nuxt.config.*",
|
||||
"../.config/nuxt.*",
|
||||
"../layers/*/nuxt.config.*",
|
||||
"../layers/*/.config/nuxt.*",
|
||||
"../layers/*/modules/**/*",
|
||||
"../shared/**/*",
|
||||
"../modules/*/shared/**/*",
|
||||
"../layers/*/shared/**/*",
|
||||
"../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/runtime",
|
||||
"../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/dist/runtime",
|
||||
"../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/runtime",
|
||||
"../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/dist/runtime",
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/runtime",
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/dist/runtime",
|
||||
"../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/runtime",
|
||||
"../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/dist/runtime",
|
||||
"../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/runtime",
|
||||
"../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/dist/runtime",
|
||||
"../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/runtime",
|
||||
"../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/dist/runtime"
|
||||
],
|
||||
"exclude": [
|
||||
"../node_modules",
|
||||
"../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/node_modules",
|
||||
"../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/node_modules",
|
||||
"../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/@nuxtjs/tailwindcss/node_modules",
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/node_modules",
|
||||
"../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/@nuxt/devtools/node_modules",
|
||||
"../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/@nuxt/telemetry/node_modules",
|
||||
"../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/node_modules",
|
||||
"../dist",
|
||||
"../.data",
|
||||
"../modules/*/runtime/server/**/*",
|
||||
"../layers/*/server/**/*",
|
||||
"../layers/*/modules/*/runtime/server/**/*",
|
||||
"../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/dist/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/dist/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/dist/runtime/server",
|
||||
"../modules/runtime/server",
|
||||
"../modules/dist/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/dist/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/dist/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/dist/runtime/server"
|
||||
]
|
||||
}
|
||||
140
.nuxt/tsconfig.node.json
Normal file
140
.nuxt/tsconfig.node.json
Normal file
@@ -0,0 +1,140 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"paths": {
|
||||
"nitropack/types": [
|
||||
"../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/types"
|
||||
],
|
||||
"nitropack/runtime": [
|
||||
"../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/runtime"
|
||||
],
|
||||
"nitropack": [
|
||||
"../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack"
|
||||
],
|
||||
"defu": [
|
||||
"../node_modules/.pnpm/defu@6.1.4/node_modules/defu"
|
||||
],
|
||||
"h3": [
|
||||
"../node_modules/.pnpm/h3@1.15.4/node_modules/h3"
|
||||
],
|
||||
"consola": [
|
||||
"../node_modules/.pnpm/consola@3.4.2/node_modules/consola"
|
||||
],
|
||||
"ofetch": [
|
||||
"../node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch"
|
||||
],
|
||||
"@unhead/vue": [
|
||||
"../node_modules/.pnpm/@unhead+vue@2.1.1_vue@3.5.26_typescript@5.9.3_/node_modules/@unhead/vue"
|
||||
],
|
||||
"@nuxt/devtools": [
|
||||
"../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/@nuxt/devtools"
|
||||
],
|
||||
"@vue/runtime-core": [
|
||||
"../node_modules/.pnpm/@vue+runtime-core@3.5.26/node_modules/@vue/runtime-core"
|
||||
],
|
||||
"@vue/compiler-sfc": [
|
||||
"../node_modules/.pnpm/@vue+compiler-sfc@3.5.26/node_modules/@vue/compiler-sfc"
|
||||
],
|
||||
"unplugin-vue-router/client": [
|
||||
"../node_modules/.pnpm/unplugin-vue-router@0.19.1_@vue+compiler-sfc@3.5.26_vue-router@4.6.4_vue@3.5.26_typescr_afeae63e4951cf0abe0304554948e4ca/node_modules/unplugin-vue-router/client"
|
||||
],
|
||||
"@nuxt/schema": [
|
||||
"../node_modules/.pnpm/@nuxt+schema@4.2.2/node_modules/@nuxt/schema"
|
||||
],
|
||||
"nuxt": [
|
||||
"../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt"
|
||||
],
|
||||
"vite/client": [
|
||||
"../node_modules/.pnpm/vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2/node_modules/vite/client"
|
||||
],
|
||||
"@nuxtjs/mdc": [
|
||||
"../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc"
|
||||
],
|
||||
"vue-i18n": [
|
||||
"../node_modules/.pnpm/vue-i18n@11.3.0_vue@3.5.26_typescript@5.9.3_/node_modules/vue-i18n"
|
||||
],
|
||||
"@intlify/shared": [
|
||||
"../node_modules/.pnpm/@intlify+shared@11.3.0/node_modules/@intlify/shared"
|
||||
],
|
||||
"@intlify/core": [
|
||||
"../node_modules/.pnpm/@intlify+core@11.3.0/node_modules/@intlify/core"
|
||||
],
|
||||
"@intlify/core-base": [
|
||||
"../node_modules/.pnpm/@intlify+core-base@11.3.0/node_modules/@intlify/core-base"
|
||||
],
|
||||
"@intlify/utils": [
|
||||
"../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils"
|
||||
],
|
||||
"@intlify/utils/h3": [
|
||||
"../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils"
|
||||
],
|
||||
"@intlify/message-compiler": [
|
||||
"../node_modules/.pnpm/@intlify+message-compiler@11.3.0/node_modules/@intlify/message-compiler"
|
||||
]
|
||||
},
|
||||
"esModuleInterop": true,
|
||||
"skipLibCheck": true,
|
||||
"target": "ESNext",
|
||||
"allowJs": true,
|
||||
"resolveJsonModule": true,
|
||||
"moduleDetection": "force",
|
||||
"isolatedModules": true,
|
||||
"verbatimModuleSyntax": true,
|
||||
"strict": true,
|
||||
"noUncheckedIndexedAccess": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"noImplicitOverride": true,
|
||||
"module": "preserve",
|
||||
"noEmit": true,
|
||||
"types": [],
|
||||
"moduleResolution": "Bundler",
|
||||
"useDefineForClassFields": true,
|
||||
"noImplicitThis": true,
|
||||
"allowSyntheticDefaultImports": true
|
||||
},
|
||||
"include": [
|
||||
"./nuxt.node.d.ts",
|
||||
"../modules/*.*",
|
||||
"../nuxt.config.*",
|
||||
"../.config/nuxt.*",
|
||||
"../layers/*/nuxt.config.*",
|
||||
"../layers/*/.config/nuxt.*",
|
||||
"../layers/*/modules/**/*",
|
||||
"../nuxt.schema.*",
|
||||
"../layers/*/nuxt.schema.*"
|
||||
],
|
||||
"exclude": [
|
||||
"../node_modules",
|
||||
"../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/node_modules",
|
||||
"../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/node_modules",
|
||||
"../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/@nuxtjs/tailwindcss/node_modules",
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/node_modules",
|
||||
"../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/@nuxt/devtools/node_modules",
|
||||
"../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/@nuxt/telemetry/node_modules",
|
||||
"../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/node_modules",
|
||||
"../dist",
|
||||
"../.data",
|
||||
"../app/**/*",
|
||||
"../modules/*/runtime/**/*",
|
||||
"../test/nuxt/**/*",
|
||||
"../tests/nuxt/**/*",
|
||||
"../layers/*/app/**/*",
|
||||
"../layers/*/modules/*/runtime/**/*",
|
||||
"../modules/*/runtime/server/**/*",
|
||||
"../layers/*/server/**/*",
|
||||
"../layers/*/modules/*/runtime/server/**/*",
|
||||
"../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/runtime",
|
||||
"../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/dist/runtime",
|
||||
"../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/runtime",
|
||||
"../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/dist/runtime",
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/runtime",
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/dist/runtime",
|
||||
"../modules/runtime",
|
||||
"../modules/dist/runtime",
|
||||
"../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/runtime",
|
||||
"../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/dist/runtime",
|
||||
"../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/runtime",
|
||||
"../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/dist/runtime",
|
||||
"../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/runtime",
|
||||
"../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/dist/runtime"
|
||||
]
|
||||
}
|
||||
194
.nuxt/tsconfig.server.json
Normal file
194
.nuxt/tsconfig.server.json
Normal file
@@ -0,0 +1,194 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"strict": true,
|
||||
"noEmit": true,
|
||||
"skipLibCheck": true,
|
||||
"target": "ESNext",
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "Bundler",
|
||||
"allowJs": true,
|
||||
"resolveJsonModule": true,
|
||||
"jsx": "preserve",
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"jsxFactory": "h",
|
||||
"jsxFragmentFactory": "Fragment",
|
||||
"paths": {
|
||||
"#imports": [
|
||||
"./types/nitro-imports"
|
||||
],
|
||||
"~/*": [
|
||||
"../app/*"
|
||||
],
|
||||
"@/*": [
|
||||
"../app/*"
|
||||
],
|
||||
"~~/*": [
|
||||
"../*"
|
||||
],
|
||||
"@@/*": [
|
||||
"../*"
|
||||
],
|
||||
"nitropack/types": [
|
||||
"../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/types"
|
||||
],
|
||||
"nitropack/runtime": [
|
||||
"../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/runtime"
|
||||
],
|
||||
"nitropack": [
|
||||
"../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack"
|
||||
],
|
||||
"defu": [
|
||||
"../node_modules/.pnpm/defu@6.1.4/node_modules/defu"
|
||||
],
|
||||
"h3": [
|
||||
"../node_modules/.pnpm/h3@1.15.4/node_modules/h3"
|
||||
],
|
||||
"consola": [
|
||||
"../node_modules/.pnpm/consola@3.4.2/node_modules/consola"
|
||||
],
|
||||
"ofetch": [
|
||||
"../node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch"
|
||||
],
|
||||
"@unhead/vue": [
|
||||
"../node_modules/.pnpm/@unhead+vue@2.1.1_vue@3.5.26_typescript@5.9.3_/node_modules/@unhead/vue"
|
||||
],
|
||||
"@nuxt/devtools": [
|
||||
"../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/@nuxt/devtools"
|
||||
],
|
||||
"@vue/runtime-core": [
|
||||
"../node_modules/.pnpm/@vue+runtime-core@3.5.26/node_modules/@vue/runtime-core"
|
||||
],
|
||||
"@vue/compiler-sfc": [
|
||||
"../node_modules/.pnpm/@vue+compiler-sfc@3.5.26/node_modules/@vue/compiler-sfc"
|
||||
],
|
||||
"unplugin-vue-router/client": [
|
||||
"../node_modules/.pnpm/unplugin-vue-router@0.19.1_@vue+compiler-sfc@3.5.26_vue-router@4.6.4_vue@3.5.26_typescr_afeae63e4951cf0abe0304554948e4ca/node_modules/unplugin-vue-router/client"
|
||||
],
|
||||
"@nuxt/schema": [
|
||||
"../node_modules/.pnpm/@nuxt+schema@4.2.2/node_modules/@nuxt/schema"
|
||||
],
|
||||
"nuxt": [
|
||||
"../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt"
|
||||
],
|
||||
"vite/client": [
|
||||
"../node_modules/.pnpm/vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2/node_modules/vite/client"
|
||||
],
|
||||
"@nuxtjs/mdc": [
|
||||
"../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc"
|
||||
],
|
||||
"vue-i18n": [
|
||||
"../node_modules/.pnpm/vue-i18n@11.3.0_vue@3.5.26_typescript@5.9.3_/node_modules/vue-i18n"
|
||||
],
|
||||
"@intlify/shared": [
|
||||
"../node_modules/.pnpm/@intlify+shared@11.3.0/node_modules/@intlify/shared"
|
||||
],
|
||||
"@intlify/core": [
|
||||
"../node_modules/.pnpm/@intlify+core@11.3.0/node_modules/@intlify/core"
|
||||
],
|
||||
"@intlify/core-base": [
|
||||
"../node_modules/.pnpm/@intlify+core-base@11.3.0/node_modules/@intlify/core-base"
|
||||
],
|
||||
"@intlify/utils": [
|
||||
"../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils"
|
||||
],
|
||||
"@intlify/utils/h3": [
|
||||
"../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils"
|
||||
],
|
||||
"@intlify/message-compiler": [
|
||||
"../node_modules/.pnpm/@intlify+message-compiler@11.3.0/node_modules/@intlify/message-compiler"
|
||||
],
|
||||
"#content/components": [
|
||||
"./content/components"
|
||||
],
|
||||
"#content/manifest": [
|
||||
"./content/manifest"
|
||||
],
|
||||
"#shared": [
|
||||
"../shared"
|
||||
],
|
||||
"#shared/*": [
|
||||
"../shared/*"
|
||||
],
|
||||
"#build": [
|
||||
"./"
|
||||
],
|
||||
"#build/*": [
|
||||
"./*"
|
||||
],
|
||||
"#internal/nuxt/paths": [
|
||||
"../node_modules/.pnpm/@nuxt+nitro-server@4.2.2_better-sqlite3@12.8.0_db0@0.3.4_better-sqlite3@12.8.0__ioredis_a0a2be7525d559e696e64db570f075d2/node_modules/@nuxt/nitro-server/dist/runtime/utils/paths"
|
||||
],
|
||||
"#i18n": [
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index-server"
|
||||
],
|
||||
"#i18n-kit": [
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/kit"
|
||||
],
|
||||
"#i18n-kit/*": [
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/kit/*"
|
||||
],
|
||||
"#internal-i18n-types": [
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/types"
|
||||
],
|
||||
"#unhead/composables": [
|
||||
"../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/composables"
|
||||
],
|
||||
"#mdc-configs": [
|
||||
"./mdc-configs"
|
||||
],
|
||||
"#mdc-highlighter": [
|
||||
"./mdc-highlighter"
|
||||
],
|
||||
"#mdc-imports": [
|
||||
"./mdc-imports"
|
||||
],
|
||||
"#content/dump": [
|
||||
"./content/database.compressed"
|
||||
],
|
||||
"#content/adapter": [
|
||||
"./db0/connectors/better-sqlite3"
|
||||
],
|
||||
"#content/local-adapter": [
|
||||
"./db0/connectors/better-sqlite3"
|
||||
]
|
||||
},
|
||||
"lib": [
|
||||
"esnext",
|
||||
"webworker",
|
||||
"dom.iterable"
|
||||
]
|
||||
},
|
||||
"include": [
|
||||
"./content/types.d.ts",
|
||||
"./types/nitro-nuxt.d.ts",
|
||||
"../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/dist/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/dist/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/dist/runtime/server",
|
||||
"../modules/runtime/server",
|
||||
"../modules/dist/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/dist/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/dist/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/runtime/server",
|
||||
"../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/dist/runtime/server",
|
||||
"../server/**/*",
|
||||
"../shared/**/*.d.ts",
|
||||
"./types/nitro.d.ts"
|
||||
],
|
||||
"exclude": [
|
||||
"../node_modules",
|
||||
"../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/node_modules",
|
||||
"../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/node_modules",
|
||||
"../node_modules/.pnpm/@nuxtjs+tailwindcss@6.14.0_magicast@0.5.1_yaml@2.8.2/node_modules/@nuxtjs/tailwindcss/node_modules",
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/node_modules",
|
||||
"../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/@nuxt/devtools/node_modules",
|
||||
"../node_modules/.pnpm/@nuxt+telemetry@2.6.6_magicast@0.5.1/node_modules/@nuxt/telemetry/node_modules",
|
||||
"../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/node_modules",
|
||||
"../dist"
|
||||
]
|
||||
}
|
||||
188
.nuxt/tsconfig.shared.json
Normal file
188
.nuxt/tsconfig.shared.json
Normal file
@@ -0,0 +1,188 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"paths": {
|
||||
"nitropack/types": [
|
||||
"../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/types"
|
||||
],
|
||||
"nitropack/runtime": [
|
||||
"../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/runtime"
|
||||
],
|
||||
"nitropack": [
|
||||
"../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack"
|
||||
],
|
||||
"defu": [
|
||||
"../node_modules/.pnpm/defu@6.1.4/node_modules/defu"
|
||||
],
|
||||
"h3": [
|
||||
"../node_modules/.pnpm/h3@1.15.4/node_modules/h3"
|
||||
],
|
||||
"consola": [
|
||||
"../node_modules/.pnpm/consola@3.4.2/node_modules/consola"
|
||||
],
|
||||
"ofetch": [
|
||||
"../node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch"
|
||||
],
|
||||
"@unhead/vue": [
|
||||
"../node_modules/.pnpm/@unhead+vue@2.1.1_vue@3.5.26_typescript@5.9.3_/node_modules/@unhead/vue"
|
||||
],
|
||||
"@nuxt/devtools": [
|
||||
"../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/@nuxt/devtools"
|
||||
],
|
||||
"@vue/runtime-core": [
|
||||
"../node_modules/.pnpm/@vue+runtime-core@3.5.26/node_modules/@vue/runtime-core"
|
||||
],
|
||||
"@vue/compiler-sfc": [
|
||||
"../node_modules/.pnpm/@vue+compiler-sfc@3.5.26/node_modules/@vue/compiler-sfc"
|
||||
],
|
||||
"unplugin-vue-router/client": [
|
||||
"../node_modules/.pnpm/unplugin-vue-router@0.19.1_@vue+compiler-sfc@3.5.26_vue-router@4.6.4_vue@3.5.26_typescr_afeae63e4951cf0abe0304554948e4ca/node_modules/unplugin-vue-router/client"
|
||||
],
|
||||
"@nuxt/schema": [
|
||||
"../node_modules/.pnpm/@nuxt+schema@4.2.2/node_modules/@nuxt/schema"
|
||||
],
|
||||
"nuxt": [
|
||||
"../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt"
|
||||
],
|
||||
"vite/client": [
|
||||
"../node_modules/.pnpm/vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2/node_modules/vite/client"
|
||||
],
|
||||
"@nuxtjs/mdc": [
|
||||
"../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc"
|
||||
],
|
||||
"vue-i18n": [
|
||||
"../node_modules/.pnpm/vue-i18n@11.3.0_vue@3.5.26_typescript@5.9.3_/node_modules/vue-i18n/dist/vue-i18n",
|
||||
"../node_modules/.pnpm/vue-i18n@11.3.0_vue@3.5.26_typescript@5.9.3_/node_modules/vue-i18n"
|
||||
],
|
||||
"@intlify/shared": [
|
||||
"../node_modules/.pnpm/@intlify+shared@11.3.0/node_modules/@intlify/shared/dist/shared",
|
||||
"../node_modules/.pnpm/@intlify+shared@11.3.0/node_modules/@intlify/shared"
|
||||
],
|
||||
"@intlify/core": [
|
||||
"../node_modules/.pnpm/@intlify+core@11.3.0/node_modules/@intlify/core/dist/core.node",
|
||||
"../node_modules/.pnpm/@intlify+core@11.3.0/node_modules/@intlify/core"
|
||||
],
|
||||
"@intlify/core-base": [
|
||||
"../node_modules/.pnpm/@intlify+core-base@11.3.0/node_modules/@intlify/core-base/dist/core-base",
|
||||
"../node_modules/.pnpm/@intlify+core-base@11.3.0/node_modules/@intlify/core-base"
|
||||
],
|
||||
"@intlify/utils": [
|
||||
"../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils/dist/index",
|
||||
"../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils"
|
||||
],
|
||||
"@intlify/utils/h3": [
|
||||
"../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils/dist/h3",
|
||||
"../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils"
|
||||
],
|
||||
"@intlify/message-compiler": [
|
||||
"../node_modules/.pnpm/@intlify+message-compiler@11.3.0/node_modules/@intlify/message-compiler/dist/message-compiler",
|
||||
"../node_modules/.pnpm/@intlify+message-compiler@11.3.0/node_modules/@intlify/message-compiler"
|
||||
],
|
||||
"#content/components": [
|
||||
"./content/components"
|
||||
],
|
||||
"#content/manifest": [
|
||||
"./content/manifest"
|
||||
],
|
||||
"~": [
|
||||
"../app"
|
||||
],
|
||||
"~/*": [
|
||||
"../app/*"
|
||||
],
|
||||
"@": [
|
||||
"../app"
|
||||
],
|
||||
"@/*": [
|
||||
"../app/*"
|
||||
],
|
||||
"~~": [
|
||||
".."
|
||||
],
|
||||
"~~/*": [
|
||||
"../*"
|
||||
],
|
||||
"@@": [
|
||||
".."
|
||||
],
|
||||
"@@/*": [
|
||||
"../*"
|
||||
],
|
||||
"#shared": [
|
||||
"../shared"
|
||||
],
|
||||
"#shared/*": [
|
||||
"../shared/*"
|
||||
],
|
||||
"#app": [
|
||||
"../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app"
|
||||
],
|
||||
"#app/*": [
|
||||
"../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/*"
|
||||
],
|
||||
"vue-demi": [
|
||||
"../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/compat/vue-demi"
|
||||
],
|
||||
"#i18n-kit": [
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/kit"
|
||||
],
|
||||
"#i18n-kit/*": [
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/kit/*"
|
||||
],
|
||||
"#internal-i18n-types": [
|
||||
"../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/types"
|
||||
],
|
||||
"#vue-router": [
|
||||
"../node_modules/.pnpm/vue-router@4.6.4_vue@3.5.26_typescript@5.9.3_/node_modules/vue-router"
|
||||
],
|
||||
"#unhead/composables": [
|
||||
"../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/composables"
|
||||
],
|
||||
"#imports": [
|
||||
"./imports"
|
||||
],
|
||||
"#mdc-configs": [
|
||||
"./mdc-configs"
|
||||
],
|
||||
"#mdc-highlighter": [
|
||||
"./mdc-highlighter"
|
||||
],
|
||||
"#mdc-imports": [
|
||||
"./mdc-imports"
|
||||
],
|
||||
"#build": [
|
||||
"."
|
||||
],
|
||||
"#build/*": [
|
||||
"./*"
|
||||
]
|
||||
},
|
||||
"esModuleInterop": true,
|
||||
"skipLibCheck": true,
|
||||
"target": "ESNext",
|
||||
"allowJs": true,
|
||||
"resolveJsonModule": true,
|
||||
"moduleDetection": "force",
|
||||
"isolatedModules": true,
|
||||
"verbatimModuleSyntax": true,
|
||||
"strict": true,
|
||||
"noUncheckedIndexedAccess": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"noImplicitOverride": true,
|
||||
"module": "preserve",
|
||||
"noEmit": true,
|
||||
"types": [],
|
||||
"moduleResolution": "Bundler",
|
||||
"useDefineForClassFields": true,
|
||||
"noImplicitThis": true,
|
||||
"allowSyntheticDefaultImports": true
|
||||
},
|
||||
"include": [
|
||||
"./nuxt.shared.d.ts",
|
||||
"../shared/**/*",
|
||||
"../modules/*/shared/**/*",
|
||||
"../layers/*/shared/**/*",
|
||||
"../*.d.ts",
|
||||
"../layers/*/*.d.ts"
|
||||
],
|
||||
"exclude": []
|
||||
}
|
||||
35
.nuxt/types/app.config.d.ts
vendored
Normal file
35
.nuxt/types/app.config.d.ts
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
|
||||
import type { AppConfigInput, CustomAppConfig } from 'nuxt/schema'
|
||||
import type { Defu } from 'defu'
|
||||
|
||||
|
||||
declare global {
|
||||
const defineAppConfig: <C extends AppConfigInput> (config: C) => C
|
||||
}
|
||||
|
||||
declare const inlineConfig = {
|
||||
"nuxt": {}
|
||||
}
|
||||
type ResolvedAppConfig = Defu<typeof inlineConfig, []>
|
||||
type IsAny<T> = 0 extends 1 & T ? true : false
|
||||
|
||||
type MergedAppConfig<Resolved extends Record<string, unknown>, Custom extends Record<string, unknown>> = {
|
||||
[K in keyof (Resolved & Custom)]: K extends keyof Custom
|
||||
? unknown extends Custom[K]
|
||||
? Resolved[K]
|
||||
: IsAny<Custom[K]> extends true
|
||||
? Resolved[K]
|
||||
: Custom[K] extends Record<string, any>
|
||||
? Resolved[K] extends Record<string, any>
|
||||
? MergedAppConfig<Resolved[K], Custom[K]>
|
||||
: Exclude<Custom[K], undefined>
|
||||
: Exclude<Custom[K], undefined>
|
||||
: Resolved[K]
|
||||
}
|
||||
|
||||
declare module 'nuxt/schema' {
|
||||
interface AppConfig extends MergedAppConfig<ResolvedAppConfig, CustomAppConfig> { }
|
||||
}
|
||||
declare module '@nuxt/schema' {
|
||||
interface AppConfig extends MergedAppConfig<ResolvedAppConfig, CustomAppConfig> { }
|
||||
}
|
||||
26
.nuxt/types/build.d.ts
vendored
Normal file
26
.nuxt/types/build.d.ts
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
declare module "#build/app-component.mjs";
|
||||
declare module "#build/nitro.client.mjs";
|
||||
declare module "#build/plugins.client.mjs";
|
||||
declare module "#build/css.mjs";
|
||||
declare module "#build/fetch.mjs";
|
||||
declare module "#build/error-component.mjs";
|
||||
declare module "#build/global-polyfills.mjs";
|
||||
declare module "#build/layouts.mjs";
|
||||
declare module "#build/middleware.mjs";
|
||||
declare module "#build/nuxt.config.mjs";
|
||||
declare module "#build/paths.mjs";
|
||||
declare module "#build/root-component.mjs";
|
||||
declare module "#build/plugins.server.mjs";
|
||||
declare module "#build/test-component-wrapper.mjs";
|
||||
declare module "#build/i18n-options.mjs";
|
||||
declare module "#build/devtools/settings.mjs";
|
||||
declare module "#build/runtime.vue-devtools-client.4ZzBjUfIM0gmkcrAc1rO47_8oFLoIV_ocm_Yu0quyK4.js";
|
||||
declare module "#build/routes.mjs";
|
||||
declare module "#build/pages.mjs";
|
||||
declare module "#build/router.options.mjs";
|
||||
declare module "#build/unhead-options.mjs";
|
||||
declare module "#build/unhead.config.mjs";
|
||||
declare module "#build/components.plugin.mjs";
|
||||
declare module "#build/component-names.mjs";
|
||||
declare module "#build/components.islands.mjs";
|
||||
declare module "#build/component-chunk.mjs";
|
||||
1
.nuxt/types/builder-env.d.ts
vendored
Normal file
1
.nuxt/types/builder-env.d.ts
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import "vite/client";
|
||||
167
.nuxt/types/components.d.ts
vendored
Normal file
167
.nuxt/types/components.d.ts
vendored
Normal file
@@ -0,0 +1,167 @@
|
||||
|
||||
import type { DefineComponent, SlotsType } from 'vue'
|
||||
type IslandComponent<T> = DefineComponent<{}, {refresh: () => Promise<void>}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, SlotsType<{ fallback: { error: unknown } }>> & T
|
||||
|
||||
type HydrationStrategies = {
|
||||
hydrateOnVisible?: IntersectionObserverInit | true
|
||||
hydrateOnIdle?: number | true
|
||||
hydrateOnInteraction?: keyof HTMLElementEventMap | Array<keyof HTMLElementEventMap> | true
|
||||
hydrateOnMediaQuery?: string
|
||||
hydrateAfter?: number
|
||||
hydrateWhen?: boolean
|
||||
hydrateNever?: true
|
||||
}
|
||||
type LazyComponent<T> = DefineComponent<HydrationStrategies, {}, {}, {}, {}, {}, {}, { hydrated: () => void }> & T
|
||||
|
||||
interface _GlobalComponents {
|
||||
'LangSwitch': typeof import("../../app/components/LangSwitch.vue").default
|
||||
'NotificationBell': typeof import("../../app/components/NotificationBell.vue").default
|
||||
'QrCodeModal': typeof import("../../app/components/QrCodeModal.vue").default
|
||||
'QrLogin': typeof import("../../app/components/QrLogin.vue").default
|
||||
'SiteFooter': typeof import("../../app/components/SiteFooter.vue").default
|
||||
'SiteHeader': typeof import("../../app/components/SiteHeader.vue").default
|
||||
'AdminMarkdownEditor': typeof import("../../app/components/admin/MarkdownEditor.vue").default
|
||||
'AdminMarkdownRenderer': typeof import("../../app/components/admin/MarkdownRenderer.vue").default
|
||||
'ConsoleAppsCenter': typeof import("../../app/components/console/AppsCenter.vue").default
|
||||
'ConsoleHeader': typeof import("../../app/components/console/ConsoleHeader.vue").default
|
||||
'DeveloperAppDetail': typeof import("../../app/components/developer/AppDetail.vue").default
|
||||
'DeveloperAppsCenter': typeof import("../../app/components/developer/AppsCenter.vue").default
|
||||
'DeveloperPermissionGuard': typeof import("../../app/components/developer/PermissionGuard.vue").default
|
||||
'DeveloperRoleTag': typeof import("../../app/components/developer/RoleTag.vue").default
|
||||
'InviteBell': typeof import("../../app/components/invite/InviteBell.vue").default
|
||||
'InviteNotification': typeof import("../../app/components/invite/InviteNotification.vue").default
|
||||
'PaymentModal': typeof import("../../app/components/payment/PaymentModal.vue").default
|
||||
'ProseA': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseA.vue").default
|
||||
'ProseBlockquote': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseBlockquote.vue").default
|
||||
'ProseCode': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseCode.vue").default
|
||||
'ProseEm': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseEm.vue").default
|
||||
'ProseH1': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH1.vue").default
|
||||
'ProseH2': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH2.vue").default
|
||||
'ProseH3': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH3.vue").default
|
||||
'ProseH4': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH4.vue").default
|
||||
'ProseH5': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH5.vue").default
|
||||
'ProseH6': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH6.vue").default
|
||||
'ProseHr': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseHr.vue").default
|
||||
'ProseImg': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseImg.vue").default
|
||||
'ProseLi': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseLi.vue").default
|
||||
'ProseOl': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseOl.vue").default
|
||||
'ProseP': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseP.vue").default
|
||||
'ProsePre': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProsePre.vue").default
|
||||
'ProseScript': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseScript.vue").default
|
||||
'ProseStrong': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseStrong.vue").default
|
||||
'ProseTable': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTable.vue").default
|
||||
'ProseTbody': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTbody.vue").default
|
||||
'ProseTd': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTd.vue").default
|
||||
'ProseTh': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTh.vue").default
|
||||
'ProseThead': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseThead.vue").default
|
||||
'ProseTr': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTr.vue").default
|
||||
'ProseUl': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseUl.vue").default
|
||||
'NuxtWelcome': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/welcome.vue").default
|
||||
'NuxtLayout': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-layout").default
|
||||
'NuxtErrorBoundary': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-error-boundary.vue").default
|
||||
'ClientOnly': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/client-only").default
|
||||
'DevOnly': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/dev-only").default
|
||||
'ServerPlaceholder': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/server-placeholder").default
|
||||
'NuxtLink': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-link").default
|
||||
'NuxtLoadingIndicator': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-loading-indicator").default
|
||||
'NuxtTime': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-time.vue").default
|
||||
'NuxtRouteAnnouncer': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-route-announcer").default
|
||||
'NuxtImg': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-stubs").NuxtImg
|
||||
'NuxtPicture': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-stubs").NuxtPicture
|
||||
'ContentRenderer': typeof import("../../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/components/ContentRenderer.vue").default
|
||||
'NuxtLinkLocale': typeof import("../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/components/NuxtLinkLocale").default
|
||||
'SwitchLocalePathLink': typeof import("../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/components/SwitchLocalePathLink").default
|
||||
'NuxtPage': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/pages/runtime/page").default
|
||||
'NoScript': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").NoScript
|
||||
'Link': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Link
|
||||
'Base': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Base
|
||||
'Title': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Title
|
||||
'Meta': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Meta
|
||||
'Style': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Style
|
||||
'Head': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Head
|
||||
'Html': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Html
|
||||
'Body': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Body
|
||||
'MDC': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDC.vue").default
|
||||
'MDCCached': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDCCached.vue").default
|
||||
'MDCRenderer': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDCRenderer.vue").default
|
||||
'MDCSlot': typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDCSlot.vue").default
|
||||
'NuxtIsland': typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-island").default
|
||||
'LazyLangSwitch': LazyComponent<typeof import("../../app/components/LangSwitch.vue").default>
|
||||
'LazyNotificationBell': LazyComponent<typeof import("../../app/components/NotificationBell.vue").default>
|
||||
'LazyQrCodeModal': LazyComponent<typeof import("../../app/components/QrCodeModal.vue").default>
|
||||
'LazyQrLogin': LazyComponent<typeof import("../../app/components/QrLogin.vue").default>
|
||||
'LazySiteFooter': LazyComponent<typeof import("../../app/components/SiteFooter.vue").default>
|
||||
'LazySiteHeader': LazyComponent<typeof import("../../app/components/SiteHeader.vue").default>
|
||||
'LazyAdminMarkdownEditor': LazyComponent<typeof import("../../app/components/admin/MarkdownEditor.vue").default>
|
||||
'LazyAdminMarkdownRenderer': LazyComponent<typeof import("../../app/components/admin/MarkdownRenderer.vue").default>
|
||||
'LazyConsoleAppsCenter': LazyComponent<typeof import("../../app/components/console/AppsCenter.vue").default>
|
||||
'LazyConsoleHeader': LazyComponent<typeof import("../../app/components/console/ConsoleHeader.vue").default>
|
||||
'LazyDeveloperAppDetail': LazyComponent<typeof import("../../app/components/developer/AppDetail.vue").default>
|
||||
'LazyDeveloperAppsCenter': LazyComponent<typeof import("../../app/components/developer/AppsCenter.vue").default>
|
||||
'LazyDeveloperPermissionGuard': LazyComponent<typeof import("../../app/components/developer/PermissionGuard.vue").default>
|
||||
'LazyDeveloperRoleTag': LazyComponent<typeof import("../../app/components/developer/RoleTag.vue").default>
|
||||
'LazyInviteBell': LazyComponent<typeof import("../../app/components/invite/InviteBell.vue").default>
|
||||
'LazyInviteNotification': LazyComponent<typeof import("../../app/components/invite/InviteNotification.vue").default>
|
||||
'LazyPaymentModal': LazyComponent<typeof import("../../app/components/payment/PaymentModal.vue").default>
|
||||
'LazyProseA': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseA.vue").default>
|
||||
'LazyProseBlockquote': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseBlockquote.vue").default>
|
||||
'LazyProseCode': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseCode.vue").default>
|
||||
'LazyProseEm': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseEm.vue").default>
|
||||
'LazyProseH1': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH1.vue").default>
|
||||
'LazyProseH2': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH2.vue").default>
|
||||
'LazyProseH3': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH3.vue").default>
|
||||
'LazyProseH4': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH4.vue").default>
|
||||
'LazyProseH5': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH5.vue").default>
|
||||
'LazyProseH6': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH6.vue").default>
|
||||
'LazyProseHr': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseHr.vue").default>
|
||||
'LazyProseImg': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseImg.vue").default>
|
||||
'LazyProseLi': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseLi.vue").default>
|
||||
'LazyProseOl': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseOl.vue").default>
|
||||
'LazyProseP': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseP.vue").default>
|
||||
'LazyProsePre': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProsePre.vue").default>
|
||||
'LazyProseScript': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseScript.vue").default>
|
||||
'LazyProseStrong': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseStrong.vue").default>
|
||||
'LazyProseTable': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTable.vue").default>
|
||||
'LazyProseTbody': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTbody.vue").default>
|
||||
'LazyProseTd': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTd.vue").default>
|
||||
'LazyProseTh': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTh.vue").default>
|
||||
'LazyProseThead': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseThead.vue").default>
|
||||
'LazyProseTr': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTr.vue").default>
|
||||
'LazyProseUl': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseUl.vue").default>
|
||||
'LazyNuxtWelcome': LazyComponent<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/welcome.vue").default>
|
||||
'LazyNuxtLayout': LazyComponent<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-layout").default>
|
||||
'LazyNuxtErrorBoundary': LazyComponent<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-error-boundary.vue").default>
|
||||
'LazyClientOnly': LazyComponent<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/client-only").default>
|
||||
'LazyDevOnly': LazyComponent<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/dev-only").default>
|
||||
'LazyServerPlaceholder': LazyComponent<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/server-placeholder").default>
|
||||
'LazyNuxtLink': LazyComponent<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-link").default>
|
||||
'LazyNuxtLoadingIndicator': LazyComponent<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-loading-indicator").default>
|
||||
'LazyNuxtTime': LazyComponent<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-time.vue").default>
|
||||
'LazyNuxtRouteAnnouncer': LazyComponent<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-route-announcer").default>
|
||||
'LazyNuxtImg': LazyComponent<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-stubs").NuxtImg>
|
||||
'LazyNuxtPicture': LazyComponent<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-stubs").NuxtPicture>
|
||||
'LazyContentRenderer': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/components/ContentRenderer.vue").default>
|
||||
'LazyNuxtLinkLocale': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/components/NuxtLinkLocale").default>
|
||||
'LazySwitchLocalePathLink': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/components/SwitchLocalePathLink").default>
|
||||
'LazyNuxtPage': LazyComponent<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/pages/runtime/page").default>
|
||||
'LazyNoScript': LazyComponent<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").NoScript>
|
||||
'LazyLink': LazyComponent<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Link>
|
||||
'LazyBase': LazyComponent<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Base>
|
||||
'LazyTitle': LazyComponent<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Title>
|
||||
'LazyMeta': LazyComponent<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Meta>
|
||||
'LazyStyle': LazyComponent<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Style>
|
||||
'LazyHead': LazyComponent<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Head>
|
||||
'LazyHtml': LazyComponent<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Html>
|
||||
'LazyBody': LazyComponent<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/components").Body>
|
||||
'LazyMDC': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDC.vue").default>
|
||||
'LazyMDCCached': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDCCached.vue").default>
|
||||
'LazyMDCRenderer': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDCRenderer.vue").default>
|
||||
'LazyMDCSlot': LazyComponent<typeof import("../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/components/MDCSlot.vue").default>
|
||||
'LazyNuxtIsland': LazyComponent<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-island").default>
|
||||
}
|
||||
|
||||
declare module 'vue' {
|
||||
export interface GlobalComponents extends _GlobalComponents { }
|
||||
}
|
||||
|
||||
export {}
|
||||
115
.nuxt/types/i18n-plugin.d.ts
vendored
Normal file
115
.nuxt/types/i18n-plugin.d.ts
vendored
Normal file
@@ -0,0 +1,115 @@
|
||||
// Generated by @nuxtjs/i18n
|
||||
import type { Composer } from 'vue-i18n'
|
||||
import type { ComposerCustomProperties } from '../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/types.ts'
|
||||
import type { Strategies, Directions, LocaleObject } from '../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/types.d.mts'
|
||||
import type { I18nRoute } from '#i18n'
|
||||
|
||||
declare module 'vue-i18n' {
|
||||
interface ComposerCustom extends ComposerCustomProperties<LocaleObject[]> {}
|
||||
interface ExportedGlobalComposer extends ComposerCustomProperties<LocaleObject[]> {}
|
||||
interface VueI18n extends ComposerCustomProperties<LocaleObject[]> {}
|
||||
}
|
||||
|
||||
declare module '@intlify/core-base' {
|
||||
// generated based on configured locales
|
||||
interface GeneratedTypeConfig {
|
||||
locale: "zh-CN" | "en"
|
||||
legacy: false
|
||||
}
|
||||
}
|
||||
|
||||
interface I18nMeta {
|
||||
i18n?: I18nRoute | false
|
||||
}
|
||||
|
||||
declare module '#app' {
|
||||
interface NuxtApp {
|
||||
$i18n: Composer
|
||||
}
|
||||
interface PageMeta extends I18nMeta {}
|
||||
}
|
||||
|
||||
|
||||
declare module 'vue-router' {
|
||||
interface RouteMeta extends I18nMeta {}
|
||||
}
|
||||
|
||||
|
||||
declare module 'vue-router' {
|
||||
export type RouteMapI18n =
|
||||
TypesConfig extends Record<'RouteNamedMapI18n', infer RouteNamedMap> ? RouteNamedMap : RouteMapGeneric
|
||||
|
||||
// Prefer named resolution for i18n
|
||||
export type RouteLocationNamedI18n<Name extends keyof RouteMapI18n = keyof RouteMapI18n> =
|
||||
| Name
|
||||
| Omit<RouteLocationAsRelativeI18n, 'path'> & { path?: string }
|
||||
/**
|
||||
* Note: disabled route path string autocompletion, this can break depending on `strategy`
|
||||
* this can be enabled again after route resolve has been improved.
|
||||
*/
|
||||
// | RouteLocationAsStringI18n
|
||||
// | RouteLocationAsPathI18n
|
||||
|
||||
export type RouteLocationRawI18n<Name extends keyof RouteMapI18n = keyof RouteMapI18n> =
|
||||
RouteMapGeneric extends RouteMapI18n
|
||||
? RouteLocationAsStringI18n | RouteLocationAsRelativeGeneric | RouteLocationAsPathGeneric
|
||||
:
|
||||
| _LiteralUnion<RouteLocationAsStringTypedList<RouteMapI18n>[Name], string>
|
||||
| RouteLocationAsRelativeTypedList<RouteMapI18n>[Name]
|
||||
|
||||
export type RouteLocationResolvedI18n<Name extends keyof RouteMapI18n = keyof RouteMapI18n> =
|
||||
RouteMapGeneric extends RouteMapI18n
|
||||
? RouteLocationResolvedGeneric
|
||||
: RouteLocationResolvedTypedList<RouteMapI18n>[Name]
|
||||
|
||||
export interface RouteLocationNormalizedLoadedTypedI18n<
|
||||
RouteMapI18n extends RouteMapGeneric = RouteMapGeneric,
|
||||
Name extends keyof RouteMapI18n = keyof RouteMapI18n
|
||||
> extends RouteLocationNormalizedLoadedGeneric {
|
||||
name: Extract<Name, string | symbol>
|
||||
params: RouteMapI18n[Name]['params']
|
||||
}
|
||||
export type RouteLocationNormalizedLoadedTypedListI18n<RouteMapOriginal extends RouteMapGeneric = RouteMapGeneric> = {
|
||||
[N in keyof RouteMapOriginal]: RouteLocationNormalizedLoadedTypedI18n<RouteMapOriginal, N>
|
||||
}
|
||||
export type RouteLocationNormalizedLoadedI18n<Name extends keyof RouteMapI18n = keyof RouteMapI18n> =
|
||||
RouteMapGeneric extends RouteMapI18n
|
||||
? RouteLocationNormalizedLoadedGeneric
|
||||
: RouteLocationNormalizedLoadedTypedListI18n<RouteMapI18n>[Name]
|
||||
|
||||
export type RouteLocationAsStringI18n<Name extends keyof RouteMapI18n = keyof RouteMapI18n> =
|
||||
RouteMapGeneric extends RouteMapI18n
|
||||
? string
|
||||
: _LiteralUnion<RouteLocationAsStringTypedList<RouteMapI18n>[Name], string>
|
||||
|
||||
export type RouteLocationAsRelativeI18n<Name extends keyof RouteMapI18n = keyof RouteMapI18n> =
|
||||
RouteMapGeneric extends RouteMapI18n
|
||||
? RouteLocationAsRelativeGeneric
|
||||
: RouteLocationAsRelativeTypedList<RouteMapI18n>[Name]
|
||||
|
||||
export type RouteLocationAsPathI18n<Name extends keyof RouteMapI18n = keyof RouteMapI18n> =
|
||||
RouteMapGeneric extends RouteMapI18n ? RouteLocationAsPathGeneric : RouteLocationAsPathTypedList<RouteMapI18n>[Name]
|
||||
|
||||
/**
|
||||
* Helper to generate a type safe version of the {@link RouteLocationAsRelative} type.
|
||||
*/
|
||||
export interface RouteLocationAsRelativeTypedI18n<
|
||||
RouteMapI18n extends RouteMapGeneric = RouteMapGeneric,
|
||||
Name extends keyof RouteMapI18n = keyof RouteMapI18n
|
||||
> extends RouteLocationAsRelativeGeneric {
|
||||
name?: Extract<Name, string | symbol>
|
||||
params?: RouteMapI18n[Name]['paramsRaw']
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
declare global {
|
||||
var $t: (Composer)['t']
|
||||
var $rt: (Composer)['rt']
|
||||
var $n: (Composer)['n']
|
||||
var $d: (Composer)['d']
|
||||
var $tm: (Composer)['tm']
|
||||
var $te: (Composer)['te']
|
||||
}
|
||||
|
||||
export {}
|
||||
485
.nuxt/types/imports.d.ts
vendored
Normal file
485
.nuxt/types/imports.d.ts
vendored
Normal file
@@ -0,0 +1,485 @@
|
||||
// Generated by auto imports
|
||||
export {}
|
||||
declare global {
|
||||
const ROLE_COLOR: typeof import('../../app/composables/useAppPermission').ROLE_COLOR
|
||||
const ROLE_HIERARCHY: typeof import('../../app/composables/useAppPermission').ROLE_HIERARCHY
|
||||
const ROLE_LABEL: typeof import('../../app/composables/useAppPermission').ROLE_LABEL
|
||||
const abortNavigation: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/router').abortNavigation
|
||||
const addRouteMiddleware: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/router').addRouteMiddleware
|
||||
const callOnce: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/once').callOnce
|
||||
const canManageResource: typeof import('../../app/composables/useResourceAccess').canManageResource
|
||||
const canViewBasic: typeof import('../../app/composables/useResourceAccess').canViewBasic
|
||||
const canViewConnection: typeof import('../../app/composables/useResourceAccess').canViewConnection
|
||||
const canViewSensitive: typeof import('../../app/composables/useResourceAccess').canViewSensitive
|
||||
const cancelIdleCallback: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/compat/idle-callback').cancelIdleCallback
|
||||
const clearAuthz: typeof import('../../app/utils/permission').clearAuthz
|
||||
const clearError: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/error').clearError
|
||||
const clearNuxtData: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/asyncData').clearNuxtData
|
||||
const clearNuxtState: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/state').clearNuxtState
|
||||
const computed: typeof import('vue').computed
|
||||
const createError: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/error').createError
|
||||
const customRef: typeof import('vue').customRef
|
||||
const defineAppConfig: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/nuxt').defineAppConfig
|
||||
const defineAsyncComponent: typeof import('vue').defineAsyncComponent
|
||||
const defineComponent: typeof import('vue').defineComponent
|
||||
const defineI18nConfig: typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index').defineI18nConfig
|
||||
const defineI18nLocale: typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index').defineI18nLocale
|
||||
const defineI18nRoute: typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index').defineI18nRoute
|
||||
const defineLazyHydrationComponent: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/lazy-hydration').defineLazyHydrationComponent
|
||||
const defineNuxtComponent: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/component').defineNuxtComponent
|
||||
const defineNuxtLink: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-link').defineNuxtLink
|
||||
const defineNuxtPlugin: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/nuxt').defineNuxtPlugin
|
||||
const defineNuxtRouteMiddleware: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/router').defineNuxtRouteMiddleware
|
||||
const definePageMeta: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/pages/runtime/composables').definePageMeta
|
||||
const definePayloadPlugin: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/nuxt').definePayloadPlugin
|
||||
const definePayloadReducer: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/payload').definePayloadReducer
|
||||
const definePayloadReviver: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/payload').definePayloadReviver
|
||||
const effect: typeof import('vue').effect
|
||||
const effectScope: typeof import('vue').effectScope
|
||||
const enrichResourcesWithPermission: typeof import('../../app/composables/useResourceAccess').enrichResourcesWithPermission
|
||||
const executeEntry: typeof import('../../app/utils/appEntry').executeEntry
|
||||
const generateQrCodeCanvas: typeof import('../../app/composables/useQRCode').generateQrCodeCanvas
|
||||
const generateQrCodeDataUrl: typeof import('../../app/composables/useQRCode').generateQrCodeDataUrl
|
||||
const getAppEntries: typeof import('../../app/utils/appEntry').getAppEntries
|
||||
const getAppManifest: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/manifest').getAppManifest
|
||||
const getCurrentInstance: typeof import('vue').getCurrentInstance
|
||||
const getCurrentScope: typeof import('vue').getCurrentScope
|
||||
const getPrimaryEntry: typeof import('../../app/utils/appEntry').getPrimaryEntry
|
||||
const getResourceAccessLevel: typeof import('../../app/composables/useResourceAccess').getResourceAccessLevel
|
||||
const getRouteRules: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/manifest').getRouteRules
|
||||
const getScanTip: typeof import('../../app/utils/appEntry').getScanTip
|
||||
const getTenantId: typeof import('../../app/utils/domain').getTenantId
|
||||
const getToken: typeof import('../../app/utils/token-util').getToken
|
||||
const h: typeof import('vue').h
|
||||
const hasAnyPermission: typeof import('../../app/utils/permission').hasAnyPermission
|
||||
const hasAnyRole: typeof import('../../app/utils/permission').hasAnyRole
|
||||
const hasInjectionContext: typeof import('vue').hasInjectionContext
|
||||
const hasPermission: typeof import('../../app/utils/permission').hasPermission
|
||||
const hasRole: typeof import('../../app/utils/permission').hasRole
|
||||
const inject: typeof import('vue').inject
|
||||
const injectHead: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/head').injectHead
|
||||
const isMaskedValue: typeof import('../../app/composables/useResourceAccess').isMaskedValue
|
||||
const isNuxtError: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/error').isNuxtError
|
||||
const isPrerendered: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/payload').isPrerendered
|
||||
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 isResourceOwner: typeof import('../../app/composables/useResourceAccess').isResourceOwner
|
||||
const isShallow: typeof import('vue').isShallow
|
||||
const isVue2: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/compat/vue-demi').isVue2
|
||||
const isVue3: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/compat/vue-demi').isVue3
|
||||
const loadPayload: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/payload').loadPayload
|
||||
const markRaw: typeof import('vue').markRaw
|
||||
const navigateTo: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/router').navigateTo
|
||||
const nextTick: typeof import('vue').nextTick
|
||||
const notificationTypeMap: typeof import('../../app/composables/useNotificationCenter').notificationTypeMap
|
||||
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 onNuxtReady: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/ready').onNuxtReady
|
||||
const onPrehydrate: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/ssr').onPrehydrate
|
||||
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 onWatcherCleanup: typeof import('vue').onWatcherCleanup
|
||||
const parseMarkdown: typeof import('../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/parser').parseMarkdown
|
||||
const permission: typeof import('../../app/utils/permission').default
|
||||
const prefetchComponents: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/preload').prefetchComponents
|
||||
const preloadComponents: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/preload').preloadComponents
|
||||
const preloadPayload: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/payload').preloadPayload
|
||||
const preloadRouteComponents: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/preload').preloadRouteComponents
|
||||
const prerenderRoutes: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/ssr').prerenderRoutes
|
||||
const provide: typeof import('vue').provide
|
||||
const proxyRefs: typeof import('vue').proxyRefs
|
||||
const queryCollection: typeof import('../../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/client').queryCollection
|
||||
const queryCollectionItemSurroundings: typeof import('../../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/client').queryCollectionItemSurroundings
|
||||
const queryCollectionNavigation: typeof import('../../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/client').queryCollectionNavigation
|
||||
const queryCollectionSearchSections: typeof import('../../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/client').queryCollectionSearchSections
|
||||
const reactive: typeof import('vue').reactive
|
||||
const readonly: typeof import('vue').readonly
|
||||
const ref: typeof import('vue').ref
|
||||
const refreshCookie: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/cookie').refreshCookie
|
||||
const refreshNuxtData: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/asyncData').refreshNuxtData
|
||||
const reloadNuxtApp: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/chunk').reloadNuxtApp
|
||||
const removeToken: typeof import('../../app/utils/token-util').removeToken
|
||||
const request: typeof import('../../app/utils/request').default
|
||||
const requestIdleCallback: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/compat/idle-callback').requestIdleCallback
|
||||
const resolveComponent: typeof import('vue').resolveComponent
|
||||
const resolveWebHomeUrl: typeof import('../../app/utils/appEntry').resolveWebHomeUrl
|
||||
const setAuthz: typeof import('../../app/utils/permission').setAuthz
|
||||
const setAuthzFromUser: typeof import('../../app/utils/permission').setAuthzFromUser
|
||||
const setInterval: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/compat/interval').setInterval
|
||||
const setPageLayout: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/router').setPageLayout
|
||||
const setResponseStatus: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/ssr').setResponseStatus
|
||||
const setToken: typeof import('../../app/utils/token-util').setToken
|
||||
const shallowReactive: typeof import('vue').shallowReactive
|
||||
const shallowReadonly: typeof import('vue').shallowReadonly
|
||||
const shallowRef: typeof import('vue').shallowRef
|
||||
const showError: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/error').showError
|
||||
const stringifyMarkdown: typeof import('../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/stringify').stringifyMarkdown
|
||||
const toRaw: typeof import('vue').toRaw
|
||||
const toRef: typeof import('vue').toRef
|
||||
const toRefs: typeof import('vue').toRefs
|
||||
const toValue: typeof import('vue').toValue
|
||||
const triggerRef: typeof import('vue').triggerRef
|
||||
const tryUseNuxtApp: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/nuxt').tryUseNuxtApp
|
||||
const unref: typeof import('vue').unref
|
||||
const unwrapSlot: typeof import('../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/utils/node').flatUnwrap
|
||||
const updateAppConfig: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/config').updateAppConfig
|
||||
const useAppConfig: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/config').useAppConfig
|
||||
const useAppPermission: typeof import('../../app/composables/useAppPermission').useAppPermission
|
||||
const useAsyncData: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/asyncData').useAsyncData
|
||||
const useAttrs: typeof import('vue').useAttrs
|
||||
const useBrowserLocale: typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index').useBrowserLocale
|
||||
const useCookie: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/cookie').useCookie
|
||||
const useCookieLocale: typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index').useCookieLocale
|
||||
const useCssModule: typeof import('vue').useCssModule
|
||||
const useCssVars: typeof import('vue').useCssVars
|
||||
const useError: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/error').useError
|
||||
const useFetch: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/fetch').useFetch
|
||||
const useHead: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/head').useHead
|
||||
const useHeadSafe: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/head').useHeadSafe
|
||||
const useHydration: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/hydrate').useHydration
|
||||
const useI18n: typeof import('../../node_modules/.pnpm/vue-i18n@11.3.0_vue@3.5.26_typescript@5.9.3_/node_modules/vue-i18n/dist/vue-i18n').useI18n
|
||||
const useI18nPreloadKeys: typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index').useI18nPreloadKeys
|
||||
const useId: typeof import('vue').useId
|
||||
const useLazyAsyncData: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/asyncData').useLazyAsyncData
|
||||
const useLazyFetch: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/fetch').useLazyFetch
|
||||
const useLink: typeof import('vue-router').useLink
|
||||
const useLoadingIndicator: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/loading-indicator').useLoadingIndicator
|
||||
const useLocaleHead: typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index').useLocaleHead
|
||||
const useLocalePath: typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index').useLocalePath
|
||||
const useLocaleRoute: typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index').useLocaleRoute
|
||||
const useModel: typeof import('vue').useModel
|
||||
const useNotificationCenter: typeof import('../../app/composables/useNotificationCenter').useNotificationCenter
|
||||
const useNuxtApp: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/nuxt').useNuxtApp
|
||||
const useNuxtData: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/asyncData').useNuxtData
|
||||
const useNuxtDevTools: typeof import('../../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/@nuxt/devtools/dist/runtime/use-nuxt-devtools').useNuxtDevTools
|
||||
const usePageSeo: typeof import('../../app/composables/usePageSeo').usePageSeo
|
||||
const usePreviewMode: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/preview').usePreviewMode
|
||||
const useRequestEvent: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/ssr').useRequestEvent
|
||||
const useRequestFetch: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/ssr').useRequestFetch
|
||||
const useRequestHeader: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/ssr').useRequestHeader
|
||||
const useRequestHeaders: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/ssr').useRequestHeaders
|
||||
const useRequestURL: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/url').useRequestURL
|
||||
const useResourceAccess: typeof import('../../app/composables/useResourceAccess').useResourceAccess
|
||||
const useResponseHeader: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/ssr').useResponseHeader
|
||||
const useRoute: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/router').useRoute
|
||||
const useRouteAnnouncer: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/route-announcer').useRouteAnnouncer
|
||||
const useRouteBaseName: typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index').useRouteBaseName
|
||||
const useRouter: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/router').useRouter
|
||||
const useRuntimeConfig: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/nuxt').useRuntimeConfig
|
||||
const useRuntimeHook: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/runtime-hook').useRuntimeHook
|
||||
const useScript: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScript
|
||||
const useScriptClarity: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptClarity
|
||||
const useScriptCloudflareWebAnalytics: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptCloudflareWebAnalytics
|
||||
const useScriptCrisp: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptCrisp
|
||||
const useScriptDatabuddyAnalytics: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptDatabuddyAnalytics
|
||||
const useScriptEventPage: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptEventPage
|
||||
const useScriptFathomAnalytics: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptFathomAnalytics
|
||||
const useScriptGoogleAdsense: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptGoogleAdsense
|
||||
const useScriptGoogleAnalytics: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptGoogleAnalytics
|
||||
const useScriptGoogleMaps: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptGoogleMaps
|
||||
const useScriptGoogleTagManager: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptGoogleTagManager
|
||||
const useScriptHotjar: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptHotjar
|
||||
const useScriptIntercom: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptIntercom
|
||||
const useScriptLemonSqueezy: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptLemonSqueezy
|
||||
const useScriptMatomoAnalytics: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptMatomoAnalytics
|
||||
const useScriptMetaPixel: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptMetaPixel
|
||||
const useScriptNpm: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptNpm
|
||||
const useScriptPayPal: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptPayPal
|
||||
const useScriptPlausibleAnalytics: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptPlausibleAnalytics
|
||||
const useScriptRedditPixel: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptRedditPixel
|
||||
const useScriptRybbitAnalytics: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptRybbitAnalytics
|
||||
const useScriptSegment: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptSegment
|
||||
const useScriptSnapchatPixel: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptSnapchatPixel
|
||||
const useScriptStripe: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptStripe
|
||||
const useScriptTriggerConsent: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptTriggerConsent
|
||||
const useScriptTriggerElement: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptTriggerElement
|
||||
const useScriptUmamiAnalytics: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptUmamiAnalytics
|
||||
const useScriptVimeoPlayer: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptVimeoPlayer
|
||||
const useScriptXPixel: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptXPixel
|
||||
const useScriptYouTubePlayer: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs').useScriptYouTubePlayer
|
||||
const useSeoMeta: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/head').useSeoMeta
|
||||
const useServerHead: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/head').useServerHead
|
||||
const useServerHeadSafe: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/head').useServerHeadSafe
|
||||
const useServerSeoMeta: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/head').useServerSeoMeta
|
||||
const useSetI18nParams: typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index').useSetI18nParams
|
||||
const useShadowRoot: typeof import('vue').useShadowRoot
|
||||
const useSlots: typeof import('vue').useSlots
|
||||
const useState: typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/state').useState
|
||||
const useSwitchLocalePath: typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index').useSwitchLocalePath
|
||||
const useTemplateRef: typeof import('vue').useTemplateRef
|
||||
const useTransitionState: typeof import('vue').useTransitionState
|
||||
const watch: typeof import('vue').watch
|
||||
const watchEffect: typeof import('vue').watchEffect
|
||||
const watchPostEffect: typeof import('vue').watchPostEffect
|
||||
const watchSyncEffect: typeof import('vue').watchSyncEffect
|
||||
const withCtx: typeof import('vue').withCtx
|
||||
const withDirectives: typeof import('vue').withDirectives
|
||||
const withKeys: typeof import('vue').withKeys
|
||||
const withMemo: typeof import('vue').withMemo
|
||||
const withModifiers: typeof import('vue').withModifiers
|
||||
const withScopeId: typeof import('vue').withScopeId
|
||||
}
|
||||
// for type re-export
|
||||
declare global {
|
||||
// @ts-ignore
|
||||
export type { Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
|
||||
import('vue')
|
||||
// @ts-ignore
|
||||
export type { AppPermission } from '../../app/composables/useAppPermission'
|
||||
import('../../app/composables/useAppPermission')
|
||||
// @ts-ignore
|
||||
export type { ResourceAccessLevel } from '../../app/composables/useResourceAccess'
|
||||
import('../../app/composables/useResourceAccess')
|
||||
// @ts-ignore
|
||||
export type { EntryType, AppEntry } from '../../app/utils/appEntry'
|
||||
import('../../app/utils/appEntry')
|
||||
}
|
||||
// for vue template auto import
|
||||
import { UnwrapRef } from 'vue'
|
||||
declare module 'vue' {
|
||||
interface ComponentCustomProperties {
|
||||
readonly ROLE_COLOR: UnwrapRef<typeof import('../../app/composables/useAppPermission')['ROLE_COLOR']>
|
||||
readonly ROLE_HIERARCHY: UnwrapRef<typeof import('../../app/composables/useAppPermission')['ROLE_HIERARCHY']>
|
||||
readonly ROLE_LABEL: UnwrapRef<typeof import('../../app/composables/useAppPermission')['ROLE_LABEL']>
|
||||
readonly abortNavigation: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/router')['abortNavigation']>
|
||||
readonly addRouteMiddleware: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/router')['addRouteMiddleware']>
|
||||
readonly callOnce: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/once')['callOnce']>
|
||||
readonly canManageResource: UnwrapRef<typeof import('../../app/composables/useResourceAccess')['canManageResource']>
|
||||
readonly canViewBasic: UnwrapRef<typeof import('../../app/composables/useResourceAccess')['canViewBasic']>
|
||||
readonly canViewConnection: UnwrapRef<typeof import('../../app/composables/useResourceAccess')['canViewConnection']>
|
||||
readonly canViewSensitive: UnwrapRef<typeof import('../../app/composables/useResourceAccess')['canViewSensitive']>
|
||||
readonly cancelIdleCallback: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/compat/idle-callback')['cancelIdleCallback']>
|
||||
readonly clearAuthz: UnwrapRef<typeof import('../../app/utils/permission')['clearAuthz']>
|
||||
readonly clearError: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/error')['clearError']>
|
||||
readonly clearNuxtData: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/asyncData')['clearNuxtData']>
|
||||
readonly clearNuxtState: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/state')['clearNuxtState']>
|
||||
readonly computed: UnwrapRef<typeof import('vue')['computed']>
|
||||
readonly createError: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/error')['createError']>
|
||||
readonly customRef: UnwrapRef<typeof import('vue')['customRef']>
|
||||
readonly defineAppConfig: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/nuxt')['defineAppConfig']>
|
||||
readonly defineAsyncComponent: UnwrapRef<typeof import('vue')['defineAsyncComponent']>
|
||||
readonly defineComponent: UnwrapRef<typeof import('vue')['defineComponent']>
|
||||
readonly defineI18nConfig: UnwrapRef<typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index')['defineI18nConfig']>
|
||||
readonly defineI18nLocale: UnwrapRef<typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index')['defineI18nLocale']>
|
||||
readonly defineI18nRoute: UnwrapRef<typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index')['defineI18nRoute']>
|
||||
readonly defineLazyHydrationComponent: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/lazy-hydration')['defineLazyHydrationComponent']>
|
||||
readonly defineNuxtComponent: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/component')['defineNuxtComponent']>
|
||||
readonly defineNuxtLink: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/components/nuxt-link')['defineNuxtLink']>
|
||||
readonly defineNuxtPlugin: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/nuxt')['defineNuxtPlugin']>
|
||||
readonly defineNuxtRouteMiddleware: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/router')['defineNuxtRouteMiddleware']>
|
||||
readonly definePageMeta: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/pages/runtime/composables')['definePageMeta']>
|
||||
readonly definePayloadPlugin: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/nuxt')['definePayloadPlugin']>
|
||||
readonly definePayloadReducer: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/payload')['definePayloadReducer']>
|
||||
readonly definePayloadReviver: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/payload')['definePayloadReviver']>
|
||||
readonly effect: UnwrapRef<typeof import('vue')['effect']>
|
||||
readonly effectScope: UnwrapRef<typeof import('vue')['effectScope']>
|
||||
readonly enrichResourcesWithPermission: UnwrapRef<typeof import('../../app/composables/useResourceAccess')['enrichResourcesWithPermission']>
|
||||
readonly executeEntry: UnwrapRef<typeof import('../../app/utils/appEntry')['executeEntry']>
|
||||
readonly generateQrCodeCanvas: UnwrapRef<typeof import('../../app/composables/useQRCode')['generateQrCodeCanvas']>
|
||||
readonly generateQrCodeDataUrl: UnwrapRef<typeof import('../../app/composables/useQRCode')['generateQrCodeDataUrl']>
|
||||
readonly getAppEntries: UnwrapRef<typeof import('../../app/utils/appEntry')['getAppEntries']>
|
||||
readonly getAppManifest: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/manifest')['getAppManifest']>
|
||||
readonly getCurrentInstance: UnwrapRef<typeof import('vue')['getCurrentInstance']>
|
||||
readonly getCurrentScope: UnwrapRef<typeof import('vue')['getCurrentScope']>
|
||||
readonly getPrimaryEntry: UnwrapRef<typeof import('../../app/utils/appEntry')['getPrimaryEntry']>
|
||||
readonly getResourceAccessLevel: UnwrapRef<typeof import('../../app/composables/useResourceAccess')['getResourceAccessLevel']>
|
||||
readonly getRouteRules: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/manifest')['getRouteRules']>
|
||||
readonly getScanTip: UnwrapRef<typeof import('../../app/utils/appEntry')['getScanTip']>
|
||||
readonly getTenantId: UnwrapRef<typeof import('../../app/utils/domain')['getTenantId']>
|
||||
readonly getToken: UnwrapRef<typeof import('../../app/utils/token-util')['getToken']>
|
||||
readonly h: UnwrapRef<typeof import('vue')['h']>
|
||||
readonly hasAnyPermission: UnwrapRef<typeof import('../../app/utils/permission')['hasAnyPermission']>
|
||||
readonly hasAnyRole: UnwrapRef<typeof import('../../app/utils/permission')['hasAnyRole']>
|
||||
readonly hasInjectionContext: UnwrapRef<typeof import('vue')['hasInjectionContext']>
|
||||
readonly hasPermission: UnwrapRef<typeof import('../../app/utils/permission')['hasPermission']>
|
||||
readonly hasRole: UnwrapRef<typeof import('../../app/utils/permission')['hasRole']>
|
||||
readonly inject: UnwrapRef<typeof import('vue')['inject']>
|
||||
readonly injectHead: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/head')['injectHead']>
|
||||
readonly isMaskedValue: UnwrapRef<typeof import('../../app/composables/useResourceAccess')['isMaskedValue']>
|
||||
readonly isNuxtError: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/error')['isNuxtError']>
|
||||
readonly isPrerendered: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/payload')['isPrerendered']>
|
||||
readonly isProxy: UnwrapRef<typeof import('vue')['isProxy']>
|
||||
readonly isReactive: UnwrapRef<typeof import('vue')['isReactive']>
|
||||
readonly isReadonly: UnwrapRef<typeof import('vue')['isReadonly']>
|
||||
readonly isRef: UnwrapRef<typeof import('vue')['isRef']>
|
||||
readonly isResourceOwner: UnwrapRef<typeof import('../../app/composables/useResourceAccess')['isResourceOwner']>
|
||||
readonly isShallow: UnwrapRef<typeof import('vue')['isShallow']>
|
||||
readonly isVue2: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/compat/vue-demi')['isVue2']>
|
||||
readonly isVue3: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/compat/vue-demi')['isVue3']>
|
||||
readonly loadPayload: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/payload')['loadPayload']>
|
||||
readonly markRaw: UnwrapRef<typeof import('vue')['markRaw']>
|
||||
readonly navigateTo: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/router')['navigateTo']>
|
||||
readonly nextTick: UnwrapRef<typeof import('vue')['nextTick']>
|
||||
readonly notificationTypeMap: UnwrapRef<typeof import('../../app/composables/useNotificationCenter')['notificationTypeMap']>
|
||||
readonly onActivated: UnwrapRef<typeof import('vue')['onActivated']>
|
||||
readonly onBeforeMount: UnwrapRef<typeof import('vue')['onBeforeMount']>
|
||||
readonly onBeforeRouteLeave: UnwrapRef<typeof import('vue-router')['onBeforeRouteLeave']>
|
||||
readonly onBeforeRouteUpdate: UnwrapRef<typeof import('vue-router')['onBeforeRouteUpdate']>
|
||||
readonly onBeforeUnmount: UnwrapRef<typeof import('vue')['onBeforeUnmount']>
|
||||
readonly onBeforeUpdate: UnwrapRef<typeof import('vue')['onBeforeUpdate']>
|
||||
readonly onDeactivated: UnwrapRef<typeof import('vue')['onDeactivated']>
|
||||
readonly onErrorCaptured: UnwrapRef<typeof import('vue')['onErrorCaptured']>
|
||||
readonly onMounted: UnwrapRef<typeof import('vue')['onMounted']>
|
||||
readonly onNuxtReady: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/ready')['onNuxtReady']>
|
||||
readonly onPrehydrate: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/ssr')['onPrehydrate']>
|
||||
readonly onRenderTracked: UnwrapRef<typeof import('vue')['onRenderTracked']>
|
||||
readonly onRenderTriggered: UnwrapRef<typeof import('vue')['onRenderTriggered']>
|
||||
readonly onScopeDispose: UnwrapRef<typeof import('vue')['onScopeDispose']>
|
||||
readonly onServerPrefetch: UnwrapRef<typeof import('vue')['onServerPrefetch']>
|
||||
readonly onUnmounted: UnwrapRef<typeof import('vue')['onUnmounted']>
|
||||
readonly onUpdated: UnwrapRef<typeof import('vue')['onUpdated']>
|
||||
readonly onWatcherCleanup: UnwrapRef<typeof import('vue')['onWatcherCleanup']>
|
||||
readonly parseMarkdown: UnwrapRef<typeof import('../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/parser')['parseMarkdown']>
|
||||
readonly permission: UnwrapRef<typeof import('../../app/utils/permission')['default']>
|
||||
readonly prefetchComponents: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/preload')['prefetchComponents']>
|
||||
readonly preloadComponents: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/preload')['preloadComponents']>
|
||||
readonly preloadPayload: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/payload')['preloadPayload']>
|
||||
readonly preloadRouteComponents: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/preload')['preloadRouteComponents']>
|
||||
readonly prerenderRoutes: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/ssr')['prerenderRoutes']>
|
||||
readonly provide: UnwrapRef<typeof import('vue')['provide']>
|
||||
readonly proxyRefs: UnwrapRef<typeof import('vue')['proxyRefs']>
|
||||
readonly queryCollection: UnwrapRef<typeof import('../../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/client')['queryCollection']>
|
||||
readonly queryCollectionItemSurroundings: UnwrapRef<typeof import('../../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/client')['queryCollectionItemSurroundings']>
|
||||
readonly queryCollectionNavigation: UnwrapRef<typeof import('../../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/client')['queryCollectionNavigation']>
|
||||
readonly queryCollectionSearchSections: UnwrapRef<typeof import('../../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/client')['queryCollectionSearchSections']>
|
||||
readonly reactive: UnwrapRef<typeof import('vue')['reactive']>
|
||||
readonly readonly: UnwrapRef<typeof import('vue')['readonly']>
|
||||
readonly ref: UnwrapRef<typeof import('vue')['ref']>
|
||||
readonly refreshCookie: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/cookie')['refreshCookie']>
|
||||
readonly refreshNuxtData: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/asyncData')['refreshNuxtData']>
|
||||
readonly reloadNuxtApp: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/chunk')['reloadNuxtApp']>
|
||||
readonly removeToken: UnwrapRef<typeof import('../../app/utils/token-util')['removeToken']>
|
||||
readonly request: UnwrapRef<typeof import('../../app/utils/request')['default']>
|
||||
readonly requestIdleCallback: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/compat/idle-callback')['requestIdleCallback']>
|
||||
readonly resolveComponent: UnwrapRef<typeof import('vue')['resolveComponent']>
|
||||
readonly resolveWebHomeUrl: UnwrapRef<typeof import('../../app/utils/appEntry')['resolveWebHomeUrl']>
|
||||
readonly setAuthz: UnwrapRef<typeof import('../../app/utils/permission')['setAuthz']>
|
||||
readonly setAuthzFromUser: UnwrapRef<typeof import('../../app/utils/permission')['setAuthzFromUser']>
|
||||
readonly setInterval: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/compat/interval')['setInterval']>
|
||||
readonly setPageLayout: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/router')['setPageLayout']>
|
||||
readonly setResponseStatus: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/ssr')['setResponseStatus']>
|
||||
readonly setToken: UnwrapRef<typeof import('../../app/utils/token-util')['setToken']>
|
||||
readonly shallowReactive: UnwrapRef<typeof import('vue')['shallowReactive']>
|
||||
readonly shallowReadonly: UnwrapRef<typeof import('vue')['shallowReadonly']>
|
||||
readonly shallowRef: UnwrapRef<typeof import('vue')['shallowRef']>
|
||||
readonly showError: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/error')['showError']>
|
||||
readonly stringifyMarkdown: UnwrapRef<typeof import('../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/stringify')['stringifyMarkdown']>
|
||||
readonly toRaw: UnwrapRef<typeof import('vue')['toRaw']>
|
||||
readonly toRef: UnwrapRef<typeof import('vue')['toRef']>
|
||||
readonly toRefs: UnwrapRef<typeof import('vue')['toRefs']>
|
||||
readonly toValue: UnwrapRef<typeof import('vue')['toValue']>
|
||||
readonly triggerRef: UnwrapRef<typeof import('vue')['triggerRef']>
|
||||
readonly tryUseNuxtApp: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/nuxt')['tryUseNuxtApp']>
|
||||
readonly unref: UnwrapRef<typeof import('vue')['unref']>
|
||||
readonly unwrapSlot: UnwrapRef<typeof import('../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/utils/node')['flatUnwrap']>
|
||||
readonly updateAppConfig: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/config')['updateAppConfig']>
|
||||
readonly useAppConfig: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/config')['useAppConfig']>
|
||||
readonly useAppPermission: UnwrapRef<typeof import('../../app/composables/useAppPermission')['useAppPermission']>
|
||||
readonly useAsyncData: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/asyncData')['useAsyncData']>
|
||||
readonly useAttrs: UnwrapRef<typeof import('vue')['useAttrs']>
|
||||
readonly useBrowserLocale: UnwrapRef<typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index')['useBrowserLocale']>
|
||||
readonly useCookie: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/cookie')['useCookie']>
|
||||
readonly useCookieLocale: UnwrapRef<typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index')['useCookieLocale']>
|
||||
readonly useCssModule: UnwrapRef<typeof import('vue')['useCssModule']>
|
||||
readonly useCssVars: UnwrapRef<typeof import('vue')['useCssVars']>
|
||||
readonly useError: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/error')['useError']>
|
||||
readonly useFetch: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/fetch')['useFetch']>
|
||||
readonly useHead: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/head')['useHead']>
|
||||
readonly useHeadSafe: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/head')['useHeadSafe']>
|
||||
readonly useHydration: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/hydrate')['useHydration']>
|
||||
readonly useI18n: UnwrapRef<typeof import('../../node_modules/.pnpm/vue-i18n@11.3.0_vue@3.5.26_typescript@5.9.3_/node_modules/vue-i18n/dist/vue-i18n')['useI18n']>
|
||||
readonly useI18nPreloadKeys: UnwrapRef<typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index')['useI18nPreloadKeys']>
|
||||
readonly useId: UnwrapRef<typeof import('vue')['useId']>
|
||||
readonly useLazyAsyncData: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/asyncData')['useLazyAsyncData']>
|
||||
readonly useLazyFetch: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/fetch')['useLazyFetch']>
|
||||
readonly useLink: UnwrapRef<typeof import('vue-router')['useLink']>
|
||||
readonly useLoadingIndicator: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/loading-indicator')['useLoadingIndicator']>
|
||||
readonly useLocaleHead: UnwrapRef<typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index')['useLocaleHead']>
|
||||
readonly useLocalePath: UnwrapRef<typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index')['useLocalePath']>
|
||||
readonly useLocaleRoute: UnwrapRef<typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index')['useLocaleRoute']>
|
||||
readonly useModel: UnwrapRef<typeof import('vue')['useModel']>
|
||||
readonly useNotificationCenter: UnwrapRef<typeof import('../../app/composables/useNotificationCenter')['useNotificationCenter']>
|
||||
readonly useNuxtApp: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/nuxt')['useNuxtApp']>
|
||||
readonly useNuxtData: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/asyncData')['useNuxtData']>
|
||||
readonly useNuxtDevTools: UnwrapRef<typeof import('../../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/@nuxt/devtools/dist/runtime/use-nuxt-devtools')['useNuxtDevTools']>
|
||||
readonly usePageSeo: UnwrapRef<typeof import('../../app/composables/usePageSeo')['usePageSeo']>
|
||||
readonly usePreviewMode: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/preview')['usePreviewMode']>
|
||||
readonly useRequestEvent: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/ssr')['useRequestEvent']>
|
||||
readonly useRequestFetch: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/ssr')['useRequestFetch']>
|
||||
readonly useRequestHeader: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/ssr')['useRequestHeader']>
|
||||
readonly useRequestHeaders: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/ssr')['useRequestHeaders']>
|
||||
readonly useRequestURL: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/url')['useRequestURL']>
|
||||
readonly useResourceAccess: UnwrapRef<typeof import('../../app/composables/useResourceAccess')['useResourceAccess']>
|
||||
readonly useResponseHeader: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/ssr')['useResponseHeader']>
|
||||
readonly useRoute: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/router')['useRoute']>
|
||||
readonly useRouteAnnouncer: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/route-announcer')['useRouteAnnouncer']>
|
||||
readonly useRouteBaseName: UnwrapRef<typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index')['useRouteBaseName']>
|
||||
readonly useRouter: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/router')['useRouter']>
|
||||
readonly useRuntimeConfig: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/nuxt')['useRuntimeConfig']>
|
||||
readonly useRuntimeHook: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/runtime-hook')['useRuntimeHook']>
|
||||
readonly useScript: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs')['useScript']>
|
||||
readonly useScriptClarity: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs')['useScriptClarity']>
|
||||
readonly useScriptCloudflareWebAnalytics: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs')['useScriptCloudflareWebAnalytics']>
|
||||
readonly useScriptCrisp: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs')['useScriptCrisp']>
|
||||
readonly useScriptDatabuddyAnalytics: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs')['useScriptDatabuddyAnalytics']>
|
||||
readonly useScriptEventPage: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs')['useScriptEventPage']>
|
||||
readonly useScriptFathomAnalytics: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs')['useScriptFathomAnalytics']>
|
||||
readonly useScriptGoogleAdsense: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs')['useScriptGoogleAdsense']>
|
||||
readonly useScriptGoogleAnalytics: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs')['useScriptGoogleAnalytics']>
|
||||
readonly useScriptGoogleMaps: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs')['useScriptGoogleMaps']>
|
||||
readonly useScriptGoogleTagManager: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs')['useScriptGoogleTagManager']>
|
||||
readonly useScriptHotjar: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs')['useScriptHotjar']>
|
||||
readonly useScriptIntercom: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs')['useScriptIntercom']>
|
||||
readonly useScriptLemonSqueezy: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs')['useScriptLemonSqueezy']>
|
||||
readonly useScriptMatomoAnalytics: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs')['useScriptMatomoAnalytics']>
|
||||
readonly useScriptMetaPixel: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs')['useScriptMetaPixel']>
|
||||
readonly useScriptNpm: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs')['useScriptNpm']>
|
||||
readonly useScriptPayPal: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs')['useScriptPayPal']>
|
||||
readonly useScriptPlausibleAnalytics: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs')['useScriptPlausibleAnalytics']>
|
||||
readonly useScriptRedditPixel: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs')['useScriptRedditPixel']>
|
||||
readonly useScriptRybbitAnalytics: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs')['useScriptRybbitAnalytics']>
|
||||
readonly useScriptSegment: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs')['useScriptSegment']>
|
||||
readonly useScriptSnapchatPixel: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs')['useScriptSnapchatPixel']>
|
||||
readonly useScriptStripe: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs')['useScriptStripe']>
|
||||
readonly useScriptTriggerConsent: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs')['useScriptTriggerConsent']>
|
||||
readonly useScriptTriggerElement: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs')['useScriptTriggerElement']>
|
||||
readonly useScriptUmamiAnalytics: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs')['useScriptUmamiAnalytics']>
|
||||
readonly useScriptVimeoPlayer: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs')['useScriptVimeoPlayer']>
|
||||
readonly useScriptXPixel: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs')['useScriptXPixel']>
|
||||
readonly useScriptYouTubePlayer: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/script-stubs')['useScriptYouTubePlayer']>
|
||||
readonly useSeoMeta: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/head')['useSeoMeta']>
|
||||
readonly useServerHead: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/head')['useServerHead']>
|
||||
readonly useServerHeadSafe: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/head')['useServerHeadSafe']>
|
||||
readonly useServerSeoMeta: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/head')['useServerSeoMeta']>
|
||||
readonly useSetI18nParams: UnwrapRef<typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index')['useSetI18nParams']>
|
||||
readonly useShadowRoot: UnwrapRef<typeof import('vue')['useShadowRoot']>
|
||||
readonly useSlots: UnwrapRef<typeof import('vue')['useSlots']>
|
||||
readonly useState: UnwrapRef<typeof import('../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/composables/state')['useState']>
|
||||
readonly useSwitchLocalePath: UnwrapRef<typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/index')['useSwitchLocalePath']>
|
||||
readonly useTemplateRef: UnwrapRef<typeof import('vue')['useTemplateRef']>
|
||||
readonly useTransitionState: UnwrapRef<typeof import('vue')['useTransitionState']>
|
||||
readonly watch: UnwrapRef<typeof import('vue')['watch']>
|
||||
readonly watchEffect: UnwrapRef<typeof import('vue')['watchEffect']>
|
||||
readonly watchPostEffect: UnwrapRef<typeof import('vue')['watchPostEffect']>
|
||||
readonly watchSyncEffect: UnwrapRef<typeof import('vue')['watchSyncEffect']>
|
||||
readonly withCtx: UnwrapRef<typeof import('vue')['withCtx']>
|
||||
readonly withDirectives: UnwrapRef<typeof import('vue')['withDirectives']>
|
||||
readonly withKeys: UnwrapRef<typeof import('vue')['withKeys']>
|
||||
readonly withMemo: UnwrapRef<typeof import('vue')['withMemo']>
|
||||
readonly withModifiers: UnwrapRef<typeof import('vue')['withModifiers']>
|
||||
readonly withScopeId: UnwrapRef<typeof import('vue')['withScopeId']>
|
||||
}
|
||||
}
|
||||
7
.nuxt/types/layouts.d.ts
vendored
Normal file
7
.nuxt/types/layouts.d.ts
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import type { ComputedRef, MaybeRef } from 'vue'
|
||||
export type LayoutKey = "admin" | "blank" | "console" | "default" | "developer" | "oa"
|
||||
declare module 'nuxt/app' {
|
||||
interface PageMeta {
|
||||
layout?: MaybeRef<LayoutKey | false> | ComputedRef<LayoutKey | false>
|
||||
}
|
||||
}
|
||||
7
.nuxt/types/middleware.d.ts
vendored
Normal file
7
.nuxt/types/middleware.d.ts
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import type { NavigationGuard } from 'vue-router'
|
||||
export type MiddlewareKey = never
|
||||
declare module 'nuxt/app' {
|
||||
interface PageMeta {
|
||||
middleware?: MiddlewareKey | NavigationGuard | Array<MiddlewareKey | NavigationGuard>
|
||||
}
|
||||
}
|
||||
139
.nuxt/types/modules.d.ts
vendored
Normal file
139
.nuxt/types/modules.d.ts
vendored
Normal file
@@ -0,0 +1,139 @@
|
||||
import { NuxtModule, ModuleDependencyMeta } from '@nuxt/schema'
|
||||
declare module '@nuxt/schema' {
|
||||
interface ModuleDependencies {
|
||||
["@nuxt/content"]?: ModuleDependencyMeta<typeof import("@nuxt/content").default extends NuxtModule<infer O> ? O : Record<string, unknown>>
|
||||
["@nuxtjs/tailwindcss"]?: ModuleDependencyMeta<typeof import("@nuxtjs/tailwindcss").default extends NuxtModule<infer O> ? O : Record<string, unknown>>
|
||||
["@nuxtjs/i18n"]?: ModuleDependencyMeta<typeof import("@nuxtjs/i18n").default extends NuxtModule<infer O> ? O : Record<string, unknown>>
|
||||
["@nuxt/devtools"]?: ModuleDependencyMeta<typeof import("@nuxt/devtools").default extends NuxtModule<infer O> ? O : Record<string, unknown>>
|
||||
["@nuxt/telemetry"]?: ModuleDependencyMeta<typeof import("@nuxt/telemetry").default extends NuxtModule<infer O> ? O : Record<string, unknown>>
|
||||
["@nuxtjs/mdc"]?: ModuleDependencyMeta<typeof import("@nuxtjs/mdc").default extends NuxtModule<infer O> ? O : Record<string, unknown>>
|
||||
}
|
||||
interface NuxtOptions {
|
||||
/**
|
||||
* Configuration for `@nuxt/content`
|
||||
*/
|
||||
["content"]: typeof import("@nuxt/content").default extends NuxtModule<infer O, unknown, boolean> ? O : Record<string, any>
|
||||
/**
|
||||
* Configuration for `@nuxtjs/tailwindcss`
|
||||
*/
|
||||
["tailwindcss"]: typeof import("@nuxtjs/tailwindcss").default extends NuxtModule<infer O, unknown, boolean> ? O : Record<string, any>
|
||||
/**
|
||||
* Configuration for `@nuxtjs/i18n`
|
||||
*/
|
||||
["i18n"]: typeof import("@nuxtjs/i18n").default extends NuxtModule<infer O, unknown, boolean> ? O : Record<string, any>
|
||||
/**
|
||||
* Configuration for `@nuxt/devtools`
|
||||
*/
|
||||
["devtools"]: typeof import("@nuxt/devtools").default extends NuxtModule<infer O, unknown, boolean> ? O : Record<string, any>
|
||||
/**
|
||||
* Configuration for `@nuxt/telemetry`
|
||||
*/
|
||||
["telemetry"]: typeof import("@nuxt/telemetry").default extends NuxtModule<infer O, unknown, boolean> ? O : Record<string, any>
|
||||
/**
|
||||
* Configuration for `@nuxtjs/mdc`
|
||||
*/
|
||||
["mdc"]: typeof import("@nuxtjs/mdc").default extends NuxtModule<infer O, unknown, boolean> ? O : Record<string, any>
|
||||
}
|
||||
interface NuxtConfig {
|
||||
/**
|
||||
* Configuration for `@nuxt/content`
|
||||
*/
|
||||
["content"]?: typeof import("@nuxt/content").default extends NuxtModule<infer O, unknown, boolean> ? Partial<O> : Record<string, any>
|
||||
/**
|
||||
* Configuration for `@nuxtjs/tailwindcss`
|
||||
*/
|
||||
["tailwindcss"]?: typeof import("@nuxtjs/tailwindcss").default extends NuxtModule<infer O, unknown, boolean> ? Partial<O> : Record<string, any>
|
||||
/**
|
||||
* Configuration for `@nuxtjs/i18n`
|
||||
*/
|
||||
["i18n"]?: typeof import("@nuxtjs/i18n").default extends NuxtModule<infer O, unknown, boolean> ? Partial<O> : Record<string, any>
|
||||
/**
|
||||
* Configuration for `@nuxt/devtools`
|
||||
*/
|
||||
["devtools"]?: typeof import("@nuxt/devtools").default extends NuxtModule<infer O, unknown, boolean> ? Partial<O> : Record<string, any>
|
||||
/**
|
||||
* Configuration for `@nuxt/telemetry`
|
||||
*/
|
||||
["telemetry"]?: typeof import("@nuxt/telemetry").default extends NuxtModule<infer O, unknown, boolean> ? Partial<O> : Record<string, any>
|
||||
/**
|
||||
* Configuration for `@nuxtjs/mdc`
|
||||
*/
|
||||
["mdc"]?: typeof import("@nuxtjs/mdc").default extends NuxtModule<infer O, unknown, boolean> ? Partial<O> : Record<string, any>
|
||||
modules?: (undefined | null | false | NuxtModule<any> | string | [NuxtModule | string, Record<string, any>] | ["@nuxt/content", Exclude<NuxtConfig["content"], boolean>] | ["@nuxtjs/tailwindcss", Exclude<NuxtConfig["tailwindcss"], boolean>] | ["@nuxtjs/i18n", Exclude<NuxtConfig["i18n"], boolean>] | ["@nuxt/devtools", Exclude<NuxtConfig["devtools"], boolean>] | ["@nuxt/telemetry", Exclude<NuxtConfig["telemetry"], boolean>] | ["@nuxtjs/mdc", Exclude<NuxtConfig["mdc"], boolean>])[],
|
||||
}
|
||||
}
|
||||
declare module 'nuxt/schema' {
|
||||
interface ModuleDependencies {
|
||||
["@nuxt/content"]?: ModuleDependencyMeta<typeof import("@nuxt/content").default extends NuxtModule<infer O> ? O : Record<string, unknown>>
|
||||
["@nuxtjs/tailwindcss"]?: ModuleDependencyMeta<typeof import("@nuxtjs/tailwindcss").default extends NuxtModule<infer O> ? O : Record<string, unknown>>
|
||||
["@nuxtjs/i18n"]?: ModuleDependencyMeta<typeof import("@nuxtjs/i18n").default extends NuxtModule<infer O> ? O : Record<string, unknown>>
|
||||
["@nuxt/devtools"]?: ModuleDependencyMeta<typeof import("@nuxt/devtools").default extends NuxtModule<infer O> ? O : Record<string, unknown>>
|
||||
["@nuxt/telemetry"]?: ModuleDependencyMeta<typeof import("@nuxt/telemetry").default extends NuxtModule<infer O> ? O : Record<string, unknown>>
|
||||
["@nuxtjs/mdc"]?: ModuleDependencyMeta<typeof import("@nuxtjs/mdc").default extends NuxtModule<infer O> ? O : Record<string, unknown>>
|
||||
}
|
||||
interface NuxtOptions {
|
||||
/**
|
||||
* Configuration for `@nuxt/content`
|
||||
* @see https://content.nuxt.com
|
||||
*/
|
||||
["content"]: typeof import("@nuxt/content").default extends NuxtModule<infer O, unknown, boolean> ? O : Record<string, any>
|
||||
/**
|
||||
* Configuration for `@nuxtjs/tailwindcss`
|
||||
* @see https://www.npmjs.com/package/@nuxtjs/tailwindcss
|
||||
*/
|
||||
["tailwindcss"]: typeof import("@nuxtjs/tailwindcss").default extends NuxtModule<infer O, unknown, boolean> ? O : Record<string, any>
|
||||
/**
|
||||
* Configuration for `@nuxtjs/i18n`
|
||||
* @see https://www.npmjs.com/package/@nuxtjs/i18n
|
||||
*/
|
||||
["i18n"]: typeof import("@nuxtjs/i18n").default extends NuxtModule<infer O, unknown, boolean> ? O : Record<string, any>
|
||||
/**
|
||||
* Configuration for `@nuxt/devtools`
|
||||
* @see https://www.npmjs.com/package/@nuxt/devtools
|
||||
*/
|
||||
["devtools"]: typeof import("@nuxt/devtools").default extends NuxtModule<infer O, unknown, boolean> ? O : Record<string, any>
|
||||
/**
|
||||
* Configuration for `@nuxt/telemetry`
|
||||
* @see https://www.npmjs.com/package/@nuxt/telemetry
|
||||
*/
|
||||
["telemetry"]: typeof import("@nuxt/telemetry").default extends NuxtModule<infer O, unknown, boolean> ? O : Record<string, any>
|
||||
/**
|
||||
* Configuration for `@nuxtjs/mdc`
|
||||
* @see https://www.npmjs.com/package/@nuxtjs/mdc
|
||||
*/
|
||||
["mdc"]: typeof import("@nuxtjs/mdc").default extends NuxtModule<infer O, unknown, boolean> ? O : Record<string, any>
|
||||
}
|
||||
interface NuxtConfig {
|
||||
/**
|
||||
* Configuration for `@nuxt/content`
|
||||
* @see https://content.nuxt.com
|
||||
*/
|
||||
["content"]?: typeof import("@nuxt/content").default extends NuxtModule<infer O, unknown, boolean> ? Partial<O> : Record<string, any>
|
||||
/**
|
||||
* Configuration for `@nuxtjs/tailwindcss`
|
||||
* @see https://www.npmjs.com/package/@nuxtjs/tailwindcss
|
||||
*/
|
||||
["tailwindcss"]?: typeof import("@nuxtjs/tailwindcss").default extends NuxtModule<infer O, unknown, boolean> ? Partial<O> : Record<string, any>
|
||||
/**
|
||||
* Configuration for `@nuxtjs/i18n`
|
||||
* @see https://www.npmjs.com/package/@nuxtjs/i18n
|
||||
*/
|
||||
["i18n"]?: typeof import("@nuxtjs/i18n").default extends NuxtModule<infer O, unknown, boolean> ? Partial<O> : Record<string, any>
|
||||
/**
|
||||
* Configuration for `@nuxt/devtools`
|
||||
* @see https://www.npmjs.com/package/@nuxt/devtools
|
||||
*/
|
||||
["devtools"]?: typeof import("@nuxt/devtools").default extends NuxtModule<infer O, unknown, boolean> ? Partial<O> : Record<string, any>
|
||||
/**
|
||||
* Configuration for `@nuxt/telemetry`
|
||||
* @see https://www.npmjs.com/package/@nuxt/telemetry
|
||||
*/
|
||||
["telemetry"]?: typeof import("@nuxt/telemetry").default extends NuxtModule<infer O, unknown, boolean> ? Partial<O> : Record<string, any>
|
||||
/**
|
||||
* Configuration for `@nuxtjs/mdc`
|
||||
* @see https://www.npmjs.com/package/@nuxtjs/mdc
|
||||
*/
|
||||
["mdc"]?: typeof import("@nuxtjs/mdc").default extends NuxtModule<infer O, unknown, boolean> ? Partial<O> : Record<string, any>
|
||||
modules?: (undefined | null | false | NuxtModule<any> | string | [NuxtModule | string, Record<string, any>] | ["@nuxt/content", Exclude<NuxtConfig["content"], boolean>] | ["@nuxtjs/tailwindcss", Exclude<NuxtConfig["tailwindcss"], boolean>] | ["@nuxtjs/i18n", Exclude<NuxtConfig["i18n"], boolean>] | ["@nuxt/devtools", Exclude<NuxtConfig["devtools"], boolean>] | ["@nuxt/telemetry", Exclude<NuxtConfig["telemetry"], boolean>] | ["@nuxtjs/mdc", Exclude<NuxtConfig["mdc"], boolean>])[],
|
||||
}
|
||||
}
|
||||
14
.nuxt/types/nitro-config.d.ts
vendored
Normal file
14
.nuxt/types/nitro-config.d.ts
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
// Generated by nitro
|
||||
|
||||
// App Config
|
||||
import type { Defu } from 'defu'
|
||||
|
||||
|
||||
|
||||
type UserAppConfig = Defu<{}, []>
|
||||
|
||||
declare module "nitropack/types" {
|
||||
interface AppConfig extends UserAppConfig {}
|
||||
|
||||
}
|
||||
export {}
|
||||
171
.nuxt/types/nitro-imports.d.ts
vendored
Normal file
171
.nuxt/types/nitro-imports.d.ts
vendored
Normal file
@@ -0,0 +1,171 @@
|
||||
declare global {
|
||||
const __buildAssetsURL: typeof import('../../node_modules/.pnpm/@nuxt+nitro-server@4.2.2_better-sqlite3@12.8.0_db0@0.3.4_better-sqlite3@12.8.0__ioredis_a0a2be7525d559e696e64db570f075d2/node_modules/@nuxt/nitro-server/dist/runtime/utils/paths').buildAssetsURL
|
||||
const __publicAssetsURL: typeof import('../../node_modules/.pnpm/@nuxt+nitro-server@4.2.2_better-sqlite3@12.8.0_db0@0.3.4_better-sqlite3@12.8.0__ioredis_a0a2be7525d559e696e64db570f075d2/node_modules/@nuxt/nitro-server/dist/runtime/utils/paths').publicAssetsURL
|
||||
const appendCorsHeaders: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').appendCorsHeaders
|
||||
const appendCorsPreflightHeaders: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').appendCorsPreflightHeaders
|
||||
const appendHeader: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').appendHeader
|
||||
const appendHeaders: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').appendHeaders
|
||||
const appendResponseHeader: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').appendResponseHeader
|
||||
const appendResponseHeaders: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').appendResponseHeaders
|
||||
const assertMethod: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').assertMethod
|
||||
const cachedEventHandler: typeof import('../../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/dist/runtime/internal/cache').cachedEventHandler
|
||||
const cachedFunction: typeof import('../../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/dist/runtime/internal/cache').cachedFunction
|
||||
const callNodeListener: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').callNodeListener
|
||||
const clearResponseHeaders: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').clearResponseHeaders
|
||||
const clearSession: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').clearSession
|
||||
const createApp: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').createApp
|
||||
const createAppEventHandler: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').createAppEventHandler
|
||||
const createError: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').createError
|
||||
const createEvent: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').createEvent
|
||||
const createEventStream: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').createEventStream
|
||||
const createRouter: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').createRouter
|
||||
const defaultContentType: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').defaultContentType
|
||||
const defineAppConfig: typeof import('../../node_modules/.pnpm/@nuxt+nitro-server@4.2.2_better-sqlite3@12.8.0_db0@0.3.4_better-sqlite3@12.8.0__ioredis_a0a2be7525d559e696e64db570f075d2/node_modules/@nuxt/nitro-server/dist/runtime/utils/config').defineAppConfig
|
||||
const defineCachedEventHandler: typeof import('../../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/dist/runtime/internal/cache').defineCachedEventHandler
|
||||
const defineCachedFunction: typeof import('../../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/dist/runtime/internal/cache').defineCachedFunction
|
||||
const defineEventHandler: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').defineEventHandler
|
||||
const defineI18nConfig: typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/shared').defineI18nConfig
|
||||
const defineI18nLocale: typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/shared').defineI18nLocale
|
||||
const defineI18nLocaleDetector: typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/server').defineI18nLocaleDetector
|
||||
const defineLazyEventHandler: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').defineLazyEventHandler
|
||||
const defineNitroErrorHandler: typeof import('../../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/dist/runtime/internal/error/utils').defineNitroErrorHandler
|
||||
const defineNitroPlugin: typeof import('../../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/dist/runtime/internal/plugin').defineNitroPlugin
|
||||
const defineNodeListener: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').defineNodeListener
|
||||
const defineNodeMiddleware: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').defineNodeMiddleware
|
||||
const defineRenderHandler: typeof import('../../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/dist/runtime/internal/renderer').defineRenderHandler
|
||||
const defineRequestMiddleware: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').defineRequestMiddleware
|
||||
const defineResponseMiddleware: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').defineResponseMiddleware
|
||||
const defineRouteMeta: typeof import('../../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/dist/runtime/internal/meta').defineRouteMeta
|
||||
const defineTask: typeof import('../../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/dist/runtime/internal/task').defineTask
|
||||
const defineWebSocket: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').defineWebSocket
|
||||
const defineWebSocketHandler: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').defineWebSocketHandler
|
||||
const deleteCookie: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').deleteCookie
|
||||
const dynamicEventHandler: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').dynamicEventHandler
|
||||
const eventHandler: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').eventHandler
|
||||
const fetchWithEvent: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').fetchWithEvent
|
||||
const fromNodeMiddleware: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').fromNodeMiddleware
|
||||
const fromPlainHandler: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').fromPlainHandler
|
||||
const fromWebHandler: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').fromWebHandler
|
||||
const getCookie: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').getCookie
|
||||
const getCookieLocale: typeof import('../../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils/dist/h3').getCookieLocale
|
||||
const getHeader: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').getHeader
|
||||
const getHeaderLanguage: typeof import('../../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils/dist/h3').getHeaderLanguage
|
||||
const getHeaderLanguages: typeof import('../../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils/dist/h3').getHeaderLanguages
|
||||
const getHeaderLocale: typeof import('../../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils/dist/h3').getHeaderLocale
|
||||
const getHeaderLocales: typeof import('../../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils/dist/h3').getHeaderLocales
|
||||
const getHeaders: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').getHeaders
|
||||
const getMethod: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').getMethod
|
||||
const getPathLocale: typeof import('../../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils/dist/h3').getPathLocale
|
||||
const getProxyRequestHeaders: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').getProxyRequestHeaders
|
||||
const getQuery: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').getQuery
|
||||
const getQueryLocale: typeof import('../../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils/dist/h3').getQueryLocale
|
||||
const getRequestFingerprint: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').getRequestFingerprint
|
||||
const getRequestHeader: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').getRequestHeader
|
||||
const getRequestHeaders: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').getRequestHeaders
|
||||
const getRequestHost: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').getRequestHost
|
||||
const getRequestIP: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').getRequestIP
|
||||
const getRequestPath: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').getRequestPath
|
||||
const getRequestProtocol: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').getRequestProtocol
|
||||
const getRequestURL: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').getRequestURL
|
||||
const getRequestWebStream: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').getRequestWebStream
|
||||
const getResponseHeader: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').getResponseHeader
|
||||
const getResponseHeaders: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').getResponseHeaders
|
||||
const getResponseStatus: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').getResponseStatus
|
||||
const getResponseStatusText: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').getResponseStatusText
|
||||
const getRouteRules: typeof import('../../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/dist/runtime/internal/route-rules').getRouteRules
|
||||
const getRouterParam: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').getRouterParam
|
||||
const getRouterParams: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').getRouterParams
|
||||
const getSession: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').getSession
|
||||
const getValidatedQuery: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').getValidatedQuery
|
||||
const getValidatedRouterParams: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').getValidatedRouterParams
|
||||
const handleCacheHeaders: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').handleCacheHeaders
|
||||
const handleCors: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').handleCors
|
||||
const isCorsOriginAllowed: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').isCorsOriginAllowed
|
||||
const isError: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').isError
|
||||
const isEvent: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').isEvent
|
||||
const isEventHandler: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').isEventHandler
|
||||
const isMethod: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').isMethod
|
||||
const isPreflightRequest: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').isPreflightRequest
|
||||
const isStream: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').isStream
|
||||
const isWebResponse: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').isWebResponse
|
||||
const lazyEventHandler: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').lazyEventHandler
|
||||
const nitroPlugin: typeof import('../../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/dist/runtime/internal/plugin').nitroPlugin
|
||||
const parseCookies: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').parseCookies
|
||||
const parseMarkdown: typeof import('../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/parser').parseMarkdown
|
||||
const promisifyNodeListener: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').promisifyNodeListener
|
||||
const proxyRequest: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').proxyRequest
|
||||
const queryCollection: typeof import('../../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/nitro').queryCollection
|
||||
const queryCollectionItemSurroundings: typeof import('../../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/nitro').queryCollectionItemSurroundings
|
||||
const queryCollectionNavigation: typeof import('../../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/nitro').queryCollectionNavigation
|
||||
const queryCollectionSearchSections: typeof import('../../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/nitro').queryCollectionSearchSections
|
||||
const readBody: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').readBody
|
||||
const readFormData: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').readFormData
|
||||
const readMultipartFormData: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').readMultipartFormData
|
||||
const readRawBody: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').readRawBody
|
||||
const readValidatedBody: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').readValidatedBody
|
||||
const removeResponseHeader: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').removeResponseHeader
|
||||
const runTask: typeof import('../../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/dist/runtime/internal/task').runTask
|
||||
const sanitizeStatusCode: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').sanitizeStatusCode
|
||||
const sanitizeStatusMessage: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').sanitizeStatusMessage
|
||||
const sealSession: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').sealSession
|
||||
const send: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').send
|
||||
const sendError: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').sendError
|
||||
const sendIterable: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').sendIterable
|
||||
const sendNoContent: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').sendNoContent
|
||||
const sendProxy: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').sendProxy
|
||||
const sendRedirect: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').sendRedirect
|
||||
const sendStream: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').sendStream
|
||||
const sendWebResponse: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').sendWebResponse
|
||||
const serveStatic: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').serveStatic
|
||||
const setCookie: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').setCookie
|
||||
const setCookieLocale: typeof import('../../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils/dist/h3').setCookieLocale
|
||||
const setHeader: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').setHeader
|
||||
const setHeaders: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').setHeaders
|
||||
const setResponseHeader: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').setResponseHeader
|
||||
const setResponseHeaders: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').setResponseHeaders
|
||||
const setResponseStatus: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').setResponseStatus
|
||||
const splitCookiesString: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').splitCookiesString
|
||||
const stringifyMarkdown: typeof import('../../node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/stringify').stringifyMarkdown
|
||||
const toEventHandler: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').toEventHandler
|
||||
const toNodeListener: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').toNodeListener
|
||||
const toPlainHandler: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').toPlainHandler
|
||||
const toWebHandler: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').toWebHandler
|
||||
const toWebRequest: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').toWebRequest
|
||||
const tryCookieLocale: typeof import('../../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils/dist/h3').tryCookieLocale
|
||||
const tryHeaderLocale: typeof import('../../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils/dist/h3').tryHeaderLocale
|
||||
const tryHeaderLocales: typeof import('../../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils/dist/h3').tryHeaderLocales
|
||||
const tryPathLocale: typeof import('../../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils/dist/h3').tryPathLocale
|
||||
const tryQueryLocale: typeof import('../../node_modules/.pnpm/@intlify+utils@0.14.1/node_modules/@intlify/utils/dist/h3').tryQueryLocale
|
||||
const unsealSession: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').unsealSession
|
||||
const updateSession: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').updateSession
|
||||
const useAppConfig: typeof import('../../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/dist/runtime/internal/config').useAppConfig
|
||||
const useBase: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').useBase
|
||||
const useEvent: typeof import('../../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/dist/runtime/internal/context').useEvent
|
||||
const useNitroApp: typeof import('../../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/dist/runtime/internal/app').useNitroApp
|
||||
const useRuntimeConfig: typeof import('../../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/dist/runtime/internal/config').useRuntimeConfig
|
||||
const useSession: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').useSession
|
||||
const useStorage: typeof import('../../node_modules/.pnpm/nitropack@2.12.9_better-sqlite3@12.8.0/node_modules/nitropack/dist/runtime/internal/storage').useStorage
|
||||
const useTranslation: typeof import('../../node_modules/.pnpm/@intlify+h3@0.7.4/node_modules/@intlify/h3').useTranslation
|
||||
const writeEarlyHints: typeof import('../../node_modules/.pnpm/h3@1.15.4/node_modules/h3').writeEarlyHints
|
||||
}
|
||||
export { useNitroApp } from 'nitropack/runtime/internal/app';
|
||||
export { useRuntimeConfig, useAppConfig } from 'nitropack/runtime/internal/config';
|
||||
export { defineNitroPlugin, nitroPlugin } from 'nitropack/runtime/internal/plugin';
|
||||
export { defineCachedFunction, defineCachedEventHandler, cachedFunction, cachedEventHandler } from 'nitropack/runtime/internal/cache';
|
||||
export { useStorage } from 'nitropack/runtime/internal/storage';
|
||||
export { defineRenderHandler } from 'nitropack/runtime/internal/renderer';
|
||||
export { defineRouteMeta } from 'nitropack/runtime/internal/meta';
|
||||
export { getRouteRules } from 'nitropack/runtime/internal/route-rules';
|
||||
export { useEvent } from 'nitropack/runtime/internal/context';
|
||||
export { defineTask, runTask } from 'nitropack/runtime/internal/task';
|
||||
export { defineNitroErrorHandler } from 'nitropack/runtime/internal/error/utils';
|
||||
export { appendCorsHeaders, appendCorsPreflightHeaders, appendHeader, appendHeaders, appendResponseHeader, appendResponseHeaders, assertMethod, callNodeListener, clearResponseHeaders, clearSession, createApp, createAppEventHandler, createError, createEvent, createEventStream, createRouter, defaultContentType, defineEventHandler, defineLazyEventHandler, defineNodeListener, defineNodeMiddleware, defineRequestMiddleware, defineResponseMiddleware, defineWebSocket, defineWebSocketHandler, deleteCookie, dynamicEventHandler, eventHandler, fetchWithEvent, fromNodeMiddleware, fromPlainHandler, fromWebHandler, getCookie, getHeader, getHeaders, getMethod, getProxyRequestHeaders, getQuery, getRequestFingerprint, getRequestHeader, getRequestHeaders, getRequestHost, getRequestIP, getRequestPath, getRequestProtocol, getRequestURL, getRequestWebStream, getResponseHeader, getResponseHeaders, getResponseStatus, getResponseStatusText, getRouterParam, getRouterParams, getSession, getValidatedQuery, getValidatedRouterParams, handleCacheHeaders, handleCors, isCorsOriginAllowed, isError, isEvent, isEventHandler, isMethod, isPreflightRequest, isStream, isWebResponse, lazyEventHandler, parseCookies, promisifyNodeListener, proxyRequest, readBody, readFormData, readMultipartFormData, readRawBody, readValidatedBody, removeResponseHeader, sanitizeStatusCode, sanitizeStatusMessage, sealSession, send, sendError, sendIterable, sendNoContent, sendProxy, sendRedirect, sendStream, sendWebResponse, serveStatic, setCookie, setHeader, setHeaders, setResponseHeader, setResponseHeaders, setResponseStatus, splitCookiesString, toEventHandler, toNodeListener, toPlainHandler, toWebHandler, toWebRequest, unsealSession, updateSession, useBase, useSession, writeEarlyHints } from 'h3';
|
||||
export { buildAssetsURL as __buildAssetsURL, publicAssetsURL as __publicAssetsURL } from '/Users/gxwebsoft/VUE/tiantian-system/node_modules/.pnpm/@nuxt+nitro-server@4.2.2_better-sqlite3@12.8.0_db0@0.3.4_better-sqlite3@12.8.0__ioredis_a0a2be7525d559e696e64db570f075d2/node_modules/@nuxt/nitro-server/dist/runtime/utils/paths';
|
||||
export { defineAppConfig } from '/Users/gxwebsoft/VUE/tiantian-system/node_modules/.pnpm/@nuxt+nitro-server@4.2.2_better-sqlite3@12.8.0_db0@0.3.4_better-sqlite3@12.8.0__ioredis_a0a2be7525d559e696e64db570f075d2/node_modules/@nuxt/nitro-server/dist/runtime/utils/config';
|
||||
export { queryCollection, queryCollectionSearchSections, queryCollectionNavigation, queryCollectionItemSurroundings } from '/Users/gxwebsoft/VUE/tiantian-system/node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/nitro';
|
||||
export { parseMarkdown } from '/Users/gxwebsoft/VUE/tiantian-system/node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/parser';
|
||||
export { stringifyMarkdown } from '/Users/gxwebsoft/VUE/tiantian-system/node_modules/.pnpm/@nuxtjs+mdc@0.20.2_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/stringify';
|
||||
export { defineI18nLocale, defineI18nConfig } from '/Users/gxwebsoft/VUE/tiantian-system/node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/shared';
|
||||
export { defineI18nLocaleDetector } from '/Users/gxwebsoft/VUE/tiantian-system/node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/composables/server';
|
||||
export { useTranslation } from '@intlify/h3';
|
||||
export { getCookieLocale, getHeaderLanguage, getHeaderLanguages, getHeaderLocale, getHeaderLocales, getPathLocale, getQueryLocale, setCookieLocale, tryCookieLocale, tryHeaderLocale, tryHeaderLocales, tryPathLocale, tryQueryLocale } from '@intlify/utils/h3';
|
||||
11
.nuxt/types/nitro-middleware.d.ts
vendored
Normal file
11
.nuxt/types/nitro-middleware.d.ts
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
export type MiddlewareKey = never
|
||||
declare module 'nitropack/types' {
|
||||
interface NitroRouteConfig {
|
||||
appMiddleware?: MiddlewareKey | MiddlewareKey[] | Record<MiddlewareKey, boolean>
|
||||
}
|
||||
}
|
||||
declare module 'nitropack' {
|
||||
interface NitroRouteConfig {
|
||||
appMiddleware?: MiddlewareKey | MiddlewareKey[] | Record<MiddlewareKey, boolean>
|
||||
}
|
||||
}
|
||||
61
.nuxt/types/nitro-nuxt.d.ts
vendored
Normal file
61
.nuxt/types/nitro-nuxt.d.ts
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
|
||||
/// <reference path="app.config.d.ts" />
|
||||
/// <reference path="runtime-config.d.ts" />
|
||||
/// <reference types="/Users/gxwebsoft/VUE/tiantian-system/node_modules/.pnpm/@nuxt+nitro-server@4.2.2_better-sqlite3@12.8.0_db0@0.3.4_better-sqlite3@12.8.0__ioredis_a0a2be7525d559e696e64db570f075d2/node_modules/@nuxt/nitro-server/dist/index.mjs" />
|
||||
/// <reference path="nitro-middleware.d.ts" />
|
||||
|
||||
import type { RuntimeConfig } from 'nuxt/schema'
|
||||
import type { H3Event } from 'h3'
|
||||
import type { LogObject } from 'consola'
|
||||
import type { NuxtIslandContext, NuxtIslandResponse, NuxtRenderHTMLContext } from 'nuxt/app'
|
||||
|
||||
declare module 'nitropack' {
|
||||
interface NitroRuntimeConfigApp {
|
||||
buildAssetsDir: string
|
||||
cdnURL: string
|
||||
}
|
||||
interface NitroRuntimeConfig extends RuntimeConfig {}
|
||||
interface NitroRouteConfig {
|
||||
ssr?: boolean
|
||||
noScripts?: boolean
|
||||
/** @deprecated Use `noScripts` instead */
|
||||
experimentalNoScripts?: boolean
|
||||
}
|
||||
interface NitroRouteRules {
|
||||
ssr?: boolean
|
||||
noScripts?: boolean
|
||||
/** @deprecated Use `noScripts` instead */
|
||||
experimentalNoScripts?: boolean
|
||||
appMiddleware?: Record<string, boolean>
|
||||
}
|
||||
interface NitroRuntimeHooks {
|
||||
'dev:ssr-logs': (ctx: { logs: LogObject[], path: string }) => void | Promise<void>
|
||||
'render:html': (htmlContext: NuxtRenderHTMLContext, context: { event: H3Event }) => void | Promise<void>
|
||||
'render:island': (islandResponse: NuxtIslandResponse, context: { event: H3Event, islandContext: NuxtIslandContext }) => void | Promise<void>
|
||||
}
|
||||
}
|
||||
declare module 'nitropack/types' {
|
||||
interface NitroRuntimeConfigApp {
|
||||
buildAssetsDir: string
|
||||
cdnURL: string
|
||||
}
|
||||
interface NitroRuntimeConfig extends RuntimeConfig {}
|
||||
interface NitroRouteConfig {
|
||||
ssr?: boolean
|
||||
noScripts?: boolean
|
||||
/** @deprecated Use `noScripts` instead */
|
||||
experimentalNoScripts?: boolean
|
||||
}
|
||||
interface NitroRouteRules {
|
||||
ssr?: boolean
|
||||
noScripts?: boolean
|
||||
/** @deprecated Use `noScripts` instead */
|
||||
experimentalNoScripts?: boolean
|
||||
appMiddleware?: Record<string, boolean>
|
||||
}
|
||||
interface NitroRuntimeHooks {
|
||||
'dev:ssr-logs': (ctx: { logs: LogObject[], path: string }) => void | Promise<void>
|
||||
'render:html': (htmlContext: NuxtRenderHTMLContext, context: { event: H3Event }) => void | Promise<void>
|
||||
'render:island': (islandResponse: NuxtIslandResponse, context: { event: H3Event, islandContext: NuxtIslandContext }) => void | Promise<void>
|
||||
}
|
||||
}
|
||||
50
.nuxt/types/nitro-routes.d.ts
vendored
Normal file
50
.nuxt/types/nitro-routes.d.ts
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
// Generated by nitro
|
||||
import type { Serialize, Simplify } from "nitropack/types";
|
||||
declare module "nitropack/types" {
|
||||
type Awaited<T> = T extends PromiseLike<infer U> ? Awaited<U> : T
|
||||
interface InternalApi {
|
||||
'/api/_app/**:path': {
|
||||
'default': Simplify<Serialize<Awaited<ReturnType<typeof import('../../server/api/_app/[...path]').default>>>>
|
||||
}
|
||||
'/api/_file/**:path': {
|
||||
'default': Simplify<Serialize<Awaited<ReturnType<typeof import('../../server/api/_file/[...path]').default>>>>
|
||||
}
|
||||
'/api/_modules/**:path': {
|
||||
'default': Simplify<Serialize<Awaited<ReturnType<typeof import('../../server/api/_modules/[...path]').default>>>>
|
||||
}
|
||||
'/api/_server/**:path': {
|
||||
'default': Simplify<Serialize<Awaited<ReturnType<typeof import('../../server/api/_server/[...path]').default>>>>
|
||||
}
|
||||
'/api/cms/**:path': {
|
||||
'default': Simplify<Serialize<Awaited<ReturnType<typeof import('../../server/api/cms/[...path]').default>>>>
|
||||
}
|
||||
'/api/cms/cms-website/getSiteInfo': {
|
||||
'get': Simplify<Serialize<Awaited<ReturnType<typeof import('../../server/api/cms/cms-website/getSiteInfo.get').default>>>>
|
||||
}
|
||||
'/api/cms/cms-website/pageAll': {
|
||||
'get': Simplify<Serialize<Awaited<ReturnType<typeof import('../../server/api/cms/cms-website/pageAll.get').default>>>>
|
||||
}
|
||||
'/__nuxt_error': {
|
||||
'default': Simplify<Serialize<Awaited<ReturnType<typeof import('../../node_modules/.pnpm/@nuxt+nitro-server@4.2.2_better-sqlite3@12.8.0_db0@0.3.4_better-sqlite3@12.8.0__ioredis_a0a2be7525d559e696e64db570f075d2/node_modules/@nuxt/nitro-server/dist/runtime/handlers/renderer').default>>>>
|
||||
}
|
||||
'/__nuxt_island/**': {
|
||||
'default': Simplify<Serialize<Awaited<ReturnType<typeof import('../../server/#internal/nuxt/island-renderer').default>>>>
|
||||
}
|
||||
'/__nuxt_content/docs/sql_dump.txt': {
|
||||
'default': Simplify<Serialize<Awaited<ReturnType<typeof import('../../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/presets/node/database-handler').default>>>>
|
||||
}
|
||||
'/__nuxt_content/info/sql_dump.txt': {
|
||||
'default': Simplify<Serialize<Awaited<ReturnType<typeof import('../../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/presets/node/database-handler').default>>>>
|
||||
}
|
||||
'/_i18n/:hash/:locale/messages.json': {
|
||||
'default': Simplify<Serialize<Awaited<ReturnType<typeof import('../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/server/routes/messages').default>>>>
|
||||
}
|
||||
'/__nuxt_content/docs/query': {
|
||||
'default': Simplify<Serialize<Awaited<ReturnType<typeof import('../../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/api/query.post').default>>>>
|
||||
}
|
||||
'/__nuxt_content/info/query': {
|
||||
'default': Simplify<Serialize<Awaited<ReturnType<typeof import('../../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/api/query.post').default>>>>
|
||||
}
|
||||
}
|
||||
}
|
||||
export {}
|
||||
3
.nuxt/types/nitro.d.ts
vendored
Normal file
3
.nuxt/types/nitro.d.ts
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
/// <reference path="./nitro-routes.d.ts" />
|
||||
/// <reference path="./nitro-config.d.ts" />
|
||||
/// <reference path="./nitro-imports.d.ts" />
|
||||
45
.nuxt/types/plugins.d.ts
vendored
Normal file
45
.nuxt/types/plugins.d.ts
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
// Generated by Nuxt'
|
||||
import type { Plugin } from '#app'
|
||||
|
||||
type Decorate<T extends Record<string, any>> = { [K in keyof T as K extends string ? `$${K}` : never]: T[K] }
|
||||
|
||||
type InjectionType<A extends Plugin> = A extends {default: Plugin<infer T>} ? Decorate<T> : unknown
|
||||
|
||||
type NuxtAppInjections =
|
||||
InjectionType<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/plugins/revive-payload.client.js")> &
|
||||
InjectionType<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/head/runtime/plugins/unhead.js")> &
|
||||
InjectionType<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/pages/runtime/plugins/router.js")> &
|
||||
InjectionType<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/plugins/browser-devtools-timing.client.js")> &
|
||||
InjectionType<typeof import("../../node_modules/.pnpm/@nuxt+content@3.12.0_better-sqlite3@12.8.0_magicast@0.5.1/node_modules/@nuxt/content/dist/runtime/plugins/websocket.dev.js")> &
|
||||
InjectionType<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/plugins/dev-server-logs.js")> &
|
||||
InjectionType<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/plugins/navigation-repaint.client.js")> &
|
||||
InjectionType<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/plugins/revive-payload.server.js")> &
|
||||
InjectionType<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/plugins/chunk-reload.client.js")> &
|
||||
InjectionType<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/pages/runtime/plugins/prefetch.client.js")> &
|
||||
InjectionType<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/pages/runtime/plugins/check-if-page-unused.js")> &
|
||||
InjectionType<typeof import("../../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/@nuxt/devtools/dist/runtime/plugins/devtools.server.js")> &
|
||||
InjectionType<typeof import("../../node_modules/.pnpm/@nuxt+devtools@3.1.1_vite@7.3.0_@types+node@25.0.3_jiti@2.6.1_terser@5.44.1_yaml@2.8.2__vue@3.5.26_typescript@5.9.3_/node_modules/@nuxt/devtools/dist/runtime/plugins/devtools.client.js")> &
|
||||
InjectionType<typeof import("../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/plugins/switch-locale-path-ssr.js")> &
|
||||
InjectionType<typeof import("../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/plugins/route-locale-detect.js")> &
|
||||
InjectionType<typeof import("../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/plugins/preload.js")> &
|
||||
InjectionType<typeof import("../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/plugins/dev.js")> &
|
||||
InjectionType<typeof import("../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/plugins/i18n.js")> &
|
||||
InjectionType<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/plugins/warn.dev.server.js")> &
|
||||
InjectionType<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/app/plugins/check-if-layout-used.js")> &
|
||||
InjectionType<typeof import("../../app/plugins/antd")> &
|
||||
InjectionType<typeof import("../../node_modules/.pnpm/nuxt@4.2.2_@parcel+watcher@2.5.1_@types+node@25.0.3_@vue+compiler-sfc@3.5.26_better-sql_ac6a4d57fe59bc83c2ad1951937f70f6/node_modules/nuxt/dist/pages/runtime/plugins/prerender.server.js")> &
|
||||
InjectionType<typeof import("../../node_modules/.pnpm/@nuxtjs+i18n@10.2.4_@emnapi+core@1.7.1_@emnapi+runtime@1.7.1_@vue+compiler-dom@3.5.26_d_a5323b549840adcc2cb57cfe4f807173/node_modules/@nuxtjs/i18n/dist/runtime/plugins/ssg-detect.js")>
|
||||
|
||||
declare module '#app' {
|
||||
interface NuxtApp extends NuxtAppInjections { }
|
||||
|
||||
interface NuxtAppLiterals {
|
||||
pluginName: 'vue-devtools-client' | 'nuxt:revive-payload:client' | 'nuxt:head' | 'nuxt:router' | 'nuxt:browser-devtools-timing' | 'nuxt:revive-payload:server' | 'nuxt:chunk-reload' | 'nuxt:global-components' | 'nuxt:prefetch' | 'nuxt:checkIfPageUnused' | 'i18n:plugin:switch-locale-path-ssr' | 'i18n:plugin:route-locale-detect' | 'i18n:plugin:preload' | 'i18n:dev' | 'i18n:plugin' | 'nuxt:checkIfLayoutUsed' | 'i18n:plugin:ssg-detect'
|
||||
}
|
||||
}
|
||||
|
||||
declare module 'vue' {
|
||||
interface ComponentCustomProperties extends NuxtAppInjections { }
|
||||
}
|
||||
|
||||
export { }
|
||||
184
.nuxt/types/runtime-config.d.ts
vendored
Normal file
184
.nuxt/types/runtime-config.d.ts
vendored
Normal file
@@ -0,0 +1,184 @@
|
||||
import { RuntimeConfig as UserRuntimeConfig, PublicRuntimeConfig as UserPublicRuntimeConfig } from 'nuxt/schema'
|
||||
interface SharedRuntimeConfig {
|
||||
app: {
|
||||
buildId: string,
|
||||
|
||||
baseURL: string,
|
||||
|
||||
buildAssetsDir: string,
|
||||
|
||||
cdnURL: string,
|
||||
},
|
||||
|
||||
nitro: {
|
||||
envPrefix: string,
|
||||
},
|
||||
|
||||
content: {
|
||||
databaseVersion: string,
|
||||
|
||||
version: string,
|
||||
|
||||
database: {
|
||||
type: string,
|
||||
|
||||
filename: string,
|
||||
},
|
||||
|
||||
localDatabase: {
|
||||
type: string,
|
||||
|
||||
filename: string,
|
||||
},
|
||||
|
||||
integrityCheck: boolean,
|
||||
},
|
||||
}
|
||||
interface SharedPublicRuntimeConfig {
|
||||
tenantId: string,
|
||||
|
||||
serverApiBase: string,
|
||||
|
||||
modulesApiBase: string,
|
||||
|
||||
appApiBase: string,
|
||||
|
||||
mpApiBase: string,
|
||||
|
||||
fileServerBase: string,
|
||||
|
||||
templateId: string,
|
||||
|
||||
ServerApi: string,
|
||||
|
||||
ApiBase: string,
|
||||
|
||||
TenantId: string,
|
||||
|
||||
mdc: {
|
||||
components: {
|
||||
prose: boolean,
|
||||
|
||||
map: any,
|
||||
|
||||
customElements: Array<any>,
|
||||
},
|
||||
|
||||
headings: {
|
||||
anchorLinks: {
|
||||
h1: boolean,
|
||||
|
||||
h2: boolean,
|
||||
|
||||
h3: boolean,
|
||||
|
||||
h4: boolean,
|
||||
|
||||
h5: boolean,
|
||||
|
||||
h6: boolean,
|
||||
},
|
||||
},
|
||||
|
||||
highlight: {
|
||||
noApiRoute: boolean,
|
||||
|
||||
highlighter: string,
|
||||
|
||||
theme: {
|
||||
default: string,
|
||||
|
||||
dark: string,
|
||||
},
|
||||
|
||||
shikiEngine: string,
|
||||
|
||||
langs: Array<string>,
|
||||
},
|
||||
},
|
||||
|
||||
content: {
|
||||
wsUrl: string,
|
||||
},
|
||||
|
||||
i18n: {
|
||||
baseUrl: string,
|
||||
|
||||
defaultLocale: string,
|
||||
|
||||
rootRedirect: any,
|
||||
|
||||
redirectStatusCode: number,
|
||||
|
||||
skipSettingLocaleOnNavigate: boolean,
|
||||
|
||||
locales: Array<{
|
||||
|
||||
}>,
|
||||
|
||||
detectBrowserLanguage: {
|
||||
alwaysRedirect: boolean,
|
||||
|
||||
cookieCrossOrigin: boolean,
|
||||
|
||||
cookieDomain: any,
|
||||
|
||||
cookieKey: string,
|
||||
|
||||
cookieSecure: boolean,
|
||||
|
||||
fallbackLocale: string,
|
||||
|
||||
redirectOn: string,
|
||||
|
||||
useCookie: boolean,
|
||||
},
|
||||
|
||||
experimental: {
|
||||
localeDetector: string,
|
||||
|
||||
typedPages: boolean,
|
||||
|
||||
typedOptionsAndMessages: boolean,
|
||||
|
||||
alternateLinkCanonicalQueries: boolean,
|
||||
|
||||
devCache: boolean,
|
||||
|
||||
cacheLifetime: any,
|
||||
|
||||
stripMessagesPayload: boolean,
|
||||
|
||||
preload: boolean,
|
||||
|
||||
strictSeo: boolean,
|
||||
|
||||
nitroContextDetection: boolean,
|
||||
|
||||
httpCacheDuration: number,
|
||||
},
|
||||
|
||||
domainLocales: {
|
||||
"zh-CN": {
|
||||
domain: string,
|
||||
},
|
||||
|
||||
en: {
|
||||
domain: string,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
declare module '@nuxt/schema' {
|
||||
interface RuntimeConfig extends UserRuntimeConfig {}
|
||||
interface PublicRuntimeConfig extends UserPublicRuntimeConfig {}
|
||||
}
|
||||
declare module 'nuxt/schema' {
|
||||
interface RuntimeConfig extends SharedRuntimeConfig {}
|
||||
interface PublicRuntimeConfig extends SharedPublicRuntimeConfig {}
|
||||
}
|
||||
declare module 'vue' {
|
||||
interface ComponentCustomProperties {
|
||||
$config: UserRuntimeConfig
|
||||
}
|
||||
}
|
||||
0
.nuxt/types/vue-shim.d.ts
vendored
Normal file
0
.nuxt/types/vue-shim.d.ts
vendored
Normal file
33
Dockerfile
Normal file
33
Dockerfile
Normal file
@@ -0,0 +1,33 @@
|
||||
# syntax=docker/dockerfile:1.7
|
||||
ARG NODE_VERSION=20.19.0
|
||||
|
||||
FROM node:${NODE_VERSION}-slim AS build
|
||||
WORKDIR /app
|
||||
|
||||
ENV NODE_ENV=development \
|
||||
NUXT_TELEMETRY_DISABLED=1
|
||||
|
||||
COPY package.json package-lock.json ./
|
||||
COPY scripts ./scripts
|
||||
|
||||
RUN npm ci --ignore-scripts
|
||||
|
||||
COPY . .
|
||||
|
||||
RUN npm rebuild
|
||||
RUN npm run postinstall
|
||||
RUN npm run build
|
||||
|
||||
FROM node:${NODE_VERSION}-slim AS runner
|
||||
WORKDIR /app
|
||||
|
||||
ENV NODE_ENV=production \
|
||||
HOST=0.0.0.0 \
|
||||
PORT=3000 \
|
||||
NUXT_TELEMETRY_DISABLED=1
|
||||
|
||||
COPY --from=build /app/.output ./.output
|
||||
|
||||
EXPOSE 3000
|
||||
|
||||
CMD ["node", ".output/server/index.mjs"]
|
||||
193
README.md
Normal file
193
README.md
Normal file
@@ -0,0 +1,193 @@
|
||||
<div align="center">
|
||||
<h1>🌐 Websopy Admin</h1>
|
||||
<p><strong>葳溯科技 · 基于 Vue 3 + Ant Design Vue 的企业级后台管理系统</strong></p>
|
||||
|
||||
<p>
|
||||
<img src="https://img.shields.io/badge/Vue-3.x-4FC08D" alt="Vue">
|
||||
<img src="https://img.shields.io/badge/Ant%20Design%20Vue-3.x-1890FF" alt="Ant Design Vue">
|
||||
<img src="https://img.shields.io/badge/TypeScript-4.x-3178C6" alt="TypeScript">
|
||||
<img src="https://img.shields.io/badge/Vite-4.x-646CFF" alt="Vite">
|
||||
<img src="https://img.shields.io/badge/License-MIT-blue" alt="License">
|
||||
</p>
|
||||
</div>
|
||||
|
||||
## 📖 项目简介
|
||||
|
||||
Websopy Admin(葳溯科技)是一个基于 **Vue 3 + Ant Design Vue** 构建的现代化企业级后台管理系统,采用最新的前端技术栈:
|
||||
|
||||
- **前端框架**:Vue 3 + TypeScript + Vite
|
||||
- **UI 组件库**:Ant Design Vue 3.x
|
||||
- **富文本编辑器**:TinyMCE(支持图片/视频上传、一键排版)
|
||||
- **图表库**:ECharts + G2
|
||||
- **工具库**:Lodash、Day.js、CryptoJS
|
||||
|
||||
|
||||
|
||||
## 项目演示
|
||||
| 后台管理系统 | https://mp.websoft.top |
|
||||
|--------|-------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| 账号密码 | [立即注册](https://mp.websoft.top/register/?inviteCode=github) |
|
||||
| 关注公众号 |  |
|
||||
|
||||
|
||||
|
||||
|
||||
## 🛠️ 技术栈
|
||||
|
||||
### 核心技术
|
||||
| 技术 | 版本 | 说明 |
|
||||
|------|------|------|
|
||||
| Vue | 3.x | 渐进式 JavaScript 框架 |
|
||||
| TypeScript | 4.x | JavaScript 的超集 |
|
||||
| Vite | 4.x | 下一代前端构建工具 |
|
||||
| Ant Design Vue | 3.2.11 | 企业级 UI 设计语言 |
|
||||
| EleAdmin Pro | 1.10.1 | 企业级组件库 |
|
||||
|
||||
### 功能组件
|
||||
- **TinyMCE** - 富文本编辑器,支持图片/视频上传
|
||||
- **ECharts** - 数据可视化图表库
|
||||
- **CropperJS** - 图片裁剪组件
|
||||
- **ExcelJS** - Excel 文件处理
|
||||
- **Ali OSS** - 阿里云对象存储
|
||||
|
||||
## 📋 环境要求
|
||||
|
||||
### 基础环境
|
||||
- 🟢 **Node.js 16+**
|
||||
- 📦 **npm 8+ / yarn 1.22+**
|
||||
- 🌐 **现代浏览器**(Chrome 63+、Firefox、Safari、Edge)
|
||||
|
||||
### 开发工具
|
||||
- **推荐**:VS Code / WebStorm
|
||||
- **插件**:Vetur / Volar(Vue 3 支持)
|
||||
|
||||
## 🚀 快速开始
|
||||
|
||||
### 1. 克隆项目
|
||||
```bash
|
||||
git clone https://github.com/websoft-top/mp-vue.git
|
||||
cd mp-vue
|
||||
```
|
||||
|
||||
### 2. 安装依赖
|
||||
```bash
|
||||
# 使用 npm
|
||||
npm install
|
||||
|
||||
# 或使用 yarn
|
||||
yarn install
|
||||
```
|
||||
|
||||
### 3. 配置环境变量
|
||||
```bash
|
||||
# 复制环境变量示例文件
|
||||
cp .env.example .env
|
||||
|
||||
# 编辑 .env 文件,填入您的配置信息
|
||||
# 注意:请不要将 .env 文件提交到版本控制系统
|
||||
```
|
||||
|
||||
### 4. 启动开发服务器
|
||||
```bash
|
||||
# 开发模式
|
||||
npm run dev
|
||||
|
||||
# 或
|
||||
yarn dev
|
||||
```
|
||||
|
||||
访问 `http://localhost:3000` 即可看到管理后台。
|
||||
|
||||
### 5. 构建生产版本
|
||||
```bash
|
||||
# 生产构建
|
||||
npm run build
|
||||
|
||||
# 预览构建结果
|
||||
npm run serve
|
||||
```
|
||||
|
||||
## 🧩 常见问题
|
||||
|
||||
### ERROR: EMFILE: too many open files, watch
|
||||
|
||||
- 项目已在 `nuxt.config.ts` 中配置忽略 `node_modules/.nuxt/.output` 等目录以减少监听数量。
|
||||
- 若仍出现该错误,可在启动前临时提高文件句柄上限后重试:`ulimit -n 8192 && npm run dev`。
|
||||
|
||||
## ⚙️ 环境变量配置
|
||||
|
||||
项目使用环境变量来管理敏感信息和配置。请按照以下步骤配置:
|
||||
|
||||
### 必需配置
|
||||
```bash
|
||||
# API 配置
|
||||
VITE_API_URL=https://your-api.com/api # 后端 API 地址
|
||||
VITE_SERVER_API_URL=https://your-server.com/api # 服务端 API 地址
|
||||
VITE_FILE_SERVER=https://your-file-server.com # 文件服务器地址
|
||||
|
||||
# 应用配置
|
||||
VITE_APP_SECRET=your_app_secret # 应用密钥
|
||||
VITE_TENANT_ID=your_tenant_id # 租户 ID
|
||||
```
|
||||
|
||||
### 可选配置
|
||||
```bash
|
||||
# 高德地图 (如需使用地图功能)
|
||||
VITE_MAP_KEY=your_map_key # 高德地图 Key
|
||||
VITE_MAP_CODE=your_map_security_code # 高德地图安全密钥
|
||||
|
||||
# WebSoftAdmin 授权 (商业版功能)
|
||||
VITE_LICENSE_CODE=your_license_code # 授权码
|
||||
```
|
||||
|
||||
### 获取配置信息
|
||||
- **高德地图密钥**:访问 [高德开放平台](https://lbs.amap.com/) 申请
|
||||
- **WebSoftAdmin 授权码**:联系 [官方网站](https://websoft.top/) 获取
|
||||
- **其他 API 配置**:根据您的后端服务配置
|
||||
|
||||
## 🎯 核心功能
|
||||
|
||||
### 📝 内容管理系统
|
||||
- **文章管理**:支持富文本编辑、图片/视频上传
|
||||
- **一键排版**:智能文章格式优化,包含10种专业排版样式
|
||||
- **媒体库**:图片/视频文件管理,支持分组和搜索
|
||||
- **首行缩进**:中文段落格式智能切换
|
||||
|
||||
### 🛒 商城管理
|
||||
- **商品管理**:商品信息编辑、规格设置
|
||||
- **订单管理**:订单流程跟踪
|
||||
- **库存管理**:商品库存监控
|
||||
|
||||
### 👥 用户权限
|
||||
- **用户管理**:用户信息维护
|
||||
- **角色权限**:基于角色的访问控制
|
||||
- **菜单管理**:动态菜单配置
|
||||
|
||||
## 🎨 富文本编辑器特色功能
|
||||
|
||||
### 📸 媒体上传
|
||||
- **图片上传**:支持拖拽、粘贴、文件选择
|
||||
- **视频上传**:支持多种视频格式
|
||||
- **媒体库**:统一的媒体文件管理
|
||||
- **OSS 存储**:阿里云对象存储集成
|
||||
|
||||
### ✨ 智能排版
|
||||
- **一键排版**:10种专业排版优化
|
||||
- **首行缩进**:中文段落格式切换
|
||||
- **样式优化**:标题、段落、列表、表格等元素美化
|
||||
- **响应式**:适配不同屏幕尺寸
|
||||
|
||||
## 🏗️ 项目结构
|
||||
|
||||
```
|
||||
src/
|
||||
├── components/ # 公共组件
|
||||
├── views/ # 页面组件
|
||||
│ ├── cms/ # 内容管理
|
||||
│ ├── shop/ # 商城管理
|
||||
│ └── system/ # 系统管理
|
||||
├── router/ # 路由配置
|
||||
├── store/ # 状态管理
|
||||
├── utils/ # 工具函数
|
||||
└── assets/ # 静态资源
|
||||
```
|
||||
72
app/api/app/apikey/index.ts
Normal file
72
app/api/app/apikey/index.ts
Normal file
@@ -0,0 +1,72 @@
|
||||
import request from '@/utils/request'
|
||||
import type { ApiResult, PageResult } from '@/api'
|
||||
import type { AppApiKey, AppApiKeyParam } from './model'
|
||||
import { APP_API_URL } from '@/config/setting'
|
||||
|
||||
const BASE = APP_API_URL + '/apikey'
|
||||
|
||||
/** 分页查询 API Key - 直接用基础路径,后端 @GetMapping 支持分页参数 */
|
||||
export async function pageAppApiKey(params: AppApiKeyParam) {
|
||||
const res = await request.get<ApiResult<PageResult<AppApiKey>>>(BASE, { params })
|
||||
if (res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 查询全部 API Key */
|
||||
export async function listAppApiKey(params?: AppApiKeyParam) {
|
||||
const res = await request.get<ApiResult<AppApiKey[]>>(BASE, { params })
|
||||
if (res.data.code === 0 && res.data.data) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 创建 API Key */
|
||||
export async function createAppApiKey(data: {
|
||||
name: string
|
||||
expireTime?: string
|
||||
scopes?: string
|
||||
remark?: string
|
||||
}) {
|
||||
const res = await request.post<ApiResult<AppApiKey>>(BASE, data)
|
||||
if (res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 更新 API Key 状态 */
|
||||
export async function updateAppApiKeyStatus(id: number, status: number) {
|
||||
const res = await request.put<ApiResult<unknown>>(BASE + `/${id}/status?status=${status}`)
|
||||
if (res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 删除 API Key */
|
||||
export async function removeAppApiKey(id: number) {
|
||||
const res = await request.delete<ApiResult<unknown>>(BASE + '/' + id)
|
||||
if (res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 获取 API Key 速率限制 */
|
||||
export async function getApiRateLimits() {
|
||||
const res = await request.get<ApiResult<{
|
||||
plan: string
|
||||
rps: number
|
||||
dailyLimit: number
|
||||
usedToday: number
|
||||
remainingToday: number
|
||||
}>>(BASE + '/rate-limits')
|
||||
if (res.data.code === 0 && res.data.data) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 获取 API Key 统计 */
|
||||
export async function getAppApiKeyStats() {
|
||||
const res = await request.get<ApiResult<{
|
||||
total: number
|
||||
active: number
|
||||
expired: number
|
||||
disabled: number
|
||||
totalUsage: number
|
||||
}>>(BASE + '/stats')
|
||||
if (res.data.code === 0 && res.data.data) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
31
app/api/app/apikey/model.ts
Normal file
31
app/api/app/apikey/model.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
/** API Key 数据模型 */
|
||||
export interface AppApiKey {
|
||||
id: number
|
||||
name: string
|
||||
apiKey: string
|
||||
keyPrefix: string
|
||||
status: number // 0=正常, 1=禁用
|
||||
scopes?: string
|
||||
expireTime?: string
|
||||
lastUsedAt?: string
|
||||
usageCount: number
|
||||
remark?: string
|
||||
createTime: string
|
||||
updateTime: string
|
||||
}
|
||||
|
||||
/** API Key 查询参数 */
|
||||
export interface AppApiKeyParam {
|
||||
page?: number
|
||||
limit?: number // 与后端 BaseParam 一致
|
||||
name?: string
|
||||
status?: number
|
||||
}
|
||||
|
||||
/** 分页结果 - 后端 MyBatis-Plus 返回 records */
|
||||
export interface AppApiKeyPageResult {
|
||||
records: AppApiKey[]
|
||||
total: number
|
||||
size: number
|
||||
current: number
|
||||
}
|
||||
120
app/api/app/appConfig/index.ts
Normal file
120
app/api/app/appConfig/index.ts
Normal file
@@ -0,0 +1,120 @@
|
||||
import request from '@/utils/request';
|
||||
import type { ApiResult, PageResult } from '@/api';
|
||||
import type { AppConfig, AppConfigParam, BatchSaveRequest } from './model';
|
||||
import {APP_API_URL} from '@/config/setting';
|
||||
|
||||
/**
|
||||
* 分页查询应用配置
|
||||
*/
|
||||
export async function pageAppConfig(params: AppConfigParam) {
|
||||
const res = await request.get<ApiResult<PageResult<AppConfig>>>(
|
||||
APP_API_URL + '/app-config/page',
|
||||
{
|
||||
params
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取应用配置列表
|
||||
*/
|
||||
export async function listAppConfig(params?: AppConfigParam) {
|
||||
const res = await request.get<ApiResult<AppConfig[]>>(
|
||||
APP_API_URL + '/app-config',
|
||||
{
|
||||
params
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0 && res.data.data) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据应用ID获取配置映射
|
||||
*/
|
||||
export async function getConfigsMap(productId: number) {
|
||||
const res = await request.get<ApiResult<Record<string, any>>>(
|
||||
APP_API_URL + `/app/app-config/map/${productId}`
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.data || {};
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取单个配置值
|
||||
*/
|
||||
export async function getConfigValue(productId: number, configKey: string) {
|
||||
const res = await request.get<ApiResult<string>>(
|
||||
APP_API_URL + '/app-config/value',
|
||||
{
|
||||
params: { productId, configKey }
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存配置
|
||||
*/
|
||||
export async function saveAppConfig(data: AppConfig) {
|
||||
const res = await request.post<ApiResult<void>>(
|
||||
APP_API_URL + '/app-config',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量保存配置
|
||||
*/
|
||||
export async function batchSaveAppConfig(data: BatchSaveRequest) {
|
||||
const res = await request.post<ApiResult<void>>(
|
||||
APP_API_URL + '/app-config/batch',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新配置
|
||||
*/
|
||||
export async function updateAppConfig(data: AppConfig) {
|
||||
const res = await request.put<ApiResult<void>>(
|
||||
APP_API_URL + '/app-config',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除配置
|
||||
*/
|
||||
export async function deleteAppConfig(configId: number) {
|
||||
const res = await request.delete<ApiResult<void>>(
|
||||
APP_API_URL + `/app-config/${configId}`
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
66
app/api/app/appConfig/model/index.ts
Normal file
66
app/api/app/appConfig/model/index.ts
Normal file
@@ -0,0 +1,66 @@
|
||||
import type { PageParam } from '@/api';
|
||||
import type { PageResult } from '@/api';
|
||||
|
||||
/**
|
||||
* 应用配置
|
||||
*/
|
||||
export interface AppConfig {
|
||||
configId?: number;
|
||||
productId?: number;
|
||||
configKey?: string;
|
||||
configValue?: string;
|
||||
configType?: string;
|
||||
isEncrypted?: number;
|
||||
isSecret?: number;
|
||||
description?: string;
|
||||
sortNumber?: number;
|
||||
tenantId?: number;
|
||||
createdTime?: string;
|
||||
updatedTime?: string;
|
||||
deleted?: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* 应用配置查询参数
|
||||
*/
|
||||
export interface AppConfigParam extends PageParam {
|
||||
configId?: number;
|
||||
productId?: number;
|
||||
configKey?: string;
|
||||
configType?: string;
|
||||
isSecret?: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量保存请求
|
||||
*/
|
||||
export interface BatchSaveRequest {
|
||||
productId: number;
|
||||
configs: AppConfig[];
|
||||
}
|
||||
|
||||
/**
|
||||
* 配置类型定义
|
||||
*/
|
||||
export interface ConfigType {
|
||||
key: string;
|
||||
name: string;
|
||||
icon: string;
|
||||
description: string;
|
||||
configs: ConfigField[];
|
||||
}
|
||||
|
||||
/**
|
||||
* 配置字段定义
|
||||
*/
|
||||
export interface ConfigField {
|
||||
key: string;
|
||||
label: string;
|
||||
type: 'input' | 'textarea' | 'number' | 'select' | 'switch' | 'password' | 'json';
|
||||
required?: boolean;
|
||||
placeholder?: string;
|
||||
options?: Array<{ label: string; value: any }>;
|
||||
defaultValue?: any;
|
||||
description?: string;
|
||||
secret?: boolean;
|
||||
}
|
||||
62
app/api/app/appCredential/index.ts
Normal file
62
app/api/app/appCredential/index.ts
Normal file
@@ -0,0 +1,62 @@
|
||||
import request from '@/utils/request'
|
||||
import type { ApiResult, PageResult } from '@/api'
|
||||
import type { AppCredential, AppCredentialParam } from './model'
|
||||
import {APP_API_URL} from '@/config/setting'
|
||||
|
||||
const BASE = APP_API_URL + '/app-credential'
|
||||
|
||||
/** 分页查询凭证 */
|
||||
export async function pageAppCredential(params: AppCredentialParam) {
|
||||
const res = await request.get<ApiResult<PageResult<AppCredential>>>(BASE + '/page', { params })
|
||||
if (res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 查询全部凭证 */
|
||||
export async function listAppCredential(params?: AppCredentialParam) {
|
||||
const res = await request.get<ApiResult<AppCredential[]>>(BASE, { params })
|
||||
if (res.data.code === 0 && res.data.data) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 根据ID查询凭证 */
|
||||
export async function getAppCredential(id: number) {
|
||||
const res = await request.get<ApiResult<AppCredential>>(BASE + '/' + id)
|
||||
if (res.data.code === 0 && res.data.data) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 创建凭证(自动生成 AppID/AppSecret,仅此次返回明文) */
|
||||
export async function createAppCredential(data: AppCredential) {
|
||||
const res = await request.post<ApiResult<AppCredential>>(BASE, data)
|
||||
if (res.data.code === 0) return { message: res.data.message, data: res.data.data }
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 修改凭证信息(不含密钥) */
|
||||
export async function updateAppCredential(data: AppCredential) {
|
||||
const res = await request.put<ApiResult<unknown>>(BASE, data)
|
||||
if (res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 重置 AppSecret */
|
||||
export async function resetAppCredentialSecret(id: number) {
|
||||
const res = await request.post<ApiResult<AppCredential>>(BASE + '/resetSecret/' + id)
|
||||
if (res.data.code === 0) return { message: res.data.message, data: res.data.data }
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 禁用/启用凭证 */
|
||||
export async function updateAppCredentialStatus(id: number, status: number) {
|
||||
const res = await request.put<ApiResult<unknown>>(BASE + `/status/${id}/${status}`)
|
||||
if (res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 删除凭证 */
|
||||
export async function removeAppCredential(id: number) {
|
||||
const res = await request.delete<ApiResult<unknown>>(BASE + '/' + id)
|
||||
if (res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
33
app/api/app/appCredential/model.ts
Normal file
33
app/api/app/appCredential/model.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
import type { PageParam } from '@/api'
|
||||
|
||||
export interface AppCredential {
|
||||
id?: number
|
||||
appId?: number
|
||||
name?: string
|
||||
clientId?: string
|
||||
clientSecret?: string
|
||||
type?: string
|
||||
scopes?: string
|
||||
expireTime?: string
|
||||
lastUsedAt?: string
|
||||
remark?: string
|
||||
sortNumber?: number
|
||||
status?: number
|
||||
deleted?: number
|
||||
userId?: number
|
||||
tenantId?: number
|
||||
createTime?: string
|
||||
updateTime?: string
|
||||
// 关联字段
|
||||
productName?: string
|
||||
productCode?: string
|
||||
icon?: string
|
||||
}
|
||||
|
||||
export interface AppCredentialParam extends PageParam {
|
||||
appId?: number
|
||||
name?: string
|
||||
clientId?: string
|
||||
type?: string
|
||||
status?: number
|
||||
}
|
||||
43
app/api/app/appEvent/index.ts
Normal file
43
app/api/app/appEvent/index.ts
Normal file
@@ -0,0 +1,43 @@
|
||||
import request from '@/utils/request'
|
||||
import type { ApiResult, PageResult } from '@/api'
|
||||
import type { AppEvent, AppEventParam } from './model'
|
||||
import {APP_API_URL} from '@/config/setting'
|
||||
|
||||
const BASE = APP_API_URL + '/app-event'
|
||||
|
||||
/** 分页查询动态 */
|
||||
export async function pageAppEvent(params: AppEventParam) {
|
||||
const res = await request.get<ApiResult<PageResult<AppEvent>>>(BASE + '/page', { params })
|
||||
if (res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 查询全部动态 */
|
||||
export async function listAppEvent(params?: AppEventParam) {
|
||||
const res = await request.get<ApiResult<AppEvent[]>>(BASE, { params })
|
||||
if (res.data.code === 0 && res.data.data) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 获取应用最新一条动态 */
|
||||
export async function getLatestAppEvent(productId: number) {
|
||||
const res = await request.get<ApiResult<AppEvent>>(BASE + '/latest/' + productId)
|
||||
if (res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 记录一条操作动态(静默:失败不抛出) */
|
||||
export async function addAppEvent(data: AppEvent): Promise<void> {
|
||||
try {
|
||||
await request.post<ApiResult<unknown>>(BASE, data)
|
||||
} catch {
|
||||
// 动态记录失败不影响主流程,静默处理
|
||||
}
|
||||
}
|
||||
|
||||
/** 清空应用所有动态 */
|
||||
export async function clearAppEvents(productId: number) {
|
||||
const res = await request.delete<ApiResult<unknown>>(BASE + '/clear/' + productId)
|
||||
if (res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
26
app/api/app/appEvent/model.ts
Normal file
26
app/api/app/appEvent/model.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
import type { PageParam } from '@/api'
|
||||
|
||||
export interface AppEvent {
|
||||
id?: number
|
||||
appId?: number
|
||||
eventType?: string
|
||||
title?: string
|
||||
content?: string
|
||||
operatorId?: number
|
||||
operator?: string
|
||||
refId?: number
|
||||
refType?: string
|
||||
extra?: string
|
||||
sortNumber?: number
|
||||
status?: number
|
||||
userId?: number
|
||||
tenantId?: number
|
||||
createTime?: string
|
||||
updateTime?: string
|
||||
}
|
||||
|
||||
export interface AppEventParam extends PageParam {
|
||||
appId?: number
|
||||
eventType?: string
|
||||
operatorId?: number
|
||||
}
|
||||
219
app/api/app/appProduct/index.ts
Normal file
219
app/api/app/appProduct/index.ts
Normal file
@@ -0,0 +1,219 @@
|
||||
import request from '@/utils/request'
|
||||
import type { ApiResult, PageResult } from '@/api'
|
||||
import type { AppProduct, AppProductParam } from './model'
|
||||
import { APP_API_URL } from '@/config/setting'
|
||||
|
||||
const BASE = APP_API_URL + '/product'
|
||||
|
||||
// ============ 基础 CRUD ============
|
||||
|
||||
/** 分页查询应用产品 */
|
||||
export async function pageAppProduct(params: AppProductParam) {
|
||||
const res = await request.get<ApiResult<PageResult<AppProduct>>>(BASE + '/page', { params })
|
||||
if (res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 分页查询应用产品(别名,兼容 cmsWebsite 接口) */
|
||||
export const page = pageAppProduct
|
||||
|
||||
/** 分页查询应用产品(别名,兼容旧代码) */
|
||||
export async function pageAppProductAll(params: AppProductParam) {
|
||||
return pageAppProduct(params)
|
||||
}
|
||||
|
||||
/** 获取应用产品详情 */
|
||||
export async function getAppProduct(productId: number) {
|
||||
const res = await request.get<ApiResult<AppProduct>>(BASE + '/detail/' + productId)
|
||||
if (res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 获取应用产品详情ByCode */
|
||||
export async function getAppProductByCode(code: string) {
|
||||
const res = await request.get<ApiResult<AppProduct>>(BASE + '/info/' + code)
|
||||
if (res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 新增应用产品 */
|
||||
export async function addAppProduct(data: Partial<AppProduct>) {
|
||||
const res = await request.post<ApiResult<AppProduct>>(BASE + '/create', data)
|
||||
if (res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 修改应用产品 */
|
||||
export async function updateAppProduct(data: Partial<AppProduct>) {
|
||||
const res = await request.put<ApiResult<unknown>>(BASE + '/update', data)
|
||||
if (res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 删除应用产品 */
|
||||
export async function removeAppProduct(id: number) {
|
||||
const res = await request.delete<ApiResult<unknown>>(BASE + '/delete/' + id)
|
||||
if (res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
// ============ 开发者相关 ============
|
||||
|
||||
/** 获取开发者应用列表 */
|
||||
export async function getDeveloperApps(params?: AppProductParam) {
|
||||
const res = await request.get<ApiResult<AppProduct[]>>(BASE + '/list', { params })
|
||||
if (res.data.code === 0 && res.data.data) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 分页查询我的应用(创建者) */
|
||||
export async function getMyApps(params: { page?: number; limit?: number }) {
|
||||
const res = await request.get<ApiResult<PageResult<AppProduct>>>(BASE + '/my/page', { params })
|
||||
if (res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 分页查询我参与的应用 */
|
||||
export async function getJoinedApps(params: { page?: number; limit?: number }) {
|
||||
const res = await request.get<ApiResult<PageResult<AppProduct>>>(BASE + '/joined/page', { params })
|
||||
if (res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 开发者提交审核 */
|
||||
export async function submitReview(id: number) {
|
||||
const res = await request.post<ApiResult<unknown>>(BASE + '/submit/' + id)
|
||||
if (res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 提交发布审核(别名) */
|
||||
export const submitPublishReview = submitReview
|
||||
|
||||
/** 撤回审核申请 */
|
||||
export async function withdrawPublishReview(id: number) {
|
||||
const res = await request.post<ApiResult<unknown>>(BASE + '/withdraw/' + id)
|
||||
if (res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 开发者下架应用 */
|
||||
export async function deprecated(id: number) {
|
||||
const res = await request.post<ApiResult<unknown>>(BASE + '/unpublish/' + id)
|
||||
if (res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 下架应用(别名) */
|
||||
export const unpublishAppProduct = deprecated
|
||||
|
||||
// ============ 市场相关 ============
|
||||
|
||||
/** 获取市场应用列表 */
|
||||
export async function getMarketApps(params: AppProductParam) {
|
||||
const res = await request.get<ApiResult<PageResult<AppProduct>>>(BASE + '/market/page', { params })
|
||||
if (res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 获取市场应用详情 */
|
||||
export async function getMarketApp(productId: number) {
|
||||
const res = await request.get<ApiResult<AppProduct>>(BASE + '/detail/' + productId)
|
||||
if (res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
// ============ 管理后台 ============
|
||||
|
||||
/** 获取待审核列表 */
|
||||
export async function getPendingReviewApps(params: AppProductParam) {
|
||||
const res = await request.get<ApiResult<PageResult<AppProduct>>>(BASE + '/page', {
|
||||
params: { ...params, publishStatus: 'pending_review' },
|
||||
})
|
||||
if (res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 分页查询发布审核列表(别名) */
|
||||
export const pagePublishReviews = getPendingReviewApps
|
||||
|
||||
/** 审核通过 */
|
||||
export async function approve(id: number) {
|
||||
const res = await request.post<ApiResult<unknown>>(BASE + '/approve/' + id)
|
||||
if (res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 审核通过(别名) */
|
||||
export const approvePublishReview = approve
|
||||
|
||||
/** 审核拒绝 */
|
||||
export async function reject(id: number, reason: string) {
|
||||
const res = await request.post<ApiResult<unknown>>(BASE + '/reject/' + id, null, { params: { reason } })
|
||||
if (res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 审核拒绝(别名,接收对象参数) */
|
||||
export async function rejectPublishReview(params: { productId: number; rejectReason: string }) {
|
||||
return reject(params.productId, params.rejectReason)
|
||||
}
|
||||
|
||||
// ============ 其他 ============
|
||||
|
||||
/** 按用户ID列表批量统计应用数量 */
|
||||
export interface UserAppStats {
|
||||
userId: number
|
||||
totalCount: number
|
||||
publishedCount: number
|
||||
}
|
||||
|
||||
export async function getUserAppStats(userIds: number[]) {
|
||||
const res = await request.post<ApiResult<UserAppStats[]>>(BASE + '/user-stats', userIds)
|
||||
if (res.data.code === 0 && res.data.data) return res.data.data
|
||||
return []
|
||||
}
|
||||
|
||||
/** 获取全部应用(下拉框用) */
|
||||
export async function getAllAppProduct() {
|
||||
const res = await request.get<ApiResult<AppProduct[]>>(BASE + '/all')
|
||||
if (res.data.code === 0 && res.data.data) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 获取当前用户可访问的应用列表(带角色信息,用于权限过滤) */
|
||||
export async function getMyAccessibleApps() {
|
||||
const res = await request.get<ApiResult<AppProduct[]>>(BASE + '/accessible')
|
||||
if ((res.data.code === 0 || res.data.code === 200) && res.data.data) return res.data.data
|
||||
return []
|
||||
}
|
||||
|
||||
/** 更新访问量 */
|
||||
export async function updateClicks(id: number) {
|
||||
const res = await request.post<ApiResult<unknown>>(BASE + '/view/' + id)
|
||||
if (res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 记录应用访问(更新最近访问时间) */
|
||||
export async function recordVisit(id: number) {
|
||||
const res = await request.post<ApiResult<unknown>>(BASE + '/visit/' + id)
|
||||
// 静默失败,不影响主流程
|
||||
if (res.data.code !== 0) {
|
||||
console.warn('记录访问失败', res.data.message)
|
||||
}
|
||||
}
|
||||
|
||||
/** 收藏/取消收藏 */
|
||||
export async function toggleLike(id: number) {
|
||||
const res = await request.post<ApiResult<unknown>>(BASE + '/like/' + id)
|
||||
if (res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 重新生成密钥 */
|
||||
export async function regenerateSecret(id: number) {
|
||||
const res = await request.post<ApiResult<unknown>>(BASE + '/regenerateSecret/' + id)
|
||||
if (res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
186
app/api/app/appProduct/model.ts
Normal file
186
app/api/app/appProduct/model.ts
Normal file
@@ -0,0 +1,186 @@
|
||||
import type { PageParam } from '@/api'
|
||||
import type { AppRole } from '../appUser/model'
|
||||
|
||||
export interface AppProduct {
|
||||
productId?: number
|
||||
productName?: string
|
||||
productCode?: string
|
||||
productSecret?: string
|
||||
appType?: number
|
||||
categoryId?: number
|
||||
industryParent?: string
|
||||
industryChild?: string
|
||||
logo?: string
|
||||
icon?: string
|
||||
qrcode?: string
|
||||
screenshots?: string
|
||||
description?: string
|
||||
content?: string
|
||||
keywords?: string
|
||||
domain?: string
|
||||
prefix?: string
|
||||
packageName?: string
|
||||
homeUrl?: string
|
||||
adminUrl?: string
|
||||
apiUrl?: string
|
||||
downloadUrl?: string
|
||||
version?: string
|
||||
edition?: string
|
||||
minVersion?: string
|
||||
priceType?: string
|
||||
price?: number
|
||||
linePrice?: number
|
||||
renewPrice?: number
|
||||
deliveryMethod?: number
|
||||
chargingMethod?: number
|
||||
subscriptionPeriod?: string
|
||||
publishStatus?: string
|
||||
publishTime?: string
|
||||
reviewTime?: string
|
||||
reviewerId?: number
|
||||
rejectReason?: string
|
||||
clicks?: number
|
||||
installs?: number
|
||||
downloads?: number
|
||||
rating?: number
|
||||
likes?: number
|
||||
developer?: string
|
||||
developerPhone?: string
|
||||
developerEmail?: string
|
||||
recommend?: number
|
||||
official?: number
|
||||
market?: number
|
||||
showIndex?: number
|
||||
searchEnabled?: number
|
||||
templateId?: number
|
||||
style?: string
|
||||
config?: string
|
||||
themeColor?: string
|
||||
lang?: string
|
||||
icpNo?: string
|
||||
policeNo?: string
|
||||
status?: number
|
||||
statusText?: string
|
||||
running?: number
|
||||
expirationTime?: string
|
||||
sortNumber?: number
|
||||
deleted?: number
|
||||
userId?: number
|
||||
tenantId?: number
|
||||
createTime?: string
|
||||
updateTime?: string
|
||||
/** 当前用户在该应用中的角色(仅 joined/accessible 查询返回) */
|
||||
myRole?: AppRole
|
||||
}
|
||||
|
||||
export interface AppProductParam extends PageParam {
|
||||
appType?: number
|
||||
categoryId?: number
|
||||
publishStatus?: string
|
||||
status?: number
|
||||
keywords?: string
|
||||
developer?: string
|
||||
market?: number
|
||||
official?: number
|
||||
recommend?: number
|
||||
userId?: number
|
||||
}
|
||||
|
||||
// App Type 枚举
|
||||
export const APP_TYPE = {
|
||||
WEBSITE: 10,
|
||||
WECHAT_MP: 20,
|
||||
DOUYIN_MP: 30,
|
||||
BAIDU_MP: 40,
|
||||
ALIPAY_MP: 50,
|
||||
ANDROID: 60,
|
||||
IOS: 70,
|
||||
MACOS: 80,
|
||||
WINDOWS: 90,
|
||||
PLUGIN: 100,
|
||||
} as const
|
||||
|
||||
export type APP_TYPE_KEY = keyof typeof APP_TYPE
|
||||
|
||||
export const APP_TYPE_NAME: Record<number, string> = {
|
||||
[APP_TYPE.WEBSITE]: '网站',
|
||||
[APP_TYPE.WECHAT_MP]: '微信小程序',
|
||||
[APP_TYPE.DOUYIN_MP]: '抖音小程序',
|
||||
[APP_TYPE.BAIDU_MP]: '百度小程序',
|
||||
[APP_TYPE.ALIPAY_MP]: '支付宝小程序',
|
||||
[APP_TYPE.ANDROID]: 'Android APP',
|
||||
[APP_TYPE.IOS]: 'iOS APP',
|
||||
[APP_TYPE.MACOS]: 'macOS 应用',
|
||||
[APP_TYPE.WINDOWS]: 'Windows 应用',
|
||||
[APP_TYPE.PLUGIN]: '插件',
|
||||
}
|
||||
|
||||
// Publish Status 枚举
|
||||
export const PUBLISH_STATUS = {
|
||||
DEVELOPING: 'developing',
|
||||
PENDING_REVIEW: 'pending_review',
|
||||
PUBLISHED: 'published',
|
||||
REJECTED: 'rejected',
|
||||
DEPRECATED: 'deprecated',
|
||||
} as const
|
||||
|
||||
export type PUBLISH_STATUS_KEY = keyof typeof PUBLISH_STATUS
|
||||
|
||||
export const PUBLISH_STATUS_NAME: Record<string, string> = {
|
||||
[PUBLISH_STATUS.DEVELOPING]: '开发中',
|
||||
[PUBLISH_STATUS.PENDING_REVIEW]: '待审核',
|
||||
[PUBLISH_STATUS.PUBLISHED]: '已上架',
|
||||
[PUBLISH_STATUS.REJECTED]: '审核未通过',
|
||||
[PUBLISH_STATUS.DEPRECATED]: '已下架',
|
||||
}
|
||||
|
||||
// Price Type 枚举
|
||||
export const PRICE_TYPE = {
|
||||
FREE: 'free',
|
||||
ONE_TIME: 'one_time',
|
||||
SUBSCRIPTION: 'subscription',
|
||||
} as const
|
||||
|
||||
export type PRICE_TYPE_KEY = keyof typeof PRICE_TYPE
|
||||
|
||||
export const PRICE_TYPE_NAME: Record<string, string> = {
|
||||
[PRICE_TYPE.FREE]: '免费',
|
||||
[PRICE_TYPE.ONE_TIME]: '一次性',
|
||||
[PRICE_TYPE.SUBSCRIPTION]: '订阅',
|
||||
}
|
||||
|
||||
// Edition 枚举
|
||||
export const EDITION = {
|
||||
STANDARD: 'standard',
|
||||
PROFESSIONAL: 'professional',
|
||||
PERPETUAL: 'perpetual',
|
||||
} as const
|
||||
|
||||
export type EDITION_KEY = keyof typeof EDITION
|
||||
|
||||
export const EDITION_NAME: Record<string, string> = {
|
||||
[EDITION.STANDARD]: '标准版',
|
||||
[EDITION.PROFESSIONAL]: '专业版',
|
||||
[EDITION.PERPETUAL]: '永久授权',
|
||||
}
|
||||
|
||||
// Status 枚举
|
||||
export const STATUS = {
|
||||
INACTIVE: 0,
|
||||
RUNNING: 1,
|
||||
MAINTENANCE: 2,
|
||||
CLOSED: 3,
|
||||
ARREARS: 4,
|
||||
VIOLATION: 5,
|
||||
} as const
|
||||
|
||||
export type STATUS_KEY = keyof typeof STATUS
|
||||
|
||||
export const STATUS_NAME: Record<number, string> = {
|
||||
[STATUS.INACTIVE]: '未开通',
|
||||
[STATUS.RUNNING]: '运行中',
|
||||
[STATUS.MAINTENANCE]: '维护中',
|
||||
[STATUS.CLOSED]: '已关闭',
|
||||
[STATUS.ARREARS]: '已欠费',
|
||||
[STATUS.VIOLATION]: '违规停机',
|
||||
}
|
||||
158
app/api/app/appResource/index.ts
Normal file
158
app/api/app/appResource/index.ts
Normal file
@@ -0,0 +1,158 @@
|
||||
import request from '@/utils/request'
|
||||
import type { ApiResult, PageResult } from '@/api'
|
||||
import type { AppResource, AppResourceParam } from './model'
|
||||
import {APP_API_URL} from '@/config/setting'
|
||||
|
||||
const BASE = APP_API_URL + '/developer-resource'
|
||||
|
||||
/** 分页查询资源 */
|
||||
export async function pageAppResource(params: AppResourceParam) {
|
||||
const res = await request.get<ApiResult<PageResult<AppResource>>>(BASE + '/page', { params })
|
||||
if (res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 查询资源列表(不分页) */
|
||||
export async function listAppResource(params?: AppResourceParam) {
|
||||
const res = await request.get<ApiResult<AppResource[]>>(BASE, { params })
|
||||
if (res.data.code === 0 && res.data.data) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 获取资源详情 */
|
||||
export async function getAppResource(resourceId: number) {
|
||||
const res = await request.get<ApiResult<AppResource>>(BASE + '/' + resourceId)
|
||||
if (res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 统计各类型资源数量 */
|
||||
export async function statsAppResource(): Promise<Record<string, number>> {
|
||||
const res = await request.get<ApiResult<Record<string, number>>>(BASE + '/stats')
|
||||
if (res.data.code === 0) return res.data.data ?? {}
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 新增资源 */
|
||||
export async function addAppResource(data: AppResource) {
|
||||
const res = await request.post<ApiResult<AppResource>>(BASE, data)
|
||||
if (res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 修改资源 */
|
||||
export async function updateAppResource(data: AppResource) {
|
||||
const res = await request.put<ApiResult<AppResource>>(BASE, data)
|
||||
if (res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 删除资源 */
|
||||
export async function removeAppResource(resourceId: number, code?: string) {
|
||||
const res = await request.delete<ApiResult<unknown>>(BASE + '/' + resourceId, code ? { data: { code } } : {})
|
||||
if (res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 批量删除资源 */
|
||||
export async function removeBatchAppResource(ids: number[]) {
|
||||
const res = await request.delete<ApiResult<unknown>>(BASE + '/batch', { data: ids })
|
||||
if (res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 测试数据库连接 */
|
||||
export async function testConnection(params: { host: string; port?: number; dbType?: string; username: string; password: string; dbName?: string }) {
|
||||
const res = await request.post<ApiResult<{ success: boolean; message: string; detail?: string }>>(BASE + '/test-connection', params)
|
||||
if (res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 测试 SSH 连接 */
|
||||
export async function testSshConnection(params: { host: string; port?: number; username: string; password: string }) {
|
||||
const res = await request.post<ApiResult<{ success: boolean; message: string; detail?: string }>>(BASE + '/test-ssh', params)
|
||||
if (res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 重试创建数据库 */
|
||||
export async function retryCreateDatabase(resourceId: number) {
|
||||
const res = await request.post<ApiResult<unknown>>(BASE + '/retry-create-database/' + resourceId)
|
||||
if (res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 重置数据库密码 */
|
||||
export async function resetDatabasePassword(resourceId: number) {
|
||||
const res = await request.post<ApiResult<{ password: string }>>(BASE + '/reset-password/' + resourceId)
|
||||
if (res.data.code === 200 || res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 刷新存储桶信息 */
|
||||
export async function refreshStorage(resourceId: number) {
|
||||
const res = await request.post<ApiResult<{ usedBytes: number; objectCount: number }>>(BASE + '/refresh-storage/' + resourceId)
|
||||
if (res.data.code === 200 || res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 检查域名 DNS 状态 */
|
||||
export async function checkDomainDns(resourceId: number) {
|
||||
const res = await request.post<ApiResult<{ status: 'ok' | 'error' | 'pending'; ip?: string; message?: string }>>(BASE + '/check-dns/' + resourceId)
|
||||
if (res.data.code === 200 || res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 生成 Nginx 配置 */
|
||||
export async function generateNginxConfig(resourceId: number) {
|
||||
const res = await request.get<ApiResult<{ config: string }>>(BASE + '/nginx-config/' + resourceId)
|
||||
if (res.data.code === 200 || res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 获取域名统计信息 */
|
||||
export async function getDomainStats() {
|
||||
const res = await request.get<ApiResult<{
|
||||
total: number
|
||||
icpCount: number
|
||||
sslCount: number
|
||||
expiringCount: number
|
||||
errorCount: number
|
||||
}>>(BASE + '/domain-stats')
|
||||
if (res.data.code === 200 || res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 批量导入域名 */
|
||||
export async function importDomains(data: { domains: Array<Partial<AppResource>> }) {
|
||||
const res = await request.post<ApiResult<{ success: number; failed: number; errors: string[] }>>(BASE + '/import-domains', data)
|
||||
if (res.data.code === 200 || res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 导出域名列表 */
|
||||
export async function exportDomains(params?: AppResourceParam) {
|
||||
const res = await request.get(BASE + '/export-domains', { params, responseType: 'blob' })
|
||||
return res.data
|
||||
}
|
||||
|
||||
/** 获取1Panel服务器状态 */
|
||||
export interface ServerStatus {
|
||||
cpu: string // CPU 使用率 %
|
||||
memory: string // 内存使用率 %
|
||||
memoryUsed: string // 内存已用
|
||||
memoryTotal: string // 内存总量
|
||||
disk: string // 磁盘使用率 %
|
||||
diskUsed: string // 磁盘已用
|
||||
diskTotal: string // 磁盘总量
|
||||
load: string // 系统负载
|
||||
uptime: string // 运行时间
|
||||
online: number // 在线状态 1=在线 0=离线
|
||||
message?: string // 错误信息
|
||||
}
|
||||
|
||||
export async function getServerStatus(resourceId: number): Promise<ServerStatus> {
|
||||
const res = await request.get<ApiResult<ServerStatus>>(BASE + '/server-status/' + resourceId)
|
||||
if (res.data.code === 200 || res.data.code === 0) return res.data.data!
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
156
app/api/app/appResource/model/index.ts
Normal file
156
app/api/app/appResource/model/index.ts
Normal file
@@ -0,0 +1,156 @@
|
||||
import type { PageParam } from '@/api'
|
||||
|
||||
/**
|
||||
* 开发者资源
|
||||
*/
|
||||
export interface AppResource {
|
||||
resourceId?: number
|
||||
resourceType?: string // server | database | storage | domain | ssl
|
||||
name?: string
|
||||
provider?: string // tencent | aliyun | huawei | other
|
||||
|
||||
// 服务器
|
||||
ip?: string
|
||||
sshPort?: number // SSH 端口(默认22)
|
||||
sshUsername?: string // SSH 用户名(用于远程执行命令)
|
||||
sshPassword?: string // SSH 密码(AES加密,用于远程执行命令)
|
||||
mysqlPort?: number // MySQL 端口(默认3306)
|
||||
pgPort?: number // PostgreSQL 端口(默认5432)
|
||||
panelPort?: number // 1Panel 面板端口(默认8888)
|
||||
panelUsername?: string // 1Panel 面板用户名
|
||||
panelPassword?: string // 1Panel 面板密码(AES加密)
|
||||
panelPath?: string // 1Panel 面板路径前缀(如 /abc123)
|
||||
adminUsername?: string // MySQL/PostgreSQL 管理员用户名(用于远程建库)
|
||||
adminPassword?: string // MySQL/PostgreSQL 管理员密码(AES加密,用于远程建库)
|
||||
|
||||
// 数据库
|
||||
dbType?: string // MySQL | PostgreSQL | Redis | MongoDB
|
||||
serverResourceId?: number // 关联服务器资源ID
|
||||
host?: string
|
||||
port?: number
|
||||
dbUsername?: string
|
||||
dbPassword?: string
|
||||
|
||||
// 云存储
|
||||
region?: string
|
||||
acl?: string // public-read | private
|
||||
usedBytes?: number
|
||||
|
||||
// 域名
|
||||
domain?: string
|
||||
registrar?: string
|
||||
icp?: boolean
|
||||
icpNo?: string
|
||||
sslBound?: boolean
|
||||
sslResourceId?: number // 关联的 SSL 证书资源ID
|
||||
sslCertName?: string // 关联的 SSL 证书名称
|
||||
dnsRecords?: DnsRecord[] // DNS 记录列表
|
||||
whoisInfo?: WhoisInfo // WHOIS 信息
|
||||
autoRenew?: boolean // 是否自动续费
|
||||
|
||||
// 域名健康状态
|
||||
dnsStatus?: 'ok' | 'error' | 'pending' | 'unknown' // DNS 解析状态
|
||||
dnsIp?: string // DNS 解析到的 IP
|
||||
healthStatus?: 'healthy' | 'warning' | 'error' | 'unknown' // 综合健康状态
|
||||
healthCheckAt?: string // 最后健康检查时间
|
||||
subDomains?: AppResource[] // 子域名列表
|
||||
parentDomainId?: number // 父域名 ID(用于子域名)
|
||||
isWildcard?: boolean // 是否通配符域名
|
||||
serverResourceId?: number // 关联的服务器资源ID
|
||||
serverName?: string // 关联的服务器名称
|
||||
nginxConfig?: string // Nginx 配置
|
||||
|
||||
// SSL
|
||||
certType?: string // DV | OV | EV
|
||||
issuer?: string
|
||||
privateKey?: string // 私钥(AES加密存储)
|
||||
publicKey?: string // 公钥
|
||||
certificate?: string // 证书内容/证书文件
|
||||
certChain?: string // 证书链(中间证书)
|
||||
algorithm?: string // 加密算法:RSA/ECC
|
||||
keyBits?: number // 密钥长度:2048/4096等
|
||||
|
||||
// Git仓库
|
||||
gitPath?: string // Git仓库路径(如: websopy/core)
|
||||
gitCloneUrl?: string // Git Clone URL
|
||||
gitWebUrl?: string // Git Web访问URL(Gitea页面地址)
|
||||
gitAccessLevel?: string // Git权限级别: read/write/admin
|
||||
|
||||
// 云存储凭证
|
||||
credentialId?: number // 关联的云账号凭证ID
|
||||
|
||||
// 通用
|
||||
status?: string // running | stopped | expired | pending
|
||||
appId?: number
|
||||
productName?: string
|
||||
expireAt?: string
|
||||
remark?: string
|
||||
userId?: number
|
||||
tenantId?: number
|
||||
deleted?: number
|
||||
createTime?: string
|
||||
updateTime?: string
|
||||
|
||||
// ─── 协作权限字段 ────────────────────────────────────────────
|
||||
/**
|
||||
* 资源所有者 userId(创建者)
|
||||
* 后端在创建时自动设置,前端只读
|
||||
*/
|
||||
ownerUserId?: number
|
||||
|
||||
/**
|
||||
* 当前访问者对该资源的权限级别(后端计算,前端只读)
|
||||
* 0 - 无权限
|
||||
* 1 - 基础查看(名称/IP/端口/状态,所有团队成员)
|
||||
* 2 - 连接查看(用户名、连接方式,技术负责人)
|
||||
* 3 - 完全权限(包含密码/私钥,仅资源Owner)
|
||||
*/
|
||||
accessLevel?: 0 | 1 | 2 | 3
|
||||
|
||||
/**
|
||||
* 敏感字段是否为脱敏占位符(后端返回 "******" 表示已脱敏)
|
||||
*/
|
||||
isMasked?: boolean
|
||||
|
||||
/** 是否是资源创建者(前端根据 ownerUserId vs 当前 UserId 计算) */
|
||||
isOwner?: boolean
|
||||
}
|
||||
|
||||
/**
|
||||
* DNS 记录
|
||||
*/
|
||||
export interface DnsRecord {
|
||||
type: string // A, AAAA, CNAME, MX, TXT, NS
|
||||
name: string
|
||||
value: string
|
||||
ttl?: number
|
||||
priority?: number
|
||||
}
|
||||
|
||||
/**
|
||||
* WHOIS 信息
|
||||
*/
|
||||
export interface WhoisInfo {
|
||||
registrar?: string
|
||||
creationDate?: string
|
||||
expirationDate?: string
|
||||
updatedDate?: string
|
||||
nameServers?: string[]
|
||||
status?: string[]
|
||||
}
|
||||
|
||||
/**
|
||||
* 资源查询参数
|
||||
*/
|
||||
export interface AppResourceParam extends PageParam {
|
||||
resourceId?: number
|
||||
resourceType?: string
|
||||
appId?: number
|
||||
provider?: string
|
||||
status?: string
|
||||
userId?: number
|
||||
tenantId?: number
|
||||
keywords?: string
|
||||
icp?: boolean
|
||||
sslBound?: boolean
|
||||
}
|
||||
110
app/api/app/appUser/index.ts
Normal file
110
app/api/app/appUser/index.ts
Normal file
@@ -0,0 +1,110 @@
|
||||
import request from '@/utils/request'
|
||||
import type { ApiResult, PageResult } from '@/api'
|
||||
import type { AppUser, AppUserParam, CheckAccessResult } from './model'
|
||||
import { APP_API_URL } from '@/config/setting'
|
||||
|
||||
const BASE = APP_API_URL + '/app-user'
|
||||
|
||||
type InviteApiItem = AppUser & {
|
||||
appName?: string
|
||||
app_name?: string
|
||||
product_name?: string
|
||||
appIcon?: string
|
||||
inviterName?: string
|
||||
inviter_name?: string
|
||||
productCode?: string
|
||||
product_code?: string
|
||||
}
|
||||
|
||||
function normalizeInvite(invite: InviteApiItem): AppUser {
|
||||
return {
|
||||
...invite,
|
||||
productName: invite.productName || invite.appName || invite.product_name || invite.app_name,
|
||||
productCode: invite.productCode || invite.product_code,
|
||||
icon: invite.icon || invite.appIcon || invite.avatar,
|
||||
username: invite.username || invite.inviterName || invite.inviter_name || invite.nickname
|
||||
}
|
||||
}
|
||||
|
||||
/** 分页查询成员 */
|
||||
export async function pageAppUser(params: AppUserParam) {
|
||||
const res = await request.get<ApiResult<PageResult<AppUser>>>(BASE + '/page', { params })
|
||||
if (res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 查询全部成员 */
|
||||
export async function listAppUser(params?: AppUserParam) {
|
||||
const res = await request.get<ApiResult<AppUser[]>>(BASE, { params })
|
||||
if (res.data.code === 0 && res.data.data) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 邀请成员(userId 或 phone 二选一) */
|
||||
export async function inviteAppUser(data: { productId: number; userId?: number; phone?: string; role?: string }) {
|
||||
const res = await request.post<ApiResult<AppUser>>(BASE + '/invite', data)
|
||||
if (res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 修改成员角色 */
|
||||
export async function updateAppUserRole(id: number, role: string) {
|
||||
const res = await request.put<ApiResult<unknown>>(BASE + `/role/${id}/${role}`)
|
||||
if (res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 删除成员 */
|
||||
export async function removeAppUser(id: number) {
|
||||
const res = await request.delete<ApiResult<unknown>>(BASE + '/' + id)
|
||||
if (res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
// ============ 邀请确认相关 ============
|
||||
|
||||
/** 查询当前用户的待确认邀请列表 */
|
||||
export async function listPendingInvites() {
|
||||
const res = await request.get<ApiResult<InviteApiItem[]>>(BASE + '/invites/pending')
|
||||
const { code, data, message } = res.data
|
||||
if (code === 0 || code === 200) {
|
||||
return Array.isArray(data) ? data.map(normalizeInvite) : []
|
||||
}
|
||||
return Promise.reject(new Error(message))
|
||||
}
|
||||
|
||||
/** 统计当前用户的待确认邀请数量 */
|
||||
export async function countPendingInvites() {
|
||||
const res = await request.get<ApiResult<{ count: number }>>(BASE + '/invites/pending/count')
|
||||
const { code, data, message } = res.data
|
||||
if ((code === 0 || code === 200) && data) return data.count
|
||||
return Promise.reject(new Error(message))
|
||||
}
|
||||
|
||||
/** 接受邀请 */
|
||||
export async function acceptInvite(inviteId: number) {
|
||||
const res = await request.post<ApiResult<unknown>>(BASE + `/invites/${inviteId}/accept`)
|
||||
if (res.data.code === 0 || res.data.code === 200) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 拒绝邀请 */
|
||||
export async function rejectInvite(inviteId: number) {
|
||||
const res = await request.post<ApiResult<unknown>>(BASE + `/invites/${inviteId}/reject`)
|
||||
if (res.data.code === 0 || res.data.code === 200) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
// ============ 权限相关 ============
|
||||
|
||||
/**
|
||||
* 检查当前用户是否有开发者中心访问权限
|
||||
* 返回:accessible(是否有权限)、isPlatformDeveloper(是否平台级开发者)、apps(可访问应用列表)
|
||||
*/
|
||||
export async function checkAppAccess() {
|
||||
const res = await request.get<ApiResult<CheckAccessResult>>(BASE + '/check-access')
|
||||
if (res.data.code === 0 && res.data.data) return res.data.data
|
||||
// 兼容 code=200
|
||||
if (res.data.code === 200 && res.data.data) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
54
app/api/app/appUser/model.ts
Normal file
54
app/api/app/appUser/model.ts
Normal file
@@ -0,0 +1,54 @@
|
||||
import type { PageParam } from '@/api'
|
||||
|
||||
/** 应用成员角色 */
|
||||
export type AppRole = 'owner' | 'admin' | 'developer' | 'viewer'
|
||||
|
||||
export interface AppUser {
|
||||
id?: number
|
||||
appId?: number
|
||||
userId?: number
|
||||
username?: string
|
||||
avatar?: string
|
||||
role?: AppRole
|
||||
inviteBy?: number
|
||||
inviteTime?: string
|
||||
inviteExpireTime?: string
|
||||
sortNumber?: number
|
||||
status?: number
|
||||
inviteStatus?: number // 0-正常(直接加入), 1-待确认, 2-已拒绝
|
||||
tenantId?: number
|
||||
createTime?: string
|
||||
updateTime?: string
|
||||
// 关联字段(来自 sys_user)
|
||||
nickname?: string
|
||||
userAvatar?: string
|
||||
phone?: string
|
||||
// 关联字段(来自 app_product)
|
||||
productName?: string
|
||||
productCode?: string
|
||||
icon?: string
|
||||
}
|
||||
|
||||
export interface AppUserParam extends PageParam {
|
||||
appId?: number
|
||||
userId?: number
|
||||
role?: string
|
||||
status?: number
|
||||
username?: string
|
||||
}
|
||||
|
||||
/** 用户在某应用中的权限信息(check-access / accessible 接口返回) */
|
||||
export interface AppPermissionInfo {
|
||||
appId: number
|
||||
productName: string
|
||||
productCode?: string
|
||||
icon?: string
|
||||
role: AppRole
|
||||
}
|
||||
|
||||
/** check-access 接口返回 */
|
||||
export interface CheckAccessResult {
|
||||
accessible: boolean
|
||||
isPlatformDeveloper: boolean
|
||||
apps?: AppPermissionInfo[]
|
||||
}
|
||||
62
app/api/app/appVersion/index.ts
Normal file
62
app/api/app/appVersion/index.ts
Normal file
@@ -0,0 +1,62 @@
|
||||
import request from '@/utils/request'
|
||||
import type { ApiResult, PageResult } from '@/api'
|
||||
import type { AppVersion, AppVersionParam } from './model'
|
||||
import {APP_API_URL} from '@/config/setting'
|
||||
|
||||
const BASE = APP_API_URL + '/app-version'
|
||||
|
||||
/** 分页查询版本 */
|
||||
export async function pageAppVersion(params: AppVersionParam) {
|
||||
const res = await request.get<ApiResult<PageResult<AppVersion>>>(BASE + '/page', { params })
|
||||
if (res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 查询全部版本 */
|
||||
export async function listAppVersion(params?: AppVersionParam) {
|
||||
const res = await request.get<ApiResult<AppVersion[]>>(BASE, { params })
|
||||
if (res.data.code === 0 && res.data.data) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 获取当前版本 */
|
||||
export async function getCurrentVersion(productId: number) {
|
||||
const res = await request.get<ApiResult<AppVersion>>(BASE + '/current/' + productId)
|
||||
if (res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 新增版本 */
|
||||
export async function addAppVersion(data: AppVersion) {
|
||||
const res = await request.post<ApiResult<unknown>>(BASE, data)
|
||||
if (res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 修改版本 */
|
||||
export async function updateAppVersion(data: AppVersion) {
|
||||
const res = await request.put<ApiResult<unknown>>(BASE, data)
|
||||
if (res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 发布版本 */
|
||||
export async function publishAppVersion(id: number) {
|
||||
const res = await request.post<ApiResult<unknown>>(BASE + '/publish/' + id)
|
||||
if (res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 回滚到指定版本 */
|
||||
export async function rollbackAppVersion(id: number) {
|
||||
const res = await request.post<ApiResult<unknown>>(BASE + '/rollback/' + id)
|
||||
if (res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 删除版本 */
|
||||
export async function removeAppVersion(id: number) {
|
||||
const res = await request.delete<ApiResult<unknown>>(BASE + '/' + id)
|
||||
if (res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
32
app/api/app/appVersion/model.ts
Normal file
32
app/api/app/appVersion/model.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
import type { PageParam } from '@/api'
|
||||
|
||||
export interface AppVersion {
|
||||
id?: number
|
||||
appId?: number
|
||||
versionNo?: string
|
||||
versionName?: string
|
||||
changelog?: string
|
||||
packageUrl?: string
|
||||
packageSize?: number
|
||||
packageHash?: string
|
||||
env?: string
|
||||
status?: number
|
||||
isCurrent?: boolean
|
||||
publishBy?: number
|
||||
publishTime?: string
|
||||
remark?: string
|
||||
sortNumber?: number
|
||||
userId?: number
|
||||
tenantId?: number
|
||||
createTime?: string
|
||||
updateTime?: string
|
||||
// 关联字段
|
||||
productName?: string
|
||||
}
|
||||
|
||||
export interface AppVersionParam extends PageParam {
|
||||
appId?: number
|
||||
env?: string
|
||||
status?: number
|
||||
isCurrent?: boolean
|
||||
}
|
||||
58
app/api/app/article/index.ts
Normal file
58
app/api/app/article/index.ts
Normal file
@@ -0,0 +1,58 @@
|
||||
import request from '@/utils/request'
|
||||
import type { ApiResult, PageResult } from '@/api'
|
||||
import type { AppArticle, AppArticleParam, AppArticleCount } from './model'
|
||||
import { APP_API_URL } from '@/config/setting'
|
||||
|
||||
const BASE = APP_API_URL + '/article'
|
||||
|
||||
function isSuccess(code?: number) {
|
||||
return code === 0 || code === 200
|
||||
}
|
||||
|
||||
export async function pageAppArticle(params: AppArticleParam) {
|
||||
const res = await request.get<ApiResult<PageResult<AppArticle>>>(BASE + '/page', { params })
|
||||
if (isSuccess(res.data.code)) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
export async function listAppArticle(params?: AppArticleParam) {
|
||||
const res = await request.get<ApiResult<AppArticle[]>>(BASE, { params })
|
||||
if (isSuccess(res.data.code) && res.data.data) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
export async function addAppArticle(data: AppArticle) {
|
||||
const res = await request.post<ApiResult<unknown>>(BASE, data)
|
||||
if (isSuccess(res.data.code)) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
export async function updateAppArticle(data: AppArticle) {
|
||||
const res = await request.put<ApiResult<unknown>>(BASE, data)
|
||||
if (isSuccess(res.data.code)) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
export async function removeAppArticle(id?: number) {
|
||||
const res = await request.delete<ApiResult<unknown>>(BASE + '/' + id)
|
||||
if (isSuccess(res.data.code)) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
export async function getAppArticle(id: number) {
|
||||
const res = await request.get<ApiResult<AppArticle>>(BASE + '/' + id)
|
||||
if (isSuccess(res.data.code) && res.data.data) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
export async function getAppArticleByCode(code: string) {
|
||||
const res = await request.get<ApiResult<AppArticle>>(BASE + '/getByCode/' + code)
|
||||
if (isSuccess(res.data.code) && res.data.data) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
export async function getAppArticleCount(params: AppArticleParam) {
|
||||
const res = await request.get<ApiResult<AppArticleCount>>(BASE + '/data', { params })
|
||||
if (isSuccess(res.data.code)) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
43
app/api/app/article/model/index.ts
Normal file
43
app/api/app/article/model/index.ts
Normal file
@@ -0,0 +1,43 @@
|
||||
import type { PageParam } from '@/api'
|
||||
|
||||
export interface AppArticle {
|
||||
articleId?: number
|
||||
title?: string
|
||||
type?: number
|
||||
model?: string
|
||||
code?: string
|
||||
categoryId?: number
|
||||
categoryName?: string
|
||||
parentId?: number
|
||||
image?: string
|
||||
source?: string
|
||||
overview?: string
|
||||
content?: string
|
||||
actualViews?: number
|
||||
likes?: number
|
||||
userId?: number
|
||||
author?: string
|
||||
recommend?: number
|
||||
sortNumber?: number
|
||||
status?: number
|
||||
deleted?: number
|
||||
tenantId?: number
|
||||
createTime?: string
|
||||
updateTime?: string
|
||||
}
|
||||
|
||||
export interface AppArticleParam extends PageParam {
|
||||
articleId?: number
|
||||
model?: string
|
||||
status?: number
|
||||
categoryId?: number
|
||||
recommend?: number
|
||||
keywords?: string
|
||||
tenantId?: number
|
||||
}
|
||||
|
||||
export interface AppArticleCount {
|
||||
totalNum?: number
|
||||
publishedNum?: number
|
||||
recommendNum?: number
|
||||
}
|
||||
46
app/api/app/articleCategory/index.ts
Normal file
46
app/api/app/articleCategory/index.ts
Normal file
@@ -0,0 +1,46 @@
|
||||
import request from '@/utils/request'
|
||||
import type { ApiResult, PageResult } from '@/api'
|
||||
import type { AppArticleCategory, AppArticleCategoryParam } from './model'
|
||||
import { APP_API_URL } from '@/config/setting'
|
||||
|
||||
const BASE = APP_API_URL + '/article-category'
|
||||
|
||||
function isSuccess(code?: number) {
|
||||
return code === 0 || code === 200
|
||||
}
|
||||
|
||||
export async function pageAppArticleCategory(params: AppArticleCategoryParam) {
|
||||
const res = await request.get<ApiResult<PageResult<AppArticleCategory>>>(BASE + '/page', { params })
|
||||
if (isSuccess(res.data.code)) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
export async function listAppArticleCategory(params?: AppArticleCategoryParam) {
|
||||
const res = await request.get<ApiResult<AppArticleCategory[]>>(BASE, { params })
|
||||
if (isSuccess(res.data.code) && res.data.data) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
export async function addAppArticleCategory(data: AppArticleCategory) {
|
||||
const res = await request.post<ApiResult<unknown>>(BASE, data)
|
||||
if (isSuccess(res.data.code)) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
export async function updateAppArticleCategory(data: AppArticleCategory) {
|
||||
const res = await request.put<ApiResult<unknown>>(BASE, data)
|
||||
if (isSuccess(res.data.code)) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
export async function removeAppArticleCategory(id?: number) {
|
||||
const res = await request.delete<ApiResult<unknown>>(BASE + '/' + id)
|
||||
if (isSuccess(res.data.code)) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
export async function getAppArticleCategory(id: number) {
|
||||
const res = await request.get<ApiResult<AppArticleCategory>>(BASE + '/' + id)
|
||||
if (isSuccess(res.data.code) && res.data.data) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
33
app/api/app/articleCategory/model/index.ts
Normal file
33
app/api/app/articleCategory/model/index.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
import type { PageParam } from '@/api'
|
||||
|
||||
export interface AppArticleCategory {
|
||||
categoryId?: number
|
||||
categoryCode?: string
|
||||
title?: string
|
||||
type?: number
|
||||
image?: string
|
||||
parentId?: number
|
||||
path?: string
|
||||
userId?: number
|
||||
count?: number
|
||||
sortNumber?: number
|
||||
comments?: string
|
||||
description?: string
|
||||
hide?: number
|
||||
recommend?: number
|
||||
showIndex?: number
|
||||
status?: number
|
||||
deleted?: number
|
||||
tenantId?: number
|
||||
createTime?: string
|
||||
updateTime?: string
|
||||
value?: number
|
||||
label?: string
|
||||
}
|
||||
|
||||
export interface AppArticleCategoryParam extends PageParam {
|
||||
categoryId?: number
|
||||
status?: number
|
||||
keywords?: string
|
||||
tenantId?: number
|
||||
}
|
||||
307
app/api/app/cicd.ts
Normal file
307
app/api/app/cicd.ts
Normal file
@@ -0,0 +1,307 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// ========== 流水线 API ==========
|
||||
|
||||
/**
|
||||
* 分页查询流水线
|
||||
*/
|
||||
export function pagePipeline(params?: {
|
||||
page?: number
|
||||
limit?: number
|
||||
appId?: number
|
||||
ciType?: string
|
||||
enabled?: boolean
|
||||
}) {
|
||||
return request.get<{
|
||||
code: number
|
||||
message: string
|
||||
data: {
|
||||
records: AppPipeline[]
|
||||
total: number
|
||||
}
|
||||
}>('/api/app/cicd/pipeline/page', { params })
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询应用的所有流水线
|
||||
*/
|
||||
export function listPipelineByApp(appId: number) {
|
||||
return request.get<{
|
||||
code: number
|
||||
message: string
|
||||
data: AppPipeline[]
|
||||
}>('/api/app/cicd/pipeline/app/' + appId)
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询流水线详情
|
||||
*/
|
||||
export function getPipeline(id: number) {
|
||||
return request.get<{
|
||||
code: number
|
||||
message: string
|
||||
data: AppPipeline
|
||||
}>('/api/app/cicd/pipeline/' + id)
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建流水线
|
||||
*/
|
||||
export function createPipeline(data: Partial<AppPipeline>) {
|
||||
return request.post<{
|
||||
code: number
|
||||
message: string
|
||||
}>('/api/app/cicd/pipeline', data)
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新流水线
|
||||
*/
|
||||
export function updatePipeline(data: Partial<AppPipeline>) {
|
||||
return request.put<{
|
||||
code: number
|
||||
message: string
|
||||
}>('/api/app/cicd/pipeline', data)
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除流水线
|
||||
*/
|
||||
export function deletePipeline(id: number) {
|
||||
return request.delete<{
|
||||
code: number
|
||||
message: string
|
||||
}>('/api/app/cicd/pipeline/' + id)
|
||||
}
|
||||
|
||||
/**
|
||||
* 启用/禁用流水线
|
||||
*/
|
||||
export function togglePipeline(id: number, enabled: boolean) {
|
||||
return request.post<{
|
||||
code: number
|
||||
message: string
|
||||
}>('/api/app/cicd/pipeline/' + id + '/toggle?enabled=' + enabled)
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取流水线状态
|
||||
*/
|
||||
export function getPipelineStatus(id: number) {
|
||||
return request.get<{
|
||||
code: number
|
||||
message: string
|
||||
data: {
|
||||
id: number
|
||||
status: string
|
||||
lastBuildId?: number
|
||||
lastBuildTime?: string
|
||||
successCount: number
|
||||
failureCount: number
|
||||
}
|
||||
}>('/api/app/cicd/pipeline/' + id + '/status')
|
||||
}
|
||||
|
||||
// ========== 构建 API ==========
|
||||
|
||||
/**
|
||||
* 分页查询构建记录
|
||||
*/
|
||||
export function pageBuild(params?: {
|
||||
page?: number
|
||||
limit?: number
|
||||
appId?: number
|
||||
status?: string
|
||||
ciType?: string
|
||||
branch?: string
|
||||
}) {
|
||||
return request.get<{
|
||||
code: number
|
||||
message: string
|
||||
data: {
|
||||
records: AppBuild[]
|
||||
total: number
|
||||
}
|
||||
}>('/api/app/cicd/build/page', { params })
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询应用的所有构建记录
|
||||
*/
|
||||
export function listBuildByApp(appId: number) {
|
||||
return request.get<{
|
||||
code: number
|
||||
message: string
|
||||
data: AppBuild[]
|
||||
}>('/api/app/cicd/build/app/' + appId)
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询构建详情
|
||||
*/
|
||||
export function getBuild(id: number) {
|
||||
return request.get<{
|
||||
code: number
|
||||
message: string
|
||||
data: AppBuild
|
||||
}>('/api/app/cicd/build/' + id)
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取应用最新构建
|
||||
*/
|
||||
export function getLatestBuild(appId: number) {
|
||||
return request.get<{
|
||||
code: number
|
||||
message: string
|
||||
data: AppBuild | null
|
||||
}>('/api/app/cicd/build/latest/' + appId)
|
||||
}
|
||||
|
||||
/**
|
||||
* 触发构建
|
||||
*/
|
||||
export function triggerBuild(appId: number, branch?: string) {
|
||||
return request.post<{
|
||||
code: number
|
||||
message: string
|
||||
data: {
|
||||
id: number
|
||||
buildNumber: string
|
||||
status: string
|
||||
branch: string
|
||||
}
|
||||
}>('/api/app/cicd/build/trigger', null, {
|
||||
params: { appId, branch }
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取构建日志
|
||||
*/
|
||||
export function getBuildLog(id: number) {
|
||||
return request.get<{
|
||||
code: number
|
||||
message: string
|
||||
data: {
|
||||
log: string
|
||||
buildId: number
|
||||
}
|
||||
}>('/api/app/cicd/build/' + id + '/log')
|
||||
}
|
||||
|
||||
/**
|
||||
* 取消构建
|
||||
*/
|
||||
export function cancelBuild(id: number) {
|
||||
return request.post<{
|
||||
code: number
|
||||
message: string
|
||||
}>('/api/app/cicd/build/' + id + '/cancel')
|
||||
}
|
||||
|
||||
/**
|
||||
* 重试构建
|
||||
*/
|
||||
export function retryBuild(id: number) {
|
||||
return request.post<{
|
||||
code: number
|
||||
message: string
|
||||
data: {
|
||||
id: number
|
||||
buildNumber: string
|
||||
status: string
|
||||
}
|
||||
}>('/api/app/cicd/build/' + id + '/retry')
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取构建统计
|
||||
*/
|
||||
export function getBuildStats(appId: number) {
|
||||
return request.get<{
|
||||
code: number
|
||||
message: string
|
||||
data: {
|
||||
total: number
|
||||
success: number
|
||||
failed: number
|
||||
running: number
|
||||
}
|
||||
}>('/api/app/cicd/build/stats/' + appId)
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取CI系统配置
|
||||
*/
|
||||
export function getCIConfig() {
|
||||
return request.get<{
|
||||
code: number
|
||||
message: string
|
||||
data: {
|
||||
supportedCI: string[]
|
||||
defaultCI: string
|
||||
giteaUrl: string
|
||||
}
|
||||
}>('/api/app/cicd/config')
|
||||
}
|
||||
|
||||
// ========== 类型定义 ==========
|
||||
|
||||
export interface AppPipeline {
|
||||
id?: number
|
||||
appId?: number
|
||||
name?: string
|
||||
description?: string
|
||||
ciType?: 'gitea' | 'jenkins' | 'github'
|
||||
repoFullName?: string
|
||||
workflowFile?: string
|
||||
stages?: string
|
||||
env?: 'development' | 'staging' | 'production'
|
||||
defaultBranch?: string
|
||||
enabled?: boolean
|
||||
autoDeploy?: boolean
|
||||
timeout?: number
|
||||
config?: string
|
||||
lastBuildId?: number
|
||||
lastBuildStatus?: string
|
||||
lastBuildTime?: string
|
||||
successCount?: number
|
||||
failureCount?: number
|
||||
userId?: number
|
||||
tenantId?: number
|
||||
createTime?: string
|
||||
updateTime?: string
|
||||
}
|
||||
|
||||
export interface AppBuild {
|
||||
id?: number
|
||||
appId?: number
|
||||
versionId?: number
|
||||
buildNumber?: string
|
||||
name?: string
|
||||
branch?: string
|
||||
commitSha?: string
|
||||
commitMessage?: string
|
||||
commitAuthor?: string
|
||||
ciType?: 'gitea' | 'jenkins' | 'github'
|
||||
ciJobId?: string
|
||||
ciRunId?: string
|
||||
ciApiUrl?: string
|
||||
status?: 'pending' | 'running' | 'success' | 'failed' | 'cancelled'
|
||||
startedAt?: string
|
||||
finishedAt?: string
|
||||
duration?: number
|
||||
logUrl?: string
|
||||
artifactUrl?: string
|
||||
artifactName?: string
|
||||
artifactSize?: number
|
||||
errorMessage?: string
|
||||
triggerType?: 'manual' | 'webhook' | 'schedule'
|
||||
triggeredBy?: number
|
||||
config?: string
|
||||
userId?: number
|
||||
tenantId?: number
|
||||
createTime?: string
|
||||
updateTime?: string
|
||||
}
|
||||
76
app/api/app/cloudCredential/index.ts
Normal file
76
app/api/app/cloudCredential/index.ts
Normal file
@@ -0,0 +1,76 @@
|
||||
import request from '@/utils/request'
|
||||
import type { ApiResult, PageResult } from '@/api'
|
||||
import type { AppCloudCredential, AppCloudCredentialParam } from './model'
|
||||
import {
|
||||
CLOUD_PROVIDER_OPTIONS,
|
||||
getProviderLabel,
|
||||
getProviderIcon,
|
||||
} from './model'
|
||||
|
||||
// 重新导出,保持向后兼容
|
||||
export { CLOUD_PROVIDER_OPTIONS, getProviderLabel, getProviderIcon }
|
||||
|
||||
const BASE = '/api/app/cloud-credential'
|
||||
|
||||
/**
|
||||
* 分页查询云账号凭证
|
||||
*/
|
||||
export async function pageCloudCredential(params?: AppCloudCredentialParam) {
|
||||
const res = await request.get<ApiResult<PageResult<AppCloudCredential>>>(BASE + '/page', { params })
|
||||
if (res.data.code === 200 || res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询用户全部云账号凭证
|
||||
*/
|
||||
export async function listCloudCredential(provider?: string) {
|
||||
const res = await request.get<ApiResult<AppCloudCredential[]>>(BASE, { params: { provider } })
|
||||
if ((res.data.code === 200 || res.data.code === 0) && res.data.data) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据ID查询云账号凭证
|
||||
*/
|
||||
export async function getCloudCredential(id: number) {
|
||||
const res = await request.get<ApiResult<AppCloudCredential>>(BASE + '/' + id)
|
||||
if ((res.data.code === 200 || res.data.code === 0) && res.data.data) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建云账号凭证
|
||||
*/
|
||||
export async function createCloudCredential(data: AppCloudCredential) {
|
||||
const res = await request.post<ApiResult<AppCloudCredential>>(BASE, data)
|
||||
if (res.data.code === 200 || res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改云账号凭证
|
||||
*/
|
||||
export async function updateCloudCredential(data: AppCloudCredential) {
|
||||
const res = await request.put<ApiResult<unknown>>(BASE, data)
|
||||
if (res.data.code === 200 || res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除云账号凭证
|
||||
*/
|
||||
export async function removeCloudCredential(id: number) {
|
||||
const res = await request.delete<ApiResult<unknown>>(BASE + '/' + id)
|
||||
if (res.data.code === 200 || res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试云账号凭证连接
|
||||
*/
|
||||
export async function testCloudCredential(id: number) {
|
||||
const res = await request.post<ApiResult<{ success: boolean; message: string }>>(BASE + '/test/' + id)
|
||||
if (res.data.code === 200 || res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
61
app/api/app/cloudCredential/model.ts
Normal file
61
app/api/app/cloudCredential/model.ts
Normal file
@@ -0,0 +1,61 @@
|
||||
import type { PageParam } from '@/api'
|
||||
|
||||
/**
|
||||
* 云账号凭证
|
||||
*/
|
||||
export interface AppCloudCredential {
|
||||
id?: number
|
||||
userId?: number
|
||||
tenantId?: number
|
||||
name?: string
|
||||
provider?: string // aliyun/tencent/huawei/qiniu
|
||||
accessKeyId?: string // AK
|
||||
accessKeySecret?: string // SK (AES加密存储)
|
||||
status?: number // 0-禁用 1-启用
|
||||
testStatus?: number // 0-未测试 1-测试成功 2-测试失败
|
||||
testMessage?: string
|
||||
remark?: string
|
||||
deleted?: number
|
||||
createTime?: string
|
||||
updateTime?: string
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询参数
|
||||
*/
|
||||
export interface AppCloudCredentialParam extends PageParam {
|
||||
provider?: string
|
||||
status?: number
|
||||
name?: string
|
||||
}
|
||||
|
||||
/**
|
||||
* 云服务商选项
|
||||
*/
|
||||
export const CLOUD_PROVIDER_OPTIONS = [
|
||||
{ label: '阿里云 OSS', value: 'aliyun', icon: '🟢' },
|
||||
{ label: '腾讯云 COS', value: 'tencent', icon: '🔵' },
|
||||
{ label: '华为云 OBS', value: 'huawei', icon: '🟠' },
|
||||
{ label: '七牛云 Kodo', value: 'qiniu', icon: '🟡' },
|
||||
]
|
||||
|
||||
/**
|
||||
* 获取云服务商显示文本
|
||||
*/
|
||||
export function getProviderLabel(provider: string) {
|
||||
const opt = CLOUD_PROVIDER_OPTIONS.find((i) => i.value === provider)
|
||||
return opt ? `${opt.icon} ${opt.label}` : provider
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取云服务商图标
|
||||
*/
|
||||
export function getProviderIcon(provider: string) {
|
||||
const iconMap: Record<string, string> = {
|
||||
aliyun: '🟢',
|
||||
tencent: '🔵',
|
||||
huawei: '🟠',
|
||||
qiniu: '🟡',
|
||||
}
|
||||
return iconMap[provider] || '☁️'
|
||||
}
|
||||
75
app/api/app/invite/index.ts
Normal file
75
app/api/app/invite/index.ts
Normal file
@@ -0,0 +1,75 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
/**
|
||||
* 生成二维码邀请
|
||||
*/
|
||||
export function generateInviteQrCode(data: {
|
||||
appId: number
|
||||
role: string
|
||||
}) {
|
||||
return request.post<{
|
||||
code: number
|
||||
message: string
|
||||
data: {
|
||||
qrCodeUrl: string
|
||||
inviteUrl: string // 邀请链接,用于前端生成二维码
|
||||
token: string
|
||||
expireTime: string
|
||||
}
|
||||
}>('/api/app/developer/invite/qrcode', data)
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成链接邀请
|
||||
*/
|
||||
export function generateInviteLink(data: {
|
||||
appId: number
|
||||
role: string
|
||||
}) {
|
||||
return request.post<{
|
||||
code: number
|
||||
message: string
|
||||
data: {
|
||||
inviteUrl: string
|
||||
token: string
|
||||
expireTime: string
|
||||
}
|
||||
}>('/api/app/developer/invite/link', data)
|
||||
}
|
||||
|
||||
/**
|
||||
* 验证邀请
|
||||
*/
|
||||
export function verifyInvite(data: {
|
||||
token: string
|
||||
appId?: number
|
||||
}) {
|
||||
return request.post<{
|
||||
code: number
|
||||
message: string
|
||||
data: {
|
||||
valid: boolean
|
||||
appId: number
|
||||
appName: string
|
||||
role: string
|
||||
inviterName: string
|
||||
inviterAvatar?: string
|
||||
expireTime: string
|
||||
}
|
||||
}>('/api/app/developer/invite/verify', data)
|
||||
}
|
||||
|
||||
/**
|
||||
* 接受邀请
|
||||
*/
|
||||
export function acceptInvite(data: {
|
||||
token: string
|
||||
appId?: number
|
||||
role?: string
|
||||
}) {
|
||||
return request.post<{
|
||||
code: number
|
||||
message: string
|
||||
data: null
|
||||
}>('/api/app/developer/invite/accept', data)
|
||||
}
|
||||
55
app/api/app/notification/index.ts
Normal file
55
app/api/app/notification/index.ts
Normal file
@@ -0,0 +1,55 @@
|
||||
import request from '@/utils/request'
|
||||
import type { ApiResult, PageResult } from '@/api'
|
||||
import type { Notification, NotificationParam, UnreadCountResult } from './model'
|
||||
import { APP_API_URL } from '@/config/setting'
|
||||
|
||||
const BASE = APP_API_URL + '/notification'
|
||||
|
||||
/** 分页查询通知列表 */
|
||||
export async function pageNotification(params: NotificationParam) {
|
||||
const res = await request.get<ApiResult<PageResult<Notification>>>(BASE + '/page', { params })
|
||||
if (res.data.code === 0) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 查询最近通知(用于铃铛下拉,最多 20 条) */
|
||||
export async function listRecentNotification(params?: { type?: string; limit?: number }) {
|
||||
const res = await request.get<ApiResult<Notification[]>>(BASE + '/recent', { params })
|
||||
if (res.data.code === 0 && res.data.data) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 获取未读数量统计 */
|
||||
export async function getUnreadCount() {
|
||||
const res = await request.get<ApiResult<UnreadCountResult>>(BASE + '/unread-count')
|
||||
if (res.data.code === 0 && res.data.data) return res.data.data
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 标记单条通知为已读 */
|
||||
export async function markRead(id: number) {
|
||||
const res = await request.put<ApiResult<unknown>>(BASE + `/read/${id}`)
|
||||
if (res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 标记全部已读 */
|
||||
export async function markAllRead(data?: { type?: string }) {
|
||||
const res = await request.put<ApiResult<unknown>>(BASE + '/read-all', data)
|
||||
if (res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 删除单条通知 */
|
||||
export async function removeNotification(id: number) {
|
||||
const res = await request.delete<ApiResult<unknown>>(BASE + '/' + id)
|
||||
if (res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
|
||||
/** 清空全部已读通知 */
|
||||
export async function clearReadNotifications(data?: { type?: string }) {
|
||||
const res = await request.delete<ApiResult<unknown>>(BASE + '/clear-read', { data })
|
||||
if (res.data.code === 0) return res.data.message
|
||||
return Promise.reject(new Error(res.data.message))
|
||||
}
|
||||
60
app/api/app/notification/model.ts
Normal file
60
app/api/app/notification/model.ts
Normal file
@@ -0,0 +1,60 @@
|
||||
import type { PageParam } from '@/api'
|
||||
|
||||
/** 通知类型枚举 */
|
||||
export type NotificationType = 'ticket' | 'review' | 'system' | 'resource' | 'permission' | 'member' | 'payment'
|
||||
|
||||
/** 通知实体 */
|
||||
export interface Notification {
|
||||
/** 通知 ID */
|
||||
id?: number
|
||||
/** 接收用户 ID */
|
||||
userId?: number
|
||||
/** 通知类型 */
|
||||
type?: NotificationType
|
||||
/** 通知标题 */
|
||||
title?: string
|
||||
/** 通知内容摘要 */
|
||||
content?: string
|
||||
/** 是否已读:0 未读,1 已读 */
|
||||
isRead?: number
|
||||
/** 关联业务 ID(如工单ID、权限申请ID等) */
|
||||
refId?: number
|
||||
/** 关联业务类型(如 ticket、permission_request 等) */
|
||||
refType?: string
|
||||
/** 跳转链接 */
|
||||
linkUrl?: string
|
||||
/** 发送者 ID(系统通知为 0) */
|
||||
senderId?: number
|
||||
/** 发送者名称 */
|
||||
senderName?: string
|
||||
/** 发送者头像 */
|
||||
senderAvatar?: string
|
||||
/** 租户 ID */
|
||||
tenantId?: number
|
||||
/** 创建时间 */
|
||||
createTime?: string
|
||||
/** 更新时间(标记已读时间) */
|
||||
updateTime?: string
|
||||
}
|
||||
|
||||
/** 通知查询参数 */
|
||||
export interface NotificationParam extends PageParam {
|
||||
/** 通知类型筛选 */
|
||||
type?: NotificationType | ''
|
||||
/** 是否已读:0 未读,1 已读,不传查全部 */
|
||||
isRead?: number
|
||||
}
|
||||
|
||||
/** 未读统计 */
|
||||
export interface UnreadCountResult {
|
||||
/** 总未读数 */
|
||||
total?: number
|
||||
/** 各类型未读数 */
|
||||
ticket?: number
|
||||
review?: number
|
||||
system?: number
|
||||
resource?: number
|
||||
permission?: number
|
||||
member?: number
|
||||
payment?: number
|
||||
}
|
||||
148
app/api/app/setting/index.ts
Normal file
148
app/api/app/setting/index.ts
Normal file
@@ -0,0 +1,148 @@
|
||||
import request from '@/utils/request';
|
||||
import type { ApiResult, PageResult } from '@/api';
|
||||
import type { AppSetting } from './model';
|
||||
|
||||
/**
|
||||
* 分页查询设置
|
||||
*/
|
||||
export async function pageSetting(params: any) {
|
||||
const res = await request.get<ApiResult<PageResult<AppSetting>>>(
|
||||
'/api/app/setting/page',
|
||||
{ params }
|
||||
);
|
||||
// 兼容后端返回 0 或 200 作为成功码
|
||||
if (res.data.code === 0 || res.data.code === 200) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取设置列表
|
||||
*/
|
||||
export async function listSetting(params?: any) {
|
||||
const res = await request.get<ApiResult<AppSetting[]>>(
|
||||
'/api/app/setting',
|
||||
{ params }
|
||||
);
|
||||
// 兼容后端返回 0 或 200 作为成功码
|
||||
if (res.data.code === 0 || res.data.code === 200) {
|
||||
return res.data.data || [];
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据分类获取设置
|
||||
*/
|
||||
export async function getSettingsByCategory(category: string) {
|
||||
const res = await request.get<ApiResult<AppSetting[]>>(
|
||||
`/api/app/setting/category/${category}`
|
||||
);
|
||||
// 兼容后端返回 0 或 200 作为成功码
|
||||
if (res.data.code === 0 || res.data.code === 200) {
|
||||
return res.data.data || [];
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取分类设置值(Map格式)
|
||||
*/
|
||||
export async function getCategoryValues(category: string) {
|
||||
const res = await request.get<ApiResult<Record<string, string>>>(
|
||||
`/api/app/setting/category/${category}/values`
|
||||
);
|
||||
// 兼容后端返回 0 或 200 作为成功码
|
||||
if (res.data.code === 0 || res.data.code === 200) {
|
||||
return res.data.data || {};
|
||||
}
|
||||
return {};
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据key获取设置值
|
||||
*/
|
||||
export async function getSettingValue(key: string) {
|
||||
const res = await request.get<ApiResult<string>>(
|
||||
`/api/app/setting/key/${key}`
|
||||
);
|
||||
// 兼容后端返回 0 或 200 作为成功码
|
||||
if (res.data.code === 0 || res.data.code === 200) {
|
||||
return res.data.data;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据key获取完整设置
|
||||
*/
|
||||
export async function getSettingByKey(key: string) {
|
||||
const res = await request.get<ApiResult<AppSetting>>(
|
||||
`/api/app/setting/info/${key}`
|
||||
);
|
||||
// 兼容后端返回 0 或 200 作为成功码
|
||||
if (res.data.code === 0 || res.data.code === 200) {
|
||||
return res.data.data;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存或更新设置
|
||||
*/
|
||||
export async function saveSetting(data: Partial<AppSetting>) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
'/api/app/setting',
|
||||
data
|
||||
);
|
||||
// 兼容后端返回 0 或 200 作为成功码
|
||||
if (res.data.code === 0 || res.data.code === 200) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新设置
|
||||
*/
|
||||
export async function updateSetting(data: Partial<AppSetting>) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
'/api/app/setting',
|
||||
data
|
||||
);
|
||||
// 兼容后端返回 0 或 200 作为成功码
|
||||
if (res.data.code === 0 || res.data.code === 200) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量保存分类设置
|
||||
*/
|
||||
export async function batchSaveCategory(category: string, values: Record<string, any>) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
`/api/app/setting/batch/${category}`,
|
||||
values
|
||||
);
|
||||
// 兼容后端返回 0 或 200 作为成功码
|
||||
if (res.data.code === 0 || res.data.code === 200) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除设置
|
||||
*/
|
||||
export async function removeSetting(settingId: number) {
|
||||
const res = await request.delete<ApiResult<unknown>>(
|
||||
`/api/app/setting/${settingId}`
|
||||
);
|
||||
// 兼容后端返回 0 或 200 作为成功码
|
||||
if (res.data.code === 0 || res.data.code === 200) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
45
app/api/app/setting/model/index.ts
Normal file
45
app/api/app/setting/model/index.ts
Normal file
@@ -0,0 +1,45 @@
|
||||
/**
|
||||
* 平台设置
|
||||
*/
|
||||
export interface AppSetting {
|
||||
/** 设置ID */
|
||||
settingId?: number;
|
||||
/** 设置分类:basic/review/market/register/notify/maintenance */
|
||||
category?: string;
|
||||
/** 设置项标识 */
|
||||
settingKey?: string;
|
||||
/** 设置项名称 */
|
||||
settingName?: string;
|
||||
/** 设置值(JSON格式) */
|
||||
settingValue?: string;
|
||||
/** 设置类型:string/number/boolean/json */
|
||||
valueType?: string;
|
||||
/** 设置说明 */
|
||||
description?: string;
|
||||
/** 排序号 */
|
||||
sortNumber?: number;
|
||||
/** 是否启用 0否 1是 */
|
||||
isEnabled?: number;
|
||||
/** 是否公开(前端可读)0否 1是 */
|
||||
isPublic?: number;
|
||||
/** 租户id */
|
||||
tenantId?: number;
|
||||
/** 创建时间 */
|
||||
createdTime?: number;
|
||||
/** 更新时间 */
|
||||
updatedTime?: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* 平台设置查询参数
|
||||
*/
|
||||
export interface AppSettingParam {
|
||||
settingId?: number;
|
||||
category?: string;
|
||||
settingKey?: string;
|
||||
settingName?: string;
|
||||
valueType?: string;
|
||||
isEnabled?: number;
|
||||
isPublic?: number;
|
||||
tenantId?: number;
|
||||
}
|
||||
106
app/api/cms/cmsAd/index.ts
Normal file
106
app/api/cms/cmsAd/index.ts
Normal file
@@ -0,0 +1,106 @@
|
||||
import request from '@/utils/request';
|
||||
import type { ApiResult, PageResult } from '@/api';
|
||||
import type { CmsAd, CmsAdParam } from './model';
|
||||
import { MODULES_API_URL } from '@/config/setting';
|
||||
|
||||
/**
|
||||
* 分页查询广告位
|
||||
*/
|
||||
export async function pageCmsAd(params: CmsAdParam) {
|
||||
const res = await request.get<ApiResult<PageResult<CmsAd>>>(
|
||||
MODULES_API_URL + '/cms/cms-ad/page',
|
||||
{
|
||||
params
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询广告位列表
|
||||
*/
|
||||
export async function listCmsAd(params?: CmsAdParam) {
|
||||
const res = await request.get<ApiResult<CmsAd[]>>(
|
||||
MODULES_API_URL + '/cms/cms-ad',
|
||||
{
|
||||
params
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0 && res.data.data) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加广告位
|
||||
*/
|
||||
export async function addCmsAd(data: CmsAd) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
MODULES_API_URL + '/cms/cms-ad',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改广告位
|
||||
*/
|
||||
export async function updateCmsAd(data: CmsAd) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
MODULES_API_URL + '/cms/cms-ad',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除广告位
|
||||
*/
|
||||
export async function removeCmsAd(id?: number) {
|
||||
const res = await request.delete<ApiResult<unknown>>(
|
||||
MODULES_API_URL + '/cms/cms-ad/' + id
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除广告位
|
||||
*/
|
||||
export async function removeBatchCmsAd(data: (number | undefined)[]) {
|
||||
const res = await request.delete<ApiResult<unknown>>(
|
||||
MODULES_API_URL + '/cms/cms-ad/batch',
|
||||
{
|
||||
data
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询广告位
|
||||
*/
|
||||
export async function getCmsAd(id: number) {
|
||||
const res = await request.get<ApiResult<CmsAd>>(
|
||||
MODULES_API_URL + '/cms/cms-ad/' + id
|
||||
);
|
||||
if (res.data.code === 0 && res.data.data) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
65
app/api/cms/cmsAd/model/index.ts
Normal file
65
app/api/cms/cmsAd/model/index.ts
Normal file
@@ -0,0 +1,65 @@
|
||||
import type { PageParam } from '@/api';
|
||||
|
||||
/**
|
||||
* 广告位
|
||||
*/
|
||||
export interface CmsAd {
|
||||
// ID
|
||||
adId?: number;
|
||||
// 类型
|
||||
type?: number;
|
||||
// 唯一标识
|
||||
code?: string;
|
||||
// 栏目分类
|
||||
categoryId?: number;
|
||||
// 栏目名称
|
||||
categoryName?: string;
|
||||
// 页面ID
|
||||
designId?: number;
|
||||
// 广告类型
|
||||
adType?: string;
|
||||
// 广告位名称
|
||||
name?: string;
|
||||
// 宽
|
||||
width?: string;
|
||||
// 高
|
||||
height?: string;
|
||||
// css样式
|
||||
style?: string;
|
||||
// 广告图片
|
||||
images?: any;
|
||||
// 广告图片
|
||||
imageList?: any;
|
||||
// 路由/链接地址
|
||||
path?: string;
|
||||
// 用户ID
|
||||
userId?: number;
|
||||
// 语言
|
||||
lang?: string;
|
||||
// 页面ID
|
||||
pageId?: number;
|
||||
// 页面名称
|
||||
pageName?: string;
|
||||
// 排序(数字越小越靠前)
|
||||
sortNumber?: number;
|
||||
// 备注
|
||||
description?: string;
|
||||
// 状态, 0正常, 1冻结
|
||||
status?: number;
|
||||
// 是否删除, 0否, 1是
|
||||
deleted?: number;
|
||||
// 租户id
|
||||
tenantId?: number;
|
||||
// 创建时间
|
||||
createTime?: string;
|
||||
merchantId?: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* 广告位搜索条件
|
||||
*/
|
||||
export interface CmsAdParam extends PageParam {
|
||||
adId?: number;
|
||||
pageId?: number;
|
||||
keywords?: string;
|
||||
}
|
||||
106
app/api/cms/cmsAdRecord/index.ts
Normal file
106
app/api/cms/cmsAdRecord/index.ts
Normal file
@@ -0,0 +1,106 @@
|
||||
import request from '@/utils/request';
|
||||
import type { ApiResult, PageResult } from '@/api';
|
||||
import type { CmsAdRecord, CmsAdRecordParam } from './model';
|
||||
import { MODULES_API_URL } from '@/config/setting';
|
||||
|
||||
/**
|
||||
* 分页查询广告图片
|
||||
*/
|
||||
export async function pageCmsAdRecord(params: CmsAdRecordParam) {
|
||||
const res = await request.get<ApiResult<PageResult<CmsAdRecord>>>(
|
||||
MODULES_API_URL + '/cms/cms-ad-record/page',
|
||||
{
|
||||
params
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询广告图片列表
|
||||
*/
|
||||
export async function listCmsAdRecord(params?: CmsAdRecordParam) {
|
||||
const res = await request.get<ApiResult<CmsAdRecord[]>>(
|
||||
MODULES_API_URL + '/cms/cms-ad-record',
|
||||
{
|
||||
params
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0 && res.data.data) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加广告图片
|
||||
*/
|
||||
export async function addCmsAdRecord(data: CmsAdRecord) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
MODULES_API_URL + '/cms/cms-ad-record',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改广告图片
|
||||
*/
|
||||
export async function updateCmsAdRecord(data: CmsAdRecord) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
MODULES_API_URL + '/cms/cms-ad-record',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除广告图片
|
||||
*/
|
||||
export async function removeCmsAdRecord(id?: number) {
|
||||
const res = await request.delete<ApiResult<unknown>>(
|
||||
MODULES_API_URL + '/cms/cms-ad-record/' + id
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除广告图片
|
||||
*/
|
||||
export async function removeBatchCmsAdRecord(data: (number | undefined)[]) {
|
||||
const res = await request.delete<ApiResult<unknown>>(
|
||||
MODULES_API_URL + '/cms/cms-ad-record/batch',
|
||||
{
|
||||
data
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询广告图片
|
||||
*/
|
||||
export async function getCmsAdRecord(id: number) {
|
||||
const res = await request.get<ApiResult<CmsAdRecord>>(
|
||||
MODULES_API_URL + '/cms/cms-ad-record/' + id
|
||||
);
|
||||
if (res.data.code === 0 && res.data.data) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
35
app/api/cms/cmsAdRecord/model/index.ts
Normal file
35
app/api/cms/cmsAdRecord/model/index.ts
Normal file
@@ -0,0 +1,35 @@
|
||||
import type { PageParam } from '@/api';
|
||||
|
||||
/**
|
||||
* 广告图片
|
||||
*/
|
||||
export interface CmsAdRecord {
|
||||
// ID
|
||||
adRecordId?: number;
|
||||
// 广告标题
|
||||
title?: string;
|
||||
// 图片地址
|
||||
path?: string;
|
||||
// 链接地址
|
||||
url?: string;
|
||||
// 广告位ID
|
||||
adId?: number;
|
||||
// 排序(数字越小越靠前)
|
||||
sortNumber?: number;
|
||||
// 备注
|
||||
description?: string;
|
||||
// 状态, 0正常, 1冻结
|
||||
status?: number;
|
||||
// 租户id
|
||||
tenantId?: number;
|
||||
// 创建时间
|
||||
createTime?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 广告图片搜索条件
|
||||
*/
|
||||
export interface CmsAdRecordParam extends PageParam {
|
||||
adRecordId?: number;
|
||||
keywords?: string;
|
||||
}
|
||||
120
app/api/cms/cmsAppConfig/index.ts
Normal file
120
app/api/cms/cmsAppConfig/index.ts
Normal file
@@ -0,0 +1,120 @@
|
||||
import request from '@/utils/request';
|
||||
import type { ApiResult, PageResult } from '@/api';
|
||||
import type { CmsAppConfig, CmsAppConfigParam, BatchSaveRequest } from './model';
|
||||
import {MODULES_API_URL} from '@/config/setting';
|
||||
|
||||
/**
|
||||
* 分页查询应用配置
|
||||
*/
|
||||
export async function pageCmsAppConfig(params: CmsAppConfigParam) {
|
||||
const res = await request.get<ApiResult<PageResult<CmsAppConfig>>>(
|
||||
MODULES_API_URL + '/cms/cms-app-config/page',
|
||||
{
|
||||
params
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取应用配置列表
|
||||
*/
|
||||
export async function listCmsAppConfig(params?: CmsAppConfigParam) {
|
||||
const res = await request.get<ApiResult<CmsAppConfig[]>>(
|
||||
MODULES_API_URL + '/cms/cms-app-config/list',
|
||||
{
|
||||
params
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0 && res.data.data) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据应用ID获取配置映射
|
||||
*/
|
||||
export async function getConfigsMap(productId: number) {
|
||||
const res = await request.get<ApiResult<Record<string, any>>>(
|
||||
MODULES_API_URL + `/cms/cms-app-config/map/${productId}`
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.data || {};
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取单个配置值
|
||||
*/
|
||||
export async function getConfigValue(productId: number, configKey: string) {
|
||||
const res = await request.get<ApiResult<string>>(
|
||||
MODULES_API_URL + '/cms/cms-app-config/value',
|
||||
{
|
||||
params: { productId, configKey }
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存配置
|
||||
*/
|
||||
export async function saveCmsAppConfig(data: CmsAppConfig) {
|
||||
const res = await request.post<ApiResult<void>>(
|
||||
MODULES_API_URL + '/cms/cms-app-config',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量保存配置
|
||||
*/
|
||||
export async function batchSaveCmsAppConfig(data: BatchSaveRequest) {
|
||||
const res = await request.post<ApiResult<void>>(
|
||||
MODULES_API_URL + '/cms/cms-app-config/batch',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新配置
|
||||
*/
|
||||
export async function updateCmsAppConfig(data: CmsAppConfig) {
|
||||
const res = await request.put<ApiResult<void>>(
|
||||
MODULES_API_URL + '/cms/cms-app-config',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除配置
|
||||
*/
|
||||
export async function deleteCmsAppConfig(configId: number) {
|
||||
const res = await request.delete<ApiResult<void>>(
|
||||
MODULES_API_URL + `/cms/cms-app-config/${configId}`
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
66
app/api/cms/cmsAppConfig/model/index.ts
Normal file
66
app/api/cms/cmsAppConfig/model/index.ts
Normal file
@@ -0,0 +1,66 @@
|
||||
import type { PageParam } from '@/api';
|
||||
import type { PageResult } from '@/api';
|
||||
|
||||
/**
|
||||
* 应用配置
|
||||
*/
|
||||
export interface CmsAppConfig {
|
||||
configId?: number;
|
||||
productId?: number;
|
||||
configKey?: string;
|
||||
configValue?: string;
|
||||
configType?: string;
|
||||
isEncrypted?: number;
|
||||
isSecret?: number;
|
||||
description?: string;
|
||||
sortNumber?: number;
|
||||
tenantId?: number;
|
||||
createdTime?: string;
|
||||
updatedTime?: string;
|
||||
deleted?: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* 应用配置查询参数
|
||||
*/
|
||||
export interface CmsAppConfigParam extends PageParam {
|
||||
configId?: number;
|
||||
productId?: number;
|
||||
configKey?: string;
|
||||
configType?: string;
|
||||
isSecret?: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量保存请求
|
||||
*/
|
||||
export interface BatchSaveRequest {
|
||||
productId: number;
|
||||
configs: CmsAppConfig[];
|
||||
}
|
||||
|
||||
/**
|
||||
* 配置类型定义
|
||||
*/
|
||||
export interface ConfigType {
|
||||
key: string;
|
||||
name: string;
|
||||
icon: string;
|
||||
description: string;
|
||||
configs: ConfigField[];
|
||||
}
|
||||
|
||||
/**
|
||||
* 配置字段定义
|
||||
*/
|
||||
export interface ConfigField {
|
||||
key: string;
|
||||
label: string;
|
||||
type: 'input' | 'textarea' | 'number' | 'select' | 'switch' | 'password' | 'json';
|
||||
required?: boolean;
|
||||
placeholder?: string;
|
||||
options?: Array<{ label: string; value: any }>;
|
||||
defaultValue?: any;
|
||||
description?: string;
|
||||
secret?: boolean;
|
||||
}
|
||||
162
app/api/cms/cmsArticle/index.ts
Normal file
162
app/api/cms/cmsArticle/index.ts
Normal file
@@ -0,0 +1,162 @@
|
||||
import request from '@/utils/request';
|
||||
import type {ApiResult, PageResult} from '@/api';
|
||||
import type {CmsArticle, CmsArticleParam} from './model';
|
||||
|
||||
function isSuccess(code?: number) {
|
||||
return code === 0 || code === 200;
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询文章
|
||||
*/
|
||||
export async function pageCmsArticle(params: CmsArticleParam) {
|
||||
const res = await request.get<ApiResult<PageResult<CmsArticle>>>(
|
||||
'/api/cms/cms-article/page',
|
||||
{
|
||||
params
|
||||
}
|
||||
);
|
||||
if (isSuccess(res.data.code)) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询文章列表
|
||||
*/
|
||||
export async function listCmsArticle(params?: CmsArticleParam) {
|
||||
const res = await request.get<ApiResult<CmsArticle[]>>(
|
||||
'/api/cms/cms-article',
|
||||
{
|
||||
params
|
||||
}
|
||||
);
|
||||
if (isSuccess(res.data.code) && res.data.data) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加文章
|
||||
*/
|
||||
export async function addCmsArticle(data: CmsArticle) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
'/api/cms/cms-article',
|
||||
data
|
||||
);
|
||||
if (isSuccess(res.data.code)) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改文章
|
||||
*/
|
||||
export async function updateCmsArticle(data: CmsArticle) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
'/api/cms/cms-article',
|
||||
data
|
||||
);
|
||||
if (isSuccess(res.data.code)) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量修改文章
|
||||
*/
|
||||
export async function updateBatchCmsArticle(data: any) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
'/api/cms/cms-article/batch',
|
||||
data
|
||||
);
|
||||
if (isSuccess(res.data.code)) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除文章
|
||||
*/
|
||||
export async function removeCmsArticle(id?: number) {
|
||||
const res = await request.delete<ApiResult<unknown>>(
|
||||
'/api/cms/cms-article/' + id
|
||||
);
|
||||
if (isSuccess(res.data.code)) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除文章
|
||||
*/
|
||||
export async function removeBatchCmsArticle(data: (number | undefined)[]) {
|
||||
const res = await request.delete<ApiResult<unknown>>(
|
||||
'/api/cms/cms-article/batch',
|
||||
{
|
||||
data
|
||||
}
|
||||
);
|
||||
if (isSuccess(res.data.code)) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询文章
|
||||
*/
|
||||
export async function getCmsArticle(id: number) {
|
||||
const res = await request.get<ApiResult<CmsArticle>>(
|
||||
'/api/cms/cms-article/' + id
|
||||
);
|
||||
if (isSuccess(res.data.code) && res.data.data) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据code查询文章
|
||||
*/
|
||||
export async function getByCode(code: string) {
|
||||
const res = await request.get<ApiResult<CmsArticle>>(
|
||||
'/api/cms/cms-article/getByCode/' + code
|
||||
);
|
||||
if (isSuccess(res.data.code) && res.data.data) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
export async function getCount(params: CmsArticleParam) {
|
||||
const res = await request.get('/api/cms/cms-article/data', {
|
||||
params
|
||||
});
|
||||
if (isSuccess(res.data.code)) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 文章批量导入
|
||||
*/
|
||||
export async function importArticles(file: File) {
|
||||
const formData = new FormData();
|
||||
formData.append('file', file);
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
'/api/cms/cms-article/import',
|
||||
formData
|
||||
);
|
||||
if (isSuccess(res.data.code)) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
133
app/api/cms/cmsArticle/model/index.ts
Normal file
133
app/api/cms/cmsArticle/model/index.ts
Normal file
@@ -0,0 +1,133 @@
|
||||
import type { PageParam } from '@/api';
|
||||
|
||||
/**
|
||||
* 文章
|
||||
*/
|
||||
export interface CmsArticle {
|
||||
// 文章ID
|
||||
articleId?: number;
|
||||
// 文章标题
|
||||
title?: string;
|
||||
// 文章类型 0常规 1视频
|
||||
type?: number;
|
||||
// 文章模型
|
||||
model?: string;
|
||||
// 文章编号
|
||||
code?: string;
|
||||
// 文章详情
|
||||
detail?: string;
|
||||
// 列表显示方式(10小图展示 20大图展示)
|
||||
showType?: number;
|
||||
// 话题
|
||||
topic?: string;
|
||||
// 标签
|
||||
tags?: any;
|
||||
// 父级ID
|
||||
parentId?: number;
|
||||
parentName?: string;
|
||||
// 栏目ID
|
||||
categoryId?: number;
|
||||
// 栏目名称
|
||||
categoryName?: string;
|
||||
// 封面图
|
||||
image?: string;
|
||||
// 来源
|
||||
source?: string;
|
||||
// 摘要
|
||||
overview?: string;
|
||||
// 虚拟阅读量(仅用作展示)
|
||||
virtualViews?: number;
|
||||
// 实际阅读量
|
||||
actualViews?: number;
|
||||
// 浏览权限(0公开 1会员 2密码)
|
||||
permission?: number;
|
||||
// 访问密码
|
||||
password?: string;
|
||||
// 确认密码
|
||||
password2?: string;
|
||||
// 发布来源客户端 (APP、H5、小程序等)
|
||||
platform?: string;
|
||||
// 文章附件
|
||||
files?: string;
|
||||
// 视频地址
|
||||
video?: string;
|
||||
// 接受的文件类型
|
||||
accept?: string;
|
||||
// 经度
|
||||
longitude?: string;
|
||||
// 纬度
|
||||
latitude?: string;
|
||||
// 所在省份
|
||||
province?: string;
|
||||
// 所在城市
|
||||
city?: string;
|
||||
// 所在辖区
|
||||
region?: string;
|
||||
// 街道地址
|
||||
address?: string;
|
||||
// 点赞数
|
||||
likes?: number;
|
||||
// 评论数
|
||||
commentNumbers?: number;
|
||||
// 提醒谁看
|
||||
toUsers?: string;
|
||||
// 文章内容
|
||||
content?: string;
|
||||
// 编辑器类型
|
||||
editor?: number;
|
||||
// PDF地址
|
||||
pdfUrl?: string;
|
||||
// 用户ID
|
||||
userId?: number;
|
||||
// 商户ID
|
||||
merchantId?: number;
|
||||
// 作者
|
||||
author?: string;
|
||||
// 语言
|
||||
lang?: string;
|
||||
// 是否推荐
|
||||
recommend?: number;
|
||||
// 是否同步翻译其他语言版本
|
||||
translation?: boolean;
|
||||
// 排序(数字越小越靠前)
|
||||
sortNumber?: number;
|
||||
// 备注
|
||||
description?: string;
|
||||
// 状态, 0已发布, 1待审核 2已驳回 3违规内容
|
||||
status?: number;
|
||||
// 状态描述
|
||||
statusText?: string;
|
||||
// 是否删除, 0否, 1是
|
||||
deleted?: number;
|
||||
// 租户id
|
||||
tenantId?: number;
|
||||
// 创建时间
|
||||
createTime?: string;
|
||||
// 修改时间
|
||||
updateTime?: string;
|
||||
// 是否移动端
|
||||
isMobile?: boolean;
|
||||
// 二维码
|
||||
qrcode?: string;
|
||||
// 文章路径
|
||||
url?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 文章搜索条件
|
||||
*/
|
||||
export interface CmsArticleParam extends PageParam {
|
||||
articleId?: number;
|
||||
model?: string;
|
||||
status?: number;
|
||||
categoryId?: number;
|
||||
recommend?: number;
|
||||
keywords?: string;
|
||||
}
|
||||
|
||||
export interface CmsArticleCount {
|
||||
totalNum?: number;
|
||||
totalNum2?: number;
|
||||
totalNum3?: number;
|
||||
totalNum4?: number;
|
||||
}
|
||||
112
app/api/cms/cmsArticleCategory/index.ts
Normal file
112
app/api/cms/cmsArticleCategory/index.ts
Normal file
@@ -0,0 +1,112 @@
|
||||
import request from '@/utils/request';
|
||||
import type { ApiResult, PageResult } from '@/api';
|
||||
import type { CmsArticleCategory, CmsArticleCategoryParam } from './model';
|
||||
import { MODULES_API_URL } from '@/config/setting';
|
||||
|
||||
function isSuccess(code?: number) {
|
||||
return code === 0 || code === 200;
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询文章分类表
|
||||
*/
|
||||
export async function pageCmsArticleCategory(params: CmsArticleCategoryParam) {
|
||||
const res = await request.get<ApiResult<PageResult<CmsArticleCategory>>>(
|
||||
MODULES_API_URL + '/cms/cms-article-category/page',
|
||||
{
|
||||
params
|
||||
}
|
||||
);
|
||||
if (isSuccess(res.data.code)) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询文章分类表列表
|
||||
*/
|
||||
export async function listCmsArticleCategory(params?: CmsArticleCategoryParam) {
|
||||
const res = await request.get<ApiResult<CmsArticleCategory[]>>(
|
||||
MODULES_API_URL + '/cms/cms-article-category',
|
||||
{
|
||||
params
|
||||
}
|
||||
);
|
||||
if (isSuccess(res.data.code) && res.data.data) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加文章分类表
|
||||
*/
|
||||
export async function addCmsArticleCategory(data: CmsArticleCategory) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
MODULES_API_URL + '/cms/cms-article-category',
|
||||
data
|
||||
);
|
||||
if (isSuccess(res.data.code)) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改文章分类表
|
||||
*/
|
||||
export async function updateCmsArticleCategory(data: CmsArticleCategory) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
MODULES_API_URL + '/cms/cms-article-category',
|
||||
data
|
||||
);
|
||||
if (isSuccess(res.data.code)) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除文章分类表
|
||||
*/
|
||||
export async function removeCmsArticleCategory(id?: number) {
|
||||
const res = await request.delete<ApiResult<unknown>>(
|
||||
MODULES_API_URL + '/cms/cms-article-category/' + id
|
||||
);
|
||||
if (isSuccess(res.data.code)) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除文章分类表
|
||||
*/
|
||||
export async function removeBatchCmsArticleCategory(
|
||||
data: (number | undefined)[]
|
||||
) {
|
||||
const res = await request.delete<ApiResult<unknown>>(
|
||||
MODULES_API_URL + '/cms/cms-article-category/batch',
|
||||
{
|
||||
data
|
||||
}
|
||||
);
|
||||
if (isSuccess(res.data.code)) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询文章分类表
|
||||
*/
|
||||
export async function getCmsArticleCategory(id: number) {
|
||||
const res = await request.get<ApiResult<CmsArticleCategory>>(
|
||||
MODULES_API_URL + '/cms/cms-article-category/' + id
|
||||
);
|
||||
if (isSuccess(res.data.code) && res.data.data) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
60
app/api/cms/cmsArticleCategory/model/index.ts
Normal file
60
app/api/cms/cmsArticleCategory/model/index.ts
Normal file
@@ -0,0 +1,60 @@
|
||||
import type { PageParam } from '@/api';
|
||||
|
||||
/**
|
||||
* 文章分类表
|
||||
*/
|
||||
export interface CmsArticleCategory {
|
||||
// 文章分类ID
|
||||
categoryId?: number;
|
||||
// 分类标识
|
||||
categoryCode?: string;
|
||||
// 分类名称
|
||||
title?: string;
|
||||
// 类型 0列表 1单页 2外链
|
||||
type?: number;
|
||||
// 分类图片
|
||||
image?: string;
|
||||
// 上级分类ID
|
||||
parentId?: number;
|
||||
// 路由/链接地址
|
||||
path?: string;
|
||||
// 组件路径
|
||||
component?: string;
|
||||
// 绑定的页面
|
||||
pageId?: number;
|
||||
// 用户ID
|
||||
userId?: number;
|
||||
// 文章数量
|
||||
count?: number;
|
||||
// 排序(数字越小越靠前)
|
||||
sortNumber?: number;
|
||||
// 备注
|
||||
description?: string;
|
||||
// 是否隐藏, 0否, 1是(仅注册路由不显示在左侧菜单)
|
||||
hide?: number;
|
||||
// 是否推荐
|
||||
recommend?: number;
|
||||
// 是否显示在首页
|
||||
showIndex?: number;
|
||||
// 状态, 0正常, 1禁用
|
||||
status?: number;
|
||||
// 是否删除, 0否, 1是
|
||||
deleted?: number;
|
||||
// 租户id
|
||||
tenantId?: number;
|
||||
// 创建时间
|
||||
createTime?: string;
|
||||
// 修改时间
|
||||
updateTime?: string;
|
||||
value?: number;
|
||||
label?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 文章分类表搜索条件
|
||||
*/
|
||||
export interface CmsArticleCategoryParam extends PageParam {
|
||||
categoryId?: number;
|
||||
status?: number;
|
||||
keywords?: string;
|
||||
}
|
||||
106
app/api/cms/cmsArticleComment/index.ts
Normal file
106
app/api/cms/cmsArticleComment/index.ts
Normal file
@@ -0,0 +1,106 @@
|
||||
import request from '@/utils/request';
|
||||
import type { ApiResult, PageResult } from '@/api';
|
||||
import type { CmsArticleComment, CmsArticleCommentParam } from './model';
|
||||
import { MODULES_API_URL } from '@/config/setting';
|
||||
|
||||
/**
|
||||
* 分页查询文章评论表
|
||||
*/
|
||||
export async function pageCmsArticleComment(params: CmsArticleCommentParam) {
|
||||
const res = await request.get<ApiResult<PageResult<CmsArticleComment>>>(
|
||||
MODULES_API_URL + '/cms/cms-article-comment/page',
|
||||
{
|
||||
params
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询文章评论表列表
|
||||
*/
|
||||
export async function listCmsArticleComment(params?: CmsArticleCommentParam) {
|
||||
const res = await request.get<ApiResult<CmsArticleComment[]>>(
|
||||
MODULES_API_URL + '/cms/cms-article-comment',
|
||||
{
|
||||
params
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0 && res.data.data) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加文章评论表
|
||||
*/
|
||||
export async function addCmsArticleComment(data: CmsArticleComment) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
MODULES_API_URL + '/cms/cms-article-comment',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改文章评论表
|
||||
*/
|
||||
export async function updateCmsArticleComment(data: CmsArticleComment) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
MODULES_API_URL + '/cms/cms-article-comment',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除文章评论表
|
||||
*/
|
||||
export async function removeCmsArticleComment(id?: number) {
|
||||
const res = await request.delete<ApiResult<unknown>>(
|
||||
MODULES_API_URL + '/cms/cms-article-comment/' + id
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除文章评论表
|
||||
*/
|
||||
export async function removeBatchCmsArticleComment(data: (number | undefined)[]) {
|
||||
const res = await request.delete<ApiResult<unknown>>(
|
||||
MODULES_API_URL + '/cms/cms-article-comment/batch',
|
||||
{
|
||||
data
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询文章评论表
|
||||
*/
|
||||
export async function getCmsArticleComment(id: number) {
|
||||
const res = await request.get<ApiResult<CmsArticleComment>>(
|
||||
MODULES_API_URL + '/cms/cms-article-comment/' + id
|
||||
);
|
||||
if (res.data.code === 0 && res.data.data) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
47
app/api/cms/cmsArticleComment/model/index.ts
Normal file
47
app/api/cms/cmsArticleComment/model/index.ts
Normal file
@@ -0,0 +1,47 @@
|
||||
import type { PageParam } from '@/api';
|
||||
|
||||
/**
|
||||
* 文章评论表
|
||||
*/
|
||||
export interface CmsArticleComment {
|
||||
// 评价ID
|
||||
commentId?: number;
|
||||
// 文章ID
|
||||
articleId?: number;
|
||||
// 评分 (10好评 20中评 30差评)
|
||||
score?: number;
|
||||
// 评价内容
|
||||
content?: string;
|
||||
// 是否为图片评价
|
||||
isPicture?: number;
|
||||
// 评论者ID
|
||||
userId?: number;
|
||||
// 被评价者ID
|
||||
toUserId?: number;
|
||||
// 回复的评论ID
|
||||
replyCommentId?: number;
|
||||
// 回复者ID
|
||||
replyUserId?: number;
|
||||
// 排序(数字越小越靠前)
|
||||
sortNumber?: number;
|
||||
// 备注
|
||||
description?: string;
|
||||
// 状态, 0未读, 1已读
|
||||
status?: number;
|
||||
// 是否删除, 0否, 1是
|
||||
deleted?: number;
|
||||
// 租户id
|
||||
tenantId?: number;
|
||||
// 创建时间
|
||||
createTime?: string;
|
||||
// 修改时间
|
||||
updateTime?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 文章评论表搜索条件
|
||||
*/
|
||||
export interface CmsArticleCommentParam extends PageParam {
|
||||
commentId?: number;
|
||||
keywords?: string;
|
||||
}
|
||||
106
app/api/cms/cmsArticleContent/index.ts
Normal file
106
app/api/cms/cmsArticleContent/index.ts
Normal file
@@ -0,0 +1,106 @@
|
||||
import request from '@/utils/request';
|
||||
import type { ApiResult, PageResult } from '@/api';
|
||||
import type { CmsArticleContent, CmsArticleContentParam } from './model';
|
||||
import { MODULES_API_URL } from '@/config/setting';
|
||||
|
||||
/**
|
||||
* 分页查询文章记录表
|
||||
*/
|
||||
export async function pageCmsArticleContent(params: CmsArticleContentParam) {
|
||||
const res = await request.get<ApiResult<PageResult<CmsArticleContent>>>(
|
||||
MODULES_API_URL + '/cms/cms-article-content/page',
|
||||
{
|
||||
params
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询文章记录表列表
|
||||
*/
|
||||
export async function listCmsArticleContent(params?: CmsArticleContentParam) {
|
||||
const res = await request.get<ApiResult<CmsArticleContent[]>>(
|
||||
MODULES_API_URL + '/cms/cms-article-content',
|
||||
{
|
||||
params
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0 && res.data.data) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加文章记录表
|
||||
*/
|
||||
export async function addCmsArticleContent(data: CmsArticleContent) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
MODULES_API_URL + '/cms/cms-article-content',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改文章记录表
|
||||
*/
|
||||
export async function updateCmsArticleContent(data: CmsArticleContent) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
MODULES_API_URL + '/cms/cms-article-content',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除文章记录表
|
||||
*/
|
||||
export async function removeCmsArticleContent(id?: number) {
|
||||
const res = await request.delete<ApiResult<unknown>>(
|
||||
MODULES_API_URL + '/cms/cms-article-content/' + id
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除文章记录表
|
||||
*/
|
||||
export async function removeBatchCmsArticleContent(data: (number | undefined)[]) {
|
||||
const res = await request.delete<ApiResult<unknown>>(
|
||||
MODULES_API_URL + '/cms/cms-article-content/batch',
|
||||
{
|
||||
data
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询文章记录表
|
||||
*/
|
||||
export async function getCmsArticleContent(id: number) {
|
||||
const res = await request.get<ApiResult<CmsArticleContent>>(
|
||||
MODULES_API_URL + '/cms/cms-article-content/' + id
|
||||
);
|
||||
if (res.data.code === 0 && res.data.data) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
25
app/api/cms/cmsArticleContent/model/index.ts
Normal file
25
app/api/cms/cmsArticleContent/model/index.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import type { PageParam } from '@/api';
|
||||
|
||||
/**
|
||||
* 文章记录表
|
||||
*/
|
||||
export interface CmsArticleContent {
|
||||
//
|
||||
id?: number;
|
||||
// 文章ID
|
||||
articleId?: number;
|
||||
// 文章内容
|
||||
content?: string;
|
||||
// 租户id
|
||||
tenantId?: number;
|
||||
// 创建时间
|
||||
createTime?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 文章记录表搜索条件
|
||||
*/
|
||||
export interface CmsArticleContentParam extends PageParam {
|
||||
id?: number;
|
||||
keywords?: string;
|
||||
}
|
||||
106
app/api/cms/cmsArticleCount/index.ts
Normal file
106
app/api/cms/cmsArticleCount/index.ts
Normal file
@@ -0,0 +1,106 @@
|
||||
import request from '@/utils/request';
|
||||
import type { ApiResult, PageResult } from '@/api';
|
||||
import type { CmsArticleCount, CmsArticleCountParam } from './model';
|
||||
import { MODULES_API_URL } from '@/config/setting';
|
||||
|
||||
/**
|
||||
* 分页查询点赞文章
|
||||
*/
|
||||
export async function pageCmsArticleCount(params: CmsArticleCountParam) {
|
||||
const res = await request.get<ApiResult<PageResult<CmsArticleCount>>>(
|
||||
MODULES_API_URL + '/cms/cms-article-count/page',
|
||||
{
|
||||
params
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询点赞文章列表
|
||||
*/
|
||||
export async function listCmsArticleCount(params?: CmsArticleCountParam) {
|
||||
const res = await request.get<ApiResult<CmsArticleCount[]>>(
|
||||
MODULES_API_URL + '/cms/cms-article-count',
|
||||
{
|
||||
params
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0 && res.data.data) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加点赞文章
|
||||
*/
|
||||
export async function addCmsArticleCount(data: CmsArticleCount) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
MODULES_API_URL + '/cms/cms-article-count',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改点赞文章
|
||||
*/
|
||||
export async function updateCmsArticleCount(data: CmsArticleCount) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
MODULES_API_URL + '/cms/cms-article-count',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除点赞文章
|
||||
*/
|
||||
export async function removeCmsArticleCount(id?: number) {
|
||||
const res = await request.delete<ApiResult<unknown>>(
|
||||
MODULES_API_URL + '/cms/cms-article-count/' + id
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除点赞文章
|
||||
*/
|
||||
export async function removeBatchCmsArticleCount(data: (number | undefined)[]) {
|
||||
const res = await request.delete<ApiResult<unknown>>(
|
||||
MODULES_API_URL + '/cms/cms-article-count/batch',
|
||||
{
|
||||
data
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询点赞文章
|
||||
*/
|
||||
export async function getCmsArticleCount(id: number) {
|
||||
const res = await request.get<ApiResult<CmsArticleCount>>(
|
||||
MODULES_API_URL + '/cms/cms-article-count/' + id
|
||||
);
|
||||
if (res.data.code === 0 && res.data.data) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user