教你如何用脚本更好的使用手机多控软件-Total Control

[REST]Total Control &易语言的完美结合

刚拿到Total Control的时候,只用了软件自带的基础电脑控制手机功能。后期由于控制的手机越来越多,就想要更多的自动化更效率更便捷的实现更多的功能。本身有一些脚本基础,便开始研究脚本。幸好TC提供了Rest API,可以实现多种脚本语言的编写功能,刚好易语言也很容易入门。所以,把自己研究出来的几种比较常用的功能的脚本分享一下,希望大家喜欢:

易语言概述

易语言是一个自主开发,适合国情,不同层次不同专业的人员易学易用的汉语编程语言。

易语言降低了广大电脑用户编程的门槛,尤其是根本不懂英文或者英文了解很少的用户,可以通过使用本语言极其快速地进入Windows程序编写的大门。

如何用易语言结合Total Control 多控系统控制手机

Total Control REST API 采用 RESTful Web 服务框架设计,基于原有的 Total Control JS API 开发,其中一些常量被缩短以便于阅读和编码。

支持任意脚本语言:如易语言,Java, Node JS, Python, Ruby, C/C++等。

支持各类操作系统:Android, iOS, Windows, macOS。

使用 Total Control REST API 控制设备的一般步骤:

1. 获取 Total Control 脚本开发所用的开发 token

2. 获取一个设备 ID 值

3. 通过第二步的一个设备 ID 值(单设备),对获取的设备进行操作

下面我们就用易语言结合Total Control 提供的REST API来控制我们的手机。

完整示例:运行手机上的软件com.sigma_rt.totalcontrol

.版本 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, 逻辑型

.局部变量 AppName, 文本型

.局部变量 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)

AppName = “com.sigma_rt.totalcontrol”

bool_ret = j_ret.解析 (编码_utf8到gb2312 (到文本 (网页_访问_对象 (“http://localhost:8090/TotalControl/v1/devices/” + device + “/apps/” + AppName + “?state=active&token=” + token, 1))))

.如果 (bool_ret)

输出调试文本 (“第三步,打开手机上指定软件,返回值为: ” + j_ret.取数据文本 ())

status = j_ret.取属性对象 (“status”)

.如果 (status = “true”)

输出调试文本 (“恭喜你,成功打开软件” + AppName)

.否则

输出调试文本 (“不好意思,失败了!”)

.如果结束

.否则

输出调试文本 (“该 API 执行失败”)

.如果结束

.否则

输出调试文本 (“获取设备 ID 值失败”)

.如果结束

.否则

输出调试文本 (“获取 token 失败”)

.如果结束

 

[JavaScript] Total Control 用代码实现通讯录的导入导出

 

Total Control 在6.9.0版本提供通讯录的导入导出 API 啦,我们可以用代码实现通讯录的导入导出。

contactLoad 导入通讯录

原型:contactLoad(fileName, fields, opt, rule)

是否支持多设备:不支持

适用版本: Total Control 6.9.0 及以后版本

描述:导入通讯录联系人信息,可以导入json和excel格式的通讯录文件。

参数:

path: 字符串,需要导入的通讯录文件路径,文件可以是 json 格式,也可以是后缀为 .xls 和 .xlsx 的 excel 格式,例如, "E:/File/mycontact.json"。

要导入的文件,必须包括联系人姓名和至少一个联系人电话号码两个字段。

fields: 字符数组,可选参数,需要导入的字段名称,不指定字段,则导入全部字段,如果只想导入联系人名称和联系人电话号码,可这样写:['name', 'phone1']。

opt:对象,可选参数,设置是否需要异步执行,不填,表示同步执行,如果需要异步执行,这样表示:{async: true},异步执行,可以用 JS API "contactCheckStatus(filename)" 获取通讯录导入状态。

rule:整型,恢复通讯录规则,不填,表示替换重复数据,其中,

1 表示保留重复数据

2 表示替换重复数据

3 表示跳过重复数据

完整示例:导入excel格式的通讯录文件

// 获取当前主控设备对象

var device = Device.getMain();

if(!device) {

print("Failed to get device");

} else {

//导入"E:/File/sigmaContact.xls"文件中的联系人姓名和联系人电话号码两栏,{async: true}表示异步执行,3表示跳过重复数据

var ret = device.contactLoad("E:/File/sigmaContact.xls",['name', 'phone1'],{async: true},3);

if (ret == true){

print("Successfully !!!");

} else {

print("Sorry,Failed !!!");

}

}

contactSave 导出通讯录

原型:contactSave(path)

是否支持多设备:不支持

适用版本: Total Control 6.9.0 及以后版本

描述:将手机通讯录导出保存到电脑上。

参数:

path:导出的通讯录文件路径,例如:E:Filecontact.json

导出的通讯录联系人信息是以 json 格式存储的,例如:

{

"version": "1.0.0.0",

"data": [{

"contactId": "16",

"displayName": "成都杰华科技",

"phone": [{

"phoneNumber": "028 8533 2200",

"phoneType": "2"

}],

"email": [],

"organization": [],

"iconBytes": ""

},

{

"contactId": "2",

"displayName": "华为客服",

"phone": [{

"phoneNumber": "4008308300",

"phoneType": "2"

}, {

"phoneNumber": "10086",

"phoneType": "1"

}],

"email": [{

"emailValue": "[email protected]",

"emailType": "1"

}],

"organization": [],

"iconBytes": ""

}]

}

完整示例:导出通讯录

// 获取当前主控设备对象

var device = Device.getMain();

if(!device) {

print("Failed to get device");

} else {

//将手机通讯录备份,并将导出的文件保存到电脑"E:\File\mycontact.json"。

var ret = device.contactSave("E:\File\mycontact.json");

if (ret == true){

print("Successfully !!!");

} else {

print("Sorry,Failed !!!");

}

}

你可能感兴趣的:(教你如何用脚本更好的使用手机多控软件-Total Control)