调试frontend
This commit is contained in:
@@ -0,0 +1,154 @@
|
||||
package controllers
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"server/models"
|
||||
"server/pkg/jwtutil"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
beego "github.com/beego/beego/v2/server/web"
|
||||
)
|
||||
|
||||
type BackendMenuFrontController struct {
|
||||
beego.Controller
|
||||
}
|
||||
|
||||
func (c *BackendMenuFrontController) checkAuth() (uint64, bool) {
|
||||
authHeader := c.Ctx.Request.Header.Get("Authorization")
|
||||
if authHeader == "" {
|
||||
c.Data["json"] = map[string]interface{}{"code": 401, "msg": "未提供认证信息"}
|
||||
_ = c.ServeJSON()
|
||||
return 0, false
|
||||
}
|
||||
authParts := strings.SplitN(authHeader, " ", 2)
|
||||
if len(authParts) != 2 || authParts[0] != "Bearer" {
|
||||
c.Data["json"] = map[string]interface{}{"code": 401, "msg": "认证信息格式错误"}
|
||||
_ = c.ServeJSON()
|
||||
return 0, false
|
||||
}
|
||||
claims, err := jwtutil.ParseToken(authParts[1])
|
||||
if err != nil {
|
||||
c.Data["json"] = map[string]interface{}{"code": 401, "msg": "token无效"}
|
||||
_ = c.ServeJSON()
|
||||
return 0, false
|
||||
}
|
||||
return uint64(claims.TenantId), true
|
||||
}
|
||||
|
||||
func (c *BackendMenuFrontController) List() {
|
||||
tid, ok := c.checkAuth()
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
|
||||
var menus []models.BackendMenuFront
|
||||
_, err := models.Orm.QueryTable("yz_backend_menu_front").
|
||||
Filter("tenant_id", tid).
|
||||
Filter("delete_time__isnull", true).
|
||||
OrderBy("sort").
|
||||
All(&menus)
|
||||
|
||||
if err != nil {
|
||||
c.Data["json"] = map[string]interface{}{"code": 500, "msg": "查询失败"}
|
||||
} else {
|
||||
c.Data["json"] = map[string]interface{}{"code": 200, "msg": "success", "data": menus}
|
||||
}
|
||||
_ = c.ServeJSON()
|
||||
}
|
||||
|
||||
func (c *BackendMenuFrontController) Create() {
|
||||
tid, ok := c.checkAuth()
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
|
||||
var menu models.BackendMenuFront
|
||||
if err := json.Unmarshal(c.Ctx.Input.RequestBody, &menu); err != nil {
|
||||
c.Data["json"] = map[string]interface{}{"code": 400, "msg": "参数错误"}
|
||||
_ = c.ServeJSON()
|
||||
return
|
||||
}
|
||||
|
||||
menu.TenantID = tid
|
||||
menu.CreateTime = nil // 由orm自动处理
|
||||
_, err := models.Orm.Insert(&menu)
|
||||
if err != nil {
|
||||
c.Data["json"] = map[string]interface{}{"code": 500, "msg": "创建失败"}
|
||||
} else {
|
||||
c.Data["json"] = map[string]interface{}{"code": 200, "msg": "创建成功"}
|
||||
}
|
||||
_ = c.ServeJSON()
|
||||
}
|
||||
|
||||
func (c *BackendMenuFrontController) Update() {
|
||||
id, err := strconv.ParseUint(c.Ctx.Input.Param(":id"), 10, 64)
|
||||
if err != nil {
|
||||
c.Data["json"] = map[string]interface{}{"code": 400, "msg": "参数错误"}
|
||||
_ = c.ServeJSON()
|
||||
return
|
||||
}
|
||||
|
||||
tid, ok := c.checkAuth()
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
|
||||
var menu models.BackendMenuFront
|
||||
if err := json.Unmarshal(c.Ctx.Input.RequestBody, &menu); err != nil {
|
||||
c.Data["json"] = map[string]interface{}{"code": 400, "msg": "参数错误"}
|
||||
_ = c.ServeJSON()
|
||||
return
|
||||
}
|
||||
|
||||
num, err := models.Orm.QueryTable("yz_backend_menu_front").
|
||||
Filter("id", id).
|
||||
Filter("tenant_id", tid).
|
||||
Update(map[string]interface{}{
|
||||
"pid": menu.Pid,
|
||||
"title": menu.Title,
|
||||
"path": menu.Path,
|
||||
"component_path": menu.ComponentPath,
|
||||
"icon": menu.Icon,
|
||||
"sort": menu.Sort,
|
||||
"status": menu.Status,
|
||||
"is_visible": menu.IsVisible,
|
||||
"type": menu.Type,
|
||||
"permission": menu.Permission,
|
||||
"update_time": time.Now(),
|
||||
})
|
||||
|
||||
if err != nil || num == 0 {
|
||||
c.Data["json"] = map[string]interface{}{"code": 500, "msg": "更新失败"}
|
||||
} else {
|
||||
c.Data["json"] = map[string]interface{}{"code": 200, "msg": "更新成功"}
|
||||
}
|
||||
_ = c.ServeJSON()
|
||||
}
|
||||
|
||||
func (c *BackendMenuFrontController) Delete() {
|
||||
id, err := strconv.ParseUint(c.Ctx.Input.Param(":id"), 10, 64)
|
||||
if err != nil {
|
||||
c.Data["json"] = map[string]interface{}{"code": 400, "msg": "参数错误"}
|
||||
_ = c.ServeJSON()
|
||||
return
|
||||
}
|
||||
|
||||
tid, ok := c.checkAuth()
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
|
||||
num, err := models.Orm.QueryTable("yz_backend_menu_front").
|
||||
Filter("id", id).
|
||||
Filter("tenant_id", tid).
|
||||
Update(map[string]interface{}{"delete_time": time.Now()})
|
||||
|
||||
if err != nil || num == 0 {
|
||||
c.Data["json"] = map[string]interface{}{"code": 500, "msg": "删除失败"}
|
||||
} else {
|
||||
c.Data["json"] = map[string]interface{}{"code": 200, "msg": "删除成功"}
|
||||
}
|
||||
_ = c.ServeJSON()
|
||||
}
|
||||
Reference in New Issue
Block a user