Go to file
2023-06-25 22:28:37 +08:00
.idea Initial commit 2023-06-17 10:48:37 +08:00
common Initial commit 2023-06-25 22:02:49 +08:00
model Initial commit 2023-06-17 10:48:26 +08:00
service-oa Initial commit 2023-06-25 22:02:49 +08:00
.gitignore Initial commit 2023-06-09 19:44:46 +08:00
pom.xml Initial commit 2023-06-10 23:57:03 +08:00
README.md Update README.md 2023-06-25 22:28:37 +08:00

一、云尚办公系统

总后端

管理端

员工端

1、介绍

云上办公系统是一套自动办公系统用户可以通过手机微信扫码关注公众号在公众号上进行OA审批流程

系统主要包含:管理端和员工端

管理端包含:权限管理、审批管理、公众号菜单管理

员工端采用微信公众号操作,包含:办公审批、微信授权登录、消息推送等功能

项目服务器端架构SpringBoot + MyBatisPlus + SpringSecurity + Redis + Activiti+ MySQL

前端架构vue-admin-template + Node.js + Npm + Vue + ElementUI + Axios

2、核心技术

基础框架SpringBoot
数据缓存Redis
数据库MySQL
权限控制SpringSecurity
工作流引擎Activiti
前端技术vue-admin-template + Node.js + Npm + Vue + ElementUI + Axios
微信公众号:公众号菜单 + 微信授权登录 + 消息推送

3、开发环境说明

工具 版本
后台 SpringBoot 2.3.6 + MyBatisPlus 3.4.1
服务器 Tomcat 8.5.73
数据库 MySQL 8.0.27
Build Tools Maven 3.8.5
前端 Vue + ElementUI + Node.js
开发工具 IDEA 2022.3
版本管理工具 Git

4、项目总结

1.集成Swagger方便进行接口API的统一测试

2.首次使用Activiti组件

3.首次使用内网穿透连接微信公众号

4.项目中使用JWT加密token用作用户登录身份校验用 SpringSecurity 来做权限控制,涉及多表查询,是项目的重点

###5、后端常见问题

5.1、跨域问题

访问协议: http https

ip地址域名 oa.atguigu.com oa.baidu.com

端口号8800 9528

多种解决方式:

1在controller类上面添加注解

2在前端进行配置

5.2、mapper扫描问题

//第一种方式 :创建配置类,使用@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> {
    
}

5.3、xml文件加载问题

Maven默认情况下在src - main -java目录下面只会加载java类型文件其他类型文件不会加载的

第一种解决方式把xml文件放到resources目录下

第二种解决方式在pom.xml和项目配置文件进行配置

5.4、流程定义部署zip文件

zip文件规范要求

1zip文件名称和流程key保持一致

例如: 文件名称 qingjia.zip

2在zip文件打包xml文件xml文件命名 .bpmn20.xml

例如jiaban.bpmn20.xml

5.5、内网穿透问题

接口和页面在本地localhost公众号不能直接访问本地路径的需要使用内网穿透

有两个用途:

第一个:公众号页面通过内网穿透到本地页面 9090

第二个:公众号里面接口通过内网穿透到本地接口 8800