[关闭]
@cfygaoyang 2018-12-06T06:41:55.000000Z 字数 12485 阅读 802

APP 接口文档


错误码

错误码 信息 描述
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 /api/auth/send_code

参数 类型 必须 说明
account 字符串 手机或邮箱
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {}
  5. }

校验验证码(验证码登录)

POST /api/auth/check_code

参数 类型 必须 说明
account 字符串 手机或邮箱
code 字符串 验证码
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "access_token": "4kbv6KFHyIJ4JECtFuRLZreHRwDz3Yo6f19fgpu5VYgnSIegN1",
  6. "refresh_token": "pdgSDcfbZsEijvB1yH6RVGXutQWM4fF5qcCxz033AhaokshiwU",
  7. "expires_at": "2018-08-23 10:47:16",
  8. "expires_in": 68400
  9. }
  10. }

校验手机号

POST /api/auth/check_account

参数 类型 必须 说明
account 字符串 手机或邮箱
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "status": 0
  6. }
  7. }
参数 类型 说明
status 整型 1:已注册, 0:未注册

获取 token

POST /api/auth/access_token

参数 类型 必须 说明
account 字符串 手机或邮箱
password 字符串 密码
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "access_token": "4kbv6KFHyIJ4JECtFuRLZreHRwDz3Yo6f19fgpu5VYgnSIegN1",
  6. "refresh_token": "pdgSDcfbZsEijvB1yH6RVGXutQWM4fF5qcCxz033AhaokshiwU",
  7. "expires_at": "2018-08-23 10:47:16",
  8. "expires_in": 68400
  9. }
  10. }

刷新 token

POST /api/auth/refresh_token

参数 类型 必须 说明
refresh_token 字符串 刷新token
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "access_token": "4kbv6KFHyIJ4JECtFuRLZreHRwDz3Yo6f19fgpu5VYgnSIegN1",
  6. "refresh_token": "pdgSDcfbZsEijvB1yH6RVGXutQWM4fF5qcCxz033AhaokshiwU",
  7. "expires_at": "2018-08-23 10:47:16",
  8. "expires_in": 68400
  9. }
  10. }

销毁 token

POST /api/auth/destroy_token

  1. {
  2. "Authorization": "Token 1234567890"
  3. }
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {}
  5. }

重置密码

POST /api/auth/reset_password

  1. {
  2. "Authorization": "Token 1234567890"
  3. }
参数 类型 必须 说明
password 字符串 密码
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {}
  5. }

重置用户名

POST /api/auth/reset_username

  1. {
  2. "Authorization": "Token 1234567890"
  3. }
参数 类型 必须 说明
username 字符串 用户名
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {}
  5. }

用户信息


获取个人信息

GET /api/user

  1. {
  2. "Authorization": "Token 1234567890"
  3. }
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "id": 1,
  6. "app_id": null,
  7. "created_at": "2018-08-22 16:06:00",
  8. "updated_at": "2018-08-22 16:06:00",
  9. "avatar": null,
  10. "birthday": null,
  11. "sex": 2,
  12. "city": null,
  13. "address": null,
  14. "company": null,
  15. "job": null,
  16. "name": null,
  17. "age": 0,
  18. "user_id": 4,
  19. "username": "jerry",
  20. "phone": "18656660930",
  21. "email": null
  22. }
  23. }

编辑个人信息

PUT /api/user

  1. {
  2. "Authorization": "Token 1234567890"
  3. }
参数 类型 必须 说明
avatar 字符串 可选 头像
birthday 字符串 可选 生日
sex 整型 可选 性别:0女1男2保密
city 字符串 可选 城市
address 字符串 可选 地址
company 字符串 可选 公司
job 字符串 可选 职称
name 字符串 可选 姓名
age 字符串 可选 年龄
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "id": 1,
  6. "app_id": null,
  7. "created_at": "2018-08-22 16:06:00",
  8. "updated_at": "2018-08-22 16:06:00",
  9. "avatar": null,
  10. "birthday": null,
  11. "sex": 2,
  12. "city": null,
  13. "address": null,
  14. "company": null,
  15. "job": null,
  16. "name": null,
  17. "age": 0,
  18. "user_id": 4,
  19. "username": "jerry",
  20. "phone": "18656660930",
  21. "email": null
  22. }
  23. }

获取用户信息

GET /api/user/{id}

  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "id": 2,
  6. "app_id": null,
  7. "created_at": "2018-08-22 16:19:29",
  8. "updated_at": "2018-08-22 16:19:29",
  9. "avatar": null,
  10. "birthday": null,
  11. "sex": 2,
  12. "city": null,
  13. "address": null,
  14. "company": null,
  15. "job": null,
  16. "name": null,
  17. "age": 0,
  18. "user_id": 3,
  19. "username": "admin"
  20. }
  21. }

主题(栏目)


获取主题列表

GET /api/topic

参数 类型 必须 说明
parent_id 整型 可选 所属父级主题id
page 整型 可选 页数

* 请求回调

  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "total": 2,
  6. "pages": 1,
  7. "current_page": 1,
  8. "page_size": 20,
  9. "data": [
  10. {
  11. "id": 2,
  12. "app_id": "",
  13. "created_at": "2018-08-21 16:08:25",
  14. "updated_at": "2018-08-21 16:08:25",
  15. "name": "mulu2",
  16. "index": 1,
  17. "status": true,
  18. "parent_id": 0
  19. },
  20. {
  21. "id": 1,
  22. "app_id": "",
  23. "created_at": "2018-08-20 13:54:55",
  24. "updated_at": "2018-08-21 16:08:25",
  25. "name": "人工智能",
  26. "index": 2,
  27. "status": true,
  28. "parent_id": 0
  29. }
  30. ]
  31. }
  32. }

获取主题详情

GET /api/topic/{id}

  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "id": 1,
  6. "app_id": "",
  7. "created_at": "2018-08-20 13:54:55",
  8. "updated_at": "2018-08-21 16:08:25",
  9. "name": "人工智能",
  10. "index": 2,
  11. "status": true,
  12. "parent_id": 0
  13. }
  14. }

文章

获取文章列表

GET /api/article

参数 类型 必须 说明
topic_id 整型 可选 所属主题id
page 整型 可选 页数
user_id 整型 可选 用户id
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "total": 1,
  6. "pages": 1,
  7. "current_page": 1,
  8. "page_size": 20,
  9. "data": [
  10. {
  11. "id": 1,
  12. "app_id": "",
  13. "created_at": "2018-08-20 16:28:26",
  14. "updated_at": "2018-08-20 16:28:26",
  15. "title": "标题",
  16. "content": "内容",
  17. "user_id": 0,
  18. "topic_id": 1,
  19. "username": null,
  20. "name": "人工智能"
  21. }
  22. ]
  23. }
  24. }

添加文章

POST /api/article

参数 类型 必须 说明
title 字符串 标题
content 字符串 内容
topic_id 整型 可选 所属话题id
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "id": 2,
  6. "app_id": null,
  7. "created_at": "2018-08-22 18:13:47",
  8. "updated_at": "2018-08-22 18:13:47",
  9. "title": "标题",
  10. "content": "内容",
  11. "user_id": 0,
  12. "topic_id": 1
  13. }
  14. }

获取文章详情

GET /api/article/{id}

  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "id": 2,
  6. "app_id": null,
  7. "created_at": "2018-08-22 18:13:47",
  8. "updated_at": "2018-08-22 18:13:47",
  9. "title": "标题",
  10. "content": "内容",
  11. "user_id": 0,
  12. "topic_id": 1
  13. }
  14. }

编辑文章

PUT /api/article/{id}

  1. {
  2. "Authorization": "Token 1234567890"
  3. }
参数 类型 必须 说明
title 字符串 标题
content 字符串 内容
topic_id 整型 可选 所属话题id
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "id": 2,
  6. "app_id": null,
  7. "created_at": "2018-08-22 18:13:47",
  8. "updated_at": "2018-08-22 18:13:47",
  9. "title": "标题",
  10. "content": "内容",
  11. "user_id": 0,
  12. "topic_id": 1
  13. }
  14. }

删除文章

DELETE /api/article/{id}

  1. {
  2. "Authorization": "Token 1234567890"
  3. }
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {}
  5. }

设备

同步绑定设备

POST /api/user_device

  1. {
  2. "Authorization": "Token 1234567890"
  3. }
参数 类型 必须 说明
product_key 字符串 产品标识
iot_id 字符串 设备唯一标识
is_superuser 布尔型 是否管理员
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "user_id": 1,
  6. "iot_id": "xxxxxx",
  7. "is_superuser": true,
  8. "_id": 2,
  9. "date_time": "2018-11-13 15:48:06"
  10. }
  11. }

同步解绑设备

DELETE /api/user_device/{iot_id}

  1. {
  2. "Authorization": "Token 1234567890"
  3. }
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {}
  5. }

获取设备激活时间

GET /api/user_device/{iot_id}

  1. {
  2. "Authorization": "Token 1234567890"
  3. }
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "active_time": "2018-11-27 14:34:33"
  6. }
  7. }

意见反馈

获取意见反馈类型列表

GET /api/feedback_category

  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "total": 1,
  6. "pages": 1,
  7. "current_page": 1,
  8. "page_size": 20,
  9. "data": [
  10. {
  11. "id": 1,
  12. "app_id": null,
  13. "created_at": "2018-11-13 00:00:00",
  14. "updated_at": "2018-11-13 00:00:00",
  15. "feedback_category_name": "其他",
  16. "feedback_category_description": null
  17. }
  18. ]
  19. }
  20. }

获取意见反馈类型详情

GET /api/feedback_category/{id}

  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "id": 1,
  6. "app_id": null,
  7. "created_at": "2018-11-13 00:00:00",
  8. "updated_at": "2018-11-13 00:00:00",
  9. "feedback_category_name": "其他",
  10. "feedback_category_description": null
  11. }
  12. }

获取意见反馈列表

GET /api/feedback

  1. {
  2. "Authorization": "Token 1234567890"
  3. }
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "total": 3,
  6. "pages": 1,
  7. "current_page": 1,
  8. "page_size": 20,
  9. "data": [
  10. {
  11. "id": 1,
  12. "app_id": null,
  13. "created_at": "2018-11-13 13:46:51",
  14. "updated_at": "2018-11-13 13:46:51",
  15. "feedback_content": "反馈内容",
  16. "feedback_status": 0,
  17. "feedback_category_id": 0,
  18. "contact_phone": null,
  19. "user_id": 1
  20. },
  21. {
  22. "id": 3,
  23. "app_id": null,
  24. "created_at": "2018-11-13 13:50:24",
  25. "updated_at": "2018-11-13 13:50:24",
  26. "feedback_content": "编辑后的内容",
  27. "feedback_status": 0,
  28. "feedback_category_id": 0,
  29. "contact_phone": null,
  30. "user_id": 1
  31. },
  32. {
  33. "id": 4,
  34. "app_id": null,
  35. "created_at": "2018-11-13 13:50:57",
  36. "updated_at": "2018-11-13 13:50:57",
  37. "feedback_content": "编辑后的内容",
  38. "feedback_status": 0,
  39. "feedback_category_id": 0,
  40. "contact_phone": null,
  41. "user_id": 1
  42. }
  43. ]
  44. }
  45. }

添加意见反馈

POST /api/feedback

  1. {
  2. "Authorization": "Token 1234567890"
  3. }
参数 类型 必须 说明
feedback_content 字符串 必选 反馈内容
feedback_category_id 整型 可选 反馈类型主键
contact_phone 字符串 可选 联系方式
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "id": 2,
  6. "app_id": null,
  7. "created_at": "2018-11-13 13:47:32",
  8. "updated_at": "2018-11-13 13:47:32",
  9. "feedback_content": "反馈内容",
  10. "feedback_status": 0,
  11. "feedback_category_id": 0,
  12. "contact_phone": null,
  13. "user_id": 1
  14. }
  15. }

获取意见反馈详情

GET /api/feedback/{id}

  1. {
  2. "Authorization": "Token 1234567890"
  3. }
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "id": 1,
  6. "app_id": null,
  7. "created_at": "2018-11-13 13:46:51",
  8. "updated_at": "2018-11-13 13:46:51",
  9. "feedback_content": "反馈内容",
  10. "feedback_status": 0,
  11. "feedback_category_id": 0,
  12. "contact_phone": null,
  13. "user_id": 1
  14. }
  15. }

编辑意见反馈

PUT /api/feedback/{id}

  1. {
  2. "Authorization": "Token 1234567890"
  3. }
参数 类型 必须 说明
feedback_content 字符串 必选 反馈内容
feedback_category_id 整型 可选 反馈类型主键
contact_phone 字符串 可选 联系方式
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "id": 4,
  6. "app_id": null,
  7. "created_at": "2018-11-13 13:50:57",
  8. "updated_at": "2018-11-13 13:50:57",
  9. "feedback_content": "编辑后的内容",
  10. "feedback_status": 0,
  11. "feedback_category_id": 0,
  12. "contact_phone": null,
  13. "user_id": 1
  14. }
  15. }

删除意见反馈

DELETE /api/feedback/{id}

  1. {
  2. "Authorization": "Token 1234567890"
  3. }
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {}
  5. }

获取意见反馈回复列表

GET /api/feedback_reply

  1. {
  2. "Authorization": "Token 1234567890"
  3. }
参数 类型 必须 说明
page 整型 可选 分页页数

* 请求回调

  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "total": 1,
  6. "pages": 1,
  7. "current_page": 1,
  8. "page_size": 20,
  9. "data": [
  10. {
  11. "created_at": "2018-11-15 00:00:00",
  12. "feedback_reply_content": "回复的内容",
  13. "feedback_id": 1,
  14. "feedback_content": "反馈内容",
  15. "feedback_status": 0,
  16. "feedback_category_id": 0,
  17. "contact_phone": null
  18. }
  19. ]
  20. }
  21. }

FAQ


获取FAQ列表

GET /api/faq

参数 类型 必须 说明
page 整型 可选 分页页数
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": [
  5. {
  6. "id": 2,
  7. "app_id": null,
  8. "created_at": "2018-11-19 10:34:04",
  9. "updated_at": "2018-11-19 10:34:04",
  10. "faq_title": "标题",
  11. "faq_content": "内容",
  12. "use_external_link": false,
  13. "external_link": null
  14. }
  15. ]
  16. }

获取FAQ详情

GET /api/faq/{id}

  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "id": 11,
  6. "app_id": null,
  7. "created_at": "2018-11-28 14:34:42",
  8. "updated_at": "2018-11-28 14:34:42",
  9. "product_key": "a1eACCIjxA1",
  10. "faq_title": "faq5",
  11. "faq_content": "<p>shjhjfd</p>",
  12. "use_external_link": false,
  13. "external_link": null
  14. }
  15. }

根据产品获取FAQ地址

GET /api/faq_url

参数 类型 必须 说明
product_key 字符串 可选 产品标识
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "url": "http://115.28.161.90/?id=11"
  6. }
  7. }

文件上传


文件上传

POST /api/upload

  1. {
  2. "Authorization": "Token 1234567890"
  3. }
参数 类型 必须 说明
batch file form-data文件上传对应的key
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "path": "/public/upload/20181119153915687668.csv"
  6. }
  7. }

消息


获取消息预览

GET /api/message

  1. {
  2. "Authorization": "Token 1234567890"
  3. }
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "action_message": {
  6. "data": {
  7. "id": 3,
  8. "app_id": null,
  9. "created_at": "2018-11-21 15:16:50",
  10. "updated_at": "2018-11-21 15:16:50",
  11. "title": "标题",
  12. "content": "内容",
  13. "category": 0,
  14. "pic_1": "http://xxx.com/xxx.jpg",
  15. "pic_2": "http://xxx.com/xxx.jpg",
  16. "use_external_link": false,
  17. "external_link": null,
  18. "status": 0,
  19. "timing_at": null,
  20. "read_count": 0
  21. },
  22. "not_read_count": 2
  23. },
  24. "feedback_reply": {
  25. "data": {
  26. "id": 12,
  27. "app_id": null,
  28. "created_at": "2018-11-20 16:43:57",
  29. "updated_at": "2018-11-20 16:43:57",
  30. "feedback_reply_content": "说几句",
  31. "feedback_id": 4,
  32. "user_id": 4
  33. },
  34. "not_read_count": 19
  35. }
  36. }
  37. }

获取活动消息列表

GET /api/action_message

  1. {
  2. "Authorization": "Token 1234567890"
  3. }
参数 类型 必须 说明
page 整型 可选 分页页数
category 整型 可选 消息类型(0:活动列表消息,1:主页弹窗消息)
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "total": 1,
  6. "pages": 1,
  7. "current_page": 1,
  8. "page_size": 20,
  9. "data": [
  10. {
  11. "id": 1,
  12. "app_id": null,
  13. "created_at": "2018-11-19 17:59:42",
  14. "updated_at": "2018-11-19 17:59:42",
  15. "title": "标题",
  16. "content": "内容",
  17. "category": 0,
  18. "pic_1": "http://xxx.com/xxx.jpg",
  19. "pic_2": "http://xxx.com/xxx.jpg",
  20. "use_external_link": false,
  21. "external_link": null,
  22. "status": 0,
  23. "timing_at": null,
  24. "read_count": 0
  25. }
  26. ]
  27. }
  28. }

获取活动消息详情

GET /api/action_message/{id}

  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "id": 3,
  6. "app_id": null,
  7. "created_at": "2018-11-21 15:16:50",
  8. "updated_at": "2018-11-21 15:16:50",
  9. "title": "标题",
  10. "content": "内容",
  11. "category": 0,
  12. "pic_1": "",
  13. "pic_2": "",
  14. "use_external_link": false,
  15. "external_link": "http://127.0.0.1/?id=3",
  16. "status": 0,
  17. "timing_at": null,
  18. "read_count": 1
  19. }
  20. }

设备定位


设置设备位置

POST /api/device_address

  1. {
  2. "Authorization": "Token 1234567890"
  3. }
参数 类型 必须 说明
iot_id 字符串 设备唯一标识
longitude 浮点型 经度
latitude 浮点型 纬度
country 字符串 可选 国家
province 字符串 可选 省份/直辖市
city 字符串 可选 城市
county 字符串 可选 县/行政区
detail 字符串 可选 详细位置
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "iot_id": "xxx",
  6. "longitude": 123,
  7. "latitude": 123,
  8. "country": "",
  9. "province": "",
  10. "city": "",
  11. "county": "",
  12. "detail": "",
  13. "_id": 1
  14. }
  15. }

获取设备位置

GET /api/device_address

  1. {
  2. "Authorization": "Token 1234567890"
  3. }
参数 类型 必须 说明
iot_id 字符串 设备唯一标识
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "_id": 1,
  6. "iot_id": "xxx",
  7. "longitude": 123,
  8. "latitude": 123,
  9. "date_time": "2018-11-22 11:43:35",
  10. "city": "",
  11. "country": "",
  12. "county": "",
  13. "detail": "",
  14. "province": ""
  15. }
  16. }

数据统计


获取用户设置习惯

GET /api/user_habit

  1. {
  2. "Authorization": "Token 1234567890"
  3. }
参数 类型 必须 说明
province 字符串 可选 省/市 (如:上海市)
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "device_count": 2,
  6. "data": [
  7. {
  8. "percent": "40%",
  9. "value": {
  10. "WarmingTime": 300,
  11. "HeatingTime": 60,
  12. "SleepingTime": 300
  13. }
  14. },
  15. {
  16. "percent": "20%",
  17. "value": {
  18. "WarmingTime": 300,
  19. "HeatingTime": 0,
  20. "SleepingTime": 300
  21. }
  22. },
  23. {
  24. "percent": "20%",
  25. "value": {
  26. "WarmingTime": 90,
  27. "HeatingTime": 0,
  28. "SleepingTime": 90
  29. }
  30. }
  31. ]
  32. }
  33. }

天气接口


经纬度获取天气实况

POST /api/weather

  1. {
  2. "Authorization": "Token 1234567890"
  3. }
参数 类型 必须 说明
lon 浮点型 经度
lat 浮点型 纬度
  1. {
  2. "code": 0,
  3. "message": "success",
  4. "data": {
  5. "city": {
  6. "cityId": 284826,
  7. "counname": "中国",
  8. "name": "黄浦区",
  9. "pname": "上海市",
  10. "timezone": "8"
  11. },
  12. "condition": {
  13. "condition": "多云",
  14. "conditionId": "8",
  15. "humidity": "73",
  16. "icon": "31",
  17. "pressure": "1022",
  18. "realFeel": "14",
  19. "sunRise": "2018-11-28 06:32:00",
  20. "sunSet": "2018-11-28 16:52:00",
  21. "temp": "14",
  22. "tips": "略微偏凉,还是蛮舒适的。",
  23. "updatetime": "2018-11-28 17:55:08",
  24. "uvi": "1",
  25. "windDir": "微风",
  26. "windLevel": "0",
  27. "windSpeed": "0.0"
  28. }
  29. }
  30. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注