└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # 柳叶清单 2 | 3 | ![list](http://upload-images.jianshu.io/upload_images/588640-fa6dc005e8614404.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 4 | 5 | [柳叶清单](http://gudong.name/list)是自己独立开发设计的一个 Web 清单应用,目前网页版已经上线运行,地址如下: 6 | 7 | [http://gudong.name/list](http://gudong.name/list) 8 | 9 | 开发初衷:[柳叶清单:管理日程的网页清单程序](https://gudong.name/2018/06/09/list-evety-day.html) 10 | 11 | 于此同时,为了方便其他开发者使用清单服务,现在开放了部分 API,**以便大家开发自己的 Todo 应用或者 demo 小程序**。 12 | 13 | 如果使用中有任何问题,也可以在 [issue](https://github.com/maoruibin/liuye/issue) 中进行反馈。 14 | 15 | ## 目录 16 | * [API model 关系说明](#api-model-关系说明) 17 | * [用户信息](#用户信息) 18 | * [登录](#登录) 19 | * [注册](#注册) 20 | * [获取用户信息](#获取用户信息) 21 | * [Todo](#todo) 22 | * [创建 todo](#创建-todo) 23 | * [更新 Todo](#更新-todo) 24 | * [删除 Todo](#删除-todo) 25 | * [获取 Todo](#获取-todo) 26 | * [分组 API](#分组-api) 27 | * [创建分组](#创建分组) 28 | * [更新分组](#更新分组) 29 | * [获取项目分组列表](#获取项目分组列表) 30 | * [删除分组](#删除分组) 31 | * [Project 相关 api](#project-相关-api) 32 | * [创建项目](#创建项目) 33 | * [编辑项目](#编辑项目) 34 | * [删除项目](#删除项目) 35 | 36 | * [关于作者](#关于作者) 37 | 38 | >目录生成 by [github-markdown-toc](https://github.com/ekalinin/github-markdown-toc) 39 | 40 | ## API model 关系说明 41 | 42 | 为了对清单 API 有更好的认识,这里先简单说一下具体的数据 model 关系,目前一共有 4 个 model,分别是 User、Project、Group、Todo. 43 | 44 | * User: 用户信息 45 | * Project:清单项目,一个用户(User)可以创建多个清单项目。 46 | * Group:分组,一个清单项目(Project)包含多个清单分组 47 | * Todo:事项,每个分组(Group)下有若干 Todo 组成 48 | 49 | 这个关系用图表示出来如下所示: 50 | 51 | ![](https://ws3.sinaimg.cn/large/006tNbRwly1fv2i1id2gtj316m0heaa9.jpg) 52 | 53 | 上面的示意有点抽象,这里用一个具体的例子进行展示如下: 54 | 55 | ![](https://ws1.sinaimg.cn/large/006tNbRwly1fv2i15reybj31cw0ok3z8.jpg) 56 | 57 | 下面是目前开放出来的所有数据操作相关的 API,包括用户登录、注册,以及事项(Todo)、分组(Group)、项目(Project)数据的操作,如下所示: 58 | 59 | ----- 60 | 61 | ## 用户信息 62 | 63 | ### 登录 64 | ``` 65 | https://waishuo.leanapp.cn/api/v1.0/users/login 66 | ``` 67 | 68 | > 目前仅支持邮箱登录,暂不支持用户名登录 69 | 70 | 请求方式:POST 71 | 72 | 请求参数: 73 | 74 | ![](https://ws3.sinaimg.cn/large/0069RVTdly1fv122pzfs4j30np02na9x.jpg) 75 | 76 | 响应结果: 77 | ![](https://ws1.sinaimg.cn/large/006tNbRwly1fv249o3de2j31dw0pu0uv.jpg) 78 | 79 | ### 注册 80 | ``` 81 | https://waishuo.leanapp.cn/api/v1.0/users/register 82 | ``` 83 | 84 | 请求方式:POST 85 | 86 | 请求参数: 87 | ![](https://ws1.sinaimg.cn/large/0069RVTdly1fv125ajg0ij30nu03ia9z.jpg) 88 | 89 | 响应结果: 90 | ![](https://ws1.sinaimg.cn/large/006tNbRwly1fv24kj4l6nj31do0ouwgj.jpg) 91 | 92 | ### 获取用户信息 93 | ``` 94 | https://waishuo.leanapp.cn/api/v1.0/users/ 95 | ``` 96 | 97 | 请求方式:GET 98 | 99 | > 说明:url 请求参数中最后需要指定 user id 100 | 101 | 请求参数: 102 | 103 | 无 104 | 105 | 106 | 响应结果: 107 | ![](https://ws4.sinaimg.cn/large/006tNbRwly1fv24s4zezxj31di0fgjsg.jpg) 108 | 109 | ----- 110 | ## Todo 111 | 112 | ### 创建 todo 113 | ``` 114 | https://waishuo.leanapp.cn/api/v1.0/todos 115 | ``` 116 | 117 | 请求方式:POST 118 | 119 | 请求参数: 120 | 121 | ![](https://ws4.sinaimg.cn/large/006tNbRwly1fv2gqi0bulj31bc0damxw.jpg) 122 | 123 | 响应结果: 124 | 125 | ![](https://ws2.sinaimg.cn/large/006tNbRwly1fv2abvicb4j31e00icjsm.jpg) 126 | 127 | 128 | ### 更新 Todo 129 | ``` 130 | https://waishuo.leanapp.cn/api/v1.0/todos/ 131 | ``` 132 | 133 | 请求方式:PUT 134 | 135 | > 说明:url 请求参数中最后需要指定 todo id 136 | 137 | 请求参数: 138 | 139 | ![](https://ws1.sinaimg.cn/large/006tNbRwly1fv2gw0uml2j31bi0eymy1.jpg) 140 | 141 | 响应结果: 142 | 143 | ![](https://ws3.sinaimg.cn/large/006tNbRwly1fv2acucb8xj31e00f2gma.jpg) 144 | 145 | 146 | ### 删除 Todo 147 | ``` 148 | https://waishuo.leanapp.cn/api/v1.0/todos/ 149 | ``` 150 | 151 | 请求方式:DEL 152 | 153 | 请求参数: 154 | 155 | > 说明:url 请求参数中最后需要指定 todo id 156 | 157 | 响应结果: 158 | 159 | ![](https://ws2.sinaimg.cn/large/006tNbRwly1fv2adkk67pj31ec05sweh.jpg) 160 | 161 | ### 获取 Todo 162 | ``` 163 | https://waishuo.leanapp.cn/api/v1.0/todos/ 164 | ``` 165 | 166 | 请求方式:GET 167 | 168 | 请求参数: 169 | 170 | > 说明:url 请求参数中最后需要指定 todo id 171 | 172 | 响应结果: 173 | 174 | ![](https://ws2.sinaimg.cn/large/006tNbRwly1fv2aemqnszj31ea0hqwfp.jpg) 175 | 176 | 177 | ----- 178 | 179 | ## 分组 API 180 | 181 | ### 创建分组 182 | ``` 183 | https://waishuo.leanapp.cn/api/v1.0/groups 184 | ``` 185 | 186 | 请求方式:POST 187 | 188 | 请求参数: 189 | 190 | ![](https://ws4.sinaimg.cn/large/006tNbRwly1fv2atskz8rj31bc0aiwev.jpg) 191 | 192 | 响应结果: 193 | 194 | ![](https://ws2.sinaimg.cn/large/006tNbRwly1fv2au53o3dj31e00d6js3.jpg) 195 | 196 | 197 | ### 更新分组 198 | ``` 199 | https://waishuo.leanapp.cn/api/v1.0/groups/ 200 | ``` 201 | 202 | 请求方式:PUT 203 | 204 | > 说明:url 请求参数中最后需要指定 groupId 205 | 206 | 请求参数: 207 | 208 | ![](https://ws1.sinaimg.cn/large/006tNbRwly1fv2awsuikvj31ba0akaaf.jpg) 209 | 210 | 响应结果: 211 | 212 | ![](https://ws3.sinaimg.cn/large/006tNbRwly1fv2ax5naqij31e80eeaax.jpg) 213 | 214 | ### 获取项目分组列表 215 | ``` 216 | https://waishuo.leanapp.cn/api/v1.0/groups/projects/ 217 | ``` 218 | 219 | 请求方式:GET 220 | 221 | 请求参数: 222 | 223 | > 说明:url 请求参数中最后需要指定 projectId 224 | 225 | 响应结果: 226 | 227 | ![](https://ws3.sinaimg.cn/large/006tNbRwly1fv2b730zvqj31dm0g8t9n.jpg) 228 | 229 | 230 | ### 删除分组 231 | ``` 232 | https://waishuo.leanapp.cn/api/v1.0/groups/ 233 | ``` 234 | 235 | 请求方式:DEL 236 | 237 | 请求参数: 238 | 239 | > 说明:url 请求参数中最后需要指定 groupId 240 | 241 | 响应结果: 242 | 243 | ![](https://ws1.sinaimg.cn/large/006tNbRwly1fv2axmd09bj31e005m3yi.jpg) 244 | 245 | ----- 246 | 247 | ## Project 相关 api 248 | 249 | ### 创建项目 250 | ``` 251 | https://waishuo.leanapp.cn/api/v1.0/project 252 | ``` 253 | 254 | 请求方式:POST 255 | 256 | 请求参数: 257 | 258 | ![](https://ws2.sinaimg.cn/large/006tNbRwly1fv23m9qfscj31bm06s0sx.jpg) 259 | 260 | 响应结果: 261 | 262 | ![](https://ws1.sinaimg.cn/large/006tNbRwly1fv23lkafkcj31dk0c60te.jpg) 263 | 264 | ### 编辑项目 265 | ``` 266 | https://waishuo.leanapp.cn/api/v1.0/project 267 | ``` 268 | 269 | 请求方式:PUT 270 | 271 | 请求参数: 272 | 273 | ![](https://ws3.sinaimg.cn/large/006tNbRwly1fv2bfvigu6j31bk07y3yp.jpg) 274 | 275 | 响应结果: 276 | 277 | ![](https://ws1.sinaimg.cn/large/006tNbRwly1fv2bgplan5j31e20eawfd.jpg) 278 | 279 | ### 删除项目 280 | ``` 281 | https://waishuo.leanapp.cn/api/v1.0/projects/ 282 | ``` 283 | 284 | > 注意:删除时,会把项目下的分组以及 todo 全部删除 285 | 286 | 请求方式:DEL 287 | 288 | > 说明:url 请求参数中最后需要指定 projectId 289 | 290 | ## 关于作者 291 | * Android 工程师,[咕咚翻译](https://sspai.com/post/33226)等多款 APP 应用作者。 292 | * 微博:[大侠咕咚](http://weibo.com/maoruibin) 293 | * 个人主页:[咕咚](https://gudong.name/) 294 | 295 | 296 | --------------------------------------------------------------------------------