Files
easygoadmin-wiki/EasyGoAdmin_GoFrame_NaiveVue/zh/frontend/i18n.md
T
2026-10-20 21:53:26 +08:00

68 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 9.17 枚举与全局设置
:::tip 概述
本项目前端不引入 i18n(当前仅简体中文)。与"全局常量与设置"对应的体系是:enums/ 枚举常量 + settings/ 全局设置 + store/mutation-types 存储键。本节说明三者的组织与使用。
:::
## enums/ 枚举常量
| 文件 | 内容 |
|------|------|
| httpEnum.ts | RequestEnum(GET/POST…)、ResultEnum(SUCCESS=0/ERROR=1…)、ContentTypeEnum |
| pageEnum.ts | PageEnum(BASE_LOGIN 等页面路径常量) |
| cacheEnum.ts | 缓存键常量 |
| permissionsEnum.ts | 权限相关常量(如通配权限 `*:*:*`) |
| roleEnum.ts | 角色常量(ROLE_SUPER_ADMIN 等) |
| avatarEnum.ts / breakpointEnum.ts | 头像/断点枚举 |
```ts
// 使用模式
import { ResultEnum } from '@/enums/httpEnum';
if (code === ResultEnum.SUCCESS) { ... }
import { ACCESS_TOKEN } from '@/store/mutation-types';
```
前后端枚举对照:后端 consts(biz_err/log_type 等)定义真值,前端 enums 定义消费侧镜像——后端改枚举值须同步前端(破坏性变更流程)。
## settings/ 全局设置
| 文件 | 内容 | 消费方 |
|------|------|--------|
| projectSetting.ts | 布局模式/标签页/面包屑/水印等项目级设置 | layout |
| designSetting.ts | 主题色/暗黑/灰度/宽度等设计设置 | styles/主题 |
| componentSetting.ts | 分页 sizes 等组件默认 | components |
| animateSetting.ts | 页面动画 | layout/路由切换 |
设置经 Pinia store 持久化(用户偏好跨会话),部分可在系统设置页在线调整。
## store/mutation-types(存储键)
```text
ACCESS_TOKEN 令牌存储键
FIRST_ROUTE 首个路由标记
统一在 mutation-types.ts 定义——禁止散落魔法字符串
```
## 为什么不用 i18n
```text
当前版本仅服务简体中文场景:
* 后端 msg/字典文案均为中文
* 引入 vue-i18n 会带来文案键管理成本(25 表 + 字典 + 错误码全量翻译)
国际化演进方向(如需要):
1) 字典层天然支持多语言(dict_item 加 lang 维度或平行字典)
2) 前端引入 vue-i18n,UI 文案抽 key
3) 后端错误 msg 语义码化(前端按码翻译)
——属于大版本演进,当前文档不展开
```
## 使用规约
+ 常量优先放 enums/(跨页复用);仅页内用的常量放页内
+ 后端枚举(log_type 41 值等)前端按值映射显示(映射表放 enums 或页内)
+ 存储键统一 mutation-types(防拼写漂移)
+ 设置项修改经 store action(勿直接改 settings 常量对象——它是默认值不是状态)
+ 万能权限 `*:*:*` 用 permissionsEnum 常量,勿硬编码字符串散落