54 lines
1.1 KiB
Go
54 lines
1.1 KiB
Go
|
package utils
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"miniapp/global"
|
||
|
"miniapp/model/system"
|
||
|
"strconv"
|
||
|
)
|
||
|
|
||
|
func RegisterApis(apis ...system.SysApi) {
|
||
|
var count int64
|
||
|
var apiPaths []string
|
||
|
for i := range apis {
|
||
|
apiPaths = append(apiPaths, apis[i].Path)
|
||
|
}
|
||
|
global.GVA_DB.Find(&[]system.SysApi{}, "path in (?)", apiPaths).Count(&count)
|
||
|
if count > 0 {
|
||
|
fmt.Println("插件已安装或存在同名路由")
|
||
|
return
|
||
|
}
|
||
|
err := global.GVA_DB.Create(&apis).Error
|
||
|
if err != nil {
|
||
|
fmt.Println(err)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func RegisterMenus(menus ...system.SysBaseMenu) {
|
||
|
var count int64
|
||
|
var menuNames []string
|
||
|
parentMenu := menus[0]
|
||
|
otherMenus := menus[1:]
|
||
|
for i := range menus {
|
||
|
menuNames = append(menuNames, menus[i].Name)
|
||
|
}
|
||
|
global.GVA_DB.Find(&[]system.SysBaseMenu{}, "name in (?)", menuNames).Count(&count)
|
||
|
if count > 0 {
|
||
|
fmt.Println("插件已安装或存在同名菜单")
|
||
|
return
|
||
|
}
|
||
|
parentMenu.ParentId = "0"
|
||
|
err := global.GVA_DB.Create(&parentMenu).Error
|
||
|
if err != nil {
|
||
|
fmt.Println(err)
|
||
|
}
|
||
|
for i := range otherMenus {
|
||
|
pid := strconv.Itoa(int(parentMenu.ID))
|
||
|
otherMenus[i].ParentId = pid
|
||
|
}
|
||
|
err = global.GVA_DB.Create(&otherMenus).Error
|
||
|
if err != nil {
|
||
|
fmt.Println(err)
|
||
|
}
|
||
|
}
|