function ECloudWrapper() {
}
var ecloud = new ECloudWrapper();
ECloudWrapper.prototype.log = function (msg) {
var s = [];
for (var i = 1; i < arguments.length; i++) {
s.push(arguments[i]);
}
ecImporter.cloudLog(msg, s);
}
/**
* 普通的打印的日志(logd,logi,logw,loge)是否同步到云控,默认是同步的,可以不使用ecloud.log的时候,云控也可以看到日志
* @param logSyncToCloud true 代表同步 false 代表不同步
*/
ECloudWrapper.prototype.commonLogToCloud = function (logSyncToCloud) {
ecImporter.commonLogToCloud(logSyncToCloud);
}
/**
* 取得当前任务的信息
* @return {null|JSON} 对象
*/
ECloudWrapper.prototype.getTaskInfo = function () {
if (ecloudWrapper == null) {
return;
}
var d = ecloudWrapper.getTaskInfo();
if (d == null || d == "") {
return null;
}
try {
return JSON.parse(d);
} catch (e) {
}
return null;
};
/**
* 获取机器编号
* @return {string} 机器编码或者null
*/
ECloudWrapper.prototype.getDeviceNo = function () {
if (ecloudWrapper == null) {
return;
}
return javaString2string(ecloudWrapper.getDeviceNo());
};
/**
* 通过资源组取得一组资源
* 注意: EC 6.4.0+ 已废弃,云控 2.0.0+ 无法使用,该项只做保留
* @param map 可扩展参数表
* 例如 {"groupName":"资源组1"}
* key定义:
* groupName = 资源组名称
* pageNum= 页码 例如 1代表第一页
* pageSize= 每页个数 例如 10 代表一页有10个
*
* @return {null|JSON} 资源JSON对象
*/
ECloudWrapper.prototype.getResources = function (map) {
if (ecloudWrapper == null) {
return;
}
var d = ecloudWrapper.getResources(JSON.stringify(map));
if (d == null || d == "") {
return null;
}
try {
return JSON.parse(d);
} catch (e) {
}
return null;
};
/**
* 上传要存储的数据
* 注意: EC 6.4.0+ 已废弃,云控 2.0.0+ 无法使用,该项只做保留
* @param map 可扩展参数表
* 例如
* {
* "groupName":"123",
* "dataKey": "11111",
* "content":"123"
* }
* key定义:
* groupName = 数据的组名,如果云端没有这个组,会自动创建
* dataKey = 存储数据的唯一标示
* content = 数据字符串
* @return {boolean} true代表成功 false 代表失败
*/
ECloudWrapper.prototype.uploadStorageData = function (map) {
if (ecloudWrapper == null) {
return;
}
return ecloudWrapper.uploadStorageData(JSON.stringify(map));
};
/**
* 通过数据组名取得一组数据
* 注意: EC 6.4.0+ 已废弃,云控 2.0.0+ 无法使用,该项只做保留
* @param map 可扩展参数表
* 例如 {"groupName":"数据组1"}
* {"dataKey":"key"}
* key定义: groupName = 数据组名称
* dataKey = 数据唯一标示
* pageNum= 页码 例如 1代表第一页
* pageSize= 每页个数 例如 10 代表一页有10个
* @return {null|JSON} JSON对象
*/
ECloudWrapper.prototype.getStorageDatas = function (map) {
if (ecloudWrapper == null) {
return;
}
var d = ecloudWrapper.getStorageDatas(JSON.stringify(map));
if (d == null || d == "") {
return null;
}
try {
return JSON.parse(d);
} catch (e) {
}
return null;
};
/**
* 子任务失败
* 注意: EC 6.4.0+ 已废弃,云控 2.0.0+ 无法使用,该项只做保留
* @param map 可扩展参数表
* 例如
* {
* "subTaskId":123,
* "msg": "因为找不到XXX失败"
* }
* @return {boolean} true代表成功 false 代表失败
*/
ECloudWrapper.prototype.subTaskFail = function (map) {
if (ecloudWrapper == null) {
return;
}
return ecloudWrapper.subTaskFail(JSON.stringify(map));
};
/**
* 子任务成功
* 注意: EC 6.4.0+ 已废弃,云控 2.0.0+ 无法使用,该项只做保留
* @param map 可扩展参数表
* 例如
* {
* "subTaskId":123,
* "msg": "任务成功"
* }
* @return {boolean} true代表成功 false 代表失败
*/
ECloudWrapper.prototype.subTaskOk = function (map) {
if (ecloudWrapper == null) {
return;
}
return ecloudWrapper.subTaskOk(JSON.stringify(map));
};
/**
* 通过数据组名或者数据名称取得数据, 前提是要中云控中存在这个数据
* @param map 可扩展参数表
* 例如 {"groupName":"数据组1","dataName":"key"}
* key定义: groupName = 数据组名称
* dataName = 数据名称
* @return {null|JSON}
*/
ECloudWrapper.prototype.getData = function (map) {
if (ecloudWrapper == null) {
return;
}
let d = ecloudWrapper.getData(JSON.stringify(map));
if (d == null || d == "") {
return null;
}
try {
return JSON.parse(d);
} catch (e) {
}
return null;
};
/**
* 通过数据组名或者数据名称取得数据,获取后云控自动删除, 前提是要中云控中存在这个数据
* @param map 可扩展参数表
* 例如 {"groupName":"数据组1","dataName":"key","getType":1,"size":1}
* key定义: groupName = 数据组名称
* dataName = 数据名称
* getType = 获取数据方式,1 头部获取,2 尾部获取,3 随机获取
* size = 需要获取的数据条数
* @return {null|JSON} 空或者JSON数组
*/
ECloudWrapper.prototype.getDataPop = function (map) {
if (ecloudWrapper == null) {
return;
}
let d = ecloudWrapper.getDataPop(JSON.stringify(map));
if (d == null || d == "") {
return null;
}
try {
return JSON.parse(d);
} catch (e) {
}
return null;
};
/**
* 新增一组数据,如果组名存在了,会自动最近数据
* @param map 可扩展参数表
* 例如 {"groupName":"数据组1","dataName":"key","content":"数据"}
* key定义:
* groupName = 数据组名称
* dataName = 数据名称
* content=内容
* @return {boolean} true代表成功 false ,代表失败
*/
ECloudWrapper.prototype.addData = function (map) {
if (ecloudWrapper == null) {
return;
}
return ecloudWrapper.addData(JSON.stringify(map));
};
/**
* 修改某个组下面的数据,组名和数据名必填
* @param map 可扩展参数表
* 例如
* {"groupName":"数据组1","dataName":"key","content":"数据"}
* key定义:
* groupName = 数据组名称
* dataName = 数据名称
* content=内容
* @return {boolean} true代表成功 false ,代表失败
*/
ECloudWrapper.prototype.updateData = function (map) {
if (ecloudWrapper == null) {
return;
}
return ecloudWrapper.updateData(JSON.stringify(map));
};
/**
* 删除某个组下面的数据,如果只填写组名,该组下面全部被删除,如果组名和数据名都有,就删除该组下数据名相同的数据
* @param map 可扩展参数表
* 例如 {"groupName":"数据组1","dataName":"key"}
* key定义:
* groupName = 数据组名称
* dataName = 数据名称
* @return {boolean} true代表成功 false ,代表失败
*/
ECloudWrapper.prototype.removeData = function (map) {
if (ecloudWrapper == null) {
return;
}
return ecloudWrapper.removeData(JSON.stringify(map));
};
/**
* 查询该组下面的数据名的内容,并向内容尾追加一条数据
* @param map 可扩展参数表
* 例如 {"groupName":"数据组1","dataName":"key","content":"数据"}
* key定义:
* groupName = 数据组名称
* dataName = 数据名称
* content=内容
* @return {boolean} true代表成功 false ,代表失败
*/
ECloudWrapper.prototype.appendOneLineData = function (map) {
if (ecloudWrapper == null) {
return;
}
return ecloudWrapper.appendOneLineData(JSON.stringify(map));
};
/**
* 查询该组下面的数据名的内容,并删除其中一条与content相等的数据
* @param map 可扩展参数表
* 例如 {"groupName":"数据组1","dataName":"key","content":"数据"}
* key定义:
* groupName = 数据组名称
* dataName = 数据名称
* content=内容
* @return {boolean} true代表成功 false ,代表失败
*/
ECloudWrapper.prototype.removeOneLineData = function (map) {
if (ecloudWrapper == null) {
return;
}
return ecloudWrapper.removeOneLineData(JSON.stringify(map));
};
/**
* 获取云控的URL地址
* @return {string} 云控的URL地址或者null
*/
ECloudWrapper.prototype.getCloudUrl = function () {
if (ecloudWrapper == null) {
return;
}
return javaString2string(ecloudWrapper.getCloudUrl());
};
/**
* 删除脚本文件保证安全
* @return {boolean} true代表成功 false ,代表失败
*/
ECloudWrapper.prototype.removeScriptFile = function () {
if (ecloudWrapper == null) {
return;
}
return ecloudWrapper.removeScriptFile();
};
/**
* 创建或者更新动态数据表结构
* 如果columns有增加新的,就自动创建字段,如果少了某个字段,就自动从表中移出字段
* 请谨慎操作表,以免数据丢失!!!
* 适合版本EC 6.16.0+
* @param param 参数
* {
* "tableName": "我是牛逼的表",
* "tableNameEn": "niubi_table",
* "columns": [{
* "columnInfo": "姓名",
* "columnName": "name",
* "columnSize": 500
* },
* {
* "columnInfo": "年龄",
* "columnName": "age",
* "columnSize": 500
* },
* {
* "columnInfo": "性别",
* "columnName": "sex",
* "columnSize": 500
* }
* ]
* }
* 解释:
* tableName: 中文表名,相当于名称,但是不是实际表名
* tableNameEn: 英文表名,真实的表名
* columns: 表的字段数据,字段类型统一是字符串
* columnInfo: 字段的注释信息
* columnName: 字段名称,要用英文,不要有空格和特殊字符
* columnSize: 字段长度
* @return {string} JSON字符串,自行转换为JSON对象
*
成功返回示例:{"result":{"data":1}},data代表操作的成功行数
*
失败返回示例:{"result":{"msg":"我是错误信息"}}
*/
ECloudWrapper.prototype.dynamicCreateTable = function (param) {
if (ecloudWrapper == null || param == null) {
return null;
}
return ecloudWrapper.dynamicCreateTable(JSON.stringify(param));
};
/**
* 动态查询数据
* 适合版本EC 6.16.0+
* @param param 参数
* {
* "pageNumber": 1,
* "pageSize": 4,
* "fields": "id,name",
* "query": "and name like '%我是%'",
* "tableNameEn": "niubi_table",
* "search": {
* "id": "1",
* "name": "我是name"
* }
* }
*
* 解释:
* pageNumber: 页码 从1开始
* pageSize: 每页条数
* fields: 要查下的字段,可以不写,如果填写就是用英文逗号链接,请看例子
* query: 自定义的查询条件,遵循sql的写法
* tableNameEn: 英文的表名
* search:查询条件,和query查询条件二选一,这个查询是等于模式
* search 例子: "id":"1" 代表查询字段id=1的记录
* @return {string} JSON字符串,自行转换为JSON对象
*
成功返回示例:{"result":{"data":[{"name":"3","id":2}]}},data代表返回的数据数组
*
失败返回示例:{"result":{"msg":"我是错误信息"}}
*/
ECloudWrapper.prototype.dynamicQuery = function (param) {
if (ecloudWrapper == null || param == null) {
return null;
}
return ecloudWrapper.dynamicQuery(JSON.stringify(param));
};
/**
* 动态增加数据
* 适合版本EC 6.16.0+
* {
* "tableNameEn": "niubi_table",
* "columns": {
* "name": "我是牛逼",
* "age": "niubi_table2",
* "sex": "niubi_table2"
* }
* }
* @param param 参数
* 解释:
* tableNameEn: 英文的表名
* columns: 字段和字段值列表
* 例如 "name": "我是牛逼的表",代表插入一个数据name=我是牛逼的表
* @return {string} JSON字符串,自行转换为JSON对象
*
成功返回示例:{"result":{"data":1}},data代表操作的成功行数
*
失败返回示例:{"result":{"msg":"我是错误信息"}}
*/
ECloudWrapper.prototype.dynamicAdd = function (param) {
if (ecloudWrapper == null || param == null) {
return null;
}
return ecloudWrapper.dynamicAdd(JSON.stringify(param));
};
/**
* 动态更新数据
* 适合版本EC 6.16.0+
* @param param 参数
* {
* "tableNameEn": "niubi_table",
* "columns": {
* "name": "我x是牛逼xxxx的表",
* "age": "niubi_table2",
* "sex": "niubi_table2"
* },
* "query": "and id=1",
* "search": {
* "id": "7"
* }
* }
* query: 自定义的查询条件,遵循sql的写法
* tableNameEn: 英文的表名
* search:查询条件,和query查询条件二选一,这个查询是等于模式
* search 例子: "id":"1" 代表查询字段id=1的记录
* columns: 要更新的字段和字段值列表
* 例如 "name": "我是牛逼的表",代表把name的指更新为 我是牛逼的表
* @return {string} JSON字符串,自行转换为JSON对象
*
成功返回示例:{"result":{"data":1}},data代表操作的成功行数
*
失败返回示例:{"result":{"msg":"我是错误信息"}}
*/
ECloudWrapper.prototype.dynamicUpdate = function (param) {
if (ecloudWrapper == null || param == null) {
return null;
}
return ecloudWrapper.dynamicUpdate(JSON.stringify(param));
};
/**
* 动态删除数据
* 适合版本EC 6.16.0+
* {
* "tableNameEn": "niubi_table",
* "query":"and name like '%我%'",
* "search": {
* "id": "1"
* }
* }
* @param param 参数
* 解释:
* query: 自定义的查询条件,遵循sql的写法
* tableNameEn: 英文的表名
* search:查询条件,和query查询条件二选一,这个查询是等于模式
* search 例子: "id":"1" 代表查询字段id=1的记录
* @return {string} JSON字符串,自行转换为JSON对象
*
成功返回示例:{"result":{"data":1}},data代表操作的成功行数
*
失败返回示例:{"result":{"msg":"我是错误信息"}}
*/
ECloudWrapper.prototype.dynamicRemove = function (param) {
if (ecloudWrapper == null || param == null) {
return null;
}
return ecloudWrapper.dynamicRemove(JSON.stringify(param));
};
/**
* 新增一个存放在redis的缓存
* 适合版本 EC 7.5.0+
* @param map 可扩展参数表
* 例如 {"cacheKey":"缓存key","expireTime":300,"dataType":1,"content":"数据"}
* key定义:
* cacheKey = 缓存key
* expireTime = 过期时间 单位是秒,为空或者小于等于0代表不过期
* dataType=数据类型,1 字符串,2 set集合用换行符\n分割的
* content=数据,如果dataType=2这个数据将会用换行符\n分割转换为集合存储到redis中
* @return {boolean} true代表成功 false ,代表失败
*/
ECloudWrapper.prototype.addCache = function (map) {
if (ecloudWrapper == null) {
return;
}
return ecloudWrapper.addCache(JSON.stringify(map));
};
/**
* 更新一个redis的缓存
* 适合版本 EC 7.5.0+
* @param map 可扩展参数表
* 例如 {"cacheKey":"缓存key","expireTime":300,"dataType":1,"content":"数据"}
* key定义:
* cacheKey = 缓存key
* expireTime = 过期时间 单位是秒,为空或者小于等于0代表不过期
* dataType=数据类型,1 字符串,2 set集合用换行符\n分割的
* content=数据,如果dataType=2这个数据将会用换行符\n分割转换为集合存储到redis中
* @return {boolean} true代表成功 false ,代表失败
*/
ECloudWrapper.prototype.updateCache = function (map) {
if (ecloudWrapper == null) {
return;
}
return ecloudWrapper.updateCache(JSON.stringify(map));
};
/**
* 更新一个redis的缓存过期时间
* 适合版本 EC 7.5.0+
* @param map 可扩展参数表
* 例如 {"cacheKey":"缓存key","expireTime":300}
* key定义:
* cacheKey = 缓存key
* expireTime = 过期时间 单位是秒,为空或者小于等于0代表不过期
* @return {boolean} true代表成功 false ,代表失败
*/
ECloudWrapper.prototype.updateCacheExpire = function (map) {
if (ecloudWrapper == null) {
return;
}
return ecloudWrapper.updateCacheExpire(JSON.stringify(map));
};
/**
* 删除一个redis的缓存
* 适合版本 EC 7.5.0+
* @param map 可扩展参数表
* 例如 {"cacheKey":"缓存key"}
* key定义:
* cacheKey = 缓存key
* @return {boolean} true代表成功 false ,代表失败
*/
ECloudWrapper.prototype.removeCache = function (map) {
if (ecloudWrapper == null) {
return;
}
return ecloudWrapper.removeCache(JSON.stringify(map));
};
/**
* 获取一个缓存,如果缓存失效了 无数据返回
* 适合版本 EC 7.5.0+
* @param map 可扩展参数表
* 例如 {"cacheKey":"缓存key"}
* key定义:
* cacheKey = 缓存key
* @return {string} 服务端返回的JSON字符串,解析result节点即可
*/
ECloudWrapper.prototype.getCache = function (map) {
if (ecloudWrapper == null) {
return;
}
let d = ecloudWrapper.getCache(JSON.stringify(map));
if (d == null || d == "") {
return null;
}
return JSON.parse(d);
};
/**
* 追加一个redis set的缓存
* 适合版本 EC 7.5.0+
* @param map 可扩展参数表
* 例如 {"cacheKey":"缓存key","content":"数据"}
* key定义:
* cacheKey = 缓存key
* content=数据,作为一整行,追加到redis的set集合中
* @return {string} 服务端返回的JSON字符串,解析result节点即可
*/
ECloudWrapper.prototype.appendOneLineCache = function (map) {
if (ecloudWrapper == null) {
return;
}
let d = ecloudWrapper.appendOneLineCache(JSON.stringify(map));
if (d == null || d == "") {
return null;
}
return JSON.parse(d);
};
/**
* 删除一个redis set的缓存元素
* 适合版本 EC 7.5.0+
* @param map 可扩展参数表
* 例如 {"cacheKey":"缓存key","content":"数据"}
* key定义:
* cacheKey = 缓存key
* content=数据,作为一整行,从redis的set集合中移出
* @return {string} 服务端返回的JSON字符串,解析result节点即可
*/
ECloudWrapper.prototype.removeOneLineCache = function (map) {
if (ecloudWrapper == null) {
return;
}
let d = ecloudWrapper.removeOneLineCache(JSON.stringify(map));
if (d == null || d == "") {
return null;
}
try {
return JSON.parse(d);
} catch (e) {
}
return null;
};
/**
* redis的自增长计数功能,每次调用这个key的值都会+1
* 适合版本 EC 7.5.0+
* @param map 可扩展参数表
* 例如 {"cacheKey":"缓存key"}
* key定义:
* cacheKey = 缓存key
* @return {number} 返回redis自增后的值
*/
ECloudWrapper.prototype.incrementCache = function (map) {
if (ecloudWrapper == null) {
return;
}
return ecloudWrapper.incrementCache(JSON.stringify(map));
};
/**
* redis push或者pop命令
* 适合版本 EC 7.8.0+
* @param map 可扩展参数表
* 例如 {"cacheKey":"缓存key"}
* key定义:
* cmd = 支持 spop,rpush,lpush,lpop,rpop
* cacheKey = 缓存key
* content = push或者pop的内容
* @return {string} 服务端返回的JSON字符串,解析result节点即可
*/
ECloudWrapper.prototype.popPushCache = function (map) {
if (ecloudWrapper == null) {
return;
}
return ecloudWrapper.popPushCache(JSON.stringify(map));
};
/**
* redis的自减计数功能,每次调用这个key的值都会-1
* 适合版本 EC 7.5.0+
* @param map 可扩展参数表
* 例如 {"cacheKey":"缓存key"}
* key定义:
* cacheKey = 缓存key
* @return {number} 返回redis自减的值
*/
ECloudWrapper.prototype.decrementCache = function (map) {
if (ecloudWrapper == null) {
return;
}
return ecloudWrapper.decrementCache(JSON.stringify(map));
};
/**
* 获取一个redis的key剩余的过期时间
* 适合版本 EC 7.5.0+
* @param map 可扩展参数表
* 例如 {"cacheKey":"缓存key"}
* key定义:
* cacheKey = 缓存key
* @return {number} 返回redis剩余的过期时间,负数代表永不过期
*/
ECloudWrapper.prototype.getCacheExpire = function (map) {
if (ecloudWrapper == null) {
return;
}
return ecloudWrapper.getCacheExpire(JSON.stringify(map));
};