Introduction to apollo

是一个前后端分离的一个架构,始于药监的一个数据中心的项目

What is apollo

  • apollo是一个轻量级的,前后端分离的Java快速开发平台
  • 支持MySQL、Oracle 数据库

具有如下特点

  • 友好的代码结构及注释,便于阅读及二次开发
  • 实现前后端分离,通过token进行数据交互,前端再也不用关注后端技术
  • 灵活的权限控制,可控制到页面或按钮,满足绝大部分的权限需求
  • 页面交互使用Vue2.x,极大的提高了开发效率
  • 完善的代码生成机制,可在线生成entity、xml、dao、service、vue、sql代码,
  • 引入quartz定时任务,可动态完成任务的添加、修改、删除、暂停、恢复及日志查看等功能
  • 引入API模板,根据token作为登录令牌,放在redis里面极大的方便了APP接口开发
  • 敏感数据RSA加密传输
  • 前后端分离,通过token进行数据交互,可独立部署
  • 动态菜单,通过菜单管理统一管理访问路由

How does it work

后端项目结构

  1. Apollo
  2. ├─db 项目SQL语句
  3. ├─doc 项目脚本语句
  4. ├─common 公共模块
  5. ├─annotation 自定义的一些@ 标签
  6. ├─aspect 系统日志
  7. ├─entity abstract 实体类
  8. ├─factory 工厂方法
  9. ├─exception 异常处理
  10. ├─utils 工具类
  11. ├─validator 后台校验
  12. └─xss XSS过滤
  13. ├─config 配置信息
  14. ├─datasources 多数据源设置
  15. ├─properties 配置文件属性设置
  16. ├─modules 功能模块
  17. ├─app API接口模块(APP调用)
  18. ├─job 定时任务模块
  19. ├─kettle 数据模块
  20. ├─oss 文件服务模块
  21. └─sys 权限模块
  22. ├─ApolloApplication 项目启动类
  23. ├──resources
  24. ├─mapper SQL对应的XML文件
  25. ├─static 静态资源
  26. └─template 代码生成的模板


前端项目结构

  1. Apollo-vue
  2. ├─build webpack设置文件
  3. ├─bash 项目脚本语句
  4. ├─node_modules node js 模块
  5. ├─components 组件
  6. ├─icon-svg 图标 对应iconfont https://www.iconfont.cn/
  7. └─table-tree-column 树结构
  8. ├─utils 工具类js
  9. ├─router 路由设置
  10. ├─icons 图标设置
  11. ├─views 功能模块
  12. ├─common 公共页面
  13. ├─modules 权限模块
  14. ├─job 定时任务页面 对应iconfont https://www.iconfont.cn/
  15. └─sys 系统管理页面
  16. ├─gulpfile.js 打包文件
  17. ├─.editorconfig 前端代码规范
  18. ├─.package.json npm包内容,已经命令


快速启动

1、下载例子代码从部门的Git网址

Introduction to apollo - 图1
这截图的两个项目中没有权限,联系张恒 2、后端导入到idea中,然后环境变量改为prod
Introduction to apollo - 图2

3、将前端项目导入WebStorm之中

  • 安装WebStorm
  • 安装nodeJS nodejs官网
  • 安装阿里镜像 npm install -g cnpm —registry=https://registry.npm.taobao.org 参考
  • 在项目目录中运行 cnpm install
  • 启动项目 npm run dev