更新感想

2022-12-27

时隔一年多,终于把这个网站重新写了一遍,虽然比起之前的站点缺失了好多我需要的功能(延迟监控,流量监控),以及后台的UI真的很粗糙,但是这次的技术选型非常激进,几乎全都是最新锐的框架,所以我期望这一次重写能够坚持十年,不过往后的功能不需要太着急,后台留出了不错的可扩展性,只不过资源权限这边可能还需要重构实现更细粒度的权限控制,目前简单的RBAC适应不了如此激进的数据库设计(bushi),再加上现在数据库主键还用的自增,所以所以所以说,目前还只能试运行......

不过令人欣慰的一点就是,虽然有bug,但是没有奇奇怪怪的bug,也就是说基本上所有东西都按预期运行,这和严谨的架构设计,编码习惯以及频繁的code review息息相关!

未来的一点计划: 后台权限控制需要更高粒度,需要按资源分配权限,初步设想是每个资源(folder,content,以及未来的file等)拥有一个owner和一个group(其实就是RBAC里的role),以及一个模仿Linux文件系统权限的三位数permission,permission的三位数字分别代表owner,具备相同role的user以及public user的权限,权限用1,2,4分别代表可读,可写,可删除方便位运算授权 目前读取folder是按照parent_id读取其子resource,之后会通过url读取全部资源,并按照folder本身是否可读来返回资源,如folder可读则返回其本身及其名下的resource预览 完成这些之后,最关键的一步就是把content里面的图片视频分开存储,每个图片和视频存储为一个file资源与content关联,这样删除时也可以一并删除,但是如果没有删除文章,而仅仅是从文章内容中删除了图片或视频,这种情况该怎么办?说实话有点麻烦,当初嫌弃markdown改用富文本,现在却发现markdown处理这种情况更方便一点,好不容易搞好的富文本难道又要换回markdown? 后端UI优化 前端的一些本地缓存,目前每次路由跳转都会重新发送请求重新加载,非常麻瓜。另外vuetify,web font loader那些东西也要搞到cdn上去,现在太nm慢了 后端redis(没用过,真的需要吗?其实我都在想要不要直接sqlite算了)

以上这些计划2023年5月执行了,希望人没事


圣诞节更新:tmd,差不多都搞完了,试试图片!

\"fenwicktree.png\"

不得不说,markdown真好用,值得投入的时间

接下来的一点计划:

  1. 两步验证

但是有点问题,就是openapi的文档只支持默认OAuth验证,login接口加2FA的话文档里没法登录,目前想法是1. 登录失败一次之后再强制两步验证;2. 开发环境和线上环境分开,开发环境不强制两步验证,目前偏向于1 2. 获取真实ip

因为nginx里面加了tcp转发所以现在后面的所有应用都获取不到真实ip,需要让代理支持websocket,这样可以去掉这个四层代理 3. 后端渲染

邮件和验证码后台用jinja2渲染一个html出来