我的博客项目
- 实现一个和微信公众号联动的博客项目
晚上不能写代码, 一写就睡不着,
啊啊啊啊
一阶段
- 快速实现一个内容丰富的博客项目
1. 前端功能
- 主页展示优质文章
- 主页树型分类
- 文章详情显示
2. 后端接口
- 获取分类
- 获取文章
- 获取优质推荐文章
3.备注
a. 内容获取
- 通过简书的打包下载功能下载自己的简书内容
b. 数据持久化
- 使用文件持久化
原计划使用sql的, 但考虑到前期内容添加不变, 不利于快速整合简书资源 决定使用文件形式做数据持久化
优点: 前期管理方便直接修改文件即可
缺点: 文件读取的io操作将会严重影响程序的执行效率
解决办法: 使用接口缓存, 原计划使用redis做接口缓存,但考虑到这是一个个人博客项目,内容相对较少, 所有md 文档加起来不到目前还不到10M, 决定后期自定义一个 内存缓存中间件(这样比redis效率更高,因为它将不会涉及网络和分布式)
二阶段
1 使用tornado重构一阶段项目
2. 实现内存缓存中间件
- 注意: 更新文章后刷新缓存的接口
前期实现:项目启动和文章更新 刷新缓存
后期: 单条数据超时和默认超时时间设置
3. 处理图片的显示
注意: 图片太大 不能走缓存 只能使用静态资源
难点: 实现文章目录下的images 和静态资源路径对接
三阶段
美化前端页面为主
下面内容后期慢慢添加
## 1. index
### a. 结构
结构
头部 12
左侧 右侧 3:9
尾部 12
头部
主页 搜索 订阅 微信公众号关注
左侧导航
个人简介
分类带2级分类
右侧内容
置顶文章
时间倒序文章
尾部
友情链接 备案信息 微信公众号订阅 关于
### b. 功能
分类点击
右侧内容:刷新为当前分类内容
右侧增加显示:分类文章目录 布局363
## 后端
1 实现批量数据添加
markdown 文本显示
markdown图片显示
置顶接口
实现后端管理
分类管理: 增删改加排序(增加显示顺序)
微信公众号订阅推送
## 模型
分类
id
parentid (父级id)
name
sortnum (显示序号)
文章数目
标签
id
name
热度 (一次点击或浏览相关文章+1)
文章数目
文章
id
分类
tags
title (标题)
content (内容)
createtime (创建时间)
updatetime (最后跟新时间)
文章动态
绑定发布和跟新
异步公众号推送
# 视图
分类 全套
tags 全套
文章 全套
# 后期
## 留言板
标题:
分类:
username:默认游客
headpic: (头像)
content: 内容
## 隐形
时间
ip
## 权限
## 评论
## 机器人在线聊天室