Giter VIP home page Giter VIP logo

myblog's Introduction

修复

  • 修复前台显示草稿内容的bug
  • 修复博客详情页面,手机扫码阅读博客功能不能跳到指定博客的bug
  • 修复archives归档页面,博客超出一定数量(大于15)时,页面显示错乱,只显示15篇博客,后面的博客显示不全的bug
  • 修复archives归档页面,根据年份归档,当存在三个年份归档,如分别存在2018年 2019年 2020年份的博客,实际排序为2019 2018 2020,顺序排序错误的bug
  • 修复index页面,最新动态未按发布博客时间最近排序的bug
  • 修复博客评论区,子评论在第三层时,此时回复会追加第二层的回复的bug

新增

  • 基于redis实现接口防刷校验,自定义注解@CheckRepeatRequest,在对应的接口上加上此注解即可防止频繁访问接口,可防止httpclient频繁请求刷留言板;RequestCache为本地缓存配置,默认缓存60秒;

    • 配置文件application.yml内参数repeatRequestParam为重复请求配置参数
    • cacheExpireTime: 60 #本地缓存有效期 单位秒
    • requestNum: 10 #设置访问多少次为频繁请求
    • 即60秒内重复访问一个接口地址超过10次,就将ip加入黑名单
    • 测试频繁请求路径: /testRepeatRequest
  • 前端博客美化效果:雪花效果,动态背景线条效果,点击显示文字效果

    • 雪花效果相关配置:

      • resources/static/js/snow.js文件内,有详细注释说明
      • 可配置雪花颜色,大小,密集程度
    • 动态背景线条相关配置:

      • _fragments.html第232行
      • 可配置颜色,透明度
    • 点击显示文字效果相关配置:

      • resources/static/js/click_show_text.js文件内,可自定义随机显示的文字
  • 引入天气插件,固定在页面左上角。

  • 引入网易云音乐插件,固定在右下角。在_fragments.html文件的id="netEasy-music"元素内可自行替换歌单

  • 适配移动端,以上博客美化样式,天气插件与网易云音乐插件在手机端不显示

  • 底部footer网站运行计时,在_fragments.html文件createtime( ) JS方法内自行替换建站时间

  • 博客分享功能,支持携带首图,博客标题分享,并自定义分享描述

    • 支持微信,微博,QQ好友,QQ空间分享。
    • 相关配置在blog.html内的shareQQ(),shareQQZone(),shareWeiXin(),sinaWeiBo()方法内。
  • 博客评论新加表情支持,后续会加入b站相关表情

  • 新增博客留言页面

  • 留言页面支持邮件回复通知,开启后评论,当评论被回复后会收到一封邮件,邮件支持表情显示

    1585082833194

    1585083340531

注:邮件回复功能需先开启邮箱POP3/SMTP服务

支持163邮箱和QQ邮箱,application.yml文件内有详细注释自行替换

test包下有相关邮件的测试类,自行调试;测完记得注释上,否则打包时可能会报错

  • 留言页面有发送手机验证码的demo,此功能可以了解一下;因为觉得博客登录验证手机号有点多此一举,就没有做手机号的相关流程

    注:如需使用发送验证码功能,需先进入阿里云,开通短信平台服务,申请短信模板与签名,开通成功后会获得四个参数:Id,Secret,签名名称,模板名称,填入application.yml配置文件sms内就可以使用验证码了

目前写死了短信发送验证码为2333333,如需修改可进入java/customer/SmsCustomer文件内第44行修改;如需随机6位验证码,则将43行取消注释,将44行注释上。

img

  • 新增第三方登录——QQ登录方式

    如需此功能,需先申请QQ互联开发者,申请通过后会得到三个参数:appid,appkey,回调地址。

    自行替换application.yml配置文件内的QQ登录相关参数,更多详细步骤请点击此处

    登录后预览:

    1585084340317

  • 新增第三方登录——Github登录方式

    如需此功能,需先进入github账号,点击右上角头像选择setting,进入后选择底部Developer settings再点击New GitHub App,填写相关资料后无需审核就能直接使用;如果不知道怎么填可以留言或者百度。

    登录后预览:

    1585084719802

说明:因为github是外网,登录时,可能会请求登录连接超时,此为正常情况;

登录后大概率会加载不出github用户原有头像(同样因为外网,网速慢的原因);所以我保存了20张github头像,通过github方式登录后会随机从20张图片内选一张作为头像。

  • 新增QQ与github账号头像替换功能

    因为图片存储使用的是七牛云第三方云存储图片,所以使用此功能需要到七牛云官网注册好账号并建好图片存储仓库,免费10个G,申请好之后同样会获得四个参数:accessKey,secretKey,bucket,path

    自行替换到application.yml文件内

    选择上传图片界面:

    1585085577871

    修改头像成功后:

    1585085632274

点击确定既刷新头像,此时显示的为新换头像

  • 新增评论称号

    在原版的是否为管理员评论基础上,修改并增加了游客,访客,博主,gayhub四个称号;

    • 游客:无登录状态的评论,头像为默认头像
    • 访客:使用QQ账号登录并评论,头像为QQ头像,名字为QQ昵称
    • gayhub:使用github账号登录并评论,头像为github账号,名字为github昵称
    • 博主:根据application.yml配置文件内admin.openid识别博主是谁,参数为QQ登录后的openid

    可以用类似博主称号的方法,为指定人赋予指定评论称号

  • 记录QQ与Github账号登录状态,既登录后关闭浏览器再打开时还是登录状态;此处设置了cookie过期时间为10天(10天不操作自动退出登录),如需修改时长,则修改application.yml配置文件内cookie.time参数

  • rabbitmq监听验证码发送情况,并使用redis保存验证码与发送手机号,五分钟内过期;虽然手机验证码功能目前没有具体使用,但也可以了解一下。

  • 限制手机验证码发送情况:当前限制为同一个手机号一小时内只能发一条短信,如需解除限制,则将message_board.html文件的$('#btn_ok3').click(function()里面的第一个if判断语句注释上

部署

  • 修改jdbc连接参数
  • 修改application.yml内的baseUploadUrl参数,详情见yml文件注释
  • 数据库,为防止字段与原项目冲突,最好新建一个空数据库,再运行此项目会自动建表和字段
  • 使用qq登录,github登录,图片上传,验证码发送功能,需申请对应账号并填入yml配置文件
  • 博客后台编辑器内图片上传功能需要申请好七牛云账号,或自己重写上传文件方法,直接上传到项目static路径内
  • 配置application.yml内redis连接参数
  • 后台管理账号需手动去t_user表内条件一条数据,密码需使用md5格式加密后的,util.MD5Utils类下有转换的方法

如出现任何问题,欢迎点击此处留言

--------------------------------------------------------------最后...如果你觉得对你有帮助,求star

myblog's People

Contributors

xiongsihao avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.