@cfygaoyang
2020-03-27T02:53:36.000000Z
字数 39038
阅读 1828
| 错误码 | 信息 | 描述 |
|---|---|---|
| 10000 | 通用错误码 | |
| 10001 | invalid account format | 账号格式错误 |
| 10002 | invalid account | 账号错误 |
| 10003 | invalid password | 密码错误 |
| 10004 | invalid token | token错误 |
| 10005 | invalid code | 验证码错误 |
| 10006 | sms server error | 短信服务错误 |
| 10007 | email server error | 邮件服务错误 |
| 10008 | invalid refresh token | 刷新token失败 |
| 10009 | code expired | 验证码过期 |
POST /admin/auth/access_token
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| account | 字符串 | 是 | 手机或邮箱 |
| password | 字符串 | 是 | 密码 |
{"code": 0,"message": "success","data": {"access_token": "4kbv6KFHyIJ4JECtFuRLZreHRwDz3Yo6f19fgpu5VYgnSIegN1","refresh_token": "pdgSDcfbZsEijvB1yH6RVGXutQWM4fF5qcCxz033AhaokshiwU","expires_at": "2018-08-23 10:47:16","expires_in": 68400}}
POST /admin/auth/refresh_token
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| refresh_token | 字符串 | 是 | 刷新token |
{"code": 0,"message": "success","data": {"access_token": "4kbv6KFHyIJ4JECtFuRLZreHRwDz3Yo6f19fgpu5VYgnSIegN1","refresh_token": "pdgSDcfbZsEijvB1yH6RVGXutQWM4fF5qcCxz033AhaokshiwU","expires_at": "2018-08-23 10:47:16","expires_in": 68400}}
POST /admin/auth/destroy_token
{"Authorization": "Token 1234567890"}
{"code": 0,"message": "success","data": {}}
POST /admin/auth/reset_password
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| password | 字符串 | 是 | 密码 |
{"code": 0,"message": "success","data": {}}
POST /admin/auth/reset_password_by_old_password
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| old_password | 字符串 | 是 | 旧密码 |
| password | 字符串 | 是 | 新密码 |
{"code": 0,"message": "success","data": {}}
GET /admin/personal/info
{"Authorization": "Token 1234567890"}
{"code": 0,"message": "success","data": {"id": 2,"username": "admin","phone": "18656660930","email": "","register_time": "2018-12-20 17:00:52","age": 0,"job": "","name": "","city": "","company": "","avatar": "","birthday": "","address": "","nick_name": "","sex": 2,"login_time": "2019-01-04 11:49:31","login_ip": "202.96.204.195","login_count": 21}}
PUT /admin/personal/info
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| avatar | 字符串 | 可选 | 头像 |
| birthday | 字符串 | 可选 | 生日 |
| sex | 整型 | 可选 | 性别:0女1男2保密 |
| city | 字符串 | 可选 | 城市 |
| address | 字符串 | 可选 | 地址 |
| company | 字符串 | 可选 | 公司 |
| job | 字符串 | 可选 | 职称 |
| name | 字符串 | 可选 | 姓名 |
| age | 字符串 | 可选 | 年龄 |
{"code": 0,"message": "success","data": {"id": 2,"username": "admin","phone": "18656660930","email": "","register_time": "2018-12-20 17:00:52","age": 0,"job": "","name": "","city": "","company": "","avatar": "","birthday": "","address": "","nick_name": "","sex": 2,"login_time": "2019-01-04 11:49:31","login_ip": "202.96.204.195","login_count": 21}}
GET /admin/document
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| page | 整型 | 可选 | 分页页数 |
| size | 整型 | 可选 | 一页数据数量 |
{"code": 0,"message": "success","data": {"total": 1,"pages": 1,"current_page": 1,"page_size": 20,"data": [{"id": 1,"app_id": "","created_at": "2018-12-24 10:58:11","updated_at": "2018-12-24 10:58:11","name": "名称","content": "内容","path_name": "1","url": "http://115.28.161.90:8003/document/1"}]}}
POST /admin/document
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| name | 字符串 | 是 | 文档名称 |
| content | 字符串 | 是 | 文档内容 |
| path_name | 字符串 | 可选 | url 后缀名称 |
* 请求回调
{"code": 0,"message": "success","data": {"id": 1,"app_id": "","created_at": "2018-12-24 10:58:11","updated_at": "2018-12-24 10:58:11","name": "名称","content": "内容","path_name": "1","url": "http://115.28.161.90:8003/document/1"}}
GET /admin/document/{id}
{"Authorization": "Token 1234567890"}
{"code": 0,"message": "success","data": {"id": 1,"app_id": "","created_at": "2018-12-24 10:58:11","updated_at": "2018-12-24 10:58:11","name": "名称","content": "内容","path_name": "1","url": "http://115.28.161.90:8003/document/1"}}
PUT /admin/document/{id}
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| name | 字符串 | 是 | 文档名称 |
| content | 字符串 | 是 | 文档内容 |
| path_name | 字符串 | 可选 | url 后缀名称 |
* 请求回调
{"code": 0,"message": "success","data": {"id": 1,"app_id": "","created_at": "2018-12-24 10:58:11","updated_at": "2018-12-24 10:58:11","name": "名称","content": "内容","path_name": "1","url": "http://115.28.161.90:8003/document/1"}}
DELETE /admin/document/{id}
{"Authorization": "Token 1234567890"}
{"code": 0,"message": "success","data": {}}
GET /admin/app/version
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| page | 整型 | 可选 | 分页页数 |
| size | 整型 | 可选 | 一页数据数量 |
| app_type | 字符串 | 可选 | App 类型: android, ios |
{"code": 0,"message": "success","data": {"total": 2,"pages": 1,"current_page": 1,"page_size": 20,"data": [{"id": 1,"app_id": "","created_at": "2018-10-09 00:00:00","updated_at": "2018-10-09 00:00:00","version_name": "安卓1.0.0","version_number": "1.0.0","version_description": "","app_type": "android"},{"id": 2,"app_id": "","created_at": "2018-10-09 00:00:00","updated_at": "2018-10-09 00:00:00","version_name": "苹果1.0.0","version_number": "1.0.0","version_description": "","app_type": "ios"}]}}
POST /admin/app/version
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| app_type | 字符串 | 是 | App 类型: android, ios |
| version_name | 字符串 | 是 | 版本名称 |
| version_number | 字符串 | 是 | 版本编号 |
| version_description | 字符串 | 可选 | 版本描述 |
* 请求回调
{"code": 0,"message": "success","data": {"id": 2,"app_id": "","created_at": "2018-10-09 00:00:00","updated_at": "2018-10-09 00:00:00","version_name": "苹果1.0.0","version_number": "1.0.0","version_description": "","app_type": "ios"}}
PUT /admin/app/version/{id}
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| app_type | 字符串 | 是 | App 类型: android, ios |
| version_name | 字符串 | 是 | 版本名称 |
| version_number | 字符串 | 是 | 版本编号 |
| version_description | 字符串 | 可选 | 版本描述 |
* 请求回调
{"code": 0,"message": "success","data": {"id": 2,"app_id": "","created_at": "2018-10-09 00:00:00","updated_at": "2018-10-09 00:00:00","version_name": "苹果1.0.0","version_number": "1.0.0","version_description": "","app_type": "ios"}}
DELETE /admin/app/version/{id}
{"Authorization": "Token 1234567890"}
{"code": 0,"message": "success","data": {}}
POST /admin/system/links
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| link_1 | 字符串 | 是 | 系统链接 |
| link_2 | 字符串 | 是 | 系统链接 |
| link_3 | 字符串 | 是 | 系统链接 |
| link_4 | 字符串 | 是 | 系统链接 |
| link_5 | 字符串 | 是 | 系统链接 |
| link_6 | 字符串 | 是 | 系统链接 |
| link_7 | 字符串 | 是 | 系统链接 |
| link_8 | 字符串 | 是 | 系统链接 |
{"code": 0,"message": "success","data": {"links": [{"name": "link_1","link": "","label": "加湿器滤网购买链接"},{"name": "link_2","link": "","label": "净水器滤芯购买链接"},{"name": "link_3","link": "","label": "净水器1号滤芯购买链接"},{"name": "link_4","link": "","label": "净水器2号滤芯购买链接"},{"name": "link_5","link": "","label": "352用户协议"},{"name": "link_6","link": "","label": "H60加湿器使用说明"},{"name": "link_7","link": "","label": "S80净水机使用说明"},{"name": "link_8","link": "","label": "配置失败"},]}}
GET /admin/system/links
{"Authorization": "Token 1234567890"}
{"code": 0,"message": "success","data": {"links": [{"name": "link_1","link": "","label": "加湿器滤网购买链接"},{"name": "link_2","link": "","label": "净水器滤芯购买链接"},{"name": "link_3","link": "","label": "净水器1号滤芯购买链接"},{"name": "link_4","link": "","label": "净水器2号滤芯购买链接"},{"name": "link_5","link": "","label": "352用户协议"},{"name": "link_6","link": "","label": "H60加湿器使用说明"},{"name": "link_7","link": "","label": "S80净水机使用说明"},{"name": "link_8","link": "","label": "配置失败"},{"name": "link_9","label": "Y100系统空气净化器说明书","link":"http://115.28.161.90:8003/document/Y100"},{"name": "link_10","label": "Y100系列购买链接","link": "https://www.jd.com"}]}}
请求接口
GET /admin/system/links/v2
请求header
{"Authorization": "Token 1234567890"}
{"code": 0,"message": "success","data": {"352用户协议": [{"name": "link_5","label": "352用户协议","link": "https://www.mxchip.com"}],"配置失败": [{"name": "link_8","label": "配置失败","link": "https://www.mxchip.com"}],"智感模式说明": [{"name": "link_25","label": "智感模式说明","link": "http://47.103.147.196:8003/document/智感模式"}],"Skin加湿器": [{"name": "link_6","label": "Skin自然蒸发加湿器使用说明","link": "https://www.mxchip.com"},{"name": "link_1","label": "Skin加湿器滤网购买链接","link": "https://www.mxchip.com"}],"S100净水器": [{"name": "link_7","label": "S100净水机使用说明","link": "https://www.mxchip.com"},{"name": "link_2","label": "S100净水器滤芯购买链接","link": "https://www.mxchip.com"},{"name": "link_3","label": "S100净水器1号滤芯购买链接","link": "https://www.mxchip.com"},{"name": "link_4","label": "S100净水器2号滤芯购买链接","link": "https://www.mxchip.com"}],"K10净水器": [{"name": "link_13","label": "K10净水器使用说明书","link": "https://www.mxchip.com"},{"name": "link_14","label": "K10净水器滤芯购买链接","link": "https://www.mxchip.com"},{"name": "link_15","label": "K10净水器1号滤芯购买链接","link": "https://www.mxchip.com"},{"name": "link_16","label": "K10净水器2号滤芯购买链接","link": "https://www.mxchip.com"}],"Y100系列": [{"name": "link_9","label": "Y100空气净化器说明书","link": "https://www.mxchip.com"},{"name": "link_10","label": "Y100空气净化器购买链接","link": "https://www.mxchip.com"},{"name": "link_12","label": "Y100C空气净化器说明书","link": "https://www.mxchip.com"},{"name": "link_11","label": "Y100C空气净化器购买链接","link": "https://www.mxchip.com"}],"X86系列": [{"name": "link_17","label": "X86空气净化器说明书","link": "https://www.mxchip.com"},{"name": "link_26","label": "X86空气净化器滤芯购买链接","link": "https://www.mxchip.com"},{"name": "link_18","label": "X86空气净化器上(1号)滤芯购买链接","link": "https://www.mxchip.com"},{"name": "link_19","label": "X86空气净化器中(2号)滤芯购买链接","link": "https://www.mxchip.com"},{"name": "link_20","label": "X86空气净化器下(3号)滤芯购买链接","link": "https://www.mxchip.com"},{"name": "link_21","label": "X86C空气净化器说明书","link": "https://www.mxchip.com"},{"name": "link_27","label": "X86C空气净化器滤芯购买链接","link": "https://www.mxchip.com"},{"name": "link_22","label": "X86C空气净化器上(1号)滤芯购买链接","link": "https://www.mxchip.com"},{"name": "link_23","label": "X86C空气净化器中(2号)滤芯购买链接","link": "https://www.mxchip.com"},{"name": "link_24","label": "X86C空气净化器下(3号)滤芯购买链接","link": "https://www.mxchip.com"}]}}
请求接口
POST /admin/system/links/v2
请求header
{"Authorization": "Token 1234567890"}
{"352用户协议":[{"link":"https://www.baidu.com","label":"352用户协议","name":"link_5"}],"配置失败":[{"link":"https://www.mxchip.com","label":"配置失败","name":"link_8"}],"智感模式说明":[{"link":"http://47.103.147.196:8003/document/智感模式","label":"智感模式说明","name":"link_25"}],"Skin加湿器":[{"link":"https://www.mxchip.com","label":"Skin自然蒸发加湿器使用说明","name":"link_6"},{"link":"https://www.mxchip.com","label":"Skin加湿器滤网购买链接","name":"link_1"}],"S100净水器":[{"link":"https://www.mxchip.com","label":"S100净水机使用说明","name":"link_7"},{"link":"https://www.mxchip.com","label":"S100净水器滤芯购买链接","name":"link_2"},{"link":"https://www.mxchip.com","label":"S100净水器1号滤芯购买链接","name":"link_3"},{"link":"https://www.mxchip.com","label":"S100净水器2号滤芯购买链接","name":"link_4"}],"K10净水器":[{"link":"https://www.mxchip.com","label":"K10净水器使用说明书","name":"link_13"},{"link":"https://www.mxchip.com","label":"K10净水器滤芯购买链接","name":"link_14"},{"link":"https://www.mxchip.com","label":"K10净水器1号滤芯购买链接","name":"link_15"},{"link":"https://www.mxchip.com","label":"K10净水器2号滤芯购买链接","name":"link_16"}],"Y100系列":[{"link":"https://www.mxchip.com","label":"Y100空气净化器说明书","name":"link_9"},{"link":"https://www.mxchip.com","label":"Y100空气净化器购买链接","name":"link_10"},{"link":"https://www.mxchip.com","label":"Y100C空气净化器说明书","name":"link_12"},{"link":"https://www.mxchip.com","label":"Y100C空气净化器购买链接","name":"link_11"}],"X86系列":[{"link":"http://47.103.147.196:8003/document/X86说明书","label":"X86空气净化器说明书","name":"link_17"},{"link":"http://47.103.147.196:8003/document/X86滤芯","label":"X86空气净化器滤芯购买链接","name":"link_26"},{"link":"http://47.103.147.196:8003/document/X86滤芯 1号","label":"X86空气净化器上(1号)滤芯购买链接","name":"link_18"},{"link":"http://47.103.147.196:8003/document/X86滤芯 2号","label":"X86空气净化器中(2号)滤芯购买链接","name":"link_19"},{"link":"http://47.103.147.196:8003/document/X86滤芯 3号","label":"X86空气净化器下(3号)滤芯购买链接","name":"link_20"},{"link":"https://www.mxchip.com","label":"X86C空气净化器说明书","name":"link_21"},{"link":"https://www.mxchip.com","label":"X86C空气净化器滤芯购买链接","name":"link_27"},{"link":"https://www.mxchip.com","label":"X86C空气净化器上(1号)滤芯购买链接","name":"link_22"},{"link":"https://www.mxchip.com","label":"X86C空气净化器中(2号)滤芯购买链接","name":"link_23"},{"link":"https://www.baidu.com","label":"X86C空气净化器下(3号)滤芯购买链接","name":"link_24"}]}
• 请求回调
{"code": 0,"message": "success","data": {}}
GET /admin/screen/page
{"Authorization": "Token 1234567890"}
{"code": 0,"message": "success","data": {"screen_page": {"id": 8,"app_id": "","created_at": "2018-12-20 14:26:26","updated_at": "2018-12-20 14:26:26","picture": "xxxxxx","start_time": "2018-12-12 12:00:00","end_time": "2019-12-23 10:00:00","countdown": 3,"category": 1,"external_link": ""},"action_page": {"id": 7,"app_id": "","created_at": "2018-12-20 14:26:22","updated_at": "2018-12-20 14:26:22","picture": "xxxxxx","start_time": "2018-12-12 12:00:00","end_time": "2019-12-23 10:00:00","countdown": 3,"category": 0,"external_link": ""}}}
| 参数 | 类型 | 说明 |
|---|---|---|
| picture | 字符串 | 图片地址 |
| start_time | 字符串 | 有效起始时间 |
| end_time | 字符串 | 有效结束时间 |
| countdown | 字符串 | 倒计时(单位:秒) |
| category | 字符串 | 类型(0:活动页,1:开屏页) |
| external_link | 字符串 | 外部链接 |
POST /admin/screen/page
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| picture | 字符串 | 是 | 图片地址 |
| start_time | 字符串 | 是 | 有效起始时间 |
| end_time | 字符串 | 是 | 有效结束时间 |
| countdown | 字符串 | 可选 | 倒计时(单位:秒) |
| category | 字符串 | 是 | 类型(0:活动页,1:开屏页) |
| external_link | 字符串 | 是 | 外部链接 |
{"code": 0,"message": "success","data": {"id": 8,"app_id": "","created_at": "2018-12-20 14:26:26","updated_at": "2018-12-20 14:26:26","countdown": 3,"picture": "xxxxxx","end_time": "2019-12-23 10:00:00","start_time": "2018-12-12 12:00:00","external_link": "","category": 1}}
POST /admin/upload
{"Authorization": "Token 1234567890"}
参数:batch 请求方式:form-data 附件大小:<= 300kb
{"code": 0,"message": "success","data": {"batch_path": "/public/img/xxx/jpg"}}
POST /admin/feedback/category
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| feedback_category_name | 字符串 | 是 | 反馈类型名称 |
| feedback_category_description | 字符串 | 可选 | 反馈类型描述 |
{"code": 0,"message": "success","data": {"id": 1,"app_id": "","created_at": "2018-12-26 17:40:25","updated_at": "2018-12-26 17:40:25","feedback_category_name": "其他","feedback_category_description": ""}}
GET /admin/feedback/category
{"Authorization": "Token 1234567890"}
{"code": 0,"message": "success","data": {"total": 1,"pages": 1,"current_page": 1,"page_size": 20,"data": [{"id": 1,"app_id": "","created_at": "2018-12-26 17:40:25","updated_at": "2018-12-26 17:40:25","feedback_category_name": "其他","feedback_category_description": ""}]}}
PUT /admin/feedback/category/{id}
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| feedback_category_name | 字符串 | 是 | 反馈类型名称 |
| feedback_category_description | 字符串 | 可选 | 反馈类型描述 |
{"code": 0,"message": "success","data": {"id": 1,"app_id": "","created_at": "2018-12-26 17:40:25","updated_at": "2018-12-26 17:40:25","feedback_category_name": "其他","feedback_category_description": ""}}
DELETE /admin/feedback/category/{id}
{"Authorization": "Token 1234567890"}
{"code": 0,"message": "success","data": {}}
GET /admin/feedback
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| page | 整型 | 可选 | 分页页数 |
| size | 整型 | 可选 | 一页数据数量 |
| start_time | 字符串 | 可选 | 开始时间, 格式:2018-10-10 10:00:00 |
| end_time | 字符串 | 可选 | 开始时间, 格式:2018-10-10 10:00:00 |
| username | 字符串 | 可选 | 用户名 |
| user_id | 字符串 | 可选 | 反馈用户 id |
| feedback_content | 字符串 | 可选 | 反馈内容模糊查询 |
* 请求回调
{"code": 0,"message": "success","data": {"total": 1,"pages": 1,"current_page": 1,"page_size": 20,"data": [{"id": 1,"app_id": "","created_at": "2018-12-27 15:43:42","updated_at": "2018-12-27 15:43:42","reply_time": "2018-12-27 15:43:42","feedback_content": "反馈内容","feedback_status": 1,"feedback_category_id": 0,"contact_phone": "","user_id": 3,"feedback_category_name": "","phone": "18656660930","username": "18656660930","feedback_reply_content": "回复内容","reply_username": "admin"}]}}
DELETE /admin/feedback/{id}
{"Authorization": "Token 1234567890"}
{"code": 0,"message": "success","data": {}}
POST /admin/feedback/reply
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| feedback_reply_content | 字符串 | 是 | 回复内容 |
| feedback_id | 字符串 | 是 | 反馈id |
* 请求回调
{"code": 0,"message": "success","data": {"id": 1,"app_id": "","created_at": "2018-12-27 17:21:29","updated_at": "2018-12-27 17:21:29","feedback_reply_content": "回复内容","feedback_id": 1,"user_id": 2}}
GET /admin/push/log
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| page | 整型 | 可选 | 分页页数 |
| size | 整型 | 可选 | 一页数据数量 |
| start_time | 字符串 | 可选 | 开始时间, 格式:2018-10-10 10:00:00 |
| end_time | 字符串 | 可选 | 开始时间, 格式:2018-10-10 10:00:00 |
| username | 字符串 | 可选 | 用户名 |
{"code": 0,"message": "success","data": {"total": 1,"pages": 1,"current_page": 1,"page_size": 20,"data": [{"id": 1,"app_id": "","created_at": "2018-12-29 00:00:00","updated_at": "2018-12-29 00:00:00","push_title": "","push_body": "推送内容","user_scope": "指定用户","user_id": 2,"username": "admin"}]}}
DELETE /admin/push/log/{id}
{"Authorization": "Token 1234567890"}
{"code": 0,"message": "success","data": {}}
POST /admin/user/permission
{"Authorization": "Token 1234567890"}
{"code": 0,"message": "success","data": {"permissions": [{"name": "permission_1","value": false,"label": "查看筛选"},{"name": "permission_2","value": false,"label": "推送消息"},{"name": "permission_3","value": false,"label": "回复反馈"},{"name": "permission_4","value": false,"label": "滤芯导出"},{"name": "permission_5","value": false,"label": "配置管理"},{"name": "permission_6","value": false,"label": "后台管理"}]}}
POST /admin/user/role
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| role_name | 字符串 | 是 | 角色名称 |
| permissions | 字符串 | 是 | json 字符串 |
{"code": 0,"message": "success","data": {"id": 2,"app_id": "","created_at": "2018-12-28 16:10:13","updated_at": "2018-12-28 16:10:13","role_name": "hello1","permissions": {"a": 1}}}
GET /admin/user/role
{"Authorization": "Token 1234567890"}
{"code": 0,"message": "success","data": {"total": 2,"pages": 1,"current_page": 1,"page_size": 20,"data": [{"id": 1,"app_id": "","created_at": "2018-12-28 16:01:11","updated_at": "2018-12-28 16:01:11","role_name": "hello","permissions": {"a": 1}},{"id": 2,"app_id": "","created_at": "2018-12-28 16:10:13","updated_at": "2018-12-28 16:10:13","role_name": "hello1","permissions": {"a": 1}}]}}
PUT /admin/user/role/{id}
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| role_name | 字符串 | 是 | 角色名称 |
| permissions | 字符串 | 是 | json 字符串 |
{"code": 0,"message": "success","data": {"id": 2,"app_id": "","created_at": "2018-12-28 16:10:13","updated_at": "2018-12-28 16:10:13","role_name": "hello1","permissions": {"a": 1}}}
DELETE /admin/user/role/{id}
{"Authorization": "Token 1234567890"}
{"code": 0,"message": "success","data": {}}
POST /admin/manager
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| username | 字符串 | 是 | 用户名 |
| password | 字符串 | 是 | 密码 |
| phone | 字符串 | 是 | 手机 |
| name | 字符串 | 是 | 姓名 |
| role | 整型 | 是 | 角色 id |
{"code": 0,"message": "success","data": {"username": "jerry123","name": "jerry","phone": "18656660933","password": "123456","role": 2}}
GET /admin/manager
{"Authorization": "Token 1234567890"}
{"code": 0,"message": "success","data": {"total": 2,"pages": 1,"current_page": 1,"page_size": 20,"data": [{"id": 6,"username": "jerry","phone": "18656660931","name": "jerry","role_name": "hello1"},{"id": 7,"username": "jerry123","phone": "18656660933","name": "jerry","role_name": "hello1"}]}}
PUT /admin/manager/{id}
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| username | 字符串 | 是 | 用户名 |
| password | 字符串 | 是 | 密码 |
| phone | 字符串 | 是 | 手机 |
| name | 字符串 | 是 | 姓名 |
| role | 整型 | 是 | 角色 id |
{"code": 0,"message": "success","data": {"username": "jerry123","name": "jerry","phone": "18656660933","password": "123456","role": 2}}
DELETE /admin/manager/{id}
{"Authorization": "Token 1234567890"}
{"code": 0,"message": "success","data": {}}
POST /admin/manager/reset_password
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| user_id | 字符串 | 是 | 用户名 |
| password | 字符串 | 是 | 密码 |
{"code": 0,"message": "success","data": {}}
GET /admin/manager/handle/log
| 字段 | 类型 | 必须 | 说明 |
|---|---|---|---|
| username | string | N | username筛选用户名 |
| handle_message | string | N | 筛选 操作 |
| created_at_lte | string | N | 小于等于 %Y-%m-%d %H:%M:%S |
| created_at_gte | string | N | 大于等于 %Y-%m-%d %H:%M:%S |
* 请求header
{"Authorization": "Token 1234567890"}
GET /admin/manager/handle/log?page=1&size=20&username=啦啦&handle_message=更新开屏页&created_at_gte=2019-09-01 00:00:00&created_at_gte=2019-09-02 00:00:00{"code": 0,"message": "success","data": {"total": 1,"pages": 1,"current_page": 1,"page_size": 20,"data": [{"id": 20430,"app_id": "","created_at": "2019-09-02 14:54:29","updated_at": "2019-09-02 14:54:29","user_id": 15,"user_role_id": 8,"handle_message": "更新开屏页","username": "啦啦啦","role_name": ""}]}}
GET /admin/user
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| page | 整型 | 可选 | 分页页数 |
| size | 整型 | 可选 | 一页数据数量 |
| start_time | 字符串 | 可选 | 开始时间, 格式:2018-10-10 10:00:00 |
| end_time | 字符串 | 可选 | 开始时间, 格式:2018-10-10 10:00:00 |
| username | 字符串 | 可选 | 用户名 |
{"code": 0,"message": "success","data": {"total": 6,"pages": 1,"current_page": 1,"page_size": 20,"data": [{"id": 9,"username": "15502112361","phone": "15502112361","email": "","register_time": "2019-01-02 16:09:55","age": 0,"job": "","name": "","city": "","company": "","avatar": "","birthday": "","address": "","nick_name": "","sex": 2,"login_time": "","login_ip": ""},{"id": 8,"username": "18516099125","phone": "18516099125","email": "","register_time": "2018-12-29 17:09:42","age": 0,"job": "","name": "","city": "","company": "","avatar": "","birthday": "","address": "","nick_name": "","sex": 2,"login_time": "","login_ip": ""},{"id": 7,"username": "jerry123","phone": "18656660933","email": "","register_time": "2018-12-28 16:58:10","age": 0,"job": "","name": "jerry","city": "","company": "","avatar": "","birthday": "","address": "","nick_name": "","sex": 2,"login_time": "","login_ip": ""},{"id": 6,"username": "jerry","phone": "18656660931","email": "","register_time": "2018-12-28 16:57:51","age": 0,"job": "","name": "jerry","city": "","company": "","avatar": "","birthday": "","address": "","nick_name": "","sex": 2,"login_time": "","login_ip": ""},{"id": 3,"username": "18656660930","phone": "18656660930","email": "","register_time": "2018-12-24 18:21:27","age": 0,"job": "","name": "","city": "","company": "","avatar": "","birthday": "","address": "","nick_name": "","sex": 2,"login_time": "","login_ip": ""},{"id": 2,"username": "admin","phone": "18656660930","email": "","register_time": "2018-12-20 17:00:52","age": 0,"job": "","name": "","city": "","company": "","avatar": "","birthday": "","address": "","nick_name": "","sex": 2,"login_time": "2019-01-04 11:49:31","login_ip": "202.96.204.195"}]}}
GET /admin/user/{id}
{"Authorization": "Token 1234567890"}
{"code": 0,"message": "success","data": {"id": 2,"username": "admin","phone": "18656660930","email": "","register_time": "2018-12-20 17:00:52","age": 0,"job": "","name": "","city": "","company": "","avatar": "","birthday": "","address": "","nick_name": "","sex": 2,"login_time": "2019-01-04 11:49:31","login_ip": "202.96.204.195","login_count": 21}}
GET /admin/faq
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| page | 整型 | 可选 | 分页页数 |
| size | 整型 | 可选 | 一页数据数量 |
POST /admin/faq
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| title | 字符串 | 是 | 标题 |
| content | 字符串 | 是 | 内容 |
| product_key | 字符串 | 可选 | 产品唯一标识 |
| external_link | 字符串 | 可选 | 外链 |
GET /admin/faq/{id}
{"Authorization": "Token 1234567890"}
PUT /admin/faq/{id}
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| title | 字符串 | 是 | 标题 |
| content | 字符串 | 是 | 内容 |
| product_key | 字符串 | 可选 | 产品唯一标识 |
| external_link | 字符串 | 可选 | 外链 |
DELETE /admin/faq/{id}
{"Authorization": "Token 1234567890"}
GET /admin/filter/category
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| page | 整型 | 可选 | 分页页数 |
| size | 整型 | 可选 | 一页数据数量 |
{"code": 0,"message": "success","data": {"total": 1,"pages": 1,"current_page": 1,"page_size": 20,"data": [{"_id": 2,"name":"TESTPP","sn":"H070A","date_time": "2019-01-03 11:37:37"}]}}
POST /admin/filter/category
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| name | 字符串 | 是 | 滤芯品类名称 |
| sn | 字符串 | 必须 | 滤芯开头5位sn, 必须5位 |
{"code": 0,"message": "success","data": {"_id": 4,"date_time": "2019-01-03 11:47:26","sn":"H070A","name":"TESTPP"}}
DELETE /admin/filter/category/{_id}
{"Authorization": "Token 1234567890"}
{"code": 0,"message": "success","data": {}}
GET /admin/filter/element_by_device/{iot_id}
{"Authorization": "Token 1234567890"}
GET /admin/filter/element
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| page | 整型 | 可选 | 分页页数 |
| size | 整型 | 可选 | 一页数据数量 |
| product_key | 字符串 | 可选 | 产品唯一标识 |
| country | 字符串 | 可选 | 国家 |
| province | 字符串 | 可选 | 省 |
| city | 字符串 | 可选 | 市 |
| district | 字符串 | 可选 | 县/区 |
| township | 字符串 | 可选 | 街道 |
| filter_type | 字符串 | 可选 | 滤芯类型,滤芯SN前5位 ex: /admin/filter/element?filter_type=S080P |
| filter_position | 字符串 | 可选 | 滤芯位置 |
| filter_life_time_percent_start | 整型 | 可选 | 最小寿命 |
| filter_life_time_percent_end | 整型 | 可选 | 最大寿命 |
| mac | 字符串 | 可选 | mac或sn |
| filter_sn | 字符串 | 可选 | 滤芯序列号 |
{"code": 0,"message": "success","data": {"total": 9,"pages": 1,"current_page": 1,"page_size": 20,"data": [{"_id": 63,"items": {"FilterStatus_2": {"value": 0,"time": 1534299145344},"FinishedWaterTDS": {"value": 100,"time": 1534299145344},"FilterLifeTimePercent_2": {"value": 80,"time": 1534299145344},"FilterLifeTimeDays_2": {"value": 22.22,"time": 1534299145344},"RawWaterTDS": {"value": 500,"time": 1534299145344},"WaterTemperature": {"value": 22.33,"time": 1534299145344},"WorkState": {"value": 1,"time": 1534299145344},"PowerSwitch1": {"value": 74274,"time": 1534299145344},"FilterPosition": {"value": "","time": 1547625606461},"FilterSN": {"value": "test6","time": 1534299145344},"WasteWaterAdjustStatus": {"value": 1,"time": 1534299145344},"WaterDepletionStatus": {"value": 1,"time": 1534299145344},"HeatingStatus": {"value": 1,"time": 1534299145344},"OneTimeProducedWater": {"value": 50000,"time": 1534299145344},"FilterLife": {"value": "","time": 1547625606461},"FilterType": {"value": "PP","time": 1547625606461}},"date_time": "2019-01-16 15:26:44","deviceName": "test6","deviceType": "test001","gmtCreate": 1534299145304,"iotId": "test6","productKey": "a1JJL4qVSdo","mac": "","filter_element_type":"","superuser_phone":""}]}}
| 参数 | 类型 | 说明 |
|---|---|---|
| productKey | 字符串 | 设备所属产品 |
| deviceName | 字符串 | 设备名称 |
| iotId | 字符串 | 设备唯一标识 |
| deviceType | 字符串 | 设备品类Key |
| gmtCreate | 字符串 | 数据流转消息产生时间, 自1970-1-1起流逝的毫秒值 |
| items | JSON | 变更的状态列表,列表元素包括:attribute - 变更属性, value - 变更值, time - 采样时间 |
| FilterStatus_1 | 枚举型 | 滤芯寿命状态_1: 0 - 正常1 - 需要更换 |
| FilterStatus_2 | 枚举型 | 滤芯寿命状态_2: 0 - 正常1 - 需要更换 |
| FinishedWaterTDS | 整数型 | 出水TDS: 取值范围:0 ~ 999 单位:ppm / 百万分率 步长:1 |
| FilterLifeTimePercent_2 | 整数型 | 滤芯寿命百分比_2: 取值范围:0 ~ 100 单位:% / 百分比 步长:1 |
| FilterLifeTimePercent_1 | 整数型 | 滤芯寿命百分比_1: 取值范围:0 ~ 100 单位:% / 百分比 步长:1 |
| FilterLifeTimeDays_1 | 浮点型(双精度) | 滤芯寿命天数_1: 取值范围:0 ~ 1100 单位:day / 日 步长:0.01 |
| FilterLifeTimeDays_2 | 浮点型(双精度) | 滤芯寿命天数_2: 取值范围:0 ~ 1100 单位:day / 日 步长:0.01 |
| FilterSN | 字符串 | 滤芯序列号 |
| FilterPosition | 字符串 | 滤芯位置 |
| FilterType | 字符串 | 滤芯类型 |
| FilterLife | 字符串 | 滤芯总寿命 |
| mac | 字符串 | 设备mac地址 |
| filter_element_type | 字符串 | 滤芯类型 |
| superuser_phone | 字符串 | 用户电话号码 |
GET /admin/filter/element/{filter_sn}
{"Authorization": "Token 1234567890"}
GET /admin/user/address
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| username | 字符串 | 可选 | 用户名 |
| nick_name | 字符串 | 可选 | 用户昵称 |
* 请求回调
{"code": 0,"message": "success","data": {"data": [{"_id": 4,"longitude": 33.555,"latitude": 33.333,"detail": {},"user_id": 2,"date_time": "2019-01-03 16:41:21"}]}}
GET /admin/device/address
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| product_key | 字符串 | 可选 | 产品唯一标识 |
| country | 字符串 | 可选 | 国家 |
| province | 字符串 | 可选 | 省 |
| city | 字符串 | 可选 | 市 |
| district | 字符串 | 可选 | 县/区 |
| township | 字符串 | 可选 | 街道 |
| status | 字符串 | 可选 | 在离线状态:0离线1在线 |
| is_bind | 字符串 | 可选 | 是否已绑定 |
| mac | 字符串 | 可选 | MAC地址 |
| pipelined_code | 字符串 | 可选 | 流水码 |
| raw_water_min | 字符串 | 可选 | 最小进水TDS |
| raw_water_max | 字符串 | 可选 | 最大进水TDS |
| finished_water_min | 字符串 | 可选 | 最小出水TDS |
| finished_water_max | 字符串 | 可选 | 最大出水TDS |
| water_temperature_min | 字符串 | 可选 | 最小水温 |
| water_temperature_max | 字符串 | 可选 | 最大水温 |
* 请求回调
{"code": 0,"message": "success","data": {"address": []}}
GET /admin/product
{"Authorization": "Token 1234567890"}
{"code": 0,"message": "success","data": {"product": [{"product_key": "xxxxxx","name": "352Water","category_name": "净水器"}]}}
GET /admin/device/info
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| page | 整型 | 可选 | 分页页数 |
| size | 整型 | 可选 | 一页数据数量 |
| product_key | 字符串 | 可选 | 产品唯一标识 |
| country | 字符串 | 可选 | 国家 |
| province | 字符串 | 可选 | 省 |
| city | 字符串 | 可选 | 市 |
| district | 字符串 | 可选 | 县/区 |
| township | 字符串 | 可选 | 街道 |
| status | 字符串 | 可选 | 在离线状态:0离线1在线 |
| is_bind | 字符串 | 可选 | 是否已绑定 1绑定0未绑定 |
| mac | 字符串 | 可选 | MAC地址 |
| pipelined_code | 字符串 | 可选 | 流水码 |
| raw_water_min | 字符串 | 可选 | 最小进水TDS |
| raw_water_max | 字符串 | 可选 | 最大进水TDS |
| finished_water_min | 字符串 | 可选 | 最小出水TDS |
| finished_water_max | 字符串 | 可选 | 最大出水TDS |
| water_temperature_min | 字符串 | 可选 | 最小水温 |
| water_temperature_max | 字符串 | 可选 | 最大水温 |
| user_id | 整型 | 可选 | 绑定的管理员用户id |
| relative_humidity_min | 字符串 | 可选 | 加湿器最小湿度 |
| relative_humidity_max | 字符串 | 可选 | 加湿器最大湿度 |
| current_temperature_min | 字符串 | 可选 | 加湿器最小温度 |
| current_temperature_max | 字符串 | 可选 | 加湿器最大温度 |
| pm25_min | 整型 | 可选 | pm25 最小值 |
| pm25_max | 整型 | 可选 | pm25 最大值 |
| hcho_min | 浮点型 | 可选 | 甲醛 最小值 |
| hcho_max | 浮点型 | 可选 | 甲醛 最大值 |
| mcu_hardware_version | 字符串 | 可选 | 硬件版本号 ex: /admin/device/info?mcu_hardware_version=Y100 |
| order_by_pm25 | 整型 | 可选 | 1:正序小到大,-1:倒序:从大到小 |
| order_by_hcho | 整型 | 可选 | 1:正序小到大,-1:倒序:从大到小 |
* 请求回调
{"code": 0,"message": "success","data": {"total": 0,"pages": 0,"current_page": 1,"page_size": 20,"data": []}}
GET /admin/device/info/{iot_id}
{"Authorization": "Token 1234567890"}
GET /admin/device/status/log/{iot_id}
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| start_time | 字符串 | 可选 | 开始时间:如 2018-10-10 10:00:00 |
| end_time | 字符串 | 可选 | 结束时间:如 2018-10-10 10:00:00 |
* 请求回调
GET /admin/device/log/{iot_id}
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| start_time | 字符串 | 可选 | 开始时间:如 2018-10-10 10:00:00 |
| end_time | 字符串 | 可选 | 结束时间:如 2018-10-10 10:00:00 |
* 请求回调
GET /admin/device/user/{iot_id}
{"Authorization": "Token 1234567890"}
PUT /admin/device/info/{iot_id}
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| pipelined_code | 字符串 | 可选 | 流水码 |
* 请求回调
{"code": 0,"message": "success","data": {}}
接口地址
GET /admin/device/statistics/pm25
请求参数
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| iot_id | 字符串 | 必选 | 流水码 |
| category | 字符串 | 必选 | 统计类别为 month, hour,day, week |
| size | int | 必选 | 统计条数 |
* 请求示例
请求最近4个月数据category=month,size=4
GET /admin/device/statistics/pm25?iot_id=NtvnuDG7VGotVWa8fEsI000100&category=month&size=4{"code": 0,"message": "success","data": {"statistics": [{"date_time": "2019-05","pm25": 0},{"date_time": "2019-06","pm25": 0},{"date_time": "2019-07","pm25": 0},{"date_time": "2019-08","pm25": 3414.25}]}}
| 字段名 | 类型 | 说明 |
|---|---|---|
| date_time | string | 时间字符串 |
| pm25 | float | PM25值 |
GET /admin/device/statistics/hcho
GET /admin/device/statistics/hcho?iot_id=NtvnuDG7VGotVWa8fEsI000100&category=month&size=3{"code": 0,"message": "success","data": {"statistics": [{"date_time": "2019-06","hcho": 0},{"date_time": "2019-07","hcho": 0},{"date_time": "2019-08","hcho": 1.0}]}}
接口地址
GET /admin/device/statistics/tvoc
请求参数
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| iot_id | 字符串 | 必选 | 流水码 |
| category | 字符串 | 必选 | 统计类别为 month, hour,day, week |
| size | int | 必选 | 统计条数 |
* 请求示例
请求最近4个月数据category=month,size=4
GET /admin/device/statistics/tvoc?iot_id=Gso6EuIKwfJJPbSvuWVH000100&category=month&size=4{"code": 0,"message": "success","data": {"statistics": [{"tvoc": 1049.7973289066665,"date_time": "2019-11"},{"tvoc": 778.6400838378637,"date_time": "2019-12"},{"tvoc": 834.827935748263,"date_time": "2020-01"},{"tvoc": 139.12386748278382,"date_time": "2020-02"}]}}
| 字段名 | 类型 | 说明 |
|---|---|---|
| date_time | string | 时间字符串 |
| tvoc | float | tvoc均值 |
接口地址
GET /admin/hardware_version?type=mcu_hardware_version
请求示例
GET /admin/hardware_version?type=mcu_hardware_version{"code": 0,"message": "success","data": ["Y100"]}
--
请求接口
GET /admin/tmall_device
请求参数
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| mac | string | 否 | mac过滤 |
| status | 字符串 | 可选 | 在离线状态:0离线 1在线 |
| page | 整型 | 可选 | 分页页数 |
| size | 整型 | 可选 | 一页数据数量 |
* response说明
| 参数 | 类型 | 说明 |
|---|---|---|
| gmtModified | Long | 数据修改时间 |
| activeTime | Long | 设备激活时间 |
| gmtCreate | Long | 设备创建时间 |
| productKey | String | 产品key |
| statusLast | Integer | 上一次设备状态 |
| mac | String | mac地址 |
| deviceSecret | String | 设备secret |
| iotId | String | 设备唯一标识符 |
| name | String | 设备名称 |
| nickname | String | 设备昵称 |
| sdkVersion | String | sdk版本 |
| sn | String | 设备sn |
| thingType | String | 设备类型 |
| region | String | 区域 |
| firmwareVersion | String 固件版本号 | |
| rbacTenantId | String | 租户id |
| status | Integer | 设备状态 1 - 在线, 3 - 离线, 8 - 禁用 |
* 请求示例
GET /admin/tmall_device?status=1&mac=fc:ee:e6:1a:5a:b2{"code": 0,"message": "success","data": {"total": 811,"pages": 41,"current_page": 1,"page_size": 20,"data": [{"gmtModified": 1561011028000,"activeTime": 1560856503762,"deviceKey": "H7cWwvNgIlEuQsCbZLME","productKey": "a1sPQ2SRvUt","statusLast": 3,"gmtCreate": 1555904208000,"mac": "fc:ee:e6:1a:5a:b2","iotId": "H7cWwvNgIlEuQsCbZLME000100","deviceSecret": "o8RxhbXyDoUFhQS4rGXDdo5bfjiAAkIo","name": "H7cWwvNgIlEuQsCbZLME","thingType": "DEVICE","region": "cn-shanghai","firmwareVersion": "1.38_S100-1.27_EMW120","rbacTenantId": "12322895F67B451DA6E5AE3213AE748E","status": 1}]}}
请求接口
POST /admin/tmall_device
参数
无
接口返回值code说明
| code | 说明 |
|---|---|
| 0 | 获取天猫设备完成 |
| 10014 | 正在获取天猫设备数据,请稍后x |
--
{{host}}/public/piplined_code.xlsx
请求接口
POST /admin/pipelined_code/bulk
请求header
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| pipeline | 文件 | 是 | 上传的流水码文件,以表单方式上传 |
* 状态码说明
| code | 说明 |
|---|---|
| 10011 | excel文件内容格式有误 |
| 10012 | excel文件中的mac码格式有误, "MAC"字段是存在问题的MAC |
| 10013 | 文件大小,小于300kb |
{"code": 10012,"message": "mac format error.","data": {"MAC": ["asd009569D7E578"]}}
--
GET /admin/statistics/user_app
{"Authorization": "Token 1234567890"}
{"code": 0,"message": "success","data": {"android": 0,"ios": 1}}
GET /admin/statistics/user_add
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| category | 字符串 | 是 | 查询维度:hour(小时); day(天);week(周); month(月) |
| size | 整型 | 是 | 查询数量(最近多少 小时/天/月 的数据量) |
{"code": 0,"message": "success","data": {"data": [{"date_time": "2018-12-23","count": 0},{"date_time": "2018-12-24","count": 1},{"date_time": "2018-12-25","count": 0},{"date_time": "2018-12-26","count": 0},{"date_time": "2018-12-27","count": 0},{"date_time": "2018-12-28","count": 2},{"date_time": "2018-12-29","count": 1},{"date_time": "2018-12-30","count": 0},{"date_time": "2018-12-31","count": 0},{"date_time": "2019-01-01","count": 0}],"category": "day","size": 10}}
GET /admin/statistics/user_add_by_time_line
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| start_time | 字符串 | 是 | 开始时间:如 2018-10-10 |
| end_time | 字符串 | 是 | 结束时间:如 2018-10-10 |
{"code": 0,"message": "success","data": {"data": [{"date_time": "2018-12-23","count": 0},{"date_time": "2018-12-24","count": 1},{"date_time": "2018-12-25","count": 0},{"date_time": "2018-12-26","count": 0},{"date_time": "2018-12-27","count": 0},{"date_time": "2018-12-28","count": 2},{"date_time": "2018-12-29","count": 1},{"date_time": "2018-12-30","count": 0},{"date_time": "2018-12-31","count": 0},{"date_time": "2019-01-01","count": 0}],"category": "day","size": 10}}
GET /admin/statistics/device_status
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| product_key | 字符串 | 可选 | 产品唯一标识 |
* 请求回调
{"code": 0,"message": "success","data": {"online": 0,"offline": 0}}
GET /admin/statistics/device_category
{"Authorization": "Token 1234567890"}
{"code": 0,"message": "success","data": {"statistics": [{"product_key": "a1JJL4qVSdo","name": "352Water","category_name": "净水器","count": 0}]}}
GET /admin/statistics/device_online
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| product_key | 字符串 | 可选 | 产品唯一标识 |
| category | 字符串 | 是 | 查询维度:hour(小时); day(天); month(月) |
| size | 整型 | 是 | 查询数量(最近多少 小时/天/月 的数据量) |
* 请求回调
{"code": 0,"message": "success","data": {"statistics": [{"date_time": "2019-01-18 01:00","count": 0},{"date_time": "2019-01-18 02:00","count": 0},{"date_time": "2019-01-18 03:00","count": 0},{"date_time": "2019-01-18 04:00","count": 0},{"date_time": "2019-01-18 05:00","count": 0},{"date_time": "2019-01-18 06:00","count": 0},{"date_time": "2019-01-18 07:00","count": 0},{"date_time": "2019-01-18 08:00","count": 0},{"date_time": "2019-01-18 09:00","count": 0},{"date_time": "2019-01-18 10:00","count": 0}]}}
GET /admin/statistics/device_active
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| product_key | 字符串 | 可选 | 产品唯一标识 |
| category | 字符串 | 是 | 查询维度:hour(小时); day(天);week(周) month(月) |
| size | 整型 | 是 | 查询数量(最近多少 小时/天/月 的数据量) |
GET /admin/statistics/device_add
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| product_key | 字符串 | 可选 | 产品唯一标识 |
| category | 字符串 | 是 | 查询维度:hour(小时); day(天);week(周); month(月) |
| size | 整型 | 是 | 查询数量(最近多少 小时/天/月 的数据量) |
{"code": 0,"message": "success","data": {"statistics": [{"date_time": "2019-01-04","count": 0},{"date_time": "2019-01-05","count": 0},{"date_time": "2019-01-06","count": 0},{"date_time": "2019-01-07","count": 0},{"date_time": "2019-01-08","count": 0}]}}
GET /admin/statistics/device_add_by_time_line
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| product_key | 字符串 | 可选 | 产品唯一标识 |
| start_time | 字符串 | 是 | 开始时间:如 2018-10-10 |
| end_time | 字符串 | 是 | 结束时间:如 2018-10-10 |
* 请求回调
{"code": 0,"message": "success","data": {"statistics": [{"date_time": "2019-01-03","count": 0},{"date_time": "2019-01-04","count": 0},{"date_time": "2019-01-05","count": 0},{"date_time": "2019-01-06","count": 0},{"date_time": "2019-01-07","count": 0},{"date_time": "2019-01-08","count": 0}]}}
GET /admin/statistics/filter_life_time
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| filter_sn | 字符串 | 是 | 滤芯序列号 |
| category | 字符串 | 是 | 查询维度:day(天);week(周); month(月) |
| size | 整型 | 是 | 查询数量(最近多少 小时/天/月 的数据量) |
{"code": 0,"message": "success","data": {"statistics": [{"date_time": "2019-01-04","filter_life_time": 100},{"date_time": "2019-01-05","filter_life_time": 100},{"date_time": "2019-01-06","filter_life_time": 100},{"date_time": "2019-01-07","filter_life_time": 100},{"date_time": "2019-01-08","filter_life_time": 100},{"date_time": "2019-01-09","filter_life_time": 100},{"date_time": "2019-01-10","filter_life_time": 100},{"date_time": "2019-01-11","filter_life_time": 100},{"date_time": "2019-01-12","filter_life_time": 100},{"date_time": "2019-01-13","filter_life_time": 100}]}}
GET /admin/statistics/filter_life_time_by_time_line
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| filter_sn | 字符串 | 是 | 滤芯序列号 |
| start_time | 字符串 | 是 | 开始时间:如 2018-10-10 |
| end_time | 字符串 | 是 | 结束时间:如 2018-10-10 |
{"code": 0,"message": "success","data": {"statistics": [{"date_time": "2019-01-04","filter_life_time": 100},{"date_time": "2019-01-05","filter_life_time": 100},{"date_time": "2019-01-06","filter_life_time": 100},{"date_time": "2019-01-07","filter_life_time": 100},{"date_time": "2019-01-08","filter_life_time": 100},{"date_time": "2019-01-09","filter_life_time": 100},{"date_time": "2019-01-10","filter_life_time": 100},{"date_time": "2019-01-11","filter_life_time": 100},{"date_time": "2019-01-12","filter_life_time": 100},{"date_time": "2019-01-13","filter_life_time": 100}]}}
GET /admin/statistics/tds_water
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| iot_id | 字符串 | 是 | 设备唯一标识 |
| category | 字符串 | 是 | 查询维度:day(天);week(周); month(月) |
| size | 整型 | 是 | 查询数量(最近多少 小时/天/月 的数据量) |
{"code": 0,"message": "success","data": {"statistics": [{"date_time": "2019-01-04","raw_water_tds": 0,"finished_water_tds": 0},{"date_time": "2019-01-05","raw_water_tds": 0,"finished_water_tds": 0}]}}
GET /admin/statistics/water_temperature
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| iot_id | 字符串 | 是 | 设备唯一标识 |
| category | 字符串 | 是 | 查询维度:day(天);week(周); month(月) |
| size | 整型 | 是 | 查询数量(最近多少 小时/天/月 的数据量) |
GET /admin/statistics/tds_section/{product_key}
{"Authorization": "Token 1234567890"}
{"code": 0,"message": "success","data": {"statistics": [{"section": "0-100","count": 0},{"section": "101-200","count": 0},{"section": "201-300","count": 0},{"section": "401-99999999","count": 0}]}}
GET /admin/statistics/filter/{product_key}
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| product_key | 字符串 | 可选 | 产品唯一标识 |
* 请求回调
{"code": 0,"message": "success","data": {"statistics": {"a": 0,"b": 0,"c": 0}}}
GET /admin/statistics/temperature_humidity
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| iot_id | 字符串 | 是 | 设备唯一标识 |
| category | 字符串 | 是 | 查询维度:hour(小时);day(天);week(周); month(月) |
| size | 整型 | 是 | 查询数量(最近多少 小时/天/周/月 的数据量) |
{"code": 0,"message": "success","data": {"statistics": [{"date_time": "2019-04-17 12:00","humidity": 54.46885245901639,"temperature": 23.39090909090909},{"date_time": "2019-04-17 13:00","humidity": 0,"temperature": 0},{"date_time": "2019-04-17 14:00","humidity": 0,"temperature": 0},{"date_time": "2019-04-17 15:00","humidity": 44.64166666666667,"temperature": 26.7375}]}}
| 参数 | 类型 | 说明 |
|---|---|---|
| date_time | 字符串 | 根据月,周,日,转换的对应的时间格式 |
| humidity | 浮点型 | 平均湿度 |
| temperature | 浮点型 | 平均温度 |
POST /admin/push
{"Authorization": "Token 1234567890"}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| title | 字符串 | 是 | 推送标题 |
| content | 字符串 | 是 | 推送内容 |
| push_target | 字符串 | 是 | device: 根据设备iot_id推送; user: 根据user_id推送; all: 推送所有人;device_region:指定设备地区推送;user_region:指定用户地区推送 |
| target_value | 字符串 | 可选 | 如果push_target为all, 可为空;如果push_target为device, 则为iot_id英文逗号拼接的字符串; 如果push_target为user, 则为user_id英文逗号拼接的字符串;当为push_target为device_region或user_region时,为GET params,例如:province=上海市&district=普陀区; |
/admin/push
{"push_target":"user_region","target_value":"province=上海市&district=普陀区","title":"sf","content":"sdf"}
{"code": 0,"message": "success","data": {}}
GET /api/oss
{"Authorization": "Token 1234567890"}
{"code": 0,"message": "success","data": {"RequestId": "B45B2931-05F9-40B4-BC86-9DC7BA188182","AssumedRoleUser": {"AssumedRoleId": "344052235942587077:352img","Arn": "acs:ram::xxx:role/xxx/xxx"},"Credentials": {"AccessKeySecret": "xxx","AccessKeyId": "STS.xxx","Expiration": "2019-05-22T04:33:23Z","SecurityToken": "+sbv/g1mWBogA99V172/PMpGQRw1tSywW2XzruRUgCUACEY4SdA="},"bucket_name": "3xxx","endpoint": "oss-cn-beijing.aliyuncs.com"}}
GET /third/water/quality
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| type | 字符串 | 是 | 县级取值 district,市级取值 city |
{{host}}/third/water/quality?type=district
{"code": 1,"message": "success","data": [{"TDS": 53.25,"latitude": "114.246899","longitude": "22.720968","district": "龙岗区"}]}
市级数据
{{host}}/third/water/quality?type=city
{"code": 1,"message": "success","data": [{"TDS": 53.25,"latitude": "114.057868","longitude": "22.543099","district": "深圳市"}]}