Seezoon Stack มุ่งเป้าไปที่ การพัฒนาอย่างรวดเร็ว และแลกกับความเร็วในการพัฒนาและโครงสร้างโค้ด ไม่ว่าในกรณีใด คุณจะเห็นการใช้งานเฟรมเวิร์กการพัฒนา Java ทั่วไป อย่างแท้จริง โครงการนี้ใช้กรอบการพัฒนากระแสหลัก และการบรรจุ การรวบรวม และการใช้งานทั้งหมดเสร็จสิ้นตามมาตรฐานของบริษัทขนาดใหญ่ และได้รับการปรับปรุงอย่างต่อเนื่องและค่อยเป็นค่อยไป
เอกสารรายละเอียดและที่อยู่สาธิต: https://doc.stack.seezoon.com
บัญชี: ผู้ดูแลระบบ
รหัสผ่าน: 123456 เซิร์ฟเวอร์ Alibaba Cloud ปัจจุบันหมดอายุแล้ว สามารถเข้าถึงเอกสารได้ แต่ระบบไม่สามารถเข้าถึงได้ชั่วคราว
การเรนเดอร์บางส่วน:
Seezoon Stack เสร็จสมบูรณ์โดยใช้สแต็กเทคโนโลยีส่วนหน้าและส่วนหลังที่ล้ำหน้าที่สุด
กรอบพื้นหลัง หลัก :
ชื่อเฟรม | ที่อยู่เฟรม | แสดงให้เห็น |
---|---|---|
รองเท้าบูทสปริง | https://spring.io/projects/spring-boot | ประกอบอัตโนมัติ |
Redis ข้อมูลเซสชันฤดูใบไม้ผลิ | https://spring.io/projects/spring-session-data-redis | การจัดการสถานะการเข้าสู่ระบบ |
ความปลอดภัยของสปริง | https://spring.io/projects/spring-security | การเข้าสู่ระบบและการควบคุมการอนุญาต |
มายบาติส | https://mybatis.org/mybatis-3/zh/index.html | ชั้นคงอยู่ |
สปริงฟ็อกซ์ | https://github.com/springfox/springfox | เอกสาร openAPI 3 |
X-Trace-Id
ไปยังส่วนหัวที่ส่งคืน และฝัง ID เธรดในบันทึกผ่าน MDC
คุณลักษณะที่มีลำดับความสำคัญต่ำกว่า (TODO):
เฟรมเวิร์กส่วนหน้า หลัก :
ชื่อเฟรม | ที่อยู่เฟรม | แสดงให้เห็น |
---|---|---|
วิว 3 | https://v3.cn.vuejs.org/guide/introduction.html | การผูกสองทาง |
วิทย์ | https://cn.vitejs.dev/ | สร้างเครื่องมือ |
แอนท์ ดีไซน์ วิว 2 | https://2x.antdv.com/components/overview-cn/ | ส่วนประกอบ |
ไทป์สคริปท์ 4 | https://www.typescriptlang.org/zh/ | ซูเปอร์เซ็ต JavaScript |
WindiCss | https://windics.org/guide/ | คลาสตัวช่วย CSS |
สร้างสัญลักษณ์ | https://iconify.design/ | ไลบรารีไอคอน |
เฟรมเวิร์กส่วนหน้าจะแยก Vue vben admin 2.0 และฟีเจอร์อัปสตรีมจะถูกรวมเข้าด้วยกันเป็นประจำ สำหรับส่วนประกอบเฉพาะ โปรดดูเอกสารประกอบของผู้ดูแลระบบ Vben ฉันขอขอบคุณผู้ดูแลระบบ Vben สำหรับความช่วยเหลือในโครงการนี้
ส่วนหน้าส่วนใหญ่ใช้ Ant Design Vue 2 เป็นไลบรารีส่วนประกอบหลักเพื่อลดต้นทุนการเรียนรู้ เฟรมเวิร์กหลักคือ TypeScript และฟังก์ชันทางธุรกิจถูกเขียนด้วย JavaScript เพื่อการพัฒนาที่รวดเร็ว จำนวนโค้ด JavaScript ค่อนข้างกระชับและรวดเร็ว
npm install -g yarn
)ดาวน์โหลดรหัส
สามารถนำเข้าผ่าน IDEA File->New->Project From Version Control
หรือสามารถดาวน์โหลดและนำเข้าผ่านคำสั่ง
ขอแนะนำให้แยกไปยังคลังสินค้าของคุณเอง จากนั้นนำเข้าเพื่ออำนวยความสะดวกในการอัปเดตการซิงโครไนซ์ในภายหลัง
git clone https://github.com/734839030/seezoon-stack.git
โครงสร้างทางวิศวกรรม
```
.
└── 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
ดูสคริปต์ที่ db/seezoon-stack.sql
กำหนดค่า seezoon-admin-server
กำหนดค่าบัญชี DB และ Redis และรหัสผ่านในไฟล์การกำหนดค่าต่อไปนี้
seezoon-admin-server/src/main/resources/application-local.properties
เริ่มพื้นหลังใน IDEA
ดำเนินการเมธอด Main ในคลาสต่อไปนี้ (หากมีการรายงานข้อผิดพลาดการพึ่งพา คุณสามารถดำเนินการแพ็คเกจ mvn ของโปรเจ็กต์หลักได้)
seezoon-admin-server/src/main/java/com/seezoon/admin/AdminMain.java
ติดตั้งการพึ่งพาและเริ่มต้น
cd seezoon-stack/seezoon-admin-web
yarn install
yarn serve
# 访问地址
http://localhost:3100/
เซิร์ฟเวอร์ไฟล์ทดสอบในตัวเครื่อง (ไม่บังคับ)
cd seezoon-admin-web/test/server/upload
yarn install
yarn start
# 管理端上传文件后,可以直接访问地址static目录静态文件
http://localhost:3001/static/xxxx
โครงสร้างไดเรกทอรีออนไลน์
/data/
│── cert
├── seezoon-admin-server # 后台产出物
│ ├── bin
│ ├── conf
│ ├── logs
│ └── work
├── seezoon-admin-web # 前端产出物
│ ├── assets
│ └── resource
└── upload-server 文件上传目录,默认使用磁盘文件,使用OSS则不需要.
ติดตั้ง Java 1.8+ ในสภาพแวดล้อมออนไลน์ แนะนำให้ใช้ 11
การใช้ maven-assembly-plugin เพื่อสร้างโครงสร้างสามารถสร้างโครงสร้างไดเร็กทอรีสำหรับการปรับใช้ที่ใช้งานจริงได้โดยตรง ซึ่งอำนวยความสะดวกในการรวม DevOps
cd seezoon-admin-server
mvn clean package
แค็ตตาล็อกเอาท์พุต
seezoon-admin-server/target/seezoon-admin-server
คุณจะต้องรักษา application.properties
ไว้ในไดเร็กทอรี conf
เอาต์พุต จากนั้นคุณจึงจะเผยแพร่ได้
ไฟล์การกำหนดค่าถูกแยกออกจากสภาพแวดล้อม
jar
เอาท์พุตแพ็กเกจmaven-jar-plugin
จะปล่อยไฟล์ต่อไปนี้ในไดเร็กทอรีresources
:
application-local.properties
logback-spring.xml
หากคุณไม่สนใจว่าการกำหนดค่าสภาพแวดล้อมทั้งหมดอยู่ในโปรเจ็กต์ จะสะดวกมาก ใช้
--spring.profiles.active
ที่ได้รับจาก spring boot และเลือกไฟล์การกำหนดค่าในคำสั่งเริ่มต้น
cd seezoon-admin-web
yarn build
เอาท์พุท
เพียงเผยแพร่ไฟล์ใน seezoon-admin-web/dist
ไปยังไดเร็กทอรี nginx ออนไลน์ การกำหนดค่า nginx ของโปรเจ็กต์นี้มีดังต่อไปนี้ สำหรับการอ้างอิงเท่านั้น
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;
}
}
การกำหนดค่าการบีบอัดทรัพยากรคงที่เพิ่มเติมจะอยู่ใต้โหนด
nginx.conf http
# 打开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].";
คุณยินดีอย่างยิ่งที่จะเข้าร่วมกับเรา! แจ้งปัญหาหรือส่งคำขอดึง
คำขอดึง:
git checkout -b feat/xxxx
git commit -m 'feat(function): add xxxxx'
git push origin feat/xxxx
pull request
ข้อมูลจำเพาะอ้างอิง (เชิงมุม)
- `feat` 增加新功能
- `fix` 修复问题/BUG
- `style` 代码风格相关无影响运行结果的
- `perf` 优化/性能提升
- `refactor` 重构
- `revert` 撤销修改
- `test` 测试相关
- `docs` 文档/注释
- `chore` 依赖更新/脚手架配置修改等
- `workflow` 工作流改进
- `ci` 持续集成
- `types` 类型定义文件更改
- `wip` 开发中