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

@@ -10,7 +10,7 @@ export const useSettingsStore = defineStore('settings', () => {
siteIconData: '',
updatedAt: null
})
const loading = ref(false)
const saving = ref(false)
@@ -21,14 +21,14 @@ export const useSettingsStore = defineStore('settings', () => {
loading.value = true
try {
const result = await apiClient.get('/admin/oem-settings')
if (result && result.success) {
oemSettings.value = { ...oemSettings.value, ...result.data }
// 应用设置到页面
applyOemSettings()
}
return result
} catch (error) {
console.error('Failed to load OEM settings:', error)
@@ -45,7 +45,7 @@ export const useSettingsStore = defineStore('settings', () => {
if (result && result.success) {
oemSettings.value = { ...oemSettings.value, ...result.data }
// 应用设置到页面
applyOemSettings()
}
@@ -66,7 +66,7 @@ export const useSettingsStore = defineStore('settings', () => {
siteIconData: '',
updatedAt: null
}
oemSettings.value = { ...defaultSettings }
return await saveOemSettings(defaultSettings)
}
@@ -77,7 +77,7 @@ export const useSettingsStore = defineStore('settings', () => {
if (oemSettings.value.siteName) {
document.title = `${oemSettings.value.siteName} - 管理后台`
}
// 更新favicon
if (oemSettings.value.siteIconData || oemSettings.value.siteIcon) {
const favicon = document.querySelector('link[rel="icon"]') || document.createElement('link')
@@ -105,18 +105,18 @@ export const useSettingsStore = defineStore('settings', () => {
// 验证文件上传
const validateIconFile = (file) => {
const errors = []
// 检查文件大小 (350KB)
if (file.size > 350 * 1024) {
errors.push('图标文件大小不能超过 350KB')
}
// 检查文件类型
const allowedTypes = ['image/x-icon', 'image/png', 'image/jpeg', 'image/jpg', 'image/svg+xml']
if (!allowedTypes.includes(file.type)) {
errors.push('不支持的文件类型,请选择 .ico, .png, .jpg 或 .svg 文件')
}
return {
isValid: errors.length === 0,
errors
@@ -138,7 +138,7 @@ export const useSettingsStore = defineStore('settings', () => {
oemSettings,
loading,
saving,
// Actions
loadOemSettings,
saveOemSettings,
@@ -148,4 +148,4 @@ export const useSettingsStore = defineStore('settings', () => {
validateIconFile,
fileToBase64
}
})
})