diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 441dfcf..f3756b5 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -151,6 +151,10 @@ export default defineConfig({ collapsible: true, collapsed: true, items: [ + { + text: '自动化package', + link: '/guide/generator/package', + }, { text: '代码生成器使用指南', link: '/guide/generator/server', @@ -187,7 +191,7 @@ export default defineConfig({ link: '/guide/web/dictionary' }, { - text: '侧边栏样式自定义', + text: '自定义全局皮肤', link: '/guide/web/menu-theme' }, { @@ -202,6 +206,10 @@ export default defineConfig({ text: '导出Excel', link: '/guide/web/export-excel', }, + { + text: '开发指导文档', + link: 'https://www.gin-vue-admin.com/empower/index.html' + } ] }, { @@ -210,7 +218,7 @@ export default defineConfig({ collapsed: true, items: [ { - text: '后端 指南', + text: '后端指南', link: '/guide/server/' }, { @@ -237,6 +245,10 @@ export default defineConfig({ text: '定时任务', link: '/guide/server/timer' }, + { + text: '开发指导文档', + link: 'https://www.gin-vue-admin.com/empower/index.html' + } ] }, { @@ -279,6 +291,10 @@ export default defineConfig({ text: 'kubernetes', link: '/guide/deployment/k8s' }, + { + text: '更详部署指南', + link: 'https://www.gin-vue-admin.com/empower/index.html' + } ] }, { diff --git a/docs/guide/generator/package.md b/docs/guide/generator/package.md new file mode 100644 index 0000000..1dd3d64 --- /dev/null +++ b/docs/guide/generator/package.md @@ -0,0 +1,17 @@ +# 自动化package使用指南 + +## 创建package +点击左侧菜单栏的自动化Package进入页面,点击新增打开抽屉 +![image-package](/generator/image-package.png) + +抽屉中关键属性为包名,此处填写小写字母开头的驼峰式命名单词,这是你自动化代码的基础包,所有在创建自动化代码时候选择本package的代码,都会创建在由本功能自动创建出的文件夹下。此处展示以showGva为例,自动生成的文件目录。 + +![image-package](/generator/image-create.png) +创建完成后,会在web和server下创建对应的package文件夹,如下所示 +web/src/api/showGva +web/src/view/showGva +server/api/showGva 内含文件 `enter.go` +server/router/showGva 内含文件 `enter.go` +server/service/showGva 内含文件 `enter.go` + +后续使用自动化代码创建的内容会自动填充进入这些文件夹下 diff --git a/docs/guide/generator/server.md b/docs/guide/generator/server.md index bec79d8..a2bfe7b 100644 --- a/docs/guide/generator/server.md +++ b/docs/guide/generator/server.md @@ -3,22 +3,6 @@ ## 2.5.3以后需先创造package 参考视频:https://www.bilibili.com/video/BV1kv4y1g7nT?p=3 -## 创建package -点击左侧菜单栏的自动化Package进入页面,点击新增打开抽屉 -![image-package](/generator/image-package.png) - -抽屉中关键属性为包名,此处填写小写字母开头的驼峰式命名单词,这是你自动化代码的基础包,所有在创建自动化代码时候选择本package的代码,都会创建在由本功能自动创建出的文件夹下。此处展示以showGva为例,自动生成的文件目录。 - -![image-package](/generator/image-create.png) -创建完成后,会在web和server下创建对应的package文件夹,如下所示 -web/src/api/showGva -web/src/view/showGva -server/api/showGva 内含文件 `enter.go` -server/router/showGva 内含文件 `enter.go` -server/service/showGva 内含文件 `enter.go` - -后续使用自动化代码创建的内容会自动填充进入这些文件夹下 - ## 代码生成器 最上方的点这里从现有数据库创建代码,可以选择数据库中的表,然后生成对应的代码。 @@ -107,71 +91,34 @@ server/service/showGva 内含文件 `enter.go` ::: +代码会自动移动到前后端你所创建的package文件夹下 +前端分别会移动到 `/api/${pageageName}` 和 `/view/${pageageName}` 下 +后端分别会移动到 `/api/${pageageName}`、 `/service/${pageageName}` 、 `/router/${pageageName}` 下、 `/model/${pageageName}` 下 - -- 点击后就可以看到左下角或者下载内容里有一个下载好了的`ginvueadmin.zip `文件 - -- ![image-20200915162032096](/generator/image-20200915162032096.png) - -解压`ginvueadmin.zip `后会看到里面有个 autoCode 文件夹,autoCode 里的 `server` 文件夹为自动生成的后端代码,`web` 文件夹为自动生成的前端代码。 - -![image-20200915162153474](/generator/image-20200915162153474.png) - -:::info 注意 - -[PackageName](#packagename) (文件夹自建)--> 代表图片上的sysUsers 新版自动迁移会在autocode下每个功能的enter下自动注册生成的新的代码模块 如果不使用自动迁移功能 还需要自行注册 - +:::tip 提示 +在创建自动化代码时候会自动创建enter.go 一下为关于enter.go的介绍 ::: -| 示例路径 | 移动到对应路径 (web/view/sysUsers目录下的sysUsers文件夹需要自己新建) | -| ------------------------------------------------ | ------------------------------------------------------------ | -| `autoCode/server/sysUsers/service/sysUsers.go` | `server/service/autocode/sysUsers.go` | -| `autoCode/server/sysUsers/router/sysUsers.go` | `server/router/autocode/sysUsers.go` | -| `autoCode/server/sysUsers/request/sysUsers.go` | `server/model/autocode/request/sysUsers.go` | -| `autoCode/server/sysUsers/model/sysUsers.go` | `server/model/autocode/sysUsers.go` | -| `autoCode/server/sysUsers/api/sysUsers.go` | `server/api/autocode/sysUsers.go` | -| `autoCode/web/sysUsers/table/sysUsers.vue` | `web/src/view/sysUsers/sysUsers.vue` | -| `autoCode/web/sysUsers/form/sysUsers.vue` | `web/src/view/sysUsers/sysUsersForm.vue` (文件需要重命名) | -| `autoCode/web/sysUsers/api/sysUsers.js` | `web/src/api/sysUsers.js` | - - - -代码迁移完成后,go代码如果需要做模块化,则需要创建enter.go - enter.go内部将所有的相关功能模块下的结构统一为一个总结构体,然后将可以通过new这个总结构体实现对本模块的所有结构统一实例化使用 我们此处仅以api下的system分类为例(其他模块操作类似 model模块无enter.go) -system下目录结构如下 - - enter.go - - sys_api.go - - sys_authority.go - - sys_auto_code.go - - sys_auto_code_history.go - - sys_captcha.go - - sys_casbin.go - - sys_dictionary.go - - sys_dictionary_detail.go - - sys_initdb.go - - sys_jwt_blacklist.go - - sys_menu.go - - sys_operation_record.go - - sys_system.go - - sys_user.go - +我们以system这个package为例 +``` +enter.go + sys_api.go + sys_authority.go + sys_auto_code.go + sys_auto_code_history.go + sys_captcha.go + sys_casbin.go + sys_dictionary.go + sys_dictionary_detail.go + sys_initdb.go + sys_jwt_blacklist.go + sys_menu.go + sys_operation_record.go + sys_system.go + sys_user.go +``` enter.go 文件中存在如下结构 @@ -219,8 +166,6 @@ var ( dictionaryDetailService = service.ServiceGroupApp.SystemServiceGroup.DictionaryDetailService ) - - ``` 这里我们介绍完了声明enter的过程 和使用其他包下enter的过程 然后我们找到实例化enter的过程 @@ -260,20 +205,9 @@ var ApiGroupApp = new(ApiGroup) ![image-20210224151109195](/generator/image-20210224151109195.png) -- 效果预览 -- ![image-20210224151320620](/generator/image-20210224151320620.png) - -### 1.5 自动移动文件 - -- 操作指引 - -- ![image-20210224152346906](/generator/image-20210224152346906.png) +效果预览 -- ![image-20210224152545924](/generator/image-20210224152545924.png) - -- 芜湖,起飞!!!!!! 这样不用手动去解压文件和移动文件, 太舒服了! - -- ![image-20210224152815684](/generator/image-20210224152815684.png) +![image-20210224151320620](/generator/image-20210224151320620.png) ## 2. 注册路由和数据库表 @@ -541,14 +475,17 @@ func AutoCreateApi(a *model.AutoCodeStruct) (err error) { ## 5.配置角色权限 -- 进入系统 `超级管理员` → `角色管理` 菜单,找到需要设置权限的角色,点击对应的 **设置权限** 按钮,配置角色相关权限。 +进入系统 `超级管理员` → `角色管理` 菜单,找到需要设置权限的角色,点击对应的 **设置权限** 按钮,配置角色相关权限。 + +![image-20210224144035326](/generator/image-20210224144035326.png) + +角色菜单:勾选该角色可以访问的目录菜单 + +![image-20210224144517336](/generator/image-20210224144517336.png) -- ![image-20210224144035326](/generator/image-20210224144035326.png) +角色api:勾选该角色可以访问的接口 -- 角色菜单:勾选该角色可以访问的目录菜单 -- ![image-20210224144517336](/generator/image-20210224144517336.png) -- 角色api:勾选该角色可以访问的接口 -- ![image-20210224144708399](/generator/image-20210224144708399.png) +![image-20210224144708399](/generator/image-20210224144708399.png) ## 6:完善新增表单弹窗/页面 diff --git a/docs/guide/generator/web.md b/docs/guide/generator/web.md index 3285f8d..b133031 100644 --- a/docs/guide/generator/web.md +++ b/docs/guide/generator/web.md @@ -1,5 +1,9 @@ # 127.0.0.1拒绝连接 +:::warning +不建议线上使用 +::: + ![image-20201026171737491](/generator/image-20201026171737491.png) - 出现这种情况, diff --git a/docs/guide/server/config.md b/docs/guide/server/config.md index 2c47908..51f42ef 100644 --- a/docs/guide/server/config.md +++ b/docs/guide/server/config.md @@ -218,16 +218,16 @@ type System struct { ### description -| 配置名 | 类型 | 说明 | -| -------------- | ------ | ------------------------------------------------------------ | -| env | string | 更改为“develop”以跳过开发模式的身份验证 | -| addr | int | 后端端口,默认8888 | -| db-type | string | 可以使用mysql 后续支持pgsql | +| 配置名 | 类型 | 说明 | +| -------------- | ------ |--------------------------------------------------------------------------------------------------------------------------------------| +| env | string | 更改为“develop”以跳过开发模式的身份验证 | +| addr | int | 后端端口,默认8888 | +| db-type | string | 可以使用 pgsql,sqlite,mssql,oracle | | oss-type | string | 可以指定上传头像的oss为local/qiniu/aliyun/minio
local:本地的 `local.path` 目录
qiniu:七牛云
aliyun与minio可能框架不会集成,需自己添加,或者参考 [额外功能](oss) | -| use-multipoint | bool | 单点登录,默认为关闭 | -| use-redis | bool | 使用redis,默认为关闭 | -| iplimit-count | int | time时间段内同IP最多访问次数,默认为15000 | -| iplimit-time | int | 限制时间区间,默认为3600 | +| use-multipoint | bool | 单点登录,默认为关闭 | +| use-redis | bool | 使用redis,默认为关闭 | +| iplimit-count | int | time时间段内同IP最多访问次数,默认为15000 | +| iplimit-time | int | 限制时间区间,默认为3600 | ## captcha @@ -259,7 +259,7 @@ type Captcha struct { | img-width | int | 验证码宽度 | | img-height | int | 验证码高度 | -## Mysql +## Mysql [pgsql,sqlite,mssql,oracle] ### yaml @@ -307,26 +307,6 @@ type Mysql struct { | log-mode | string | 开启Gorm全局日志等级 "silent"、"error"、"warn"、"info" 不填默认info 填入silent可以关闭控制台日志 | | log-zap | bool | 是否写入zap | -## Postgresql (研发中) - -### yaml - -```yaml -# Postgresql connect configuration -pgsql: - path: '' - port: '' - config: '' - db-name: '' - username: '' - password: '' - max-idle-conns: 10 - max-open-conns: 100 - log-mode: "" - log-zap: false - -``` - ### struct ```go diff --git a/docs/guide/web/env.md b/docs/guide/web/env.md index 0484a6f..16b8e03 100644 --- a/docs/guide/web/env.md +++ b/docs/guide/web/env.md @@ -2,25 +2,31 @@ ## .env.development +``` ENV = 'development' // 标识 不要管 -``` -VITE_CLI_PORT = 8080 // 开发阶段前端运行的端口 -VITE_SERVER_PORT = 8888 // 开发阶段后端运行的端口 -VITE_BASE_API = /api // 代理前缀用于跨域转发 -#下方修改为你的线上ip -VITE_BASE_PATH = https://demo.gin-vue-admin.com // 开发阶段为本地后端 +VITE_CLI_PORT = 8080 +VITE_SERVER_PORT = 8888 +VITE_BASE_API = /api +VITE_FILE_API = /api +VITE_BASE_PATH = http://127.0.0.1 +VITE_POSITION = close // open为开启代码定位功能,close为关闭代码定位功能 +VITE_EDITOR = vscode // 可选 vscode webstorm +// VITE_EDITOR = webstorm 如果使用webstorm开发且要使用dom定位到代码行功能 请先自定添加 webstorm到环境变量 再将VITE_EDITOR值修改为webstorm +// 如果使用docker-compose开发模式,设置为下面的地址或本机主机IP +// VITE_BASE_PATH = http://177.7.0.12 + +// 打开代码定位功能的情况下,在web页面按住键盘的shift+alt+鼠标左键点击代码行,即可在编辑器中打开对应的代码文件 ``` ## .env.production - +``` ENV = 'production' // 标识 不要管 +#下方为上线需要用到的程序代理前缀,一般用于nginx代理转发 +VITE_BASE_API = /api +VITE_FILE_API = /api +#下方修改为你的线上ip(如果需要在线使用表单构建工具时使用,其余情况无需使用以下环境变量) +VITE_BASE_PATH = https://demo.gin-vue-admin.com ``` -VITE_CLI_PORT = 8080 // 开发阶段前端运行的端口(上线可以无视) -VITE_SERVER_PORT = 8888 // 开发阶段后端运行的端口(上线可以无视) -VITE_BASE_API = /api // 代理前缀用于跨域转发(搭配proxy工具例如nginx) -#下方修改为你的线上ip -VITE_BASE_PATH = https://demo.gin-vue-admin.com // 主要是保证ifream的可用性 不会影响主体业务 -``` \ No newline at end of file diff --git a/docs/guide/web/export-excel.md b/docs/guide/web/export-excel.md index d84b01e..09e834c 100644 --- a/docs/guide/web/export-excel.md +++ b/docs/guide/web/export-excel.md @@ -2,7 +2,37 @@
-提供了自动导出的功能,需要提前在此处定制模板,需要录入模板标题,模板对应的表格名称,模板的唯一标识,模板和excel表头的映射关系。 +## 名词解释 + +- 业务库:注:需要提前到db-list自行配置多数据库,如未配置需配置后重启服务方可使用。若无法选择,请到config.yaml中设置disabled:false,选择导入导出的目标库。 +- 模板名称: 模板的中文标记,主要用来用户助记。 +- 表名称: 需要导出数据的表,输入表名即可。 +- 模板标识: 模板的唯一标识,用来区分不同的模板。在使用导出组件时候作为 `templateId` 参数传入。 +- 关联条件: 此处可以添加多个关联,需要选择和写入的参数为,join方式[inner, left, right],关联表,关联条件。 +- 模板信息: 此处接收一个json string,用来配置导出的表头,格式如下: + +```json + { + "表的列": "导出的中文名称列", + } +``` + +示例(xxx.xxx标识带json模式) + +```json + { + "id": "ID", + "name": "名称", + "age": "年龄", + "info.id": "用户信息组ID" + } +``` +- 默认导出条数: 默认导出的条数,如果不填写则默认为全量导出,实际使用中以ExportExcel的入参limit为准。 +- 默认排序条件: 默认的排序条件,如果不填写则默认为无排序,实际使用中以ExportExcel的入参order为准。 +- 导出条件:此处可以添加多条,每条需要填入的信息为 `json中输入的key`, `对应表的column`, `条件`。 + + +## 组件使用 然后在你需要导出的页面`