2019-02-16
年前的时候我会将每周收藏的资源梳理成一篇博客。但是当进行了四周之后,我觉得这种形式既繁琐又低效,有很大的改进空间。
过年到现在我都在重构 maxiee.github.io,用 react-static 替换了自己编写的框架,添加了“画作”板块。下一步我打算再做一个资源导航板块,来解决这个问题。
本文是我对这一功能的需求文档,文档中只包含需求描述,不包含代码实现。
我都有哪些需求呢?
只有一个 Model,就是资源元素(WebItem):
name | type | comment |
---|---|---|
id | string | uuid |
title | string | 资源的标题 |
desc | string | 资源描述、点评 |
img | string | 图片 |
tags | string[] | 标签列表 |
url | string | 资源 URL |
使用 JSON 数组方式进行存储。
当看到好的资源的时候,手工编辑 JSON 文件添加进去。
回头可以写 cli、gui 脚本进行添加。
maxiee.github.io 是一个静态站点,与一般的基于数据库的站点不同。
基于数据库的站点,一般是动态请求数据,向后端发起请求,后端查询数据库,并将数据返回。
而对于静态站点来说,它是不发起数据请求的。而是在网页生成的时候,就考虑所有的请求可能性,将每种可能性所对应的页面都生成出来。(对于 react-static 其实生成的是数据 json 文件)
在我们的资源收集功能中,需要生成的数据有:
至此就完成了资源收集功能的设计,从中可以看出数据结构很简单,页面展示也很直观。
不过这些都是最基本功能,在它们之上还有更高级的功能需要开发: