前后端分离系统接口设计思路

直接进入正题,总得分为两块,一块是表结构,另一块为实现思路(仅供参考)

一、 表结构

1、 菜单表(right)

字段 类型 注释

id long 主键

name varchar 名称

url varchar 地址

ico varchar 图标

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 角色ID

rightId long 菜单ID

4、 用户表(user)

字段 类型 注释

id long 主键

name varchar 姓名

account varchar 账号

password varchar 密码

5、 用户角色表(user_role)

字段 类型 注释

id long 主键

userId long 用户Id

roleId long 角色Id

5、 用户登陆记录表(login_token),过期时间由系统检测

字段 类型 注释

id long 主键

date date 登陆日期

token varchar token

userId long 用户Id

二、 实现思路

1、前端

用户登录,返回token;

根据token查询用户菜单信息,并返回json数据,存入客户端;

根据菜单数据,动态显示菜单,按钮

前端跳转页面,需要在路由中加入前端拦截,读取本地权限数据进行匹配

用户访问接口,后端进行校验

2、后端

编写拦截器,拦截所有url,过滤掉特殊不需要拦截的url;

获取请求中的接口地址,不包含参数;

获取当前请求token,查询用户角色;

根据角色查询所有的接口,拿当前请求的接口进行比对,存在则放行,不存在,则返回错误信息

以上仅为个人设计思路,如有不好的地方,欢迎指正。

你可能感兴趣的:(前后端分离系统接口设计思路)