|
package controllers
|
|
|
|
import (
|
|
"lapp_-wy/utils"
|
|
"lapp_-wy/web/middleware/jwts"
|
|
"lapp_-wy/web/models"
|
|
"lapp_-wy/web/supports"
|
|
"github.com/kataras/iris"
|
|
"log"
|
|
"time"
|
|
)
|
|
|
|
// @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 /admin/menu/menulist [get]
|
|
// @Security Bearer
|
|
func GetMenuList(ctx iris.Context) {
|
|
var Menu models.Menu
|
|
Menu.MenuName = ctx.URLParam("menuName")
|
|
Menu.Visible = ctx.URLParam("visible")
|
|
Menu.Title = ctx.URLParam("title")
|
|
Menu.DataScope = "" //暂无
|
|
result, err := Menu.SetMenu()
|
|
if err != nil{
|
|
supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil)
|
|
return
|
|
}
|
|
supports.Ok(ctx, supports.OptionSuccess, result)
|
|
}
|
|
|
|
// @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(ctx iris.Context) {
|
|
var data models.Menu
|
|
id,err := ctx.URLParamInt("id")
|
|
data.MenuId = id
|
|
result, err := data.GetByMenuId()
|
|
utils.TrimStruct(&result,result)
|
|
if err != nil{
|
|
supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil)
|
|
return
|
|
}
|
|
supports.Ok(ctx, supports.OptionSuccess, result)
|
|
}
|
|
|
|
func GetMenuTreeRoleselect(ctx iris.Context) {
|
|
var Menu models.Menu
|
|
SysRole := new(models.Roletab)
|
|
id:= ctx.Params().Get("roleId")
|
|
SysRole.RoleId = utils.ValueToInt(id,0)
|
|
result, err := Menu.SetMenuLable()
|
|
if err != nil{
|
|
supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil)
|
|
return
|
|
}
|
|
var menuIds []int
|
|
if SysRole.RoleId != 0 {
|
|
menuIds, err = SysRole.GetRoleMeunId()
|
|
if err !=nil{
|
|
supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil)
|
|
return
|
|
}
|
|
}
|
|
data := make(map[string]interface{})
|
|
data["menus"] = result
|
|
data["checkedKeys"] =menuIds
|
|
supports.Ok(ctx, supports.OptionSuccess, data)
|
|
}
|
|
|
|
// @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(ctx iris.Context) {
|
|
var data models.Menu
|
|
result, err := data.SetMenuLable()
|
|
if err != nil{
|
|
supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil)
|
|
return
|
|
}
|
|
supports.Ok(ctx, supports.OptionSuccess, result)
|
|
}
|
|
|
|
// @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(ctx iris.Context) {
|
|
data := new(models.Menu)
|
|
if err := ctx.ReadJSON(data); err != nil {
|
|
log.Printf("json解析错误%v",err)
|
|
supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil)
|
|
return
|
|
}
|
|
data.CreateBy = utils.TimeFormat(time.Now(),"yyyyMMddHHmmss")
|
|
log.Println(data)
|
|
result, err := data.Create()
|
|
if err != nil{
|
|
log.Printf("数据库插入错误%v",err)
|
|
supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil)
|
|
return
|
|
}
|
|
supports.Ok(ctx, supports.OptionSuccess, result)
|
|
}
|
|
// @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(ctx iris.Context) {
|
|
data := new(models.Menu)
|
|
if err := ctx.ReadJSON(data); err != nil {
|
|
supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil)
|
|
return
|
|
}
|
|
data.UpdateBy = utils.TimeFormat(time.Now(),"yyyyMMddHHmmss")
|
|
err := data.Update(data.MenuId)
|
|
if err != nil{
|
|
supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil)
|
|
return
|
|
}
|
|
supports.Ok(ctx, "修改成功", "")
|
|
}
|
|
|
|
// @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(ctx iris.Context) {
|
|
var data models.Menu
|
|
id:=ctx.Params().Get("id")
|
|
data.UpdateBy = utils.TimeFormat(time.Now(),"yyyyMMddHHmmss")
|
|
_, err := data.Delete(utils.ValueToInt(id,0))
|
|
if err != nil{
|
|
supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil)
|
|
return
|
|
}
|
|
supports.Ok(ctx, "删除成功", "")
|
|
}
|
|
|
|
// @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(ctx iris.Context) {
|
|
user, ok := jwts.ParseToken(ctx)
|
|
utils.TrimStruct(user,*user)
|
|
if !ok {
|
|
supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil)
|
|
return
|
|
}
|
|
var Menu models.Menu
|
|
result, err := Menu.SetMenuRole(user.Role)
|
|
if err != nil{
|
|
supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil)
|
|
return
|
|
}
|
|
supports.Ok(ctx, supports.OptionSuccess, result)
|
|
}
|
|
|
|
// @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(ctx iris.Context) {
|
|
var data models.RoleMenu
|
|
data.RoleName = ctx.URLParam("role")
|
|
data.Lastmodifytime = utils.TimeFormat(time.Now(),"yyyyMMddHHmmss")
|
|
result, err := data.GetIDS()
|
|
if err != nil{
|
|
supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil)
|
|
return
|
|
}
|
|
supports.Ok(ctx, supports.OptionSuccess, result)
|
|
}
|