初始化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