力扣加加 官网后端。
使用 koa2 结合 Github Actions 开发。目前采用静态 JSON 存放题解,讲义,用户信息等数据,后期使用数据库承载内容。
- 在 91 网站直接提交代码到力扣中,获取执行结果并在 91 中展示
- 当天的题目提交代码通过视为打卡。(不管是否打卡,只要提交都有一条记录)
- 可以直接在 91 网站写题解,只有提交通过才能写题解。 并且提交自动带入模板(见刷题插件中的题解模板)
- 管理员可以精选题解, 精选的题解靠前显示,并增加精选标识。(题解表增加是否精选字段,是否官方字段)
- 增加页面。 题解区,这里可以看到所有的题解(考虑放到打卡标签)
- 我的页面增加补签卡数量显示,增加是否全勤显示
- 可以补卡, 当用户补卡后,也算打卡(打卡表插入一条记录)
- 网站增加数据库支持,使用 mongodb 替换原来的 static 文件夹下的 JSON,因此需要接入 mongodb
- 对接微信登录,微信支付
- 打卡时间
- 打卡的题目 id(或者打的是第几天的卡)
- 代码(或者 submitid ,可以直接跳到力扣中查看)
- id
- day
- title
- tags
- content
- selected
- official
- id
- title
- desc
- type: basic, topic, advance
- cover
- name
- login
- 数据库表字段都需要有以下四个字段
creator,createtime,updator, updatetime
当你需要修改讲义或者题解的时候,需要修改本仓库的关联仓库的 91algo-4(在本项目根目录的 91algo-4 文件夹下)。修改完成后,需要分别 推送到 91algo-4 和 leetcode-pp-node(本仓库)。
之所以需要推送本仓库,是因为当你修改了 91algo-4 内容,本项目是感知不到的。本项目实际上存储了一个快照的 commit id。因为当你 91algo 有新提交的时候,需要将最新的 commit id 同步到本仓库。
同步的方法有两种:
- cd 到 91algo-4 执行 git pull
- 直接在本项目根目录修改,修改后 git submodule 会自动更新, 你需要推送即可(就是上面提到的方法)。
- 需要包含: 题目地址,题目详情,思路,代码,前置知识,推荐理由,标签,难度。
- 建议包含:扩展,多种方法,代码高亮等
代码高亮语法:
高亮1到3行
```py {1-3}
```
高亮第4行
```py {4}
```