前后端分離系統(tǒng)接口設(shè)計思路

直接進(jìn)入正題,總得分為兩塊,一塊是表結(jié)構(gòu),另一塊為實現(xiàn)思路(僅供參考)

一、 表結(jié)構(gòu)

1、 菜單表(right)

字段 類型 注釋

id long 主鍵

name varchar 名稱

url varchar 地址

ico varchar 圖標(biāo)

tips varchar 提示信息

parentId long 上級菜單Id

level int 級別:1-3為菜單,4為按鈕,5為接口

sort int 排序

2、 角色表(role)

字段 類型 注釋

id long 主鍵

name varchar 名稱

desc varchar 描述

code varchar 編碼

sort int 排序

3、 角色菜單表(role_right)

字段 類型 注釋

id long 主鍵

roleId long 角色I(xiàn)D

rightId long 菜單ID

4、 用戶表(user)

字段 類型 注釋

id long 主鍵

name varchar 姓名

account varchar 賬號

password varchar 密碼

5、 用戶角色表(user_role)

字段 類型 注釋

id long 主鍵

userId long 用戶Id

roleId long 角色I(xiàn)d

5、 用戶登陸記錄表(login_token),過期時間由系統(tǒng)檢測

字段 類型 注釋

id long 主鍵

date date 登陸日期

token varchar token

userId long 用戶Id

二、 實現(xiàn)思路

1、前端

用戶登錄,返回token;

根據(jù)token查詢用戶菜單信息,并返回json數(shù)據(jù),存入客戶端;

根據(jù)菜單數(shù)據(jù),動態(tài)顯示菜單,按鈕

前端跳轉(zhuǎn)頁面,需要在路由中加入前端攔截,讀取本地權(quán)限數(shù)據(jù)進(jìn)行匹配

用戶訪問接口,后端進(jìn)行校驗

2、后端

編寫攔截器,攔截所有url,過濾掉特殊不需要攔截的url;

獲取請求中的接口地址,不包含參數(shù);

獲取當(dāng)前請求token,查詢用戶角色;

根據(jù)角色查詢所有的接口,拿當(dāng)前請求的接口進(jìn)行比對,存在則放行,不存在,則返回錯誤信息

以上僅為個人設(shè)計思路,如有不好的地方,歡迎指正。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容