我用 Yii2 + vue 写了一个博客网站 [ 2.0 版本 ]
先附上博客网站域名 https://www.laoziaite.top
git源码 https://github.com/AIjugg/changye_blog
现在只做好了最基本的功能,还有挺多地方需要完善的,希望大家能提出建议,我迫切地想要成长
登录
目前支持注册方式账号密码、手机、邮箱,但登录只能账号密码(我的免费手机短信只有两百条,能省就省,哈哈)。之后想加入github登录,微信登录貌似并不行,qq登录还没有了解。
权限管理
由于我这里的权限实在是简单,只有游客、普通用户、管理员,我一开始自己改造了一下ACF就开始用了。
后来琢磨着为了以后扩展,还是用rbac-0吧,但我实在是偷懒,不想为了角色-权限分配再写页面,最后就做成了rbac-0 加 ACF的权限管理。rbac-0中的用户、角色、用户-角色表都不变,但权限、权限-角色表被我省去了,角色和权限的关系写死在了ACF里。
这么偷懒的代价是,之后每次加功能,都得在behaviors中加一个rules
限流
在yii2官方文档里,看到了限流(Rate Limiting),看了下源码,由于我这前后端分离了,源码用不了了,那好吧,自己改造一下。
yii源码中的限流方法其实是计数器限流,而我更倾向于令牌桶算法,于是我用redis实现了令牌桶算法。具体是在beforeAction中根据ip限流,限制每分钟的总流量和每个用户流量。
由于我的服务器性能太差,我限制了每个用户每分钟请求20次。
对了,限流还可以用在验证上,我在手机注册验证里,限制了每个ip发短信的频率……
数据统计
类似站长统计这样的功能,我之前做了一个简单的浏览网页计数,现在弃用了,想改进一下,之后应该会做成图表类,曲线图这样直观的形式。
浏览统计的方法,是先在redis中计数,用ubuntu的crontab每隔五分钟执行yii2 console中指令,将数据记录到mysql中。
博客
编辑器用的vue-quill-editor,不是特别好用,有bug并且网上资料不多。
编辑博客为了防止自己忘记保存,做了个自动保存草稿的功能(目前只有管理员可以编辑博客)
登录的用户可以点赞和评论博客,游客则不可以。
消息通知
暂时还没做,功能是将与用户相关的评论、点赞以通知消息的形式反馈给用户。
用redis消息队列,保存点赞、评论的相关信息,用console指令读取消息,更新点赞、评论数,同时将消息插入到数据库。
先写到这里把
晚睡拖延症
最后登录:2020-11-23
在线时长:2小时49分
- 粉丝2
- 金钱100
- 威望10
- 积分220
热门源码
- 基于 Yii 2 + Bootstrap 3 搭建一套后台管理系统 CMF
- 整合完 yii2-rbac+yii2-admin+adminlte 等库的基础开发后台源码
- 适合初学者学习的一款通用的管理后台
- yii-goaop - 将 goaop 集成到 Yii,在 Yii 中优雅的面向切面编程
- yii-log-target - 监控系统异常且多渠道发送异常信息通知
- 店滴云1.3.0
- 面向对象的一小步:添加 ActiveRecord 的 Scope 功能
- Yii2 开源商城 FecShop
- 基于 Yii2 开发的多店铺商城系统,免费开源 + 适合二开
- leadshop - 基于 Yii2 开发的一款免费开源且支持商业使用的商城管理系统
共 8 条评论
数据库文件没上传吧?
OK,已传
能把那个 global.js也上传一下嘛,学习学习
嗯嗯,已经上传了
大兄弟,你博客背景动态猫咪怎么弄的。太可爱了
dalao看不到源码呀
代码没了?
yii + vue 开源电商系统https://www.shopwind.net 二次开发标准母板
仓库没了??
大佬求源码,求分享