project summary
Direct access to station B [like Silicon Valley] :
https://www.bilibili.com/video/BV1Ya411S7aT
This blog post is mainly published related to the course, and incorporates some of my own opinions and gives relevant solutions to the problems encountered in the learning process. Learn together and progress together! ! !
Article Directory
1. Project function modules and core business processes
1.1. Management terminal
1.1.1. System management:
(1) User management, role management, menu management
(2) Relationship between tables
Role table, user table, menu table
Users and roles are a many-to-many relationship
Roles and menus have a many-to-many relationship
1.1.2. Approval module
(1) Approval type management
(2) Approval template management
(3) Approval list
1.1.3. Official account menu management
1.2. Staff side
1.2.1, WeChat authorized login
(1) User association through mobile phone number and WeChat openid
1.2.2. Display all approval types and templates
1.2.3. Initiate an application
1.2.4, message push
1.2.5, pending and processed
1.2.6. Query approval details and approval operations
2. Project technology
Basic framework: SpringBoot |
---|
Data cache: Redis |
Database: MyBatisPlus + MySQL |
Access control: Spring Security |
Workflow engine: Activiti7 |
Front-end technology: vue-admin-template + Node.js + Npm + Vue + ElementUI + Axios |
WeChat official account: official account menu + WeChat authorized login + message push |
3. Project problems and solutions
3.1. Cross-domain issues
Access protocol : http https
IP address (domain name) : oa.atguigu.com oa.baidu.com
Port number : 8800 9528
Various solutions:
(1) Add annotations on the controller class
(2) Configure on the front end
3.2, mapper scanning problem
//第一种方式 :创建配置类,使用@MapperScan注解
@Configuration
@MapperScan(basePackages = {
"com.atguigu.auth.mapper","com.atguigu.process.mapper","com.atguigu.wechat.mapper"})
public class MybatisPlusConfig {
}
//第二种方式:在mapper的接口上面添加注解 @Mapper
@Mapper
public interface SysMenuMapper extends BaseMapper<SysMenu> {
}
3.3, xml file loading problem
By default, Maven will only load java-type files under the src-main-java directory, and other types of files will not be loaded
The first solution: put the xml file in the resources directory
The second solution: configure in pom.xml and project configuration files
3.4. Process definition deployment zip file
zip file specification (required)
(1) The name of the zip file is consistent with the process key
For example: file name qingjia.zip
(2) Package the xml file in the zip file, and the xml file is named .bpmn20.xml
For example: jiaban.bpmn20.xml
3.5. Intranet penetration problem
The interface and page are on the local localhost. If the official account cannot directly access the local path, it needs to use intranet penetration
There are two purposes:
The first one: the official account page penetrates through the intranet to the local page 9090
The second one: the interface in the official account penetrates through the intranet to the local interface 8800