# openwtai-base
**Repository Path**: fuyang_lipengjun/openwtai-base
## Basic Information
- **Project Name**: openwtai-base
- **Description**: 微同商城商业版基础架构----一个前后端分离的Java快速开发脚手架,前端基于 Vue3、Vite、TypeScript、Element Plus、Pinia、Axios、ECharts 等,后台基于 Java 21、 Spring Boot 3、MyBatis-Plus、MySQL、Redis、JWT 等。
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: https://openwtai.com/platform-mall/#/login
- **GVP Project**: No
## Statistics
- **Stars**: 924
- **Forks**: 472
- **Created**: 2019-03-05
- **Last Updated**: 2026-05-18
## Categories & Tags
**Categories**: backend
**Tags**: None
## README
# 微同软件管理系统
## 介绍
### 服务器推荐配置
| 名称 | CPU | 内存 | 硬盘 | 价格 |
| -------- | -----: | :----: | :----: | :----: |
| 服务器(标准型S2机型 5M 双机) | 2核 | 8G | 50G | 2970元/三年 |
| MySQL高可用版| 1核 | 1G | 100G | 423元/三年 |
| COS资源包 | 大小 | 价格 |
| -------- | -----: | :----: |
| 标准型存储容量 |200GB |1年 171元|
| 下行流量 | 500GB |3个月 177元|
[抢购地址](https://curl.qcloud.com/7X1upulR)
### 项目说明
- openwtai-base是一个轻量级的,前后端分离的Java快速开发平台
- JavaDoc:https://apidoc.gitee.com/fuyang_lipengjun/openwtai-base/
### 优势
- 严格遵循阿里编码规约开发,便于阅读及二次开发
- 实现前后端分离,通过token进行数据交互,前端再也不用关注后端技术
- 灵活的权限控制,可控制到页面和按钮,满足绝大部分的权限需求
- 可在线生成vue、controller、entity、xml、dao、service、vue、sql代码,增删改查代码一键生成,减少80%以上的开发任务
- 引入quartz定时任务,可动态完成任务的添加、修改、删除、暂停、恢复及日志查看等功能
- 引入API模板,根据token作为登录令牌,极大的方便了APP接口开发
- 引入Hibernate Validator校验框架,轻松实现后端校验
- 引入云存储服务,已支持:七牛云、阿里云、腾讯云、本地存储
- 自定义实现swagger文档支持,方便编写API接口文档
- 使用Mybatis拦截器实现数据权限,对代码侵入小
- 接口支持微信开放平台、微信公众平台、微信小程序、微信公众号开发
- 移动端已支持微信小程序登录、微信公众号登录、支付宝小程序登录
### 技术选型:
#### 后端
- Java 21
- Spring Boot 3.5.13
- Apache Shiro 2.1.0
- MyBatis-Plus 3.5.16
- dynamic-datasource 4.5.0
- Druid 1.2.28
- Quartz 2.5.2
- Knife4j 4.6.0
- Redis
- MySQL 8
- lombok 1.18.44
- jwt 0.11.5
- easypoi 4.5.0
#### 前端
- Vue 3.5
- Vue Router 4
- Pinia 3
- Element Plus 2
- Vite 5
- ECharts 5
### 项目结构
```
openwtai-base
├─sql 项目SQL语句
│
├─openwtai-admin 管理后台(port:8888)
│
├─openwtai-ui 管理后台UI
│
├─openwtai-api 接口服务(port:8889)
│
├─openwtai-biz 业务、数据处理
│
└─openwtai-common 公共类
```
### 实现功能
```
- 系统管理
- 菜单管理
- 组织机构
- 系统参数
- 字典管理
- 文件上传
- 短信配置
- 定时任务
- 系统日志
- 权限管理
- 管理员列表
- 角色管理
- 开发工具
- 代码生成器
- 缓存信息
- SQL监控
- 接口文档
- 公众号管理
- 公众号消息
- 公众号菜单
- 消息模板
- 消息模版日志
- 素材管理
- 草稿箱
- 发布记录
- 自动回复规则
- 带参二维码
- 用户管理
- 用户管理
```
**效果图:**
- 菜单管理

- 字典管理

- 文件上传

- 深色主题

- 兼容手机端

### 本地启动
建议至少准备:
- JDK 21
- Maven 3.9+
- MySQL 8.x
- Redis 6.x 或更高版本
- Node.js 18+ 或 20+
- npm 9+ 或与本机现有前端依赖兼容的版本
#### 1. 初始化数据库
项目初始化 SQL 位于 `_sql/` 目录:
- `_sql/openwtai-mysql.sql`
- `_sql/quartz_mysql.sql`
先创建数据库,例如 `base`,再依次执行上述两个脚本。
#### 2. 修改本地配置
开发环境配置文件:
- [openwtai-admin/src/main/resources/application-dev.yml](/Users/pengjun/Code/gitee/openwtai-base/openwtai-admin/src/main/resources/application-dev.yml)
- [openwtai-api/src/main/resources/application-dev.yml](/Users/pengjun/Code/gitee/openwtai-base/openwtai-api/src/main/resources/application-dev.yml)
当前默认开发配置包含:
- MySQL:`jdbc:mysql://localhost:3306/openwtai-base`
- 用户名:`root`
- 密码:`root1234`
- Redis:`127.0.0.1:6379`
如果本地环境不同,先改这里。
#### 3. 启动服务
方式一:直接运行启动类
- `openwtai-admin`:`com.openwtai.OpenWtAiAdminApplication`
- `openwtai-api`:`com.openwtai.OpenWtAiApiApplication`
方式二:Maven 启动
```bash
mvn -pl openwtai-admin spring-boot:run
mvn -pl openwtai-api spring-boot:run
```
启动后默认地址:
- 后台管理服务:`http://localhost:8888/openwtai-admin`
- App 接口服务:`http://localhost:8889/openwtai-api`
接口文档入口:
- 后台管理文档:`http://localhost:8888/openwtai-admin/doc.html`
- App 接口文档:`http://localhost:8889/openwtai-api/doc.html`
### 后端部署
- 创建数据库base
- mysql执行`_sql/openwtai-mysql.sql、quartz_mysql.sql`文件,初始化数据
- 修改admin、api模块下`application-dev.yml`,修改MySQL账号和密码
- 运行OpenWtAiAdminApplication.java启动后台管理接口服务
-接口:http://localhost:8888/openwtai-admin
- 运行OpenWtAiApiApplication.java启动api接口服务
-接口:http://localhost:8889/openwtai-api
- 接口路径:http://localhost:8888/openwtai-admin/doc.html
- 接口路径:http://localhost:8889/openwtai-api/doc.html
### 提交反馈
1. 欢迎提交 issue,请写清楚遇到问题的原因,开发环境,复显步骤。
2. 官方QQ群:
-
-
-
### 环境推荐
- 服务器环境
- CentOS
- Nginx
- JDK 21
- MySQL 8.0
- Redis
- 开发工具
- IntelliJ IDEA、Eclipse
- JetBrains WebStorm
- Navicat for MySQL
- Xshell
- Xftp
- Postman
### 生产环境打包
- 打包
- mvn clean
- mvn package -P prod
- 将openwtai-admin.jar、openwtai-api.jar上传至服务器
- 启动服务
##### 在服务器编写脚本
> vim startOpenWtAiAdminService.sh
~~~bash
(netstat -tlnp|grep 8890|awk '{print $7}'|awk -F '/' '{print $1}') |xargs kill -9
echo "................kill the process openwtai-admin.............................."
nohup java -jar openwtai-admin.jar &
sleep 5s
tail -f /home/logs/openwtai-admin/info.log
~~~
> vim startOpenWtAiApiService.sh
~~~bash
(netstat -tlnp|grep 8889|awk '{print $7}'|awk -F '/' '{print $1}') |xargs kill -9
echo "................kill the process openwtai-api.............................."
nohup java -jar openwtai-api.jar &
sleep 5s
tail -f /home/logs/openwtai-api/info.log
~~~
##### 执行这两个脚本,启动服务
### 前端启动
- 请看:[./openwtai-ui/README.md](./openwtai-ui/README.md)
### 后台管理系统默认密码
- admin admin