* sys_initdb_mysql/pgsql.go: 优化流程, 创建database前,如果dbname为空直接返回

* 删除视图逻辑

* 摘除视图初始化逻辑

* 移除dialog废弃的title标签修改为header

* 解决部分浏览器登录后遮罩不消失的bug

* 修复角色菜单逻辑

* element 2.2.2=>2.2.5

* 修复插件模板

* 调整自动插件模板到插件功能下

* 切换角色切换至角色首页

Co-authored-by: Lyon.Nee <lyon.nee@outlook.com>
This commit is contained in:
奇淼(piexlmax
2022-06-23 22:30:15 +08:00
committed by GitHub
parent 8504e9bf74
commit 091f83ff59
14 changed files with 102 additions and 232 deletions

View File

@@ -76,7 +76,7 @@ func (i *initMenu) InitializeData(ctx context.Context) (next context.Context, er
{MenuLevel: 0, Hidden: false, ParentId: "14", Path: "autoCodeAdmin", Name: "autoCodeAdmin", Component: "view/systemTools/autoCodeAdmin/index.vue", Sort: 1, Meta: Meta{Title: "自动化代码管理", Icon: "magic-stick"}},
{MenuLevel: 0, Hidden: true, ParentId: "14", Path: "autoCodeEdit/:id", Name: "autoCodeEdit", Component: "view/systemTools/autoCode/index.vue", Sort: 0, Meta: Meta{Title: "自动化代码-${id}", Icon: "magic-stick"}},
{MenuLevel: 0, Hidden: false, ParentId: "14", Path: "autoPkg", Name: "autoPkg", Component: "view/systemTools/autoPkg/autoPkg.vue", Sort: 0, Meta: Meta{Title: "自动化package", Icon: "folder"}},
{MenuLevel: 0, Hidden: false, ParentId: "14", Path: "autoPlug", Name: "autoPlug", Component: "view/systemTools/autoPlug/autoPlug.vue", Sort: 4, Meta: Meta{Title: "自动化插件模板", Icon: "folder"}},
{MenuLevel: 0, Hidden: false, ParentId: "28", Path: "autoPlug", Name: "autoPlug", Component: "view/systemTools/autoPlug/autoPlug.vue", Sort: 4, Meta: Meta{Title: "自动化插件模板", Icon: "folder"}},
{MenuLevel: 0, Hidden: false, ParentId: "0", Path: "plugin", Name: "plugin", Component: "view/routerHolder.vue", Sort: 6, Meta: Meta{Title: "插件系统", Icon: "cherry"}},
{MenuLevel: 0, Hidden: false, ParentId: "28", Path: "plugin-email", Name: "plugin-email", Component: "plugin/email/view/index.vue", Sort: 1, Meta: Meta{Title: "邮件插件", Icon: "message"}},
{MenuLevel: 0, Hidden: false, ParentId: "28", Path: "https://plugin.gin-vue-admin.com/", Name: "https://plugin.gin-vue-admin.com/", Component: "https://plugin.gin-vue-admin.com/", Sort: 0, Meta: Meta{Title: "插件市场", Icon: "shop"}},

View File

@@ -1,89 +0,0 @@
package system
import (
"context"
"fmt"
"github.com/flipped-aurora/gin-vue-admin/server/service/system"
"gorm.io/gorm"
"strings"
"github.com/flipped-aurora/gin-vue-admin/server/global"
sysModel "github.com/flipped-aurora/gin-vue-admin/server/model/system"
"github.com/pkg/errors"
)
const initOrderMenuViewMysql = initOrderMenuAuthority + 1
type initMenuViewMysql struct{}
// auto run
func init() {
system.RegisterInit(initOrderMenuViewMysql, &initMenuViewMysql{})
}
func (i initMenuViewMysql) InitializerName() string {
return fmt.Sprintf("mysql 视图<%s>", sysModel.SysMenu{}.TableName())
}
func (i *initMenuViewMysql) InitializeData(ctx context.Context) (context.Context, error) {
return ctx, nil
}
func (i *initMenuViewMysql) DataInserted(ctx context.Context) bool {
return true // ignore
}
func (v *initMenuViewMysql) MigrateTable(ctx context.Context) (context.Context, error) {
db, ok := ctx.Value("db").(*gorm.DB)
if !ok {
return ctx, system.ErrMissingDBContext
}
if s, ok := ctx.Value("dbtype").(string); !ok || s != "mysql" {
return ctx, nil // ignore
}
joinTableName := db.Model(&sysModel.SysAuthority{}).Association("SysBaseMenus").Relationship.JoinTable.Name
sql := `
CREATE OR REPLACE ALGORITHM = UNDEFINED SQL SECURITY DEFINER VIEW @table_name AS
select @menus.id AS id,
@menus.path AS path,
@menus.icon AS icon,
@menus.name AS name,
@menus.sort AS sort,
@menus.title AS title,
@menus.hidden AS hidden,
@menus.component AS component,
@menus.parent_id AS parent_id,
@menus.created_at AS created_at,
@menus.updated_at AS updated_at,
@menus.deleted_at AS deleted_at,
@menus.keep_alive AS keep_alive,
@menus.menu_level AS menu_level,
@menus.default_menu AS default_menu,
@menus.close_tab AS close_tab,
@authorities_menus.sys_base_menu_id AS menu_id,
@authorities_menus.sys_authority_authority_id AS authority_id
from (@authorities_menus
join @menus on ((@authorities_menus.sys_base_menu_id = @menus.id)));
`
sql = strings.ReplaceAll(sql, "@table_name", sysModel.SysMenu{}.TableName())
sql = strings.ReplaceAll(sql, "@menus", sysModel.SysBaseMenu{}.TableName())
sql = strings.ReplaceAll(sql, "@authorities_menus", joinTableName)
if err := db.Exec(sql).Error; err != nil {
return ctx, errors.Wrap(err, sysModel.SysMenu{}.TableName()+"视图创建失败!")
}
return ctx, nil
}
func (i *initMenuViewMysql) TableCreated(ctx context.Context) bool {
db, ok := ctx.Value("db").(*gorm.DB)
if !ok {
return false
}
err1 := db.Find(&[]sysModel.SysMenu{}).Error
err2 := errors.New(fmt.Sprintf("Error 1146: Table '%v.%v' doesn't exist",
global.GVA_CONFIG.Mysql.Dbname, sysModel.SysMenu{}.TableName()))
if errors.As(err1, &err2) {
return false
}
return true
}

View File

@@ -1,88 +0,0 @@
package system
import (
"context"
"fmt"
"github.com/flipped-aurora/gin-vue-admin/server/service/system"
"gorm.io/gorm"
"strings"
"github.com/flipped-aurora/gin-vue-admin/server/global"
sysModel "github.com/flipped-aurora/gin-vue-admin/server/model/system"
"github.com/pkg/errors"
)
const initOrderMenuViewPg = initOrderMenuAuthority + 1
type initMenuViewPg struct{}
// auto run
func init() {
system.RegisterInit(initOrderMenuViewPg, &initMenuViewPg{})
}
func (i initMenuViewPg) InitializerName() string {
return fmt.Sprintf("postgresql 视图<%s>", sysModel.SysMenu{}.TableName())
}
func (i *initMenuViewPg) InitializeData(ctx context.Context) (context.Context, error) {
return ctx, nil
}
func (i *initMenuViewPg) DataInserted(ctx context.Context) bool {
return true // ignore
}
func (a *initMenuViewPg) MigrateTable(ctx context.Context) (context.Context, error) {
db, ok := ctx.Value("db").(*gorm.DB)
if !ok {
return ctx, system.ErrMissingDBContext
}
if s, ok := ctx.Value("dbtype").(string); !ok || s != "pgsql" {
return ctx, nil // ignore
}
joinTableName := db.Model(&sysModel.SysAuthority{}).Association("SysBaseMenus").Relationship.JoinTable.Name
sql := `
CREATE OR REPLACE VIEW @table_name as
select @menus.id as id,
@menus.path as path,
@menus.name as name,
@menus.icon as icon,
@menus.sort as sort,
@menus.title as title,
@menus.hidden as hidden,
@menus.parent_id as parent_id,
@menus.component as component,
@menus.keep_alive as keep_alive,
@menus.created_at as created_at,
@menus.updated_at as updated_at,
@menus.deleted_at as deleted_at,
@menus.menu_level as menu_level,
@menus.default_menu as default_menu,
@menus.close_tab as close_tab,
@authorities_menus.sys_base_menu_id as menu_id,
@authorities_menus.sys_authority_authority_id as authority_id
from (@authorities_menus join @menus on ((@authorities_menus.sys_base_menu_id = @menus.id)));`
sql = strings.ReplaceAll(sql, "@table_name", sysModel.SysMenu{}.TableName())
sql = strings.ReplaceAll(sql, "@menus", sysModel.SysBaseMenu{}.TableName())
sql = strings.ReplaceAll(sql, "@authorities_menus", joinTableName)
if err := db.Exec(sql).Error; err != nil {
return ctx, errors.Wrap(err, sysModel.SysMenu{}.TableName()+"视图创建失败!")
}
return ctx, nil
}
func (a *initMenuViewPg) TableCreated(ctx context.Context) bool {
db, ok := ctx.Value("db").(*gorm.DB)
if !ok {
return false
}
err1 := db.Find(&[]sysModel.SysMenu{}).Error
err2 := errors.New(fmt.Sprintf("Error 1146: Table '%v.%v' doesn't exist",
global.GVA_CONFIG.Pgsql.Dbname, sysModel.SysMenu{}.TableName()))
if errors.As(err1, &err2) {
return false
}
return true
}