mirror of
https://github.com/go-admin-team/go-admin.git
synced 2026-09-20 17:57:54 +00:00
196 lines
6.1 KiB
Go
196 lines
6.1 KiB
Go
package apis
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/gin-gonic/gin/binding"
|
|
"go-admin/models"
|
|
"go-admin/pkg"
|
|
"go-admin/utils"
|
|
"net/http"
|
|
"strconv"
|
|
)
|
|
|
|
// @Summary Menu列表数据
|
|
// @Description 获取JSON
|
|
// @Tags 菜单
|
|
// @Param menuName query string false "menuName"
|
|
// @Success 200 {string} string "{"code": 200, "data": [...]}"
|
|
// @Success 200 {string} string "{"code": -1, "message": "抱歉未找到相关信息"}"
|
|
// @Router /api/v1/menulist [get]
|
|
// @Security Bearer
|
|
func GetMenuList(c *gin.Context) {
|
|
var Menu models.Menu
|
|
Menu.MenuName = c.Request.FormValue("menuName")
|
|
Menu.Visible = c.Request.FormValue("visible")
|
|
Menu.DataScope = utils.GetUserIdStr(c)
|
|
result, err := Menu.SetMenu()
|
|
pkg.AssertErr(err, "抱歉未找到相关信息", -1)
|
|
|
|
var res models.Response
|
|
res.Data = result
|
|
c.JSON(http.StatusOK, res.ReturnOK())
|
|
}
|
|
|
|
// @Summary Menu列表数据
|
|
// @Description 获取JSON
|
|
// @Tags 菜单
|
|
// @Param menuName query string false "menuName"
|
|
// @Success 200 {string} string "{"code": 200, "data": [...]}"
|
|
// @Success 200 {string} string "{"code": -1, "message": "抱歉未找到相关信息"}"
|
|
// @Router /api/v1/menu [get]
|
|
// @Security Bearer
|
|
func GetMenu(c *gin.Context) {
|
|
var data models.Menu
|
|
id, err := strconv.ParseInt(c.Param("id"), 10, 64)
|
|
data.MenuId = id
|
|
result, err := data.GetByMenuId()
|
|
pkg.AssertErr(err, "抱歉未找到相关信息", -1)
|
|
var res models.Response
|
|
res.Data = result
|
|
c.JSON(http.StatusOK, res.ReturnOK())
|
|
}
|
|
|
|
func GetMenuTreeRoleselect(c *gin.Context) {
|
|
var Menu models.Menu
|
|
var SysRole models.SysRole
|
|
id, err := strconv.ParseInt(c.Param("roleId"), 10, 64)
|
|
SysRole.Id = id
|
|
result, err := Menu.SetMenuLable()
|
|
pkg.AssertErr(err, "抱歉未找到相关信息", -1)
|
|
menuIds := make([]int64, 0)
|
|
if id != 0 {
|
|
menuIds, err = SysRole.GetRoleMeunId()
|
|
pkg.AssertErr(err, "抱歉未找到相关信息", -1)
|
|
}
|
|
c.JSON(http.StatusOK, gin.H{
|
|
"code": 200,
|
|
"menus": result,
|
|
"checkedKeys": menuIds,
|
|
})
|
|
}
|
|
|
|
// @Summary 获取菜单树
|
|
// @Description 获取JSON
|
|
// @Tags 菜单
|
|
// @Accept application/x-www-form-urlencoded
|
|
// @Product application/x-www-form-urlencoded
|
|
// @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
|
|
// @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
|
|
// @Router /api/v1/menuTreeselect [get]
|
|
// @Security Bearer
|
|
func GetMenuTreeelect(c *gin.Context) {
|
|
var data models.Menu
|
|
result, err := data.SetMenuLable()
|
|
pkg.AssertErr(err, "抱歉未找到相关信息", -1)
|
|
var res models.Response
|
|
res.Data = result
|
|
c.JSON(http.StatusOK, res.ReturnOK())
|
|
}
|
|
|
|
// @Summary 创建菜单
|
|
// @Description 获取JSON
|
|
// @Tags 菜单
|
|
// @Accept application/x-www-form-urlencoded
|
|
// @Product application/x-www-form-urlencoded
|
|
// @Param menuName formData string true "menuName"
|
|
// @Param Path formData string false "Path"
|
|
// @Param Action formData string true "Action"
|
|
// @Param Permission formData string true "Permission"
|
|
// @Param ParentId formData string true "ParentId"
|
|
// @Param IsDel formData string true "IsDel"
|
|
// @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
|
|
// @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
|
|
// @Router /api/v1/menu [post]
|
|
// @Security Bearer
|
|
func InsertMenu(c *gin.Context) {
|
|
var data models.Menu
|
|
err := c.BindWith(&data, binding.JSON)
|
|
pkg.AssertErr(err, "抱歉未找到相关信息", -1)
|
|
data.CreateBy = utils.GetUserIdStr(c)
|
|
result, err := data.Create()
|
|
pkg.AssertErr(err, "抱歉未找到相关信息", -1)
|
|
|
|
var res models.Response
|
|
res.Data = result
|
|
c.JSON(http.StatusOK, res.ReturnOK())
|
|
}
|
|
|
|
// @Summary 修改菜单
|
|
// @Description 获取JSON
|
|
// @Tags 菜单
|
|
// @Accept application/x-www-form-urlencoded
|
|
// @Product application/x-www-form-urlencoded
|
|
// @Param id path int true "id"
|
|
// @Param data body models.Menu true "body"
|
|
// @Success 200 {string} string "{"code": 200, "message": "修改成功"}"
|
|
// @Success 200 {string} string "{"code": -1, "message": "修改失败"}"
|
|
// @Router /api/v1/menu/{id} [put]
|
|
// @Security Bearer
|
|
func UpdateMenu(c *gin.Context) {
|
|
var data models.Menu
|
|
err2 := c.BindWith(&data, binding.JSON)
|
|
data.UpdateBy = utils.GetUserIdStr(c)
|
|
pkg.AssertErr(err2, "修改失败", -1)
|
|
_, err := data.Update(data.MenuId)
|
|
pkg.AssertErr(err, "", 501)
|
|
|
|
var res models.Response
|
|
res.Msg = "修改成功"
|
|
c.JSON(http.StatusOK, res.ReturnOK())
|
|
}
|
|
|
|
// @Summary 删除菜单
|
|
// @Description 删除数据
|
|
// @Tags 菜单
|
|
// @Param id path int true "id"
|
|
// @Success 200 {string} string "{"code": 200, "message": "删除成功"}"
|
|
// @Success 200 {string} string "{"code": -1, "message": "删除失败"}"
|
|
// @Router /api/v1/menu/{id} [delete]
|
|
func DeleteMenu(c *gin.Context) {
|
|
var data models.Menu
|
|
id, err := utils.StringToInt64(c.Param("id"))
|
|
data.UpdateBy = utils.GetUserIdStr(c)
|
|
_, err = data.Delete(id)
|
|
pkg.AssertErr(err, "删除失败", 500)
|
|
|
|
var res models.Response
|
|
res.Msg = "删除成功"
|
|
c.JSON(http.StatusOK, res.ReturnOK())
|
|
}
|
|
|
|
// @Summary 根据角色名称获取菜单列表数据(左菜单使用)
|
|
// @Description 获取JSON
|
|
// @Tags 菜单
|
|
// @Param id path int true "id"
|
|
// @Success 200 {string} string "{"code": 200, "data": [...]}"
|
|
// @Success 200 {string} string "{"code": -1, "message": "抱歉未找到相关信息"}"
|
|
// @Router /api/v1/menurole [get]
|
|
// @Security Bearer
|
|
func GetMenuRole(c *gin.Context) {
|
|
var Menu models.Menu
|
|
result, err := Menu.SetMenuRole(utils.GetRoleName(c))
|
|
pkg.AssertErr(err, "获取失败", 500)
|
|
var res models.Response
|
|
res.Data = result
|
|
c.JSON(http.StatusOK, res.ReturnOK())
|
|
}
|
|
|
|
// @Summary 获取角色对应的菜单id数组
|
|
// @Description 获取JSON
|
|
// @Tags 菜单
|
|
// @Param id path int true "id"
|
|
// @Success 200 {string} string "{"code": 200, "data": [...]}"
|
|
// @Success 200 {string} string "{"code": -1, "message": "抱歉未找到相关信息"}"
|
|
// @Router /api/v1/menuids/{id} [get]
|
|
// @Security Bearer
|
|
func GetMenuIDS(c *gin.Context) {
|
|
var data models.RoleMenu
|
|
data.RoleName = c.GetString("role")
|
|
data.UpdateBy = utils.GetUserIdStr(c)
|
|
result, err := data.GetIDS()
|
|
pkg.AssertErr(err, "获取失败", 500)
|
|
var res models.Response
|
|
res.Data = result
|
|
c.JSON(http.StatusOK, res.ReturnOK())
|
|
}
|