# Api文档
***Api返回json格式数据,当error为null时,数据在data字段里;当error不为null,则出错:***
{"data":[],"error":null}
***开发服务器地址:http://47.100.184.247:25586/miniApi***
***生产服务器地址:https://tv.mini.ossott.com/miniApi***
请求地址为 服务器地址+路径,如获取登录二维码:
> https://tv.mini.ossott.com/miniApi/qr_code?mac=[mac地址]
****一. 登录流程(小程序途径)****
**・ 获取登录二维码**
> GET /qr_code?mac=[mac地址]
> 返回: {"data":{"url":"https://tv.mini.ossott.com/mp/login/?code=[session_id]","session_id":"[session_id]","expire_time":1650853850},"error":null}
> 用 url 生成二维码
> expire_time 为二维码过期时间戳。
> session_id 为二维码识别字符串。
**・ 获取扫码结果[轮询]**
> GET /qr\_result?session\_id=[session\_id]
> 完成扫码则返回用户信息 {"data":{"id":*,"nickname":"*","avatar_url":"*",...},"error":null}
> 其他情况返回 {"data":null,"error":"异常代码"},异常代码:keep_waiting-需继续轮询;session_expired-需重新获取二维码
客户端保存 session_id 到本地,供下次使用,此 session_id 暂无过期时间。
**・ 注销登录**
> GET /logout?session\_id=[session\_id]
> 返回 {"data":"ok","error":null}
session_id 失效。
****二. 请求数据****
请求数据全部使用Post方式,Content-Type支持 application/x-www-form-urlencoded 或 multipart/form-data
以下请求必须发送 session_id 字段,支持 Post 或 Get(拼接在url里)
**・ 获取用户设备列表**
> POST /device_list
> 参数:type=[设备类型],类型:1-投影仪、2-音响、0-所有,默认为0
**・ 获取默认场景列表**
> POST /scene_list
**・ 获取默认场景详情**
> POST /scene
> 参数:id=[场景id]
**・ 获取用户信息**
> POST /user\_info
**・ 保存用户的场景设置**
> POST /user\_save\_scene
> 参数:data=[场景设置],格式为json,结构如下
> {"scene_id":scene_id,"sounds":[{"sound_id":sound_id_1,"volume":volume1},{"sound_id":sound_id_2,"volume":volume2}......]}
**・ 获取用户的场景设置列表**
> POST /user\_scene\_list
**・ 获取用户的场景设置详情**
> POST /user\_scene
> 参数:id=[场景id]