Initial commit: OneOS frontend based on yudao-ui-admin-vben
Some checks failed
CI / Test (ubuntu-latest) (push) Has been cancelled
CI / Test (windows-latest) (push) Has been cancelled
CI / Lint (ubuntu-latest) (push) Has been cancelled
CI / Lint (windows-latest) (push) Has been cancelled
CI / Check (ubuntu-latest) (push) Has been cancelled
CI / Check (windows-latest) (push) Has been cancelled
CI / CI OK (push) Has been cancelled
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
Deploy Website on push / Deploy Push Playground Ftp (push) Has been cancelled
Deploy Website on push / Deploy Push Docs Ftp (push) Has been cancelled
Deploy Website on push / Deploy Push Antd Ftp (push) Has been cancelled
Deploy Website on push / Deploy Push Element Ftp (push) Has been cancelled
Deploy Website on push / Deploy Push Naive Ftp (push) Has been cancelled
Deploy Website on push / Rerun on failure (push) Has been cancelled
Release Drafter / update_release_draft (push) Has been cancelled

This commit is contained in:
k kfluous
2026-03-11 22:18:23 +08:00
commit 2650d1cdf0
5166 changed files with 641242 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
# @vben/constants
用于多个 `app` 公用的常量,继承了 `@vben-core/shared/constants` 的所有能力。业务上有通用常量可以放在这里。
## 用法
### 添加依赖
```bash
# 进入目标应用目录,例如 apps/xxxx-app
# cd apps/xxxx-app
pnpm add @vben/constants
```
### 使用
```ts
import { LOGIN_PATH } from '@vben/constants';
```

View File

@@ -0,0 +1,25 @@
{
"name": "@vben/constants",
"version": "5.6.0",
"homepage": "https://github.com/vbenjs/vue-vben-admin",
"bugs": "https://github.com/vbenjs/vue-vben-admin/issues",
"repository": {
"type": "git",
"url": "git+https://github.com/vbenjs/vue-vben-admin.git",
"directory": "packages/constants"
},
"license": "MIT",
"type": "module",
"sideEffects": [
"**/*.css"
],
"exports": {
".": {
"types": "./src/index.ts",
"default": "./src/index.ts"
}
},
"dependencies": {
"@vben-core/shared": "workspace:*"
}
}

View File

@@ -0,0 +1,453 @@
/**
* AI 平台的枚举
*/
export const AiPlatformEnum = {
TONG_YI: 'TongYi', // 阿里
YI_YAN: 'YiYan', // 百度
DEEP_SEEK: 'DeepSeek', // DeepSeek
ZHI_PU: 'ZhiPu', // 智谱 AI
XING_HUO: 'XingHuo', // 讯飞
SiliconFlow: 'SiliconFlow', // 硅基流动
OPENAI: 'OpenAI',
Ollama: 'Ollama',
STABLE_DIFFUSION: 'StableDiffusion', // Stability AI
MIDJOURNEY: 'Midjourney', // Midjourney
SUNO: 'Suno', // Suno AI
};
export const AiModelTypeEnum = {
CHAT: 1, // 聊天
IMAGE: 2, // 图像
VOICE: 3, // 音频
VIDEO: 4, // 视频
EMBEDDING: 5, // 向量
RERANK: 6, // 重排
};
export interface ImageModel {
image?: string;
key: string;
name: string;
}
export const OtherPlatformEnum: ImageModel[] = [
{
key: AiPlatformEnum.TONG_YI,
name: '通义万相',
},
{
key: AiPlatformEnum.YI_YAN,
name: '百度千帆',
},
{
key: AiPlatformEnum.ZHI_PU,
name: '智谱 AI',
},
{
key: AiPlatformEnum.SiliconFlow,
name: '硅基流动',
},
];
/**
* AI 图像生成状态的枚举
*/
export const AiImageStatusEnum = {
IN_PROGRESS: 10, // 进行中
SUCCESS: 20, // 已完成
FAIL: 30, // 已失败
};
/**
* AI 音乐生成状态的枚举
*/
export const AiMusicStatusEnum = {
IN_PROGRESS: 10, // 进行中
SUCCESS: 20, // 已完成
FAIL: 30, // 已失败
};
/**
* AI 写作类型的枚举
*/
export enum AiWriteTypeEnum {
WRITING = 1, // 撰写
REPLY, // 回复
}
// ========== 【图片 UI】相关的枚举 ==========
export const ImageHotWords = [
'中国旗袍',
'古装美女',
'卡通头像',
'机甲战士',
'童话小屋',
'中国长城',
]; // 图片热词
export const ImageHotEnglishWords = [
'Chinese Cheongsam',
'Ancient Beauty',
'Cartoon Avatar',
'Mech Warrior',
'Fairy Tale Cottage',
'The Great Wall of China',
]; // 图片热词(英文)
export const StableDiffusionSamplers: ImageModel[] = [
{
key: 'DDIM',
name: 'DDIM',
},
{
key: 'DDPM',
name: 'DDPM',
},
{
key: 'K_DPMPP_2M',
name: 'K_DPMPP_2M',
},
{
key: 'K_DPMPP_2S_ANCESTRAL',
name: 'K_DPMPP_2S_ANCESTRAL',
},
{
key: 'K_DPM_2',
name: 'K_DPM_2',
},
{
key: 'K_DPM_2_ANCESTRAL',
name: 'K_DPM_2_ANCESTRAL',
},
{
key: 'K_EULER',
name: 'K_EULER',
},
{
key: 'K_EULER_ANCESTRAL',
name: 'K_EULER_ANCESTRAL',
},
{
key: 'K_HEUN',
name: 'K_HEUN',
},
{
key: 'K_LMS',
name: 'K_LMS',
},
];
export const StableDiffusionStylePresets: ImageModel[] = [
{
key: '3d-model',
name: '3d-model',
},
{
key: 'analog-film',
name: 'analog-film',
},
{
key: 'anime',
name: 'anime',
},
{
key: 'cinematic',
name: 'cinematic',
},
{
key: 'comic-book',
name: 'comic-book',
},
{
key: 'digital-art',
name: 'digital-art',
},
{
key: 'enhance',
name: 'enhance',
},
{
key: 'fantasy-art',
name: 'fantasy-art',
},
{
key: 'isometric',
name: 'isometric',
},
{
key: 'line-art',
name: 'line-art',
},
{
key: 'low-poly',
name: 'low-poly',
},
{
key: 'modeling-compound',
name: 'modeling-compound',
},
// neon-punk origami photographic pixel-art tile-texture
{
key: 'neon-punk',
name: 'neon-punk',
},
{
key: 'origami',
name: 'origami',
},
{
key: 'photographic',
name: 'photographic',
},
{
key: 'pixel-art',
name: 'pixel-art',
},
{
key: 'tile-texture',
name: 'tile-texture',
},
];
export const StableDiffusionClipGuidancePresets: ImageModel[] = [
{
key: 'NONE',
name: 'NONE',
},
{
key: 'FAST_BLUE',
name: 'FAST_BLUE',
},
{
key: 'FAST_GREEN',
name: 'FAST_GREEN',
},
{
key: 'SIMPLE',
name: 'SIMPLE',
},
{
key: 'SLOW',
name: 'SLOW',
},
{
key: 'SLOWER',
name: 'SLOWER',
},
{
key: 'SLOWEST',
name: 'SLOWEST',
},
];
export const Dall3Models: ImageModel[] = [
{
key: 'dall-e-3',
name: 'DALL·E 3',
image: `/static/imgs/ai/dall2.jpg`,
},
{
key: 'dall-e-2',
name: 'DALL·E 2',
image: `/static/imgs/ai/dall3.jpg`,
},
];
export const Dall3StyleList: ImageModel[] = [
{
key: 'vivid',
name: '清晰',
image: `/static/imgs/ai/qingxi.jpg`,
},
{
key: 'natural',
name: '自然',
image: `/static/imgs/ai/ziran.jpg`,
},
];
export const MidjourneyModels: ImageModel[] = [
{
key: 'midjourney',
name: 'MJ',
image: 'https://bigpt8.com/pc/_nuxt/mj.34a61377.png',
},
{
key: 'niji',
name: 'NIJI',
image: 'https://bigpt8.com/pc/_nuxt/nj.ca79b143.png',
},
];
export const MidjourneyVersions = [
{
value: '6.0',
label: 'v6.0',
},
{
value: '5.2',
label: 'v5.2',
},
{
value: '5.1',
label: 'v5.1',
},
{
value: '5.0',
label: 'v5.0',
},
{
value: '4.0',
label: 'v4.0',
},
];
export const NijiVersionList = [
{
value: '5',
label: 'v5',
},
];
export const MidjourneySizeList: ImageSize[] = [
{
key: '1:1',
width: '1',
height: '1',
style: 'width: 30px; height: 30px;background-color: #dcdcdc;',
},
{
key: '3:4',
width: '3',
height: '4',
style: 'width: 30px; height: 40px;background-color: #dcdcdc;',
},
{
key: '4:3',
width: '4',
height: '3',
style: 'width: 40px; height: 30px;background-color: #dcdcdc;',
},
{
key: '9:16',
width: '9',
height: '16',
style: 'width: 30px; height: 50px;background-color: #dcdcdc;',
},
{
key: '16:9',
width: '16',
height: '9',
style: 'width: 50px; height: 30px;background-color: #dcdcdc;',
},
];
export interface ImageSize {
height: string;
key: string;
name?: string;
style: string;
width: string;
}
export const Dall3SizeList: ImageSize[] = [
{
key: '1024x1024',
name: '1:1',
width: '1024',
height: '1024',
style: 'width: 30px; height: 30px;background-color: #dcdcdc;',
},
{
key: '1024x1792',
name: '3:5',
width: '1024',
height: '1792',
style: 'width: 30px; height: 50px;background-color: #dcdcdc;',
},
{
key: '1792x1024',
name: '5:3',
width: '1792',
height: '1024',
style: 'width: 50px; height: 30px;background-color: #dcdcdc;',
},
];
// ========== 【写作 UI】相关的枚举 ==========
/** 写作点击示例时的数据 */
export const WriteExample = {
write: {
prompt: 'vue',
data: 'Vue.js 是一种用于构建用户界面的渐进式 JavaScript 框架。它的核心库只关注视图层,易于上手,同时也便于与其他库或已有项目整合。\n\nVue.js 的特点包括:\n- 响应式的数据绑定Vue.js 会自动将数据与 DOM 同步,使得状态管理变得更加简单。\n- 组件化Vue.js 允许开发者通过小型、独立和通常可复用的组件构建大型应用。\n- 虚拟 DOMVue.js 使用虚拟 DOM 实现快速渲染,提高了性能。\n\n在 Vue.js 中,一个典型的应用结构可能包括:\n1. 根实例:每个 Vue 应用都需要一个根实例作为入口点。\n2. 组件系统:可以创建自定义的可复用组件。\n3. 指令:特殊的带有前缀 v- 的属性,为 DOM 元素提供特殊的行为。\n4. 插值:用于文本内容,将数据动态地插入到 HTML。\n5. 计算属性和侦听器:用于处理数据的复杂逻辑和响应数据变化。\n6. 条件渲染:根据条件决定元素的渲染。\n7. 列表渲染:用于显示列表数据。\n8. 事件处理:响应用户交互。\n9. 表单输入绑定:处理表单输入和验证。\n10. 组件生命周期钩子:在组件的不同阶段执行特定的函数。\n\nVue.js 还提供了官方的路由器 Vue Router 和状态管理库 Vuex以支持构建复杂的单页应用SPA。\n\n在开发过程中开发者通常会使用 Vue CLI这是一个强大的命令行工具用于快速生成 Vue 项目脚手架,集成了诸如 Babel、Webpack 等现代前端工具,以及热重载、代码检测等开发体验优化功能。\n\nVue.js 的生态系统还包括大量的第三方库和插件,如 VuetifyUI 组件库、Vue Test Utils测试工具这些都极大地丰富了 Vue.js 的开发生态。\n\n总的来说Vue.js 是一个灵活、高效的前端框架,适合从小型项目到大型企业级应用的开发。它的易用性、灵活性和强大的社区支持使其成为许多开发者的首选框架之一。',
},
reply: {
originalContent: '领导,我想请假',
prompt: '不批',
data: '您的请假申请已收悉,经核实和考虑,暂时无法批准您的请假申请。\n\n如有特殊情况或紧急事务请及时与我联系。\n\n祝工作顺利。\n\n谢谢。',
},
};
// ========== 【思维导图 UI】相关的枚举 ==========
/** 思维导图已有内容生成示例 */
export const MindMapContentExample = `# Java 技术栈
## 核心技术
### Java SE
### Java EE
## 框架
### Spring
#### Spring Boot
#### Spring MVC
#### Spring Data
### Hibernate
### MyBatis
## 构建工具
### Maven
### Gradle
## 版本控制
### Git
### SVN
## 测试工具
### JUnit
### Mockito
### Selenium
## 应用服务器
### Tomcat
### Jetty
### WildFly
## 数据库
### MySQL
### PostgreSQL
### Oracle
### MongoDB
## 消息队列
### Kafka
### RabbitMQ
### ActiveMQ
## 微服务
### Spring Cloud
### Dubbo
## 容器化
### Docker
### Kubernetes
## 云服务
### AWS
### Azure
### Google Cloud
## 开发工具
### IntelliJ IDEA
### Eclipse
### Visual Studio Code`;

View File

@@ -0,0 +1,306 @@
// 候选人策略枚举 用于审批节点。抄送节点 )
export enum BpmCandidateStrategyEnum {
/**
* 审批人自选
*/
APPROVE_USER_SELECT = 34,
/**
* 部门的负责人
*/
DEPT_LEADER = 21,
/**
* 部门成员
*/
DEPT_MEMBER = 20,
/**
* 流程表达式
*/
EXPRESSION = 60,
/**
* 表单内部门负责人
*/
FORM_DEPT_LEADER = 51,
/**
* 表单内用户字段
*/
FORM_USER = 50,
/**
* 连续多级部门的负责人
*/
MULTI_LEVEL_DEPT_LEADER = 23,
/**
* 指定岗位
*/
POST = 22,
/**
* 指定角色
*/
ROLE = 10,
/**
* 发起人自己
*/
START_USER = 36,
/**
* 发起人部门负责人
*/
START_USER_DEPT_LEADER = 37,
/**
* 发起人连续多级部门的负责人
*/
START_USER_MULTI_LEVEL_DEPT_LEADER = 38,
/**
* 发起人自选
*/
START_USER_SELECT = 35,
/**
* 指定用户
*/
USER = 30,
/**
* 指定用户组
*/
USER_GROUP = 40,
}
/**
* 节点类型
*/
export enum BpmNodeTypeEnum {
/**
* 子流程节点
*/
CHILD_PROCESS_NODE = 20,
/**
* 条件分支节点 (对应排他网关)
*/
CONDITION_BRANCH_NODE = 51,
/**
* 条件节点
*/
CONDITION_NODE = 50,
/**
* 抄送人节点
*/
COPY_TASK_NODE = 12,
/**
* 延迟器节点
*/
DELAY_TIMER_NODE = 14,
/**
* 结束节点
*/
END_EVENT_NODE = 1,
/**
* 包容分支节点 (对应包容网关)
*/
INCLUSIVE_BRANCH_NODE = 53,
/**
* 并行分支节点 (对应并行网关)
*/
PARALLEL_BRANCH_NODE = 52,
/**
* 路由分支节点
*/
ROUTER_BRANCH_NODE = 54,
/**
* 发起人节点
*/
START_USER_NODE = 10,
/**
* 办理人节点
*/
TRANSACTOR_NODE = 13,
/**
* 触发器节点
*/
TRIGGER_NODE = 15,
/**
* 审批人节点
*/
USER_TASK_NODE = 11,
}
/**
* 流程任务操作按钮
*/
export enum BpmTaskOperationButtonTypeEnum {
/**
* 加签
*/
ADD_SIGN = 5,
/**
* 通过
*/
APPROVE = 1,
/**
* 抄送
*/
COPY = 7,
/**
* 委派
*/
DELEGATE = 4,
/**
* 拒绝
*/
REJECT = 2,
/**
* 退回
*/
RETURN = 6,
/**
* 转办
*/
TRANSFER = 3,
}
/**
* 任务状态枚举
*/
export enum BpmTaskStatusEnum {
/**
* 审批通过
*/
APPROVE = 2,
/**
* 审批通过中
*/
APPROVING = 7,
/**
* 已取消
*/
CANCEL = 4,
/**
* 未开始
*/
NOT_START = -1,
/**
* 审批不通过
*/
REJECT = 3,
/**
* 已退回
*/
RETURN = 5,
/**
* 审批中
*/
RUNNING = 1,
/**
* 跳过
*/
SKIP = -2,
/**
* 待审批
*/
WAIT = 0,
}
/**
* 节点 Id 枚举
*/
export enum BpmNodeIdEnum {
/**
* 发起人节点 Id
*/
END_EVENT_NODE_ID = 'EndEvent',
/**
* 发起人节点 Id
*/
START_USER_NODE_ID = 'StartUserNode',
}
/**
* 表单权限的枚举
*/
export enum BpmFieldPermissionType {
/**
* 隐藏
*/
NONE = '3',
/**
* 只读
*/
READ = '1',
/**
* 编辑
*/
WRITE = '2',
}
/**
* 流程模型类型
*/
export const BpmModelType = {
BPMN: 10, // BPMN 设计器
SIMPLE: 20, // 简易设计器
};
/**
* 流程模型表单类型
*/
export const BpmModelFormType = {
NORMAL: 10, // 流程表单
CUSTOM: 20, // 业务表单
};
/**
* 流程实例状态
*/
export const BpmProcessInstanceStatus = {
NOT_START: -1, // 未开始
RUNNING: 1, // 审批中
APPROVE: 2, // 审批通过
REJECT: 3, // 审批不通过
CANCEL: 4, // 已取消
};
/**
* 自动审批类型
*/
export const BpmAutoApproveType = {
NONE: 0, // 不自动通过
APPROVE_ALL: 1, // 仅审批一次,后续重复的审批节点均自动通过
APPROVE_SEQUENT: 2, // 仅针对连续审批的节点自动通过
};
/**
* 审批操作按钮名称
*/
export const OPERATION_BUTTON_NAME = new Map<number, string>();
OPERATION_BUTTON_NAME.set(BpmTaskOperationButtonTypeEnum.APPROVE, '通过');
OPERATION_BUTTON_NAME.set(BpmTaskOperationButtonTypeEnum.REJECT, '拒绝');
OPERATION_BUTTON_NAME.set(BpmTaskOperationButtonTypeEnum.TRANSFER, '转办');
OPERATION_BUTTON_NAME.set(BpmTaskOperationButtonTypeEnum.DELEGATE, '委派');
OPERATION_BUTTON_NAME.set(BpmTaskOperationButtonTypeEnum.ADD_SIGN, '加签');
OPERATION_BUTTON_NAME.set(BpmTaskOperationButtonTypeEnum.RETURN, '退回');
OPERATION_BUTTON_NAME.set(BpmTaskOperationButtonTypeEnum.COPY, '抄送');
/**
* 流程实例的变量枚举
*/
export enum ProcessVariableEnum {
/**
* 流程定义名称
*/
PROCESS_DEFINITION_NAME = 'PROCESS_DEFINITION_NAME',
/**
* 发起时间
*/
START_TIME = 'PROCESS_START_TIME',
/**
* 发起用户 ID
*/
START_USER_ID = 'PROCESS_START_USER_ID',
}

View File

@@ -0,0 +1,8 @@
export const ErpBizType = {
PURCHASE_ORDER: 10,
PURCHASE_IN: 11,
PURCHASE_RETURN: 12,
SALE_ORDER: 20,
SALE_OUT: 21,
SALE_RETURN: 22,
};

View File

@@ -0,0 +1,26 @@
/**
* 代码生成模板类型
*/
export const InfraCodegenTemplateTypeEnum = {
CRUD: 1, // 基础 CRUD
TREE: 2, // 树形 CRUD
SUB: 15, // 主子表 CRUD
};
/**
* 任务状态的枚举
*/
export const InfraJobStatusEnum = {
INIT: 0, // 初始化中
NORMAL: 1, // 运行中
STOP: 2, // 暂停运行
};
/**
* API 异常数据的处理状态
*/
export const InfraApiErrorLogProcessStatusEnum = {
INIT: 0, // 未处理
DONE: 1, // 已处理
IGNORE: 2, // 已忽略
};

View File

@@ -0,0 +1,130 @@
// ========== IOT - 设备模块 ==========
/**
* 设备状态枚举
*/
export const DeviceStateEnum = {
INACTIVE: 0, // 未激活
OFFLINE: 2, // 离线
ONLINE: 1, // 在线
} as const;
// ========== IOT - 产品模块 ==========
/**
* 产品设备类型枚举
*/
export const DeviceTypeEnum = {
DEVICE: 0, // 直连设备
GATEWAY: 2, // 网关设备
GATEWAY_SUB: 1, // 网关子设备
} as const;
/**
* 产品状态枚举
*/
export const ProductStatusEnum = {
UNPUBLISHED: 0, // 开发中
PUBLISHED: 1, // 已发布
} as const;
/**
* 数据格式(编解码器类型)枚举
*/
export const CodecTypeEnum = {
ALINK: 'Alink', // 阿里云 Alink 协议
} as const;
/**
* IoT 设备消息的方法枚举
*/
export const IotDeviceMessageMethodEnum = {
// ========== 设备状态 ==========
STATE_UPDATE: {
method: 'thing.state.update',
name: '设备状态更新',
upstream: true,
},
// ========== 拓扑管理 ==========
TOPO_ADD: {
method: 'thing.topo.add',
name: '添加拓扑关系',
upstream: true,
},
TOPO_DELETE: {
method: 'thing.topo.delete',
name: '删除拓扑关系',
upstream: true,
},
TOPO_GET: {
method: 'thing.topo.get',
name: '获取拓扑关系',
upstream: true,
},
TOPO_CHANGE: {
method: 'thing.topo.change',
name: '拓扑关系变更通知',
upstream: false,
},
// ========== 设备注册 ==========
DEVICE_REGISTER: {
method: 'thing.auth.register',
name: '设备动态注册',
upstream: true,
},
SUB_DEVICE_REGISTER: {
method: 'thing.auth.register.sub',
name: '子设备动态注册',
upstream: true,
},
// ========== 设备属性 ==========
PROPERTY_POST: {
method: 'thing.property.post',
name: '属性上报',
upstream: true,
},
PROPERTY_SET: {
method: 'thing.property.set',
name: '属性设置',
upstream: false,
},
PROPERTY_PACK_POST: {
method: 'thing.event.property.pack.post',
name: '批量上报(属性 + 事件 + 子设备)',
upstream: true,
},
// ========== 设备事件 ==========
EVENT_POST: {
method: 'thing.event.post',
name: '事件上报',
upstream: true,
},
// ========== 服务调用 ==========
SERVICE_INVOKE: {
method: 'thing.service.invoke',
name: '服务调用',
upstream: false,
},
// ========== 设备配置 ==========
CONFIG_PUSH: {
method: 'thing.config.push',
name: '配置推送',
upstream: false,
},
// ========== OTA 固件 ==========
OTA_UPGRADE: {
method: 'thing.ota.upgrade',
name: 'OTA 固件信息推送',
upstream: false,
},
OTA_PROGRESS: {
method: 'thing.ota.progress',
name: 'OTA 升级进度上报',
upstream: true,
},
} as const;

View File

@@ -0,0 +1,258 @@
// ========== MALL - 商品模块 ==========
/**
* 商品 首页 日期类型
*/
export enum TimeRangeTypeEnum {
DAY30 = 1,
MONTH = 30,
WEEK = 7,
YEAR = 365,
}
/**
* 商品 SPU 状态
*/
export const ProductSpuStatusEnum = {
RECYCLE: {
status: -1,
name: '回收站',
},
DISABLE: {
status: 0,
name: '下架',
},
ENABLE: {
status: 1,
name: '上架',
},
};
// ========== MALL - 营销模块 ==========
/**
* 优惠劵模板的有限期类型的枚举
*/
export const CouponTemplateValidityTypeEnum = {
DATE: {
type: 1,
name: '固定日期可用',
},
TERM: {
type: 2,
name: '领取之后可用',
},
};
/**
* 优惠劵模板的领取方式的枚举
*/
export const CouponTemplateTakeTypeEnum = {
USER: {
type: 1,
name: '直接领取',
},
ADMIN: {
type: 2,
name: '指定发放',
},
REGISTER: {
type: 3,
name: '新人券',
},
};
/**
* 营销的商品范围枚举
*/
export const PromotionProductScopeEnum = {
ALL: {
scope: 1,
name: '通用劵',
},
SPU: {
scope: 2,
name: '商品劵',
},
CATEGORY: {
scope: 3,
name: '品类劵',
},
};
/**
* 营销的条件类型枚举
*/
export const PromotionConditionTypeEnum = {
PRICE: {
type: 10,
name: '满 N 元',
},
COUNT: {
type: 20,
name: '满 N 件',
},
};
/**
* 优惠类型枚举
*/
export const PromotionDiscountTypeEnum = {
PRICE: {
type: 1,
name: '满减',
},
PERCENT: {
type: 2,
name: '折扣',
},
};
// ========== MALL - 交易模块 ==========
/**
* 分销关系绑定模式枚举
*/
export const BrokerageBindModeEnum = {
ANYTIME: {
mode: 1,
name: '首次绑定',
},
REGISTER: {
mode: 2,
name: '注册绑定',
},
OVERRIDE: {
mode: 3,
name: '覆盖绑定',
},
};
/**
* 分佣模式枚举
*/
export const BrokerageEnabledConditionEnum = {
ALL: {
condition: 1,
name: '人人分销',
},
ADMIN: {
condition: 2,
name: '指定分销',
},
};
/**
* 佣金记录业务类型枚举
*/
export const BrokerageRecordBizTypeEnum = {
ORDER: {
type: 1,
name: '获得推广佣金',
},
WITHDRAW: {
type: 2,
name: '提现申请',
},
};
/**
* 佣金提现状态枚举
*/
export const BrokerageWithdrawStatusEnum = {
AUDITING: {
status: 0,
name: '审核中',
},
AUDIT_SUCCESS: {
status: 10,
name: '审核通过',
},
AUDIT_FAIL: {
status: 20,
name: '审核不通过',
},
WITHDRAW_SUCCESS: {
status: 11,
name: '提现成功',
},
WITHDRAW_FAIL: {
status: 21,
name: '提现失败',
},
};
/**
* 佣金提现类型枚举
*/
export const BrokerageWithdrawTypeEnum = {
WALLET: {
type: 1,
name: '钱包',
},
BANK: {
type: 2,
name: '银行卡',
},
WECHAT: {
type: 3,
name: '微信',
},
ALIPAY: {
type: 4,
name: '支付宝',
},
};
/**
* 配送方式枚举
*/
export const DeliveryTypeEnum = {
EXPRESS: {
type: 1,
name: '快递发货',
},
PICK_UP: {
type: 2,
name: '到店自提',
},
};
/**
* 交易订单 - 状态
*/
export const TradeOrderStatusEnum = {
UNPAID: {
status: 0,
name: '待支付',
},
UNDELIVERED: {
status: 10,
name: '待发货',
},
DELIVERED: {
status: 20,
name: '已发货',
},
COMPLETED: {
status: 30,
name: '已完成',
},
CANCELED: {
status: 40,
name: '已取消',
},
};
// 预设颜色
export const PREDEFINE_COLORS = [
'#ff4500',
'#ff8c00',
'#ffd700',
'#90ee90',
'#00ced1',
'#1e90ff',
'#c71585',
'#409EFF',
'#909399',
'#C0C4CC',
'#b7390b',
'#ff7800',
'#fad400',
'#5b8c5f',
'#00babd',
'#1f73c3',
'#711f57',
];

View File

@@ -0,0 +1,90 @@
/** 回复类型枚举 */
export enum ReplyType {
Image = 'image',
Music = 'music',
News = 'news',
Text = 'text',
Video = 'video',
Voice = 'voice',
}
/** 图文类型枚举 */
export enum NewsType {
Draft = '2',
Published = '1',
}
/** 回复素材类型枚举 */
export enum ReplyMaterialType {
Image = 'image',
News = 'news',
Video = 'video',
Voice = 'voice',
}
/** 微信消息类型枚举 */
export enum MpMsgType {
Event = 'event',
Image = 'image',
Link = 'link',
Location = 'location',
Music = 'music',
News = 'news',
ShortVideo = 'shortvideo',
Text = 'text',
Video = 'video',
Voice = 'voice',
}
/** 自动回复消息类型枚举Follow: 关注时回复Message: 消息回复Keyword: 关键词回复) */
export enum AutoReplyMsgType {
Follow = 1,
Keyword = 3,
Message = 2,
}
/** 消息类型枚举 */
export enum MessageType {
IMAGE = 'image', // 图片消息
MPNEWS = 'mpnews', // 公众号图文消息
MUSIC = 'music', // 音乐消息
NEWS = 'news', // 图文消息
TEXT = 'text', // 文本消息
VIDEO = 'video', // 视频消息
VOICE = 'voice', // 语音消息
WXCARD = 'wxcard', // 卡券消息
}
/** 素材类型枚举 */
export enum MaterialType {
IMAGE = 1, // 图片
THUMB = 4, // 缩略图
VIDEO = 3, // 视频
VOICE = 2, // 语音
}
/** 菜单类型枚举 */
export enum MenuType {
CLICK = 'click', // 点击推事件
LOCATION_SELECT = 'location_select', // 发送位置
MEDIA_ID = 'media_id', // 下发消息
MINIPROGRAM = 'miniprogram', // 小程序
PIC_PHOTO_OR_ALBUM = 'pic_photo_or_album', // 拍照或者相册发图
PIC_SYSPHOTO = 'pic_sysphoto', // 系统拍照发图
PIC_WEIXIN = 'pic_weixin', // 微信相册发图
SCANCODE_PUSH = 'scancode_push', // 扫码推事件
SCANCODE_WAITMSG = 'scancode_waitmsg', // 扫码带提示
VIEW = 'view', // 跳转 URL
VIEW_LIMITED = 'view_limited', // 跳转图文消息URL
}
/** 允许选择的请求消息类型 */
export const RequestMessageTypes = new Set([
'image',
'link',
'location',
'shortvideo',
'text',
'video',
'voice',
]);

View File

@@ -0,0 +1,105 @@
/**
* 支付渠道枚举
*/
export const PayChannelEnum = {
WX_PUB: {
code: 'wx_pub',
name: '微信 JSAPI 支付',
},
WX_LITE: {
code: 'wx_lite',
name: '微信小程序支付',
},
WX_APP: {
code: 'wx_app',
name: '微信 APP 支付',
},
WX_NATIVE: {
code: 'wx_native',
name: '微信 Native 支付',
},
WX_WAP: {
code: 'wx_wap',
name: '微信 WAP 网站支付',
},
WX_BAR: {
code: 'wx_bar',
name: '微信条码支付',
},
ALIPAY_PC: {
code: 'alipay_pc',
name: '支付宝 PC 网站支付',
},
ALIPAY_WAP: {
code: 'alipay_wap',
name: '支付宝 WAP 网站支付',
},
ALIPAY_APP: {
code: 'alipay_app',
name: '支付宝 APP 支付',
},
ALIPAY_QR: {
code: 'alipay_qr',
name: '支付宝扫码支付',
},
ALIPAY_BAR: {
code: 'alipay_bar',
name: '支付宝条码支付',
},
WALLET: {
code: 'wallet',
name: '钱包支付',
},
MOCK: {
code: 'mock',
name: '模拟支付',
},
};
/**
* 支付的展示模式每局
*/
export const PayDisplayModeEnum = {
URL: {
mode: 'url',
},
IFRAME: {
mode: 'iframe',
},
FORM: {
mode: 'form',
},
QR_CODE: {
mode: 'qr_code',
},
APP: {
mode: 'app',
},
};
/**
* 支付类型枚举
*/
export const PayType = {
WECHAT: 'WECHAT',
ALIPAY: 'ALIPAY',
MOCK: 'MOCK',
};
/**
* 支付订单状态枚举
*/
export const PayOrderStatusEnum = {
WAITING: {
status: 0,
name: '未支付',
},
SUCCESS: {
status: 10,
name: '已支付',
},
CLOSED: {
status: 20,
name: '未支付',
},
};

View File

@@ -0,0 +1,68 @@
// ========== COMMON 模块 ==========
// 全局通用状态枚举
export const CommonStatusEnum = {
ENABLE: 0, // 开启
DISABLE: 1, // 禁用
};
// 全局用户类型枚举
export const UserTypeEnum = {
MEMBER: 1, // 会员
ADMIN: 2, // 管理员
};
// ========== SYSTEM 模块 ==========
/**
* 菜单的类型枚举
*/
export const SystemMenuTypeEnum = {
DIR: 1, // 目录
MENU: 2, // 菜单
BUTTON: 3, // 按钮
};
/**
* 角色的类型枚举
*/
export const SystemRoleTypeEnum = {
SYSTEM: 1, // 内置角色
CUSTOM: 2, // 自定义角色
};
/**
* 数据权限的范围枚举
*/
export const SystemDataScopeEnum = {
ALL: 1, // 全部数据权限
DEPT_CUSTOM: 2, // 指定部门数据权限
DEPT_ONLY: 3, // 部门数据权限
DEPT_AND_CHILD: 4, // 部门及以下数据权限
DEPT_SELF: 5, // 仅本人数据权限
};
/**
* 用户的社交平台的类型枚举
*/
export const SystemUserSocialTypeEnum = {
DINGTALK: {
title: '钉钉',
type: 20,
source: 'dingtalk',
img: 'https://s1.ax1x.com/2022/05/22/OzMDRs.png',
},
WECHAT_ENTERPRISE: {
title: '企业微信',
type: 30,
source: 'wechat_enterprise',
img: 'https://s1.ax1x.com/2022/05/22/OzMrzn.png',
},
};
/**
* 地区选择器层级枚举
*/
export const AreaLevelEnum = {
PROVINCE: 1, // 省
CITY: 2, // 市
DISTRICT: 3, // 区
} as const;

View File

@@ -0,0 +1,23 @@
/**
* @zh_CN 登录页面 url 地址
*/
export const LOGIN_PATH = '/auth/login';
export interface LanguageOption {
label: string;
value: 'en-US' | 'zh-CN';
}
/**
* Supported languages
*/
export const SUPPORT_LANGUAGES: LanguageOption[] = [
{
label: '简体中文',
value: 'zh-CN',
},
{
label: 'English',
value: 'en-US',
},
];

View File

@@ -0,0 +1,194 @@
/** ========== COMMON - 通用模块 ========== */
const COMMON_DICT = {
USER_TYPE: 'user_type',
COMMON_STATUS: 'common_status',
TERMINAL: 'terminal', // 终端
DATE_INTERVAL: 'date_interval', // 数据间隔
} as const;
/** ========== SYSTEM - 系统模块 ========== */
const SYSTEM_DICT = {
SYSTEM_USER_SEX: 'system_user_sex',
SYSTEM_MENU_TYPE: 'system_menu_type',
SYSTEM_ROLE_TYPE: 'system_role_type',
SYSTEM_DATA_SCOPE: 'system_data_scope',
SYSTEM_NOTICE_TYPE: 'system_notice_type',
SYSTEM_LOGIN_TYPE: 'system_login_type',
SYSTEM_LOGIN_RESULT: 'system_login_result',
SYSTEM_SMS_CHANNEL_CODE: 'system_sms_channel_code',
SYSTEM_SMS_TEMPLATE_TYPE: 'system_sms_template_type',
SYSTEM_SMS_SEND_STATUS: 'system_sms_send_status',
SYSTEM_SMS_RECEIVE_STATUS: 'system_sms_receive_status',
SYSTEM_OAUTH2_GRANT_TYPE: 'system_oauth2_grant_type',
SYSTEM_MAIL_SEND_STATUS: 'system_mail_send_status',
SYSTEM_NOTIFY_TEMPLATE_TYPE: 'system_notify_template_type',
SYSTEM_SOCIAL_TYPE: 'system_social_type',
} as const;
/** ========== INFRA - 基础设施模块 ========== */
const INFRA_DICT = {
INFRA_BOOLEAN_STRING: 'infra_boolean_string',
INFRA_JOB_STATUS: 'infra_job_status',
INFRA_JOB_LOG_STATUS: 'infra_job_log_status',
INFRA_API_ERROR_LOG_PROCESS_STATUS: 'infra_api_error_log_process_status',
INFRA_CONFIG_TYPE: 'infra_config_type',
INFRA_CODEGEN_TEMPLATE_TYPE: 'infra_codegen_template_type',
INFRA_CODEGEN_FRONT_TYPE: 'infra_codegen_front_type',
INFRA_CODEGEN_SCENE: 'infra_codegen_scene',
INFRA_FILE_STORAGE: 'infra_file_storage',
INFRA_OPERATE_TYPE: 'infra_operate_type',
} as const;
/** ========== BPM - 工作流模块 ========== */
const BPM_DICT = {
BPM_MODEL_FORM_TYPE: 'bpm_model_form_type', // BPM 模型表单类型
BPM_MODEL_TYPE: 'bpm_model_type', // BPM 模型类型
BPM_OA_LEAVE_TYPE: 'bpm_oa_leave_type', // BPM OA 请假类型
BPM_PROCESS_INSTANCE_STATUS: 'bpm_process_instance_status', // BPM 流程实例状态
BPM_PROCESS_LISTENER_TYPE: 'bpm_process_listener_type', // BPM 流程监听器类型
BPM_PROCESS_LISTENER_VALUE_TYPE: 'bpm_process_listener_value_type', // BPM 流程监听器值类型
BPM_TASK_CANDIDATE_STRATEGY: 'bpm_task_candidate_strategy', // BPM 任务候选人策略
BPM_TASK_STATUS: 'bpm_task_status', // BPM 任务状态
} as const;
/** ========== PAY - 支付模块 ========== */
const PAY_DICT = {
PAY_CHANNEL_CODE: 'pay_channel_code', // 支付渠道编码类型
PAY_ORDER_STATUS: 'pay_order_status', // 商户支付订单状态
PAY_REFUND_STATUS: 'pay_refund_status', // 退款订单状态
PAY_NOTIFY_STATUS: 'pay_notify_status', // 商户支付回调状态
PAY_NOTIFY_TYPE: 'pay_notify_type', // 商户支付回调状态
PAY_TRANSFER_STATUS: 'pay_transfer_status', // 转账订单状态
PAY_TRANSFER_TYPE: 'pay_transfer_type', // 转账类型
} as const;
/** ========== MP - 公众号模块 ========== */
const MP_DICT = {
MP_AUTO_REPLY_REQUEST_MATCH: 'mp_auto_reply_request_match', // 自动回复请求匹配类型
MP_MESSAGE_TYPE: 'mp_message_type', // 消息类型
} as const;
/** ========== MEMBER - 会员模块 ========== */
const MEMBER_DICT = {
MEMBER_EXPERIENCE_BIZ_TYPE: 'member_experience_biz_type', // 会员经验业务类型
MEMBER_POINT_BIZ_TYPE: 'member_point_biz_type', // 积分的业务类型
} as const;
/** ========== MALL - 商城模块 ========== */
const MALL_DICT = {
/** ========== MALL - 商品模块 ========== */
PRODUCT_SPU_STATUS: 'product_spu_status', // 商品状态
/** ========== MALL - 交易模块 ========== */
EXPRESS_CHARGE_MODE: 'trade_delivery_express_charge_mode', // 快递的计费方式
TRADE_AFTER_SALE_STATUS: 'trade_after_sale_status', // 售后 - 状态
TRADE_AFTER_SALE_TYPE: 'trade_after_sale_type', // 售后 - 类型
TRADE_AFTER_SALE_WAY: 'trade_after_sale_way', // 售后 - 方式
TRADE_DELIVERY_TYPE: 'trade_delivery_type', // 配送方式
TRADE_ORDER_ITEM_AFTER_SALE_STATUS: 'trade_order_item_after_sale_status', // 订单项 - 售后状态
TRADE_ORDER_STATUS: 'trade_order_status', // 订单 - 状态
TRADE_ORDER_TYPE: 'trade_order_type', // 订单 - 类型
BROKERAGE_BANK_NAME: 'brokerage_bank_name', // 佣金提现银行
BROKERAGE_BIND_MODE: 'brokerage_bind_mode', // 分销关系绑定模式
BROKERAGE_ENABLED_CONDITION: 'brokerage_enabled_condition', // 分佣模式
BROKERAGE_RECORD_BIZ_TYPE: 'brokerage_record_biz_type', // 佣金业务类型
BROKERAGE_RECORD_STATUS: 'brokerage_record_status', // 佣金状态
BROKERAGE_WITHDRAW_STATUS: 'brokerage_withdraw_status', // 佣金提现状态
BROKERAGE_WITHDRAW_TYPE: 'brokerage_withdraw_type', // 佣金提现类型
/** ========== MALL - 营销模块 ========== */
PROMOTION_BANNER_POSITION: 'promotion_banner_position', // banner 定位
PROMOTION_BARGAIN_RECORD_STATUS: 'promotion_bargain_record_status', // 砍价记录的状态
PROMOTION_COMBINATION_RECORD_STATUS: 'promotion_combination_record_status', // 拼团记录的状态
PROMOTION_CONDITION_TYPE: 'promotion_condition_type', // 营销的条件类型枚举
PROMOTION_COUPON_STATUS: 'promotion_coupon_status', // 优惠劵的状态
PROMOTION_COUPON_TAKE_TYPE: 'promotion_coupon_take_type', // 优惠劵的领取方式
PROMOTION_COUPON_TEMPLATE_VALIDITY_TYPE:
'promotion_coupon_template_validity_type', // 优惠劵模板的有限期类型
PROMOTION_DISCOUNT_TYPE: 'promotion_discount_type', // 优惠类型
PROMOTION_PRODUCT_SCOPE: 'promotion_product_scope', // 营销的商品范围
} as const;
/** ========== CRM - 客户管理模块 ========== */
const CRM_DICT = {
CRM_AUDIT_STATUS: 'crm_audit_status', // CRM 审批状态
CRM_BIZ_TYPE: 'crm_biz_type', // CRM 业务类型
CRM_BUSINESS_END_STATUS_TYPE: 'crm_business_end_status_type', // CRM 商机结束状态类型
CRM_CUSTOMER_INDUSTRY: 'crm_customer_industry', // CRM 客户所属行业
CRM_CUSTOMER_LEVEL: 'crm_customer_level', // CRM 客户级别
CRM_CUSTOMER_SOURCE: 'crm_customer_source', // CRM 客户来源
CRM_FOLLOW_UP_TYPE: 'crm_follow_up_type', // CRM 跟进方式
CRM_PERMISSION_LEVEL: 'crm_permission_level', // CRM 数据权限的级别
CRM_PRODUCT_STATUS: 'crm_product_status', // CRM 商品状态
CRM_PRODUCT_UNIT: 'crm_product_unit', // CRM 产品单位
CRM_RECEIVABLE_RETURN_TYPE: 'crm_receivable_return_type', // CRM 回款的还款方式
} as const;
/** ========== ERP - 企业资源计划模块 ========== */
const ERP_DICT = {
ERP_AUDIT_STATUS: 'erp_audit_status', // ERP 审批状态
ERP_STOCK_RECORD_BIZ_TYPE: 'erp_stock_record_biz_type', // 库存明细的业务类型
} as const;
/** ========== AI - 人工智能模块 ========== */
const AI_DICT = {
AI_GENERATE_MODE: 'ai_generate_mode', // AI 生成模式
AI_IMAGE_STATUS: 'ai_image_status', // AI 图片状态
AI_MODEL_TYPE: 'ai_model_type', // AI 模型类型
AI_MUSIC_STATUS: 'ai_music_status', // AI 音乐状态
AI_PLATFORM: 'ai_platform', // AI 平台
AI_WRITE_FORMAT: 'ai_write_format', // AI 写作格式
AI_WRITE_LANGUAGE: 'ai_write_language', // AI 写作语言
AI_WRITE_LENGTH: 'ai_write_length', // AI 写作长度
AI_WRITE_TONE: 'ai_write_tone', // AI 写作语气
AI_WRITE_TYPE: 'ai_write_type', // AI 写作类型
AI_MCP_CLIENT_NAME: 'ai_mcp_client_name', // AI MCP Client 名字
} as const;
/** ========== IOT - 物联网模块 ========== */
const IOT_DICT = {
IOT_ALERT_LEVEL: 'iot_alert_level', // IoT 告警级别
IOT_ALERT_RECEIVE_TYPE: 'iot_alert_receive_type', // IoT 告警接收类型
IOT_SERIALIZE_TYPE: 'iot_serialize_type', // IOT 序列化类型
IOT_DATA_FORMAT: 'iot_data_format', // IOT 数据格式
IOT_DATA_SINK_TYPE_ENUM: 'iot_data_sink_type_enum', // IoT 数据流转目的类型
IOT_DATA_TYPE: 'iot_data_type', // IOT 数据类型
IOT_DEVICE_STATE: 'iot_device_state', // IOT 设备状态
IOT_LOCATION_TYPE: 'iot_location_type', // IOT 定位类型
IOT_NET_TYPE: 'iot_net_type', // IOT 联网方式
IOT_OTA_TASK_DEVICE_SCOPE: 'iot_ota_task_device_scope', // IoT OTA任务设备范围
IOT_OTA_TASK_RECORD_STATUS: 'iot_ota_task_record_status', // IoT OTA 记录状态
IOT_OTA_TASK_STATUS: 'iot_ota_task_status', // IoT OTA 任务状态
IOT_PRODUCT_DEVICE_TYPE: 'iot_product_device_type', // IOT 产品设备类型
IOT_PRODUCT_FUNCTION_TYPE: 'iot_product_function_type', // IOT 产品功能类型
IOT_PRODUCT_STATUS: 'iot_product_status', // IOT 产品状态
IOT_PROTOCOL_TYPE: 'iot_protocol_type', // IOT 接入网关协议
IOT_RULE_SCENE_ACTION_TYPE_ENUM: 'iot_rule_scene_action_type_enum', // IoT 规则场景的触发类型枚举
IOT_RULE_SCENE_TRIGGER_TYPE_ENUM: 'iot_rule_scene_trigger_type_enum', // IoT 场景流转的触发类型枚举
IOT_RW_TYPE: 'iot_rw_type', // IOT 读写类型
IOT_THING_MODEL_TYPE: 'iot_thing_model_type', // IOT 产品功能类型
IOT_THING_MODEL_UNIT: 'iot_thing_model_unit', // IOT 物模型单位
IOT_UNIT_TYPE: 'iot_unit_type', // IOT 单位类型
IOT_VALIDATE_TYPE: 'iot_validate_type', // IOT 数据校验级别
IOT_MODBUS_MODE: 'iot_modbus_mode', // IoT Modbus 工作模式
IOT_MODBUS_FRAME_FORMAT: 'iot_modbus_frame_format', // IoT Modbus 帧格式
} as const;
/** 字典类型枚举 - 统一导出 */
const DICT_TYPE = {
...AI_DICT,
...BPM_DICT,
...CRM_DICT,
...ERP_DICT,
...INFRA_DICT,
...IOT_DICT,
...MEMBER_DICT,
...MP_DICT,
...PAY_DICT,
...MALL_DICT,
...SYSTEM_DICT,
...COMMON_DICT,
} as const;
export { DICT_TYPE };

View File

@@ -0,0 +1,13 @@
export * from './biz-ai-enum';
export * from './biz-bpm-enum';
export * from './biz-erp-enum';
export * from './biz-infra-enum';
export * from './biz-iot-enum';
export * from './biz-mall-enum';
export * from './biz-mp-enum';
export * from './biz-pay-enum';
export * from './biz-system-enum';
export * from './core';
export * from './dict-enum';
export * from '@vben-core/shared/constants';

View File

@@ -0,0 +1,6 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"extends": "@vben/tsconfig/web.json",
"include": ["src"],
"exclude": ["node_modules"]
}