�根据要求实现一个简单的系统, 要求:
- 使用最新版本的Vue.js;
- 可以使用任何库;
- 尽可能规范。
- 项目完成后源码上传至Github并将页面部署在公网上(Pages或自行部署)
总的来说是一个备忘录管理系统,逻辑非常简单。
注册页面
- 主体为一个表单,表单项为:用户名,密码,确认密码;
- 需要做表单验证,验证规则在下面给出;
- 注册成功后跳转至登录页面。
登录页面
- 主体为一个表单,表单项为:用户名,密码;
- 需要表单验证;
- 登录成功后跳转至主页。
主页
- 显示用户的所有备忘录;
- 可新增,删除,修改某条记录。
已开启CORS;
标准Restful接口;
接口地址: https://todo.lanternfish.ai
测试:https://todo.lanternfish.ai/todo
使用JWT, 调用登录接口获得token。
curl -H "Authorization: JWT <TOKEN>" https://todo.lanternfish.ai
Hello world
下面带「*」的接口需携带有效token,否则将出现下面的错误。
{
"statusCode": 403,
"error": "Forbidden",
"message": "Forbidden resource"
}
POST
Body
{
"username":"lanternfish",
"password":"lanternfish"
}
Response
{
"token":"eyJhbGciOiJIUzI1NiIsInR5cCI"
}
验证规则:
- username 非空;
- password 非空。
GET
Response
{
"username": "lanternfish",
"id": "f9f5c710-403f-4e8d-9099-e85f63a22e03",
"name": ""
}
POST
Body
{
"username":"lanternfish",
"password":"lanternfish",
"name":"lantern"
}
Response
{
"username": "lanternfish",
"id": "f9f5c710-403f-4e8d-9099-e85f63a22e03",
"name": "lantern"
}
验证规则:
- username 非空 5-12位;
- password 非空 8-20位;
- name 可选 1-12位;
GET
Response
[
{
"id": "dccc78ec-1e36-4dbd-b4d3-89840b49adf5",
"title": "todo1"
},
{
"id": "dccc78ec-1e36-4dbd-b4d3-89840b49adf6",
"title": "todo2"
}
]
POST
Body
{
"title":"todo"
}
Response
{
"id": "dccc78ec-1e36-4dbd-b4d3-89840b49adf6",
"title": "todo2"
}
验证规则:
title 非空 1-20位。
DELETE
Response
{
"title":"todo2"
}
PUT
Body
{
"title":"todo3"
}
Response
{
"id": "dccc78ec-1e36-4dbd-b4d3-89840b49adf6",
"title": "todo3"
}
验证规则同新增备忘录。