Java 杂谈技术干货

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

2018-01-07  本文已影响0人  技术杂谈

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

一、 表结构

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,查询用户角色;

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

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

上一篇下一篇

猜你喜欢

热点阅读