3 Star 25 Fork 5

Mr.Chen / cxs-currency-sys-server-master

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0

小白博客

💡 简介

小白博客 是2022年12月份疫情期间本人居家时设计开发的一款社区博客系统,当时一心只想着开发一款自己的系统,历时3个月左右,零零散散,总算是将小白博客开发出来,虽然有些功能尚未完善,但也是小白的心血,现将此系统开源,供有需要的小伙伴交流学习。

欢迎到 QQ群:941095490 了解更多。同时也欢迎关注小白微信公众号 全栈小白

全栈小白

✨ 功能

  • 文章采用了比较火的Markdown编辑器。
  • 系统集成了邮件发送功能。
  • 系统可以自定义友情链接。
  • 系统主页推荐文章 / 热门文章(展示最近n天用户访问量最多的10篇文章)。
  • 集成了百度IP定位API,记录用户的登陆地址及IP归属地展示。
  • 用户发布博客附带文件实现了目录文件结构的树形展示。
  • 系统注册新用户实行邮箱绑定制、单个邮箱注册账号不得超过3个。
  • 系统实行积分制,下载资源需要扣除相应积分,同样被下载资源的用户会得到一定积分的奖励。
  • 用户可以通过每日签到获取免费积分,单日签到次数不超过1次。
  • 集成了支付宝支付功能,系统已经实现了支付宝沙箱环境的对接。
  • 系统尽可能实现可配置,前台信息管理端可自定义配置。
  • 系统实现了对博客的点赞、收藏、评论等功能,也可对自己心仪的博主进行打赏。
  • 系统实现了匿名预览功能,匿名账号拥有系统最高查看权限(除DMML操作,该账号止咳查看、无法进行增删改操作、不会对系统造成影响)
  • 前后端通过token进行交互,token30分钟内持续操作无感知续时(只要用户在操作,永不过期)

✨ 运行环境及技术介绍

开发工具:Idea2020.3、WebStorm2020.3

数据库:MySQL5.7、Redis

构建工具:Maven3.6.0

前端运行环境:nodejs14.21.3

  • 服务端采用SpringBoot框架搭建,Mybatis—Plus做为持久层框架,SpringSecurity技术进行认证权限控制
  • 数据库采用MySQL
  • 前端采用了Vue2.x、Element-UI、axios、echarts等技术、管理系统采用vue-element-admin

✨ 成果展示

系统视频演示:点击查看视频演示

系统截图简单放几个,全部放太多了

前台系统

前台首页

image-20240226135518861

登录页

系统可以匿名访问,包括浏览文章、给博主打赏等,匿名状态下进行下载文件、点赞、评论、收藏等操作时,会自动弹出登录页面,如下图

注意:服务端做了环境配置,开发环境验证码不做验证,随便输入即可

image-20240226140404481

文章详情页

用户点击文章列表进入文章详情页,可以进行点赞、收藏、打赏(前提是博主已开通并上传打赏收款二维码)、下载(前提是该文章附带文件资料)

image-20240226140843921

举报文章

用户可对其他用户发布的文章进行举报,为防止恶意举报,单个用户每日上限举报3次

image-20240226143348182

文章发布页

用户登录后可发布文章、如未编写完毕,可暂时保存草稿,下次可直接编辑

发布后由管理员审核并设置资源下载所需积分

注意:发布成功后会有<5分钟的延迟,首页缓存,影响不大,可以通过搜索获取到文章

image-20240226141110887

个人中心->个人资料

用户可在此处查看并修改个人的用户信息

image-20240226141620112

个人中心-个性化设置

用户可在此处进行积分余额是否展示、通知、博文打赏的配置(未配置不可被打赏)

image-20240226141942632

管理员登录页

image-20240226135704099

管理员首页

image-20240226135733020

用户管理

权限:超级管理员可以设置单个用户的权限、包括用户的文件上传权限、发言评论权限、打赏功能权限、文章发布权限、申请友链权限、用户反馈权限、用户举报权限等

授权:超级管理员可对用户进行角色授权

禁用:禁止用户登陆系统

重置:充值用户登录密码

删除:删除用户

image-20240226142146256

image-20240226142446426

定时任务管理

配置项目中用到的一些的定时任务,也可以查看定时任务的执行日志

image-20240226142534977

image-20240226142636360

关于本站

管理员可设置系统的标题、Logo、系统简介等配置项

image-20240226142846975

首页管理

主要配置首页的链接、标签、技术分类、导航链接等配置

image-20240226143006448

博客审核

如果博客带有资料文件,可以设置下载积分,如果没有,则不能设置

image-20240226143206712

举报管理

处理用户的举报,有以下几种惩罚措施

对于博客

1、举报不实、不做处理

2、删除该帖子

3、删除该帖子,禁止该用户发布文章权限

4、禁止用户上传文件权限

禁止权限可设置对应时长,单位分钟,可以设置是否邮件提醒用户

image-20240226143511693

image-20240226143758558

日志管理

查看管理员的操作日志

image-20240226143857937

交易类型管理

配置前台用户通过购买获取积分的配置

image-20240226143938897

其余功能不做演示、可查看演示视频

✨ 待优化项目

此系统还有一些待优化的地方

  • 用户注册时会验证邮箱的正确性,个人中心修改邮箱时也可加入邮箱验证。
  • 用户登录时可加入邮箱登陆的方式。
  • 用户在浏览文章时,可加入博主的个人中心页面展示功能。
  • ......

✨ 部署教程

1、拉取项目

我使用idea拉取的项目,多了.idea目录与*.iml文件

image-20240226153425698

2、进入sys-client目录

image-20240226153537183

分别进入两个目录,打开cmd执行如下命令,等待依赖下载完

npm install

3、连接数据库

依次执行config目录下的两个SQL文件,先执行init.sql,在执行cxs_currency_sys.sql

4、在sys-controller模块下找到application-dev.yml配置文件,修改以下几处地方,自行根据行号修改

1)文件上传位置配置,修改为箭头指向的全路径

image-20240226154045239

2)修改数据库连接信息

image-20240226155316782

3)配置邮件发送

邮箱自行申请配置,小白使用的是163邮箱

image-20240226155737846

4)修改redis连接配置

image-20240226155817814

5)进入百度地图开放平台申请定位AK并配置:百度地图开放平台

image-20240226160228337

6)如需调试付款购买积分,自行配置支付宝沙箱环境,配置app-id、私钥、公钥

无服务器本地可使用内网穿透技术测试

image-20240226160652702

7)在你的hosts文件添加一行配置

127.0.0.1  www.blob.com

5、启动redis服务端

image-20240226161000721

6、启动服务端项目

image-20240226161123855

7、启动前端项目

进入sys-client\cxs-currency-sys-client目录打开cmd,执行如下命令

npm run serve

进入sys-client\cxs-currency-sys-client-admin目录打开cmd,执行如下命令

npm run dev

前台系统访问:http://www.blob.com:3000/index

管理系统访问:http://www.blob.com:9527/

注意要使用域名访问,如使用IP或者localhost会有图片防盗链问题

前台页面

image-20240226161529113

管理系统

image-20240226161549189

大功告成

8、如需部署到服务器、请修改application-prod.yml配置

除7之外,修改一下日志的存储位置,可将级别修改为error

image-20240226162122776

如需部署到服务器,还需要修改服务端项目的域名,申请完域名后,修改如下位置

image-20240226162350310

此处域名有如下作用:

1、图片资源为服务端管理,做防盗链控制,小伙伴们可以自行使用Nginx搭建文件服务器调整

2、获取用户token顺序是先从cookie,再从header获取

✨ 提供账号

超级管理员:admin/123456

用户:user/1234567890!

✨ 交流

微信(备注:加群) 公众号 QQ群
image-20240226163435557 image-20240226163451580 image-20240226163507624

✨ 赞赏

谢谢老板加的鸡腿!

微信 支付宝
image-20240226164203815 image-20240226164217114
Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

简介

基于SpringBoot+Vue技术实现的博客系统,分为服务端、前台、管理员端系统 展开 收起
Apache-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/cxs_git_com/cxs-currency-sys-server-master.git
git@gitee.com:cxs_git_com/cxs-currency-sys-server-master.git
cxs_git_com
cxs-currency-sys-server-master
cxs-currency-sys-server-master
master

搜索帮助