后台菜单管理功能
一、业务功能分析
1.业务需求分析
后台首页菜单根据用户权限动态生成,不同菜单对应不同的功能视图,菜单的增删改查
2.功能分析
a菜单列表
b添加菜单
c修改菜单
d删除菜单
3.模型设计
1.字段分析
name
url
parent
order
permission
icon
codename
is_visble
二、菜单列表
1.业务流程分析
a获取未删除的一级菜单
b根据一级菜单获取未删除的二级菜单
c渲染页面
2.接口设计
a接口说明
类目 说明
请求方法 GET
url定义 /admin/menus/
参数格式 无参数
2.返回结果
html
三、添加菜单页面
1.接口设计
a接口说明:
类目 说明
请求方法 GET
url定义 /admin/menu/
参数格式 无参数
2.返回数据
html
3.后端代码
四、添加菜单
1.业务流程分析
接收表单参数
校验表单参数
校验成功保存菜单数据,创建菜单一对一关联权限对象,返回创建成功的json数据
校验失败,返回渲染了错误信息的表单
2.接口设计
a接口说明:
类目 说明
请求方法 POST
url定义 /admin/menu/
参数格式 表单参数
b参数说明:
参数名 类型 是否必须 描述
name 字符串 是 菜单名
url 字符串 否 路由名称
order 整数 是 排序
parent 整数 否 父菜单id
icon 字符串 是 渲染图标类名
codername 字符串 是 权限码
is_visble 整数 是 是否可见
c返回数据:
#添加正常返回json数据
{
'errno':"0",
'errmsg':"菜单添加成功!"
}
如果有错误,返回html表单
五、删除菜单
resful规范API接口规范
http方法和操作严格相关的
get查询
post创建
put修改
delete删除
1.接口设计
1.接口说明:
类目 说明
请求方法 DELETE
url定义 /admin/menu<int:menu_id>
参数格式 路径参数
2.参数说明
参数名 类型 是否必须 描述
menu_id 整数 是 菜单id
3.返回值
{
'error':"0"
'errmsg':"删除菜单成功"
}
六、编辑菜单页面
1.接口设计
1.接口说明:
类目 说明
请求方法 GET
url定义 /admin/menu/<int:menu_id>
参数格式 路径参数
2.参数说明:
参数名 类型 是否必须 描述
menu_id 整数 是 菜单id
3.返回数据:
html
七、编辑菜单
1.业务流程分析
接收表单参数
校验表单参数
校验成功保存菜单,判断改动字段是否影响了权限,如果有影响,修改权限,返回json信息
校验失败,返回包含错误信息的html
2.接口设计
1.接口说明:
类目 说明
请求方法 PUT
url定义 /admin/menu/<int:menu_id>
参数格式 路径参数+表单参数
2.参数说明:
参数名 类型 是否必须 描述
menu_id 整数 是 菜单id
name 字符串 是 菜单名
url 字符串 否 当前文章页数
3.返回数据
{
'error':"0"
'errmsg':"修改成功"
}
#错误
html