getSetting 获取手机设置属性
函数功能:
获取手机的指定属性。
对应JS API:
getSetting(<Display>);
是否支持多设备:
不支持
请求方式:GET
http://IP:8090/TotalControl/v1/devices/:device/settings?token=:token
参数说明:
参数名 | 类型 | 必选 | 描述 |
---|---|---|---|
IP | string | Y | 访问 Total Control 服务器的 IP 地址 |
token | string | Y | Total Control TOKEN |
device | string | Y | 主控设备对象值 id |
返回示例:
成功,则返回:
{
"status": true,
"value": {
"display_mode": 1,
"display_quality": 2,
"display_accl": 2,
"display_hw_decode": "1",
"display_resolution_mode": 2,
"display_orientation": 1,
"display_resolution": "1080*1920"
}
}
失败,则返回:
{
"status": false
}
字段 | 类型 | 描述 |
---|---|---|
status | boolean | true:成功; false:失败 |
display_mode | int | 显示模式: 1 – 表示显示模式是HA1; 2 – 表示显示模式是HA2; 3 – 表示显示模式是Comp; |
display_quality | int | 显示质量: 1 – High; 2 – Medium; 3-Low; |
display_accl | int | 加速模式,对应的返回值为: 1 – GDI; 2 – DirectX; 3 - OpenGL; |
display_hw_decode | int | 是否使用硬件解码,对应的返回值为: 1 – Yes; 0 – No; |
display_resolution_mode | int | 分辨率模式,对应的返回值为: 1 - 480p; 2 - 640p; 3 - 720p; 4 - 1080p; |
display_resolution | string | 屏幕的宽和高。例如:{h: 1920, w:1080} |
display_orientation | int | 屏幕的显示方向。1 – Portrait(竖屏) ; 2 – Landscape(横屏); |
注意事项:
Total Control 提供的 REST API 响应格式都是 JSON ,返回值通常由关键字 "status" 和 "value" 组成,
status: 接口执行成功与否
value: 执行接口的返回信息
示例:获取手机设置属性
注意:下列示例是通过本机访问 Total Control 服务器,所以 IP 都是用的 "localhost"。
RingoJS 请求示例:
可以复制下面的代码,在 Total Control 的脚本终端中执行,也可以保存为后缀为 js 的文件, 例如:example.js,在Total Control 执行器中执行。
//导入一些 ringoJS 的包
var {request} = require('ringo/httpclient');
var base64 = require('ringo/base64');
//将用户名密码编码,'sigma:3D391497'是用户名和密码,在Total Control系统设置里面可以看到
var userpass = base64.encode('sigma:3D391497');
//第一步:获取 Total Control 脚本开发所用的开发 token
var gettoken = request({
method: 'GET',
url: 'http://localhost:8090/TotalControl/v1/login',
headers: {'Authorization': userpass}
});
//将获取的响应内容转换成json对象
var ret_token = eval('(' + gettoken.content + ')');
var token = ret_token.value.token;
print("//获取 token 的值为:" + token);
//第二步:获取当前主控设备 ID 值
var getdevice = request({
method: 'GET',
url: 'http://localhost:8090/TotalControl/v1/devices/main?token=' + token
});
var device = eval('(' + getdevice.content + ')').id;
print("//获取到设备的 ID:"+ device);
//第三步:获取手机设置属性
var ret = request({
method: 'GET',
url: 'http://localhost:8090/TotalControl/v1/devices/'+ device + '/settings',
data: {
"token": token
}
});
print(ret.content);
温馨提示:获取 Total Control 脚本开发所用的开发 token 请看这里
获取主控设备 id 值 请看这里
RingoJS 示例运行结果:
成功,则返回:
//获取 token 的值为:m195zZEgY91PMcbo
//获取到设备的 ID:device@230441652
{
"status": true,
"value": {
"display_mode": 1,
"display_quality": 2,
"display_accl": 2,
"display_hw_decode": 1,
"display_resolution_mode": 2,
"display_orientation": 1,
"display_resolution": "720*1280"
}
}
易语言请求示例:
温馨提示,关于易语言的更多信息,请看:
如何安装易语言
学写第一个易语言程序
如何使用易语言控制一台设备
如何使用易语言控制多台设备
.版本 2
.程序集 窗口程序集_启动窗口
.子程序 __启动窗口_创建完毕
.局部变量 base64, 文本型
.局部变量 token, 文本型
.局部变量 device, 文本型
.局部变量 j_token, 类_json, , , 用来解析获取 token 的 json
.局部变量 j_dev, 类_json, , , 用来解析获取设备ID 值的 json
.局部变量 j_ret, 类_json, , , 用来解析 REST API 接口的json
.局部变量 bool, 逻辑型
.局部变量 bool_dev, 逻辑型
.局部变量 bool_ret, 逻辑型
.局部变量 status, 文本型
base64 = 到文本 (编码_BASE64编码 (到字节集 (“sigma:3D391497”)))
输出调试文本 (“将用户名和密码组装成 sigma:3D391497 进行 base64 编码生成的字符串为: ” + base64)
bool = j_token.解析 (到文本 (网页_访问_对象 (“http://localhost:8090/TotalControl/v1/login”, 0, , , , “Authorization:” + base64, , , , , , , , , )))
.如果 (bool)
输出调试文本 (“第一步,获取 token,返回值为:” + j_token.取数据文本 ())
token = j_token.取通用属性 (“['value'].token”)
输出调试文本 (“获取的 token 值为: ” + token)
bool_dev = j_dev.解析 (编码_utf8到gb2312 (到文本 (网页_访问_对象 (“http://localhost:8090/TotalControl/v1/devices/main?token=” + token, 0))))
.如果 (bool_dev)
输出调试文本 (“第二步,获取设备 ID 值,返回值为:” + j_dev.取数据文本 ())
device = j_dev.取通用属性 (“['id']”)
输出调试文本 (“获取的设备 ID 值为: ” + device)
bool_ret = j_ret.解析 (编码_utf8到gb2312 (到文本 (网页_访问_对象 (“http://localhost:8090/TotalControl/v1/devices/” + device + “/settings?token=” + token, 0))))
.如果 (bool_ret)
输出调试文本 (“第三步,获取手机设置属性,返回值为: ” + j_ret.取数据文本 ())
status = j_ret.取属性对象 (“status”)
.如果 (status = “true”)
输出调试文本 (“恭喜你,成功了!”)
.否则
输出调试文本 (“不好意思,失败了!”)
.如果结束
.否则
输出调试文本 (“该 API 执行失败”)
.如果结束
.否则
输出调试文本 (“获取设备 ID 值失败”)
.如果结束
.否则
输出调试文本 (“获取 token 失败”)
.如果结束
易语言代码运行结果:
成功,则返回:
* 将用户名和密码组装成 sigma:3D391497 进行 base64 编码生成的字符串为: c2lnbWE6M0QzOTE0OTc=
* 第一步,获取 token,返回值为:{"status":true,"value":{"token":"1ChI0CnvJt2o2Ue9"}}
* 获取的 token 值为: 1ChI0CnvJt2o2Ue9
* 第二步,获取设备 ID 值,返回值为:{"id":"device@230441652"}
* 获取的设备 ID 值为: device@230441652
* 第三步,获取手机设置属性,返回值为: {"status":true,"value":{"display_mode":1,"display_quality":1,"display_accl":1,"display_hw_decode":1,"display_resolution_mode":2,"display_orientation":1,"display_resolution":"720*1280"}}
* 恭喜你,成功了!