管理后台 - UniApp
引用文件
本文引用的文件
- yudao-ui-admin-uniapp/README.md
- yudao-ui-admin-vue3/README.md
- yudao-ui-admin-vue2/README.md
- yudao-ui-admin-vben/README.md
- .gitee/ISSUE_TEMPLATE.zh-CN.md
- yudao-module-infra/CodegenEngine.java
- vue3_vben/views/data.ts.vm
- vue/views/components/form_sub_inner.vue.vm
- vue3/views/components/form_sub_inner.vue.vm
- yudao-gateway/ProjectReactor.java
目录
简介
本项目为基于 Vue3 + UniApp + uView UI 的跨平台管理后台解决方案,面向 H5、小程序与 APP 多端统一开发与部署。项目采用前后端分离架构,前端通过 UniApp 多端编译能力输出不同平台产物;后端模块化拆分,提供统一网关与业务模块,支持租户隔离、数据权限、定时任务、消息队列等企业级能力。
本仓库同时提供多套前端实现参考:
- Vue3 + uView UI 的 UniApp 管理后台
- Vue3 + Element Plus 的 Web 管理后台
- Vue2 + Element UI 的 Web 管理后台
- Vue3 + Vben Ant Design Vue 的 Web 管理后台
项目结构
项目采用“后端多模块 + 多前端实现”的组织方式,便于在不同技术栈与平台间切换与复用。
图示来源
- yudao-ui-admin-uniapp/README.md
- yudao-ui-admin-vue3/README.md
- yudao-ui-admin-vue2/README.md
- yudao-ui-admin-vben/README.md
章节来源
- yudao-ui-admin-uniapp/README.md
- yudao-ui-admin-vue3/README.md
- yudao-ui-admin-vue2/README.md
- yudao-ui-admin-vben/README.md
核心组件
- 多端编译与平台差异处理
- 通过条件编译与平台 API 适配,屏蔽 H5、小程序、APP 的差异,保证同一套代码在多端运行。
- 使用平台特定的存储、网络、导航与事件处理,确保一致的用户体验。
- 组件体系与 UI 库
- 基于 uView UI 构建,提供丰富的表单、表格、弹窗、导航等组件,结合主题变量与图标资源实现统一风格。
- 插件与工具链
- 集成代码生成器,自动生成 CRUD 页面与 API 客户端,提升开发效率。
- 后端集成
- 通过统一网关访问各业务模块 API,遵循统一的数据格式与错误处理规范。
章节来源
架构总览
下图展示前端多实现与后端模块的交互关系,以及代码生成与项目初始化的关键流程。
图示来源
- yudao-ui-admin-uniapp/README.md
- yudao-ui-admin-vue3/README.md
- yudao-ui-admin-vue2/README.md
- yudao-ui-admin-vben/README.md
详细组件分析
代码生成与页面模板
- 功能概述
- 通过代码生成器根据数据表结构自动生成前端页面与 API 客户端,覆盖 Vue2/Vue3、标准模板与 Vben 模板。
- 支持主子表场景的表单与列表组件复用,减少重复开发。
- 关键实现
- 生成映射:定义不同前端类型到模板与目标文件路径的映射关系,确保生成结果的一致性与可维护性。
- 模板解析:使用 Velocity 模板引 擎渲染字段类型、组件类型、字典选项等动态内容。
- 流程图
图示来源
- yudao-module-infra/CodegenEngine.java
- vue3_vben/views/data.ts.vm
- vue/views/components/form_sub_inner.vue.vm
- vue3/views/components/form_sub_inner.vue.vm
章节来源
- yudao-module-infra/CodegenEngine.java
- vue3_vben/views/data.ts.vm
- vue/views/components/form_sub_inner.vue.vm
- vue3/views/components/form_sub_inner.vue.vm
项目初始化与文件扫描
- 功能概述
- 提供项目级初始化脚本,扫描工程文件并进行批量替换,便于快速复制与二次开发。
- 关键实现
- 扫描过滤:排除 target、node_modules、.idea、.git、dist 等无关目录与文件。
- 内容替换:按新项目参数替换包名、标题等占位符,保持 一致性。
- 流程图
图示来源
章节来源
多端编译与平台差异处理
- 多端编译原理
- 通过条件编译指令与平台 API 适配,将同一份代码编译为 H5、小程序、APP 的差异化产物。
- 在运行时根据平台特性选择不同的实现,如存储、网络请求、导航跳转、事件绑定等。
- 平台差异处理
- 存储:H5 使用 localStorage/sessionStorage,小程序使用 wx.getStorageSync 等,APP 使用原生存储方案。
- 网络:统一拦截器与错误处理,对不同平台的网络限制与超时策略进行适配。
- 导航:路由跳转与 TabBar/导航栏在不同平台的差异通过封装层屏蔽。
- 事件:触摸、键盘、生命周期事件在不同平台的差异通过统一事件系统处理。
- 性能优化策略
- 按需引入组件与样式,避免全量打包。
- 图片懒加载与压缩,减少首屏加载时间。
- 利用虚拟列表渲染大数据集,降低 DOM 压力。
- 合理缓存策略与本地存储,减少重复请求。
章节来源
UI 组件与主题定制
- uView UI 组件库使用
- 表单组件:输入框、选择器、日期时间选择、上传等,结合字典与校验规则。
- 展示组件:表格、标签页、折叠面板、进度条等,满足后台管理场景。
- 反馈组件:弹窗、提示、加载、骨架屏等,提升交互体验。
- 主题定制
- 通过全局样式变量与主题色板,统一按钮、边框、阴影、字体等视觉元素。
- 支持深浅主题切换,适配不同使用环境。
- 图标与动画
- 使用矢量图标库,确保在多分辨率设备上清晰显示。