يهدف 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
إلى رأس الإرجاع، ودفن معرف مؤشر الترابط في السجل من خلال 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/ | مجموعة جافا سكريبت الشاملة |
WindiCss | https://windicss.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/seezoon-stack.sql
للاطلاع على البرنامج النصي
تكوين Seezoon-admin-server
قم بتكوين حساب DB و Redis وكلمة المرور في ملف التكوين التالي
seezoon-admin-server/src/main/resources/application-local.properties
ابدأ الخلفية في IDEA
قم بتنفيذ الطريقة الرئيسية في الفئة التالية (إذا تم الإبلاغ عن خطأ في التبعية، فيمكنك تنفيذ حزمة 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 لإنشاء البنيات إلى إنشاء بنية الدليل مباشرة لنشر الإنتاج، مما يسهل تكامل 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` 开发中