本篇文章给大家谈谈c网站源码分享开源,以及网站源码库对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
一飞开源,介绍创意、新奇、有趣、实用的免费开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!
一、开源项目简介
SeezoonStack以快速开发为目的,在开发速度和代码结构上做出一定取舍,无论如何,你将看到非常地道的Java常用开发框架使用。该项目采用主流开发框架,无论打包、编译、部署都按着大公司的标准完成并不断逐步完善。
二、开源协议
使用MIT开源协议
三、界面展示
部分效果图:
四、功能概述
特性
JSR303验证、标准API模型,错误码、异常处理封装请求埋点,返回头添加X-Trace-Id,通过MDC在日志中埋入线程ID;Redis封装,序列化RestTemplate线程池、证书请求及默认属性约定SpringBoot异步线程配置跨域支持基于openAPI3.0规范的自动生成文档前后端一体化代码生成登录及权限控制文件处理,支持磁盘文件和阿里云OSS国际化通用数据权限动态菜单&按钮
优先级较低的功能(TODO):
阿里云短信Excel处理微信公众号、小程序相关,登录,支付等常用封装云原生部署及编排文档
五、技术选型
SeezoonStack采用当下最前沿前后端的技术栈完成。
后台主要框架:
框架名称
说明
SpringBoot
自动装配
SpringSessionDataRedis
登录态管理
SpringSecurity
登录及权限控制
Mybatis
持久层
Springfox
openAPI3文档
前台主要框架:
框架名称
说明
Vue3
双向绑定
Vite
构建工具
AntDesignVue2
组件
TypeScript4
JavaScript超集
WindiCss
css辅助类
Iconify
图标库
前端框架forkVuevbenadmin2.0,定期会合并上游特性,具体组件请参考Vbenadmin文档。在此也感谢Vbenadmin对该项目提供的帮助。
前端主要采用AntDesignVue2作为主要组件库,降低学习成本,主体框架均为TypeScript,业务功能采用JavaScript编写,针对快速开发JavaScript代码量较为简洁,速度较快。
环境准备
JDK1.8+(建议11)Maven3+Node12+Yarn(安装完node,可用npminstall-gyarn)RedisMysql5.7+(建议8)
快速开始
代码下载
可以通过IDEAFile->New->ProjectFromVersionControl导入,也可以通过命令下载后导入。
建议fork后到自己仓库后再导入,方便后续同步更新。
工程结构
“`\n.\n└──seezoon-stackparent工程\n├──build构建所需文件\n│├──assembly生成产出物结构\n││├──bin项目脚本\n││├──conf配置目录\n││├──logs日志目录\n││└──assembly.xmlmavenassembly打包插件描述文件(不打包到产出物)\n│├──build.sh构建脚本\n│├──eclipse-codestyle.xmlP3C代码格式,可以自行更新\n│├──maven-settings.xmlmaven的setting配置(可选)\n│└──mybatis-generator-config.xml原生mybatis-generator描述文件(可选)\n├──dbDB脚本目录\n├──doc项目文档及资料维护目录\n├──seezoon-admin-server管理端服务\n├──seezoon-admin-web后台页面目前fork上游,代码库单独维护稳定后合并\n├──seezoon-daoDAO层,方便管理端和C端引用\n├──seezoon-framework管理端和C端通用框架层(基础中间件,参数验证,安全控制)\n├──seezoon-generator通用代码生成器,可以单独使用也可以供其他组件继承使用\n└──seezoon-user-serverC端服务端TODO\n“`
后台
初始化DB脚本脚本见db/seezoon-stack.sql配置seezoon-admin-server在如下配置文件配置DB和Redis账号密码seezoon-admin-server/src/main/resources/application-local.propertiesIDEA中启动后台
执行如下类中Main方法(如果报依赖错误,可以执行parent工程mvnpackage)
seezoon-admin-server/src/main/java/com/seezoon/admin/AdminMain.java
前台
安装依赖并启动cdseezoon-stack/seezoon-admin-webyarninstallyarnserve管理端上传文件后,可以直接访问地址static目录静态文件http://localhost:3001/static/xxxx
生产环境部署
线上目录结构,
/data/\n│──cert\n├──seezoon-admin-server前端产出物\n│├──assets\n│└──resource\n└──upload-server文件上传目录,默认使用磁盘文件,使用OSS则不需要.
手工部署-后台
线上环境安装Java1.8+,推荐11。
采用maven-assembly-plugin生成构建物,可以直接生成生产部署的目录结构,方便DevOps集成.
cdseezoon-admin-server\nmvncleanpackage
产出物目录
seezoon-admin-server/target/seezoon-admin-server
只需要维护产出物conf目录的application.properties即可,然后就可以发布了。
配置文件与环境分离,maven-jar-plugin打包产出物jar会排出resources目录如下文件:
application-local.properties\nlogback-spring.xml
如果不介意各个环境配置都在工程中那就很方便,使用springboot提供的–spring.profiles.active,在启动命令中选择配置文件。
手工部署-前台
cdseezoon-admin-web\nyarnbuild
产出物
seezoon-admin-web/dist中文件发布到线上nginx目录即可,该工程nginx配置如下,仅供参考。
upstreamseezoon-admin-server{\nserver127.0.0.1:8080max_fails=3fail_timeout=10s;\n}\n\nserver{\nlisten80;\nserver_namestack.seezoon.com;\nrewrite^(.*)$https://$host$1permanent;\n}\n\nserver{\nlisten443;\nserver_namestack.seezoon.com;\nsslon;\nssl_certificate/data/cert/stack.seezoon.com.pem;\nssl_certificate_key/data/cert/stack.seezoon.com.key;\nssl_session_timeout5m;\nssl_ciphersECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;\nssl_protocolsTLSv1TLSv1.1TLSv1.2;\nssl_prefer_server_cipherson;\n\n文件服务\nlocation^~/file/{\naccess_logoff;\nalias/data/upload-server/;\n}\n\n打开gzip效果更佳\ngzipon;\ngzip_min_length1k;\ngzip_buffers416k;\ngzip_http_version1.0;\ngzip_comp_level6;\ngzip_typestext/plainapplication/javascriptapplication/x-javascripttext/cssapplication/xmltext/javascriptapplication/x-httpd-phpimage/jpegimage/gifimage/png;\ngzip_varyoff;\ngzip_disable&34;;
六、源码地址
访问一飞开源:https://code.exmay.com/
关于c网站源码分享开源到此分享完毕,希望能帮助到您。
