feat: 适配5.x后端,重构前端架构

主要变更:
1. 重构API目录结构,采用模块化设计,适配5.x后端接口规范
2. 优化布局组件,提升用户界面体验
3. 增强国际化支持,完善多语言配置
4. 新增权限控制功能,支持前端路由权限管理
5. 优化认证流程,支持JWT认证机制
6. 新增中间件和插件,提升系统扩展性
7. 优化状态管理,采用更清晰的模块化设计
8. 新增搜索框、广告等组件,丰富页面功能
9. 更改包管理工具从npm到pnpm,提升依赖管理效率
10. 完善配置系统,支持多环境配置

适配5.x后端特性:
- 采用新的API接口规范
- 支持JWT认证机制
- 适配后端权限控制体系
- 支持后端国际化接口
- 优化数据交互方式
This commit is contained in:
Mr.April
2026-04-07 11:01:11 +08:00
parent 1b83f1890b
commit d84d972e73
127 changed files with 103052 additions and 14661 deletions
+29 -4
View File
@@ -1,24 +1,49 @@
import { useCookie } from 'nuxt/app'
import { ISDARK } from '~/stores/constant/keys'
export function getDark() {
try {
const dark = useCookie(ISDARK)
return dark.value && parseInt(dark.value) ? true : false
} catch (error) {
// 在 SSR 环境中可能会出错,返回默认值 false
return false
}
}
export function setDark(val: boolean) {
try {
const dark = useCookie(ISDARK)
dark.value = val ? '1' : '0'
updateHtmlDarkClass(val)
} catch (error) {
// 在 SSR 环境中可能会出错,忽略
}
}
export function updateHtmlDarkClass(val: boolean) {
if (import.meta.server) return
if (import.meta.server) return
try {
const htmlEl = document.getElementsByTagName('html')[0]
htmlEl.setAttribute('class', val ? 'dark' : '')
// 使用 classList.toggle 避免覆盖其他 class
if (val) {
htmlEl.classList.add('dark')
} else {
htmlEl.classList.remove('dark')
}
} catch (error) {
// 忽略错误
}
}
export function initDark() {
updateHtmlDarkClass(getDark())
try {
const isDark = getDark()
updateHtmlDarkClass(isDark)
return isDark
} catch (error) {
// 在 SSR 环境中可能会出错,返回默认值 false
return false
}
}
if (import.meta.client) initDark()