在客户端实现了状态管理之后,需要设计一下服务器端了。
之前所有的存储都是使用的本地浏览器缓存,这样一不小心清理缓存之后就没了。还是放在服务器上比较合适。
这就需要处理用户注册、登录、session 的问题。不过在现阶段还不是核心的功能,在开发阶段可以只设置单个用户。
本节主要记录一下主要功能的 API 设计。要点就是要以一个统一的结构来规划 API,为之后实际编码提高效率。
参考了之前抱同学大腿做的项目,设计了几个主要 API 的请求 url、数据格式以及返回值。
举几个例子:
Task
Create a task
POST /task
Parameters
{
"name": "Fruit",
"desc": "Eat fruit every day",
"type": "task",
"isOneTime": false,
"score": 2,
"maxTimes": 3
}
When isOneTime
is true
, maxTimes
will be set to 1.
Response
Status: 201 Created
{
"taskId": 1
}
Delete a task
DELETE /projects/:projectId
Response
Status: 200 OK
{}
Log
Create a log
POST /projects/:projectId/logs
Parameters
{
"userId": 1,
"taskId": 1
}
Response
Status: 201 Created
{
"projectId": 1
}
有了一个详细的文档,就能够在之后的开发阶段快速按计划实现。
在接下来的文章中,将会记录数据库设计、服务端结构以及 API 开发测试。
系列文章:
React + MobX + Electron + Node.js + MongoDB 全栈项目开发实践(零)前言
React + MobX + Electron + Node.js + MongoDB 全栈项目开发实践(一)
React + MobX + Electron + Node.js + MongoDB 全栈项目开发实践(二)允许 decorator
React + MobX + Electron + Node.js + MongoDB 全栈项目开发实践(三)使用 MobX 实现流畅数据流