myblog_阶段目标

我的博客项目

  • 实现一个和微信公众号联动的博客项目
晚上不能写代码, 一写就睡不着,
啊啊啊啊

一阶段

  • 快速实现一个内容丰富的博客项目

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


## 权限
## 评论
## 机器人在线聊天室
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,145评论 1 32
  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 5,671评论 0 4
  • 下面就请大家欣赏, 年度大戏《我与渣男不得不说的故事》 大家好,给大家介绍一下, 这是我的亲密爱人@胆囊君。、 他...
    重庆北大阳光阅读 8,039评论 0 0
  • 每日一图·未见雨 作者:经济很忙 上班这点事儿·自由职业者真的自由吗? 作者:彭小六 我们追求远方,也要追求当下,...
    简黛玉阅读 6,386评论 7 108
  • 电子设计流程: 需求。可以是客户提,也可以是自身发起,需求需要明确,但是一开始也不一定知道想要什么,或者说一些细节...
    StarsOcean阅读 901评论 0 2