From 255f138bdb150e3a2f251d839a1e8a75337b1130 Mon Sep 17 00:00:00 2001 From: pixelmaxQM Date: Wed, 30 Oct 2024 20:32:04 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=A8=A1=E6=9D=BF=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E8=AF=BB=E5=8F=96=E7=B3=BB=E7=BB=9F=E5=8E=9F?= =?UTF-8?q?=E7=94=9F=E6=90=BA=E5=B8=A6=E7=9A=84=E6=96=87=E4=BB=B6=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/core/server.go | 2 +- server/docs/docs.go | 2 +- server/docs/swagger.json | 2 +- server/docs/swagger.yaml | 2 +- server/main.go | 2 +- server/service/system/auto_code_package.go | 73 ++++++++++++++++++++++ web/package.json | 2 +- web/src/core/config.js | 2 +- web/src/core/gin-vue-admin.js | 2 +- 9 files changed, 81 insertions(+), 8 deletions(-) diff --git a/server/core/server.go b/server/core/server.go index 6981d2e2e..90092d04f 100644 --- a/server/core/server.go +++ b/server/core/server.go @@ -39,7 +39,7 @@ func RunWindowsServer() { fmt.Printf(` 欢迎使用 gin-vue-admin - 当前版本:v2.7.6 + 当前版本:v2.7.7 加群方式:微信号:shouzi_1994 QQ群:470239250 项目地址:https://github.com/flipped-aurora/gin-vue-admin 插件市场:https://plugin.gin-vue-admin.com diff --git a/server/docs/docs.go b/server/docs/docs.go index 09c1dc1db..caf962a6b 100644 --- a/server/docs/docs.go +++ b/server/docs/docs.go @@ -8087,7 +8087,7 @@ const docTemplate = `{ // SwaggerInfo holds exported Swagger Info so clients can modify it var SwaggerInfo = &swag.Spec{ - Version: "v2.7.6", + Version: "v2.7.7", Host: "", BasePath: "", Schemes: []string{}, diff --git a/server/docs/swagger.json b/server/docs/swagger.json index 4cbbd6002..80aa541c9 100644 --- a/server/docs/swagger.json +++ b/server/docs/swagger.json @@ -4,7 +4,7 @@ "description": "使用gin+vue进行极速开发的全栈开发基础平台", "title": "Gin-Vue-Admin Swagger API接口文档", "contact": {}, - "version": "v2.7.6" + "version": "v2.7.7" }, "paths": { "/api/createApi": { diff --git a/server/docs/swagger.yaml b/server/docs/swagger.yaml index 2a75c7df1..430abdb26 100644 --- a/server/docs/swagger.yaml +++ b/server/docs/swagger.yaml @@ -1634,7 +1634,7 @@ info: contact: {} description: 使用gin+vue进行极速开发的全栈开发基础平台 title: Gin-Vue-Admin Swagger API接口文档 - version: v2.7.6 + version: v2.7.7 paths: /api/createApi: post: diff --git a/server/main.go b/server/main.go index f9a7508cb..6f4444892 100644 --- a/server/main.go +++ b/server/main.go @@ -14,7 +14,7 @@ import ( //go:generate go mod download // @title Gin-Vue-Admin Swagger API接口文档 -// @version v2.7.6 +// @version v2.7.7 // @description 使用gin+vue进行极速开发的全栈开发基础平台 // @securityDefinitions.apikey ApiKeyAuth // @in header diff --git a/server/service/system/auto_code_package.go b/server/service/system/auto_code_package.go index 218ff5388..5a4a7d984 100644 --- a/server/service/system/auto_code_package.go +++ b/server/service/system/auto_code_package.go @@ -117,10 +117,83 @@ func (s *autoCodePackage) Delete(ctx context.Context, info common.GetById) error // @author: [piexlmax](https://github.com/piexlmax) // @author: [SliverHorn](https://github.com/SliverHorn) func (s *autoCodePackage) All(ctx context.Context) (entities []model.SysAutoCodePackage, err error) { + var step uint = 10000 + server := make([]model.SysAutoCodePackage, 0) + plugin := make([]model.SysAutoCodePackage, 0) + serverPath := filepath.Join(global.GVA_CONFIG.AutoCode.Root, global.GVA_CONFIG.AutoCode.Server, "service") + pluginPath := filepath.Join(global.GVA_CONFIG.AutoCode.Root, global.GVA_CONFIG.AutoCode.Server, "plugin") + serverDir, err := os.ReadDir(serverPath) + if err != nil { + return nil, errors.Wrap(err, "读取service文件夹失败!") + } + pluginDir, err := os.ReadDir(pluginPath) + if err != nil { + return nil, errors.Wrap(err, "读取plugin文件夹失败!") + } + for i := 0; i < len(serverDir); i++ { + if serverDir[i].IsDir() { + serverPackage := model.SysAutoCodePackage{PackageName: serverDir[i].Name(), Template: "package", Label: serverDir[i].Name() + "包", Desc: "系统自动读取" + serverDir[i].Name() + "包"} + serverPackage.ID = step + server = append(server, serverPackage) + step++ + } + } + for i := 0; i < len(pluginDir); i++ { + if pluginDir[i].IsDir() { + dirNameMap := map[string]bool{ + "api": true, + "config": true, + "initialize": true, + "model": true, + "plugin": true, + "router": true, + "service": true, + } + dir, e := os.ReadDir(filepath.Join(pluginPath, pluginDir[i].Name())) + if e != nil { + return nil, errors.Wrap(err, "读取plugin文件夹失败!") + } + //dir目录需要包含所有的dirNameMap + for k := 0; k < len(dir); k++ { + if dir[k].IsDir() { + if _, ok := dirNameMap[dir[k].Name()]; ok { + delete(dirNameMap, dir[k].Name()) + } + } + } + if len(dirNameMap) != 0 { + continue + } + pluginPackage := model.SysAutoCodePackage{PackageName: pluginDir[i].Name(), Template: "plugin", Label: pluginDir[i].Name() + "插件", Desc: "系统自动读取" + pluginDir[i].Name() + "插件,使用前请确认是否为v2版本插件"} + pluginPackage.ID = step + plugin = append(plugin, pluginPackage) + step++ + } + } + err = global.GVA_DB.WithContext(ctx).Find(&entities).Error if err != nil { return nil, errors.Wrap(err, "获取所有包失败!") } + entitiesMap := make(map[string]model.SysAutoCodePackage) + for i := 0; i < len(entities); i++ { + entitiesMap[entities[i].PackageName] = entities[i] + } + for i := 0; i < len(server); i++ { + if _, ok := entitiesMap[server[i].PackageName]; !ok { + if server[i].Template == "package" { + entities = append(entities, server[i]) + } + } + } + for i := 0; i < len(plugin); i++ { + if _, ok := entitiesMap[plugin[i].PackageName]; !ok { + if plugin[i].Template == "plugin" { + entities = append(entities, plugin[i]) + } + } + } + return entities, nil } diff --git a/web/package.json b/web/package.json index a52ca3018..0e711623a 100644 --- a/web/package.json +++ b/web/package.json @@ -1,6 +1,6 @@ { "name": "gin-vue-admin", - "version": "2.7.6", + "version": "2.7.7", "private": true, "scripts": { "serve": "node openDocument.js && vite --host --mode development", diff --git a/web/src/core/config.js b/web/src/core/config.js index 12463af9c..582ac01f2 100644 --- a/web/src/core/config.js +++ b/web/src/core/config.js @@ -13,7 +13,7 @@ const config = { export const viteLogo = (env) => { if (config.showViteLogo) { console.log(greenText(`> 欢迎使用Gin-Vue-Admin,开源地址:https://github.com/flipped-aurora/gin-vue-admin`)); - console.log(greenText(`> 当前版本:v2.7.6`)); + console.log(greenText(`> 当前版本:v2.7.7`)); console.log(greenText(`> 加群方式:微信:shouzi_1994 QQ群:470239250`)); console.log(greenText(`> 项目地址:https://github.com/flipped-aurora/gin-vue-admin`)); console.log(greenText(`> 插件市场:https://plugin.gin-vue-admin.com`)); diff --git a/web/src/core/gin-vue-admin.js b/web/src/core/gin-vue-admin.js index 08ed12503..615ed30e5 100644 --- a/web/src/core/gin-vue-admin.js +++ b/web/src/core/gin-vue-admin.js @@ -10,7 +10,7 @@ export default { register(app) console.log(` 欢迎使用 Gin-Vue-Admin - 当前版本:v2.7.6 + 当前版本:v2.7.7 加群方式:微信:shouzi_1994 QQ群:622360840 项目地址:https://github.com/flipped-aurora/gin-vue-admin 插件市场:https://plugin.gin-vue-admin.com