后台菜單管理功能
一、業務功能分析
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