# 项目开发流程、结构及知识 --- 项目架构: demo-api:为后端与后端交互而提供的接口服务。【为服务层和通用处理层提供的接口。】 demo-dao:后端与数据库直接交互的地方。【数据持久层】 demo-manager:代码管理层。【通用处理层:处理三方平台和三方平台的接口】 demo-service:复杂业务层。 demo-web:为前端提供接口。【这里从某种角度,就是图中的开放接口】 start:启动和测试使用。 项目主提结构:【根据阿里巴巴项目目录结构所分析的图形化】 ![项目目录结构图形化](https://images.gitee.com/uploads/images/2022/0119/145654_69e1b56a_8844212.png) --- ## 用户角色设计 采用分层权限模型,来对公司各职务权限和人员进行管理。 如下所示: ![分层设计表](https://img-blog.csdnimg.cn/92f89e1506b04bbc9a30f234bc59b52b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAYWR2ZW50dXJlLkxp,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center) user 对应 用户 role 对应 角色 permission 对应 权限 通过两个关联表来实现分层权限。【分别为:user_role、role_permission】 对于权限,我们将其分为操作权限,和访问权限。分别对应为:menu、operation。 > 对于访问权限和操作权限的表跟权限表,我采用两个表分别进行关联起来。【menu_permission、operation_permission】 这样就可以更详细的描述公司人员之间的关系了。 --- ## 前后分离思路 > 这里的需要注意的是,token的作用是给系统系别你这账号的权限的。cookie则是自己设置系统是否开启cookie的功能的。如果开启,浏览器就会生成一个cookie给用户,让用户下次登录就不用再次输入账号密码之类的操作。 在做前后分离时,首先要考虑自己的所提供给前端,应该是按照什么格式去反馈。 即请求体和响应体的格式,不同开发人员所定义的请求结构是不同的。所以要找到适合自己习惯的。 下面是自己所觉得合理的请求、响应体: ```json {// 登录响应 "code": 200, "msg": "", "data": null, "token": null } {//请求体 "token": null, "data": { .... } } ```