Skip to content

9.18 Hooks 与枚举 ​

概述

hooks/ 按 core/event/setting/web 分组沉淀组合式逻辑;enums/ 定义前端常量枚举。两者都是"写一次、处处引用"的基础设施。

Hooks 分组 ​

分组代表职责
webusePermission权限判定(v-if 场景,9.7)
coreuse-async异步状态管理(loading/error 包装)
event事件类 hooks监听与派发
settingdesignSetting 相关主题/布局参数读写
根目录useTime / useOnline / useBattery / useDomWidth时间、网络状态、电量、宽度监听

枚举清单(enums/) ​

文件枚举内容
httpEnum.tsHTTP 相关常量(结果类型、超时)
permissionsEnum.ts权限相关常量
roleEnum.ts角色常量
pageEnum.ts页面路径常量(BASE_LOGIN 等,守卫引用)
cacheEnum.ts缓存键常量
breakpointEnum.ts响应式断点
avatarEnum.ts头像相关

使用示例 ​

typescript
import { usePermission } from '@/hooks/web/usePermission';
import { PageEnum } from '@/enums/pageEnum';

const { hasPermission } = usePermission();
const loginPath = PageEnum.BASE_LOGIN;

编写新 hook 的规约 ​

  • 文件名 use-*.ts(kebab),导出同名函数
  • 纯组合式:内部用 ref/computed/watch,不依赖组件实例才能运行的 API(或显式在 setup 调用)
  • 通用才抽:两个以上页面用到再沉淀,单页面逻辑留页面内

枚举编写规约 ​

  • as const + 类型导出,避免 any
  • 键名大写下划线,值按语义(字符串枚举为主)
  • 与后端常量对齐的值(如权限通配码)注明来源,防两端漂移

相关 ​

小蚂蚁云团队 · 提供技术支持