基于vue全家桶和express后台的完整博客系统
基于vue全家桶和express后台的完整博客系统
JavaScript Vue.js相关
访问GitHub主页
共3Star
详细介绍
7月24日更新
- 移动端响应改得差不多了
7月21日更新
- 文章列表和评论列表的日期显示为几分钟前、几小时前,1分钟内显示“刚刚”
- 开始做手机端的响应,还有很多问题没有解决
7月18日更新
- 开始没动脑子出了个bug:这是多人系统,别人也在发帖和评论,因此评论以后应该重新从服务器获取一下正文页面的数据。
- 日期方面借助了moment.js,原生的转格式太麻烦。
- 正文可以显示作者头像和签名了,注册时签名限制在30字以内。
- myArticles和user这两个路由合并了。
- 现在不能发布空评论了。
- 新的待解决问题:“我的”这个按钮由于改成a标签所以不能有router-link-active样式了,但是即使写成router-link,在其他地方通过点击用户名进入自己主页时,也应该让这个按钮亮起来。
7月16日更新
- 样式重做为Blizzard风格,仍然是原生CSS,flex布局真好用
- 可以查看某个用户的个人主页(头像签名文章),所有能看见人名的地方,点进去都是他的主页,然后发现myArticles和user这两个路由可以合并的,明天再做吧。
7月10日更新:
- 处理了日期排序问题,主要是注意date类型和字符串类型的转换,利用Date.parse()和new Date(xxx)
1. 简介
- 具备基本功能的论坛/博客系统。用的是vue全家桶,nodejs的express框架做后台,JSON文件保存数据,暂未使用数据库
- 主要技术:vue.js | vue-cli(webpack) | vuex | vue-router | axios | node.js | express
- 样式使用原生CSS编写,用到了flex。
- 后面有时间会把开发过程和一些思考写下来。
2. 详细功能
2.1 注册登录部分
- 文本框失去焦点时校验:非空、格式、查重
- 头像上传 FileReader API (Opera mini不支持)
- 头像和自我介绍可以为空,将采用默认头像
- cookie保存用户登录状态
2.2 主页部分
- 分为“论坛” “用户主页” “发帖” “正文” 四个部分。
2.2.1 文章列表
- 文章列表和评论列表按最后修改时间倒序排列。
- 文章列表为空时显示“没有文章”
2.2.2 正文页
- 三个功能:评论,修改,删除。
- 评论列表为空时显示“暂无评论”
- 只有自己的文章才能修改删除
2.2.3 新建和修改文章
- 如果未发布直接离开,弹出模态框,有返回、保存、放弃三个选项
- 试图发布空内容将被阻止,并在placeholder进行提示
- 如果标题或内容全都为空,直接离开不弹出模态框,视为放弃修改
3. 进一步优化方向
3.1 整体性:
- 移动端响应
- 目前文章编辑是用textarea,将来可以加入编辑器API
- 目前用json来保存所有信息,后面学一下MongoDB数据库
3.2 功能性:
- 分页
- 切换路由后,滚动条滚动到合适的位置
- 管理员账号可以删除所有人的文章和评论,并可置顶文章
- 可以删除自己的评论
- 别人评论你,收到通知
- 如果进入注册页面时直接点注册按钮,不能触发blur,目前是在注册按钮时再验证一下非空,最好的解决方法应该是自动获取焦点。
- 目前在任何路由页面刷新都会回到首页
- 上传头像大小限制或压缩,修改头像签名
3.3代码规范:
- 错误处理不够完善
- var改成let或const
- CSS样式的管理,目前是写到对应的组件下,方便检查
- 各个组件有没有需要提出来的公共方法
- 没有使用vuex的map映射
- JSON数据的组织形式
推荐源码
暂无源码 更多源码...