You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
4.2 KiB
79 lines
4.2 KiB
6 months ago
|
<<<<<<< HEAD
|
||
|
# IASF
|
||
|
|
||
|
粒子研究院网站
|
||
|
=======
|
||
|
#IASF 粒子研究院网站
|
||
|
|
||
|
## 代码结构
|
||
|
```
|
||
|
├─main
|
||
|
│ ├─java
|
||
|
│ │ └─com
|
||
|
│ │ └─company
|
||
|
│ │ └─project
|
||
|
│ │ ├─CompanyProjectApplication.java 项目启动类
|
||
|
│ │ ├─common 公共资源,如注解、切面、定时、全局异常处理、shiro集成、通用工具类等
|
||
|
│ │ ├─controller Controler层
|
||
|
│ │ ├─entity 实体类
|
||
|
│ │ ├─mapper DAO层
|
||
|
│ │ ├─service Service层
|
||
|
│ │ │ └─impl Service层实现
|
||
|
│ └─resources
|
||
|
│ ├── application-dev.yml 开发环境配置文件
|
||
|
│ ├── application-test.yml 测试环境配置文件
|
||
|
│ ├── application-prod.yml 生产环境配置文件
|
||
|
│ ├── application.yml 通用配置文件
|
||
|
│ ├── logback-spring.xml 日志配置文件
|
||
|
│ └──mapper Mybatis XML文件
|
||
|
└─test
|
||
|
└─java
|
||
|
└─com
|
||
|
└─company
|
||
|
└─project
|
||
|
├── CompanyFrameApplicationTests.java 单元测试
|
||
|
```
|
||
|
|
||
|
## 开发建议
|
||
|
- Model内成员变量建议与表字段数量对应,如需扩展成员变量(比如连表查询)建议创建VO,否则需在扩展的成员变量上加@TableField(exist = false)
|
||
|
- 建议业务失败直接使用throw new BusinessException("ErrorMessage")抛出,由统一异常处理器来封装业务失败的响应结果,会直接被封装为{"code":500002,"message":"ErrorMessage"}返回,尽情抛出;
|
||
|
- token支持header跟query传参形式,如:
|
||
|
- ajax中设置header:```beforeSend: function(request) {request.setRequestHeader("authorization", "有效的token");}```
|
||
|
- query:```?authorization=有效的token ```
|
||
|
- 数据库基础字段:id(bigint)、remark(varchar)、unable_flag(tinyint)、deleted(tinyint)、create_id(bigint)、update_id(bigint)、create_time(datetime)、update_time(datetime)
|
||
|
|
||
|
## 使用说明
|
||
|
- 使用IDE导入本项目,IDE需要安装lombok插件
|
||
|
- 下载redis 启动redis
|
||
|
- 创建数据库, 导入***.sql
|
||
|
- 配置application-dev.yml中的redis以及数据库连接
|
||
|
- 运行项目
|
||
|
1. 直接运行CompanyProjectApplication.java
|
||
|
2. 项目根目录下执行mvn -X clean package -Dmaven.test.skip=true编译打包,然后执行java -jar manager.jar
|
||
|
- 登录地址 http://localhost:8080/index/login 用户名密码:admin/123456
|
||
|
- 代码生成使用
|
||
|
1. 逻辑删除字段,请统一用deleted字段: 1未删 0已删; 主键请统一格式: `id` varchar(50) 类型; 列名请勿使用数据库关键字
|
||
|
2. application.yml中配置: 使用代码生成模块时 指定要生成的表存在于哪种数据库。project.database=mysql
|
||
|
3. 点击[代码生成]菜单,生成一个或多个表的代码,下载到本地
|
||
|
4. 解压下载的代码,直接复制main文件夹到本地项目的src目录下
|
||
|
5. 数据库执行sql,生成菜单
|
||
|
6. 点击[角色管理]菜单,修改角色所绑定的菜单的权限,刷新页面查看
|
||
|
|
||
|
- 数据权限配置及使用 示例:文章管理列表
|
||
|
1. 需要数据权限所控制的表(如sys_content), 需要有创建人字段
|
||
|
2. 配置角色的数据范围(本部门,其他部门等), 以及绑定的部门
|
||
|
3. 在列表加个注解@DataScope(用来查询当前等路人的多个角色(并集), 根据角色数据范围, 获取绑定的部门id, 查关联的用户id)
|
||
|
4. 在查某个模块的list或page的时候,手动queryWrapper.in(createId, 关联的用户id)
|
||
|
|
||
|
|
||
|
## 技术文档
|
||
|
* 核心框架:[Spring Boot](https://spring.io/projects/spring-boot)
|
||
|
* 持久层框架:[MyBatis-Plus](https://mybatis.plus)
|
||
|
* 分页:[Page](https://mybatis.plus/guide/page.html)
|
||
|
* 数据库连接池:[Alibaba Druid](https://github.com/alibaba/druid/)
|
||
|
* 安全框架:[Apache Shiro](http://shiro.apache.org/)
|
||
|
* 缓存框架:[Redis](https://redis.io/)
|
||
|
* 接口文档:[Knife4j](https://doc.xiaominfo.com/)
|
||
|
* 阿里巴巴Java开发手册[最新版下载](https://github.com/alibaba/p3c)
|
||
|
>>>>>>> 粒子研究院网站提交
|