项目结构
src 目录结构说明
📁 根目录文件
main.ts- 应用入口文件,初始化 Vue 应用App.vue- 根组件
📂 主要目录
api/
API 接口管理目录,包含所有后端接口调用
baseRequest.ts- 基础请求配置types.ts- API 类型定义- evaluation/ - 评估相关接口
appraise.ts- 评价接口reviewer.ts- 评审人接口role.ts- 角色接口score.ts- 评分接口weightGroup.ts- 权重组接口
- exam/ - 考试相关接口
ranking.ts- 排名接口
- mannage/ - 管理相关接口
analysis.ts- 分析接口
- project/ - 项目相关接口
ai.ts- AI 相关answerWhiteList.ts- 答案白名单data.ts- 数据接口dataHelper.ts- 数据助手dimension.ts- 维度接口exam.ts- 考试接口extSetting.ts- 扩展设置form.ts- 表单接口lottery.ts- 抽奖接口poster.ts- 海报接口printTemplate.ts- 打印模板publish.ts- 发布接口report.ts- 报表接口setting.ts- 设置接口template.ts- 模板接口theme.ts- 主题接口todo.ts- 待办接口wxmp.ts- 微信小程序接口
- question/ - 题库相关接口
bank.ts- 题库接口bankItem.ts- 题库项接口
- report/ - 报表相关接口
dashboard.ts- 仪表盘接口form.ts- 表单报表接口
- system/ - 系统管理接口
announcement.ts- 公告接口config.ts- 配置接口dept.ts- 部门接口dict/- 字典管理menu.ts- 菜单接口message.ts- 消息接口msgtemplate.ts- 消息模板operlog.ts- 操作日志organization.ts- 组织接口post.ts- 岗位接口rbacFunctionality.ts- RBAC 权限role.ts- 角色接口sensitiveword.ts- 敏感词user.ts- 用户接口userauth.ts- 用户认证
- tool/ - 工具相关接口
file.ts- 文件接口gen.ts- 代码生成job.ts- 定时任务jobLog.ts- 任务日志openClient.ts- 开放客户端webhook.ts- Webhook 接口
- uniapp/ - UniApp 相关接口
index.ts- UniApp 主接口portal.ts- 门户接口
- workflow/ - 工作流相关接口
categories.ts- 分类接口definition.ts- 定义接口finished.ts- 已完成接口flowExtension.ts- 流程扩展process.ts- 流程接口todo.ts- 待办接口workflow.ts- 工作流主接口
assets/
静态资源目录,存放图片、图标等静态文件
- icons/ - SVG 图标文件
- 包含钉钉、飞书、微信等第三方平台图标
- images/ - 图片资源
- 错误页面图片(401、404)
- 考试相关图标
- 表单相关图标
- 主题相关图片
components/
全局公共组件目录,存放可复用的 Vue 组件
index.ts- 组件导出文件- AreaCascader/ - 地区级联选择器
- Crontab/ - Cron 表达式编辑器
- DictTag/ - 字典标签组件
- DragList/ - 拖拽列表组件
- FileUpload/ - 文件上传组件
- HandleProcess/ - 流程处理组件
- IconSelector/ - 图标选择器
- ImageUpload/ - 图片上传组件
- LangSwitch/ - 语言切换组件
- NoticeBar/ - 通知栏组件
- PaginatedSelect/ - 分页选择器
- Pagination/ - 分页组件
- PhoneVerification/ - 手机验证组件
- RightToolbar/ - 右侧工具栏
- SimpleCron/ - 简单 Cron 编辑器
- SvgIcon/ - SVG 图标组件
- TAvatar/ - 头像组件
- TDot/ - 圆点组件
- TLoading/ - 加载组件
- ValueSelector/ - 值选择器
- Verifition/ - 验证码组件
- Vue3Marquee/ - 跑马灯组件
directive/
自定义指令目录,存放 Vue 自定义指令
index.ts- 指令导出文件authDirective.ts- 权限指令copyTextDirective.ts- 复制文本指令customDirective.ts- 自定义指令rippleDirective.ts- 水波纹指令
i18n/
国际化配置目录,支持多语言
index.ts- 国际化入口helper.ts- 国际化辅助函数- lang/ - 语言包目录
- zh-cn/ - 简体中文
- zh-tw/ - 繁体中文
- en/ - 英文
- ja/ - 日语
- ko/ - 韩语
- de/ - 德语
- fr/ - 法语
- 每个语言包包含:
client.json- 客户端文案common.json- 公共文案components.json- 组件文案form.json- 表单文案formgen.json- 表单生成器文案formI18n.json- 表单国际化layout.json- 布局文案login.json- 登录文案menu.json- 菜单文案project.json- 项目文案register.json- 注册文案rform.json- 表单相关system.json- 系统文案tool.json- 工具文案uniapp.json- UniApp 文案workflow.json- 工作流文案
layout/
布局组件目录,应用整体布局结构
index.vue- 布局主组件- component/ - 布局子组件
aside.vue- 侧边栏columnsAside.vue- 分栏侧边栏header.vue- 头部main.vue- 主内容区
- footer/ - 页脚组件
- lockScreen/ - 锁屏组件
- logo/ - Logo 组件
- main/ - 主要布局模式
classic.vue- 经典布局columns.vue- 分栏布局defaults.vue- 默认布局transverse.vue- 横向布局
- navBars/ - 导航栏
- tagsView/ - 标签视图
- topBar/ - 顶部栏
- navMenu/ - 导航菜单
horizontal.vue- 横向菜单subItem.vue- 子菜单项vertical.vue- 纵向菜单
- routerView/ - 路由视图
iframes.vue- iframe 视图link.vue- 链接视图parent.vue- 父级视图
- upgrade/ - 升级提示
locales/
本地化配置目录
- en-US/ - 英文本地化
- zh-CN/ - 中文本地化
router/
路由配置目录,管理应用路由
index.ts- 路由入口backEnd.ts- 后端路由配置route.ts- 路由定义- modules/ - 路由模块
client.ts- 客户端路由form.ts- 表单路由project.ts- 项目路由report.ts- 报表路由
stores/
状态管理目录,使用 Pinia 管理全局状态
index.ts- Store 入口dashboard.ts- 仪表盘状态formInfo.ts- 表单信息状态formPoster.ts- 表单海报状态formWorkflow.ts- 表单工作流状态keepAliveNames.ts- 缓存组件名状态requestOldRoutes.ts- 旧路由请求状态routesList.ts- 路由列表状态tagsViewRoutes.ts- 标签视图路由状态themeConfig.ts- 主题配置状态userInfo.ts- 用户信息状态
theme/
主题样式目录,全局样式和主题配置
index.scss- 主样式入口app.scss- 应用样式dark.scss- 暗色主题element.scss- Element Plus 样式elementTheme.scss- Element 主题iconSelector.scss- 图标选择器样式layoutMenus.scss- 布局菜单样式loading.scss- 加载样式other.scss- 其他样式tableTool.scss- 表格工具样式tduck.scss- TDuck 特定样式- common/ - 公共样式
transition.scss- 过渡动画
- media/ - 响应式样式
date.scss- 日期样式dialog.scss- 对话框样式error.scss- 错误页面样式home.scss- 首页样式layout.scss- 布局样式media.scss- 媒体查询pagination.scss- 分页样式scrollbar.scss- 滚动条样式tagsView.scss- 标签视图样式
- mixins/ - 样式混入
index.scss- 混入入口
types/
TypeScript 类型定义目录
axios.d.ts- Axios 类型定义global.d.ts- 全局类型定义layout.d.ts- 布局类型定义mitt.d.ts- 事件总线类型定义pinia.d.ts- Pinia 类型定义
utils/
工具函数目录,存放公共工具方法
index.ts- 工具函数导出arrayOperation.ts- 数组操作asyncComponent.ts- 异步组件加载auth.ts- 认证工具authFunction.ts- 权限函数build.ts- 构建工具business.ts- 业务工具commonFunction.ts- 公共函数constants.ts- 常量定义formatTime.ts- 时间格式化getStyleSheets.ts- 样式表获取jsencrypt.ts- 加密工具loading.ts- 加载工具localeUtil.ts- 本地化工具messageUtil.ts- 消息工具mitt.ts- 事件总线other.ts- 其他工具request.ts- 请求封装scrollTo.ts- 滚动工具setIconfont.ts- 图标字体设置storage.ts- 存储工具systemConfig.ts- 系统配置tduck.ts- TDuck 工具theme.ts- 主题工具toolsValidate.ts- 验证工具uploadFile.ts- 文件上传工具watermark.ts- 水印工具webscoket.ts- WebSocket 工具zipdownload.ts- 压缩下载- echarts/ - ECharts 相关
- themes/ - ECharts 主题
views/
页面视图目录,存放所有页面组件
- ai/ - AI 相关页面
- form/ - AI 表单生成
- client/ - 客户端页面
- home/ - 客户端首页
- layout/ - 客户端布局
- message/ - 消息页面
- welcome/ - 欢迎页面
- components/ - 页面级组件
- FormItemListSelect/ - 表单项列表选择
- FormItemValueSelector/ - 表单项值选择器
- FormOptionSelect/ - 表单选项选择
- RbacFunctionality/ - RBAC 权限组件
- TChart/ - 图表组件
- error/ - 错误页面
401.vue- 未授权页面404.vue- 未找到页面
- form/ - 表单相关页面
- auth/ - 权限管理
- data/ - 数据管理
- dimension/ - 维度设置
- editor/ - 表单编辑器
- evaluation/ - 评估管理
- exam/ - 考试功能
- logic/ - 逻辑设置
- poster/ - 海报编辑
- preview/ - 预览页面
- publish/ - 发布设置
- setting/ - 表单设置
- statistics/ - 统计分析
- theme/ - 主题设置
- workflow/ - 工作流设置
- write/ - 表单填写
- formgen/ - 表单生成器核心
- api/ - 表单生成器 API
- assets/ - 表单生成器资源
- components/ - 表单生成器组件
- utils/ - 表单生成器工具
- home/ - 主页
- manage/ - 管理页面
- home/ - 管理首页
- workspace/ - 工作空间
- message/ - 消息中心
- log/ - 消息日志
- my/ - 我的消息
- template/ - 消息模板
- project/ - 项目管理
- confirmation/ - 确认页面
- FormDeleted/ - 已删除表单
- mangeform/ - 表单管理
- my/ - 我的项目
- MyTemplate/ - 我的模板
- question/ - 题库管理
- recycle/ - 回收站
- sensitiveword/ - 敏感词管理
- share/ - 分享管理
- template/ - 模板管理
- TemplateManage/ - 模板管理页
- theme/ - 主题管理
- todo/ - 待办管理
- report/ - 报表相关
- common/ - 公共报表
- components/ - 报表组件
- dashboard/ - 报表仪表盘
- types/ - 报表类型
- system/ - 系统管理
- announcement/ - 公告管理
- config/ - 系统配置
- dept/ - 部门管理
- dict/ - 字典管理
- menu/ - 菜单管理
- operlog/ - 操作日志
- ops/ - 运维管理
- post/ - 岗位管理
- role/ - 角色管理
- user/ - 用户管理
- test/ - 测试页面
- tool/ - 工具页面
- gen/ - 代码生成
- job/ - 定时任务
- openclient/ - 开放客户端
- uniapp/ - UniApp 相关
- banner/ - Banner 管理
- config/ - UniApp 配置
- portal/ - 门户管理
- user/ - 用户相关
- login/ - 登录页面
- register/ - 注册页面
- workflow/ - 工作流
- categories/ - 分类管理
- definition/ - 定义管理
- list/ - 工作流列表
- start/ - 启动工作流
- task/ - 任务管理
📝 总结
这是一个基于 Vue 3 + TypeScript + Element Plus 构建的表单系统前端项目,主要功能包括:
- 🎨 表单设计器:可视化表单设计和编辑
- 📊 数据分析:表单数据统计和分析
- 🔐 权限管理:完整的 RBAC 权限体系
- 🌐 国际化:支持多语言切换
- 📱 多端支持:支持 Web 和 UniApp
- 🎯 工作流:表单工作流审批
- 🧪 考试评估:支持在线考试和评估
目录结构清晰,职责分明,便于团队协作开发和维护。