You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
4.9 KiB

6 months ago
package router
import (
"bkb-seller/global"
"bkb-seller/model"
"encoding/json"
"strconv"
"strings"
"github.com/gin-gonic/gin"
)
func InitApiEngineRouter(Router *gin.Engine) {
var (
apis = make([]model.SysApi, 0)
capis []model.SysApi
)
apisR := Router.Routes()
for _, api := range apisR {
group := strings.Split(api.Path, "/")[1]
apis = append(apis, model.SysApi{
Path: api.Path,
Method: api.Method,
Description: api.Handler,
Type: "seller",
Appid: "appid",
ApiGroup: group,
})
}
global.MG_DB.Table("sys_apis").Where("type = ? and appid=?", "seller", "appid").Find(&capis)
for _, api := range apis {
for _, capi := range capis {
if api.Path == capi.Path && api.Method == capi.Method {
goto next
}
}
global.MG_DB.Table("sys_apis").Create(&api)
next:
continue
}
InitMenuApi()
}
func InitMenuApi() {
var (
menus []model.SysMenu
menusp []model.SysMenu
)
menustr := `[{"path":"/","name":"首页","component":"@/pages/Index","access":"authRouteFilter"},{"path":"/login","name":"登录","component":"@/pages/Login","layout":false},{"path":"/sys","name":"系统管理","access":"authRouteFilter","routes":[{"path":"/sys/account","name":"账号管理","access":"authRouteFilter","component":"@/pages/AccountManage"},{"path":"/sys/role","name":"角色管理","access":"authRouteFilter","component":"@/pages/SysRole","hideInMenu":false},{"path":"/sys/api","name":"API管理","access":"authRouteFilter","component":"@/pages/SysApi","hideInMenu":false},{"path":"/sys/menu","name":"菜单管理","access":"authRouteFilter","component":"@/pages/SysMenu","hideInMenu":false},{"path":"/sys/sysLog","name":"系统操作日志","access":"authRouteFilter","component":"@/pages/SysLoglist","exact":true}]},{"path":"/user","name":"用户管理","access":"authRouteFilter","routes":[{"path":"list","name":"用户管理","access":"authRouteFilter","component":"@/pages/UserManage"},{"path":"order","name":"订单管理","access":"authRouteFilter","component":"@/pages/OrderList","hideInMenu":false},{"path":"order-detail","name":"订单管理","access":"authRouteFilter","component":"@/pages/OrderDetail","hideInMenu":true}]},{"path":"/kol","name":"网红管理","access":"authRouteFilter","routes":[{"path":"list","name":"网红管理","access":"authRouteFilter","component":"@/pages/Wanghong"},{"path":"task","name":"任务管理","access":"authRouteFilter","component":"@/pages/WanghongTask"},{"path":"order","name":"订单管理","access":"authRouteFilter","component":"@/pages/OrderList","hideInMenu":false},{"path":"order-detail","name":"订单管理","access":"authRouteFilter","component":"@/pages/OrderDetail","hideInMenu":true}]},{"path":"/seller","name":"商家管理","access":"authRouteFilter","routes":[{"path":"list","name":"商家管理","access":"authRouteFilter","component":"@/pages/SellerManager"},{"path":"goods","name":"商品管理","access":"authRouteFilter","component":"@/pages/SellerGoods"},{"path":"task","name":"任务管理","access":"authRouteFilter","component":"@/pages/SellerTask"},{"path":"order","name":"订单管理","access":"authRouteFilter","component":"@/pages/OrderList","hideInMenu":false},{"path":"order-detail","name":"订单管理","access":"authRouteFilter","component":"@/pages/OrderDetail","hideInMenu":true},{"path":"sample-order","name":"样品订单管理","access":"authRouteFilter","component":"@/pages/SellerSampleList","hideInMenu":false},{"path":"sample-order-detail","name":"订单详情","access":"authRouteFilter","component":"@/pages/SellerSampleDetail","hideInMenu":true}]},{"path":"/settings","name":"配置管理","access":"authRouteFilter","routes":[{"path":"statistics","name":"统计管理","access":"authRouteFilter","component":"@/pages/SettingsStatistics"},{"path":"category","name":"商品类目管理","access":"authRouteFilter","component":"@/pages/SettingsGoodsCat"},{"path":"award","name":"平台奖励审核","access":"authRouteFilter","component":"@/pages/SettingsPlatformAward"},{"path":"homepagesetting","name":"首页配置","access":"authRouteFilter","component":"@/pages/HomeSetting"}]},{"path":"/order/list","name":"订单管理","hideInMenu":true,"component":"@/pages/OrderList"},{"path":"/order/order-detail","name":"订单详情","hideInMenu":true,"component":"@/pages/OrderDetail"}]`
global.MG_DB.Where("type = ? and appid=?", "seller", "appid").Find(&menus)
json.Unmarshal([]byte(menustr), &menusp)
for _, menu := range menusp {
for _, m := range menus {
if menu.Path == m.Path {
goto next
}
}
menu.Appid = "appid"
menu.Type = "seller"
global.MG_DB.Create(&menu)
for _, sub := range menu.Children {
for _, m := range menus {
if sub.Path == m.Path {
goto next1
}
}
sub.Path = menu.Path + "/" + sub.Path
sub.Appid = "appid"
sub.Type = "seller"
sub.ParentId = strconv.Itoa(int(menu.ID))
global.MG_DB.Create(&sub)
next1:
continue
}
next:
continue
}
}