refactor: standardize code formatting and linting configuration

- Replace .eslintrc.js with .eslintrc.cjs for better ES module compatibility
- Add .prettierrc configuration for consistent code formatting
- Update package.json with new lint and format scripts
- Add nodemon.json for development hot reloading configuration
- Standardize code formatting across all JavaScript and Vue files
- Update web admin SPA with improved linting rules and formatting
- Add prettier configuration to web admin SPA

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
千羽
2025-08-07 18:19:31 +09:00
parent 4a0eba117c
commit 8a74bf5afe
124 changed files with 20878 additions and 18757 deletions

View File

@@ -1,45 +1,35 @@
<template>
<div class="flex items-center gap-4">
<!-- Logo区域 -->
<div class="w-12 h-12 bg-gradient-to-br from-blue-500/20 to-purple-500/20 border border-gray-300/30 rounded-xl flex items-center justify-center backdrop-blur-sm flex-shrink-0 overflow-hidden">
<div
class="flex h-12 w-12 flex-shrink-0 items-center justify-center overflow-hidden rounded-xl border border-gray-300/30 bg-gradient-to-br from-blue-500/20 to-purple-500/20 backdrop-blur-sm"
>
<template v-if="!loading">
<img
v-if="logoSrc"
:src="logoSrc"
v-if="logoSrc"
alt="Logo"
class="w-8 h-8 object-contain"
class="h-8 w-8 object-contain"
:src="logoSrc"
@error="handleLogoError"
>
<i
v-else
class="fas fa-cloud text-xl text-gray-700"
/>
<i v-else class="fas fa-cloud text-xl text-gray-700" />
</template>
<div
v-else
class="w-8 h-8 bg-gray-300/50 rounded animate-pulse"
/>
<div v-else class="h-8 w-8 animate-pulse rounded bg-gray-300/50" />
</div>
<!-- 标题区域 -->
<div class="flex flex-col justify-center min-h-[48px]">
<div class="flex min-h-[48px] flex-col justify-center">
<div class="flex items-center gap-3">
<template v-if="!loading && title">
<h1 :class="['text-2xl font-bold header-title leading-tight', titleClass]">
<h1 :class="['header-title text-2xl font-bold leading-tight', titleClass]">
{{ title }}
</h1>
</template>
<div
v-else-if="loading"
class="h-8 w-64 bg-gray-300/50 rounded animate-pulse"
/>
<div v-else-if="loading" class="h-8 w-64 animate-pulse rounded bg-gray-300/50" />
<!-- 插槽用于版本信息等额外内容 -->
<slot name="after-title" />
</div>
<p
v-if="subtitle"
class="text-gray-600 text-sm leading-tight mt-0.5"
>
<p v-if="subtitle" class="mt-0.5 text-sm leading-tight text-gray-600">
{{ subtitle }}
</p>
</div>
@@ -98,4 +88,4 @@ const handleLogoError = (e) => {
.header-title {
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
</style>
</style>