|
|
|
@ -1,4 +1,224 @@ |
|
|
|
|
# 功能详情 |
|
|
|
|
# RD-Rev |
|
|
|
|
|
|
|
|
|
## 运行手册 |
|
|
|
|
|
|
|
|
|
主要技术栈一览 |
|
|
|
|
|
|
|
|
|
- 前端 |
|
|
|
|
- 框架:Vue 3 |
|
|
|
|
- 组件库:Quasar |
|
|
|
|
- 构建工具:Vite |
|
|
|
|
|
|
|
|
|
- 后端 |
|
|
|
|
- Java 17 |
|
|
|
|
- 开发框架:Springboot 3 |
|
|
|
|
- ORM:Mybatis (Plus) |
|
|
|
|
- 数据库:Postgresql |
|
|
|
|
- NoSQL:Redis |
|
|
|
|
|
|
|
|
|
- 运行部署 |
|
|
|
|
- 运行与部署:Docker |
|
|
|
|
- 阿里云CDN(示例站点) |
|
|
|
|
|
|
|
|
|
自行部署的示例站点: https://rd-rev.lensfrex.net |
|
|
|
|
|
|
|
|
|
## 后端 |
|
|
|
|
|
|
|
|
|
后端运行比较简单,可以使用已经打包好的 jar 包,也可以[自行编译 jar 运行](#2-自行打包编译运行),还可以[使用 `docker compose` 来运行](#3-docker-compose)。 |
|
|
|
|
|
|
|
|
|
### 1. jar 包直接运行 |
|
|
|
|
|
|
|
|
|
相关数据库等配置已经配置好,直接运行即可,不用额外配置: |
|
|
|
|
|
|
|
|
|
``` sh |
|
|
|
|
java -jar ./radical-dreamers.jar |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
如确需修改配置,放置一份 `application.yml` 配置文件至 jar 文件同一目录下,即可覆盖原有配置,或者运行时添加参数(位于 jar 路径后) `--spring.config.location` 指定新的配置文件路径: |
|
|
|
|
|
|
|
|
|
``` sh |
|
|
|
|
java -jar ./radical-dreamers.jar --spring.config.location=./application.yml |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
以下是配置文件示例(可在代码中找到): |
|
|
|
|
|
|
|
|
|
``` yaml |
|
|
|
|
mybatis-plus: |
|
|
|
|
configuration: |
|
|
|
|
log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl |
|
|
|
|
mapper-locations: classpath*:/mapper/**/*.xml |
|
|
|
|
|
|
|
|
|
logging: |
|
|
|
|
level: |
|
|
|
|
rd: debug |
|
|
|
|
druid.sql.Statement: trace |
|
|
|
|
pattern: |
|
|
|
|
console: "%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:%wEx}" |
|
|
|
|
file: "%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd'T'HH:mm:ss.SSSXXX}} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-40.40logger{39} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:%wEx}" |
|
|
|
|
|
|
|
|
|
spring: |
|
|
|
|
task: |
|
|
|
|
execution: |
|
|
|
|
pool: |
|
|
|
|
core-size: 16 |
|
|
|
|
max-size: 32 |
|
|
|
|
queue-capacity: 128 |
|
|
|
|
keep-alive: 90s |
|
|
|
|
devtools: |
|
|
|
|
restart: |
|
|
|
|
enabled: true |
|
|
|
|
data: |
|
|
|
|
redis: |
|
|
|
|
client-name: neolaf |
|
|
|
|
host: 127.0.0.1 |
|
|
|
|
port: 6379 |
|
|
|
|
password: Test2333! |
|
|
|
|
database: 0 |
|
|
|
|
|
|
|
|
|
datasource: |
|
|
|
|
driver-class-name: org.postgresql.Driver |
|
|
|
|
url: jdbc:postgresql://127.0.0.1:5432/little_busters?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai |
|
|
|
|
username: postgres |
|
|
|
|
password: Test2333! |
|
|
|
|
|
|
|
|
|
server: |
|
|
|
|
address: 127.0.0.1 |
|
|
|
|
port: 8800 |
|
|
|
|
servlet: |
|
|
|
|
context-path: / |
|
|
|
|
|
|
|
|
|
sa-token: |
|
|
|
|
token-name: auth-token |
|
|
|
|
is-concurrent: true |
|
|
|
|
|
|
|
|
|
rd: |
|
|
|
|
WusthelperBaseUrl: https://wusthelper.wustlinghang.cn/mobileapi/v2 |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
## 2. 自行打包编译运行 |
|
|
|
|
|
|
|
|
|
该方式运行过程与上文 jar 包直接运行相同,差别在于需要手动编译和打包。 |
|
|
|
|
|
|
|
|
|
编译打包的过程很简单: |
|
|
|
|
|
|
|
|
|
``` sh |
|
|
|
|
mvn clean package |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
完成后,编译产物位于target文件夹中,名为 `radical-dreamers.jar` |
|
|
|
|
|
|
|
|
|
打包完成后,运行方式同上文。 |
|
|
|
|
|
|
|
|
|
## 3. Docker Compose |
|
|
|
|
|
|
|
|
|
在构建 Docker 镜像前,需要先打包好 jar 文件,过程参考上文打包过程。 |
|
|
|
|
|
|
|
|
|
完成后,运行: |
|
|
|
|
|
|
|
|
|
``` sh |
|
|
|
|
docker compose up --build |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
构建镜像并运行,由于网络原因,镜像拉取可能会很吃力,请自备代理。 |
|
|
|
|
|
|
|
|
|
以下是 `docker-compose.yml` 的内容(可在代码中找到): |
|
|
|
|
|
|
|
|
|
``` yaml |
|
|
|
|
name: rd-srv-backend |
|
|
|
|
|
|
|
|
|
services: |
|
|
|
|
# 主服务 |
|
|
|
|
rd: |
|
|
|
|
build: |
|
|
|
|
context: . |
|
|
|
|
dockerfile: Dockerfile |
|
|
|
|
ports: |
|
|
|
|
- "8800:8800" |
|
|
|
|
environment: |
|
|
|
|
spring.data.redis.host: redis |
|
|
|
|
spring.data.redis.port: 6379 |
|
|
|
|
spring.datasource.url: jdbc:postgresql://db:5432/rdrev?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai |
|
|
|
|
spring.datasource.username: postgres |
|
|
|
|
spring.datasource.password: a7d929f76d45d13a4337f2d16f5634bc17e5b8b2 |
|
|
|
|
server.port: 8800 |
|
|
|
|
depends_on: |
|
|
|
|
redis: |
|
|
|
|
condition: service_started |
|
|
|
|
db: |
|
|
|
|
condition: service_healthy |
|
|
|
|
networks: |
|
|
|
|
- rd-network |
|
|
|
|
|
|
|
|
|
# Postgresql |
|
|
|
|
db: |
|
|
|
|
image: postgres:14.12-alpine3.19 |
|
|
|
|
environment: |
|
|
|
|
PGUSER: postgres |
|
|
|
|
POSTGRES_USER: postgres |
|
|
|
|
POSTGRES_DB: rdrev |
|
|
|
|
POSTGRES_PASSWORD: a7d929f76d45d13a4337f2d16f5634bc17e5b8b2 |
|
|
|
|
volumes: |
|
|
|
|
- ./docker:/docker-entrypoint-initdb.d/ |
|
|
|
|
networks: |
|
|
|
|
- rd-network |
|
|
|
|
healthcheck: |
|
|
|
|
test: [ "CMD-SHELL", "pg_isready", "-d", "db_prod"] |
|
|
|
|
interval: 10s |
|
|
|
|
timeout: 60s |
|
|
|
|
retries: 5 |
|
|
|
|
start_period: 5s |
|
|
|
|
|
|
|
|
|
# Redis |
|
|
|
|
redis: |
|
|
|
|
image: redis |
|
|
|
|
networks: |
|
|
|
|
- rd-network |
|
|
|
|
|
|
|
|
|
networks: |
|
|
|
|
rd-network: |
|
|
|
|
internal: false |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
可以参考该配置根据需求自行修改。 |
|
|
|
|
|
|
|
|
|
## 前端 |
|
|
|
|
|
|
|
|
|
### 1. 安装npm依赖: |
|
|
|
|
|
|
|
|
|
``` sh |
|
|
|
|
# 使用yarn |
|
|
|
|
yarn |
|
|
|
|
|
|
|
|
|
# 使用npm |
|
|
|
|
npm install |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
### 2. 运行 dev server |
|
|
|
|
|
|
|
|
|
修改 baseUrl 配置(可选,默认情况下由 vite dev server 进行代理转发至本机`127.0.0.1:8800`,本地开发运行可以不做修改) |
|
|
|
|
|
|
|
|
|
修改前端源码文件夹中的`config.js`配置文件: |
|
|
|
|
|
|
|
|
|
``` javascript |
|
|
|
|
export default { |
|
|
|
|
// backendBaseUrl: 'http://127.0.0.1:8800', |
|
|
|
|
backendBaseUrl: '', |
|
|
|
|
} |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
修改完成后,运行 dev server: |
|
|
|
|
|
|
|
|
|
``` sh |
|
|
|
|
# 使用yarn |
|
|
|
|
yarn dev |
|
|
|
|
|
|
|
|
|
# 使用npm |
|
|
|
|
npm run dev |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
运行起来后,会自动打开浏览器进入首页。 |
|
|
|
|
|
|
|
|
|
## 功能详情 |
|
|
|
|
|
|
|
|
|
设定信息: |
|
|
|
|
- 课程:一门课 |
|
|
|
|