Seezoon Stack zielt auf eine schnelle Entwicklung ab und geht bestimmte Kompromisse bei der Entwicklungsgeschwindigkeit und der Codestruktur ein. Auf jeden Fall werden Sie eine sehr authentische Verwendung gängiger Java-Entwicklungsframeworks feststellen. Dieses Projekt übernimmt ein Mainstream-Entwicklungsframework, und Verpackung, Kompilierung und Bereitstellung werden alle gemäß den Standards großer Unternehmen durchgeführt und kontinuierlich und schrittweise verbessert.
Detaillierte Dokumentation und Demonstrationsadresse: https://doc.stack.seezoon.com
Konto: Admin
Passwort: 123456 Der aktuelle Alibaba Cloud-Server ist abgelaufen. Auf das Dokument kann zugegriffen werden, auf das System kann jedoch vorübergehend nicht zugegriffen werden.
Einige Renderings:
Seezoon Stack wird mit den modernsten Front-End- und Back-End-Technologie-Stacks vervollständigt.
Haupthintergrundrahmen :
Rahmenname | Frame-Adresse | veranschaulichen |
---|---|---|
Frühlingsstiefel | https://spring.io/projects/spring-boot | Automatische Montage |
Spring Session Data Redis | https://spring.io/projects/spring-session-data-redis | Verwaltung des Anmeldestatus |
Frühlingssicherheit | https://spring.io/projects/spring-security | Login- und Berechtigungskontrolle |
Mybatis | https://mybatis.org/mybatis-3/zh/index.html | Persistenzschicht |
Springfox | https://github.com/springfox/springfox | openAPI 3-Dokumentation |
X-Trace-Id
zum Rückgabeheader hinzu und vergraben Sie die Thread-ID im Protokoll über MDC
.Funktionen mit niedrigerer Priorität (TODO):
Haupt -Frontend-Framework:
Rahmenname | Frame-Adresse | veranschaulichen |
---|---|---|
Vue 3 | https://v3.cn.vuejs.org/guide/introduction.html | Zwei-Wege-Bindung |
Vite | https://cn.vitejs.dev/ | Werkzeuge erstellen |
Ant Design Vue 2 | https://2x.antdv.com/components/overview-cn/ | Komponenten |
TypeScript 4 | https://www.typescriptlang.org/zh/ | JavaScript-Obermenge |
WindiCss | https://windicss.org/guide/ | CSS-Hilfsklasse |
Ikonifizieren | https://iconify.design/ | Symbolbibliothek |
Die Front-End-Framework-Forks von Vue Vben Admin 2.0 und die Upstream-Funktionen werden regelmäßig zusammengeführt. Informationen zu bestimmten Komponenten finden Sie in der Vben Admin-Dokumentation. Ich möchte auch dem Vben-Administrator für seine Hilfe bei diesem Projekt danken.
Das Frontend verwendet hauptsächlich Ant Design Vue 2 als Hauptkomponentenbibliothek, um die Lernkosten zu senken. Das Hauptframework ist TypeScript, und Geschäftsfunktionen sind in JavaScript geschrieben. Für eine schnelle Entwicklung ist die Menge an JavaScript-Code relativ prägnant und schnell.
npm install -g yarn
verwenden)Code-Download
Es kann über IDEA File->New->Project From Version Control
importiert oder über den Befehl heruntergeladen und importiert werden.
Es wird empfohlen, einen Fork in Ihr eigenes Warehouse durchzuführen und es dann zu importieren, um spätere Synchronisierungsaktualisierungen zu erleichtern.
git clone https://github.com/734839030/seezoon-stack.git
Ingenieurbauwerk
```
.
└── seezoon-stack parent工程
├── build 构建所需文件
│ ├── assembly 生成产出物结构
│ │ ├── bin 项目脚本
│ │ ├── conf 配置目录
│ │ ├── logs 日志目录
│ │ └── assembly.xml maven assembly 打包插件描述文件(不打包到产出物)
│ ├── build.sh 构建脚本
│ ├── eclipse-codestyle.xml P3C代码格式,可以自行更新
│ ├── maven-settings.xml maven的setting配置(可选)
│ └── mybatis-generator-config.xml 原生mybatis-generator 描述文件(可选)
├── db DB脚本目录
├── doc 项目文档及资料维护目录
├── seezoon-admin-server 管理端服务
├── seezoon-admin-web 后台页面目前fork上游,代码库单独维护稳定后合并
├── seezoon-dao DAO层,方便管理端和C端引用
├── seezoon-framework 管理端和C端通用框架层(基础中间件,参数验证,安全控制)
├── seezoon-generator 通用代码生成器,可以单独使用也可以供其他组件继承使用
└── seezoon-user-server C端服务端TODO
```
DB-Skript initialisieren
Das Skript finden Sie unter db/seezoon-stack.sql
Konfigurieren Sie den seezoon-admin-server
Konfigurieren Sie das DB- und Redis -Konto und das Passwort in der folgenden Konfigurationsdatei
seezoon-admin-server/src/main/resources/application-local.properties
Starten Sie den Hintergrund in IDEA
Führen Sie die Main-Methode in der folgenden Klasse aus (wenn ein Abhängigkeitsfehler gemeldet wird, können Sie das MVN-Paket des übergeordneten Projekts ausführen)
seezoon-admin-server/src/main/java/com/seezoon/admin/AdminMain.java
Abhängigkeiten installieren und starten
cd seezoon-stack/seezoon-admin-web
yarn install
yarn serve
# 访问地址
http://localhost:3100/
Lokaler Testdateiserver (optional)
cd seezoon-admin-web/test/server/upload
yarn install
yarn start
# 管理端上传文件后,可以直接访问地址static目录静态文件
http://localhost:3001/static/xxxx
Online-Verzeichnisstruktur,
/data/
│── cert
├── seezoon-admin-server # 后台产出物
│ ├── bin
│ ├── conf
│ ├── logs
│ └── work
├── seezoon-admin-web # 前端产出物
│ ├── assets
│ └── resource
└── upload-server 文件上传目录,默认使用磁盘文件,使用OSS则不需要.
Installieren Sie Java 1.8+ in der Online-Umgebung, 11 wird empfohlen.
Durch die Verwendung des Maven-Assembly-Plugins zum Generieren von Konstrukten kann die Verzeichnisstruktur für die Produktionsbereitstellung direkt generiert werden, was die DevOps-Integration erleichtert.
cd seezoon-admin-server
mvn clean package
Ausgabekatalog
seezoon-admin-server/target/seezoon-admin-server
Sie müssen nur application.properties
im Ausgabe conf
Verzeichnis verwalten und können es dann veröffentlichen.
Die Konfigurationsdatei ist von der Umgebung getrennt. Das Ausgabe-
jar
maven-jar-plugin
Pakets entlädt die folgenden Dateien imresources
:
application-local.properties
logback-spring.xml
Wenn es Ihnen nichts ausmacht, dass alle Umgebungskonfigurationen im Projekt enthalten sind, ist es sehr praktisch,
--spring.profiles.active
zu verwenden, das von Spring Boot bereitgestellt wird, und die Konfigurationsdatei im Startbefehl auszuwählen.
cd seezoon-admin-web
yarn build
Ausgabe
Veröffentlichen Sie einfach die Dateien in seezoon-admin-web/dist
im Online-Nginx-Verzeichnis. Die Nginx-Konfiguration dieses Projekts dient nur als Referenz.
upstream seezoon-admin-server {
server 127.0.0.1:8080 max_fails=3 fail_timeout=10s;
}
server {
listen 80;
server_name stack.seezoon.com;
rewrite ^(.*)$ https://$host$1 permanent;
}
server {
listen 443;
server_name stack.seezoon.com;
ssl on;
ssl_certificate /data/cert/stack.seezoon.com.pem;
ssl_certificate_key /data/cert/stack.seezoon.com.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
# api
location ^~ /api/ {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-PORT $remote_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://seezoon-admin-server/;
}
# 文件服务
location ^~ /file/ {
access_log off;
alias /data/upload-server/;
}
# 静态资源
location / {
access_log off;
root /data/seezoon-admin-web/;
index index.html index.htm;
}
}
Die optionale statische Ressourcenkomprimierungskonfiguration wird unter dem
nginx.conf http
platziert.
# 打开gzip 效果更佳
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 6;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary off;
gzip_disable "MSIE [1-6].";
Sie sind herzlich willkommen, sich uns anzuschließen! Erheben Sie ein Problem oder senden Sie eine Pull-Anfrage.
Pull-Anfrage:
git checkout -b feat/xxxx
git commit -m 'feat(function): add xxxxx'
git push origin feat/xxxx
pull request
senden Referenzspezifikation (Angular)
- `feat` 增加新功能
- `fix` 修复问题/BUG
- `style` 代码风格相关无影响运行结果的
- `perf` 优化/性能提升
- `refactor` 重构
- `revert` 撤销修改
- `test` 测试相关
- `docs` 文档/注释
- `chore` 依赖更新/脚手架配置修改等
- `workflow` 工作流改进
- `ci` 持续集成
- `types` 类型定义文件更改
- `wip` 开发中