diff --git a/README.md b/README.md
index 06ad886110afd97e9a3035d7b922174ebf4abe04..30711b35fee7e7e5f7f62cb37092236153521ac7 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
-> 用上diboot,告别常规SQL和CRUD,写的更少,性能更好!
+> 用上diboot,告别常规SQL和CRUD,写的更少,性能更好!
-> 新用户指南: [手把手来体验](https://www.diboot.com/guide/newer/bootstrap.html) 、[看视频了解我](https://www.bilibili.com/video/BV17P4y1p7L4) 、[如何做到高性能](https://www.bilibili.com/video/BV1tL411p7CD)
+> 新用户指南: [手把手来体验](https://www.diboot.com/guide/beginner/bootstrap.html) 、[看视频了解 Diboot](https://www.bilibili.com/video/BV17P4y1p7L4) 、[了解Diboot如何做到高性能](https://www.bilibili.com/video/BV1tL411p7CD)
# diboot - 基础组件化繁为简,高效工具以简驭繁
@@ -17,9 +17,9 @@
![diboot平台组成结构图](https://www.diboot.com/structure.png)
-> [diboot-cloud 微服务版本,看这里->](https://www.diboot.com/ent/service.html)
+> [diboot-cloud 微服务版本,看这里->](https://www.diboot.com/guide/diboot-cloud/introduce.html)
-> [diboot-workflow 工作流版本,看这里->](https://www.diboot.com/ent/service.html)
+> [diboot-workflow 工作流版本,看这里->](https://www.diboot.com/guide/diboot-workflow/introduce.html)
## diboot基础组件
### 1、 diboot-core: 精简优化内核:写的更少,性能更好
@@ -32,31 +32,31 @@
* 其他常用工具类、状态码、异常处理的更优实践封装
基于diboot-core的CRUD和常规关联的功能实现,代码量比传统Mybatis项目减少80%+,且性能更好更易维护。
-> 详细文档: [diboot-core文档](https://www.diboot.com/guide/diboot-core/introduce.html).
+> 详细文档: [diboot-core文档](https://www.diboot.com/guide/diboot-core/introduce.html).
### 2、IAM 身份认证基础组件 及 配套VUE前端框架(diboot-antd-admin、diboot-element-admin)
* 开箱即用的RBAC角色权限模型与预置组织人员岗位模型
-* 基于JWT的认证授权,支持申请token、刷新token、无状态认证
-* 简化的BindPermission注解,支持兼容shiro的简化权限绑定与自动鉴权
-* 自动提取需要验证的后端接口, 借助前端功能方便绑定前后端菜单按钮权限
+* 基于无状态token的认证授权,支持刷新token
+* 简化的BindPermission注解,支持兼容shiro的简化权限配置与自动鉴权
+* 自动提取需要鉴权的后端接口, 借助前端功能方便配置菜单按钮权限
* 无缝适配redis,引入redis依赖即可启用shiro的redis缓存
* 支持基于注解的数据权限实现、简化的Log注解记录操作日志等
* 支持灵活的扩展能力(扩展多种登录方式、灵活替换用户实体类、自定义缓存等)
-> 详细文档: [diboot-iam文档](https://www.diboot.com/guide/diboot-iam/introduce.html).
+> 详细文档: [diboot-iam文档](https://www.diboot.com/guide/diboot-iam/introduce.html).
### 3、diboot-file 文件相关处理组件
* EasyExcel轻量封装,支持Java注解校验与@ExcelBind*注解实现字典及关联字段的name-value转换,并提供完善的校验错误提示
* 文件存储接口化,预置本地存储,简单扩展OSS、分布式存储等实现
* 封装常用的文件上传下载、图片压缩水印等常用处理
-> 详细文档: [diboot-file文档](https://www.diboot.com/guide/diboot-file/introduce.html).
+> 详细文档: [diboot-file文档](https://www.diboot.com/guide/diboot-file/introduce.html).
### 4、diboot-scheduler 定时任务组件
* Quartz定时任务统一管理及日志的最佳实践封装
* @CollectThisJob注解提供定时任务定义,自动收集供前端选择
-> 详细文档: [diboot-scheduler文档](https://www.diboot.com/guide/diboot-scheduler/introduce.html).
+> 详细文档: [diboot-scheduler文档](https://www.diboot.com/guide/diboot-scheduler/introduce.html).
### 5. diboot-message 消息通知组件
@@ -75,9 +75,9 @@
* 功能强大(数据结构与代码同步、前后端代码一键生成、前端面板组件编排)
* 配置灵活(可按需配置生成代码路径及启用`Lombok`、`Swagger`等)
* 代码标准(devtools标准化了数据结构定义与代码实现,降低维护成本)
-* 支持多库(MySQL、MariaDB、ORACLE、SQLServer、PostgreSQL)
+* 支持多库(MySQL、MariaDB、ORACLE、SQLServer、PostgreSQL、达梦、人大金仓)
-> 详细文档: [diboot-devtools文档](https://www.diboot.com/guide/diboot-devtools/introduce.html).
+> 详细文档: [diboot-devtools文档](https://www.diboot.com/guide/diboot-devtools/introduce.html).
## 捐助支持
@@ -87,8 +87,8 @@
## 技术交流
如遇diboot相关技术问题,欢迎加群交流:
-* **VIP技术支持QQ群**(捐助/付费用户尊享): [931266830]()
+* **VIP技术支持QQ群**(付费用户尊享): [931266830]()
-* 技术交流QQ群: [731690096]()
+* 技术交流QQ群: [731690096]()
* 技术交流微信群 加: [wx20201024]() (备注diboot)
diff --git a/diboot-admin-ui/.env.development b/diboot-admin-ui/.env.development
new file mode 100644
index 0000000000000000000000000000000000000000..a435ff63ffad3c2dc73b0e9b3c8afb42fa6f36c0
--- /dev/null
+++ b/diboot-admin-ui/.env.development
@@ -0,0 +1,2 @@
+# BASE_URL
+VITE_APP_BASE_URL=/api
diff --git a/diboot-admin-ui/.env.production b/diboot-admin-ui/.env.production
new file mode 100644
index 0000000000000000000000000000000000000000..a435ff63ffad3c2dc73b0e9b3c8afb42fa6f36c0
--- /dev/null
+++ b/diboot-admin-ui/.env.production
@@ -0,0 +1,2 @@
+# BASE_URL
+VITE_APP_BASE_URL=/api
diff --git a/diboot-admin-ui/.eslintignore b/diboot-admin-ui/.eslintignore
new file mode 100644
index 0000000000000000000000000000000000000000..a4afa61ec603d8978b645ba64265a5740b653427
--- /dev/null
+++ b/diboot-admin-ui/.eslintignore
@@ -0,0 +1,17 @@
+node_modules
+public
+dist
+
+/bin
+/docs
+
+.vscode
+.idea
+
+*.sh
+*.md
+*.woff
+*.ttf
+.husky
+.local
+.eslintrc.js
diff --git a/diboot-admin-ui/.eslintrc-auto-import.json b/diboot-admin-ui/.eslintrc-auto-import.json
new file mode 100644
index 0000000000000000000000000000000000000000..82ea7b2fb1e13f8cbad0af5a99d78ea508c72b5f
--- /dev/null
+++ b/diboot-admin-ui/.eslintrc-auto-import.json
@@ -0,0 +1,73 @@
+{
+ "globals": {
+ "_": "readonly",
+ "acceptHMRUpdate": "readonly",
+ "api": "readonly",
+ "baseURL": "readonly",
+ "computed": "readonly",
+ "createApp": "readonly",
+ "createPinia": "readonly",
+ "customRef": "readonly",
+ "defineAsyncComponent": "readonly",
+ "defineComponent": "readonly",
+ "defineStore": "readonly",
+ "effectScope": "readonly",
+ "EffectScope": "readonly",
+ "ElMessage": "readonly",
+ "ElMessageBox": "readonly",
+ "ElNotification": "readonly",
+ "getActivePinia": "readonly",
+ "getCurrentInstance": "readonly",
+ "getCurrentScope": "readonly",
+ "h": "readonly",
+ "inject": "readonly",
+ "isReadonly": "readonly",
+ "isRef": "readonly",
+ "mapActions": "readonly",
+ "mapGetters": "readonly",
+ "mapState": "readonly",
+ "mapStores": "readonly",
+ "mapWritableState": "readonly",
+ "markRaw": "readonly",
+ "nextTick": "readonly",
+ "onActivated": "readonly",
+ "onBeforeMount": "readonly",
+ "onBeforeUnmount": "readonly",
+ "onBeforeUpdate": "readonly",
+ "onDeactivated": "readonly",
+ "onErrorCaptured": "readonly",
+ "onMounted": "readonly",
+ "onRenderTracked": "readonly",
+ "onRenderTriggered": "readonly",
+ "onScopeDispose": "readonly",
+ "onServerPrefetch": "readonly",
+ "onUnmounted": "readonly",
+ "onUpdated": "readonly",
+ "provide": "readonly",
+ "reactive": "readonly",
+ "readonly": "readonly",
+ "ref": "readonly",
+ "resolveComponent": "readonly",
+ "setActivePinia": "readonly",
+ "setMapStoreSuffix": "readonly",
+ "shallowReactive": "readonly",
+ "shallowReadonly": "readonly",
+ "shallowRef": "readonly",
+ "storeToRefs": "readonly",
+ "toRaw": "readonly",
+ "toRef": "readonly",
+ "toRefs": "readonly",
+ "triggerRef": "readonly",
+ "unref": "readonly",
+ "useAttrs": "readonly",
+ "useCssModule": "readonly",
+ "useCssVars": "readonly",
+ "useList": "readonly",
+ "useListDefault": "readonly",
+ "useRoute": "readonly",
+ "useRouter": "readonly",
+ "useSlots": "readonly",
+ "watch": "readonly",
+ "watchEffect": "readonly"
+ }
+}
\ No newline at end of file
diff --git a/diboot-admin-ui/.eslintrc.js b/diboot-admin-ui/.eslintrc.js
new file mode 100644
index 0000000000000000000000000000000000000000..aa8bc3f400f167cfa38fc817f2aa4771355e9518
--- /dev/null
+++ b/diboot-admin-ui/.eslintrc.js
@@ -0,0 +1,35 @@
+module.exports = {
+ env: {
+ browser: true,
+ es2021: true,
+ node: true,
+ 'vue/setup-compiler-macros': true
+ },
+ parser: 'vue-eslint-parser',
+ extends: [
+ 'eslint:recommended',
+ 'plugin:vue/vue3-recommended',
+ '@vue/eslint-config-typescript/recommended',
+ '@vue/eslint-config-prettier',
+ './.eslintrc-auto-import.json'
+ ],
+ parserOptions: {
+ ecmaVersion: 'latest',
+ parser: '@typescript-eslint/parser',
+ sourceType: 'module'
+ },
+ plugins: ['vue', '@typescript-eslint', 'prettier'],
+ globals: {
+ NodeJS: 'readonly'
+ },
+ rules: {
+ 'comma-dangle': ['warn', 'only-multiline'],
+ 'vue/multi-word-component-names': 'off',
+ 'vue/html-self-closing': ['warn', { html: { void: 'always' } }],
+ 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
+ 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
+ 'prettier/prettier': 'warn',
+ 'arrow-body-style': 'off',
+ 'prefer-arrow-callback': 'off'
+ }
+}
diff --git a/diboot-admin-ui/.gitignore b/diboot-admin-ui/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..a547bf36d8d11a4f89c59c144f24795749086dd1
--- /dev/null
+++ b/diboot-admin-ui/.gitignore
@@ -0,0 +1,24 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+dist
+dist-ssr
+*.local
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+.DS_Store
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/diboot-admin-ui/.prettierignore b/diboot-admin-ui/.prettierignore
new file mode 100644
index 0000000000000000000000000000000000000000..d3e769730b07e967ec4cdcfeea572fc3ea27f2d1
--- /dev/null
+++ b/diboot-admin-ui/.prettierignore
@@ -0,0 +1,9 @@
+/node_modules/**
+/public/*
+/dist/*
+
+.local
+.output.js
+
+**/*.svg
+**/*.sh
diff --git a/diboot-admin-ui/.prettierrc b/diboot-admin-ui/.prettierrc
new file mode 100644
index 0000000000000000000000000000000000000000..78f239ac58497dc84f25ecc6d642182da0426846
--- /dev/null
+++ b/diboot-admin-ui/.prettierrc
@@ -0,0 +1,20 @@
+# 配置文档:https://prettier.io/docs/en/options.html
+
+# 声明结尾使用分号(默认true)
+semi: false
+# 每行代码长度(默认80)
+printWidth: 120
+# 每个tab相当于多少个空格(默认2)
+tabWidth: 2
+# 是否使用tab进行缩进(默认false)
+useTabs: false
+# 使用单引号(默认false)
+singleQuote: true
+# 对象字面量的大括号间使用空格(默认true)
+bracketSpacing: true
+# 包括单箭头函数参数周围的括号(默认always)
+arrowParens: 'avoid'
+# 尾部跟随逗号(默认 es5)
+trailingComma: 'none'
+# 自动换行(默认 preserve)
+proseWrap: 'never'
diff --git a/diboot-admin-ui/.vscode/extensions.json b/diboot-admin-ui/.vscode/extensions.json
new file mode 100644
index 0000000000000000000000000000000000000000..3dc5b08bcdc96b1536eec0cff46a39d54235aa12
--- /dev/null
+++ b/diboot-admin-ui/.vscode/extensions.json
@@ -0,0 +1,3 @@
+{
+ "recommendations": ["johnsoncodehk.volar"]
+}
diff --git a/diboot-admin-ui/README.md b/diboot-admin-ui/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..e432516724c1a7ea0e7391f4b675a2dd8d1661cc
--- /dev/null
+++ b/diboot-admin-ui/README.md
@@ -0,0 +1,16 @@
+# Vue 3 + TypeScript + Vite
+
+This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 `
+