iotosEngine.min.js

通用


i.colordstring 字符串染色

**用途**:文本字符串加上颜色等样式,返回以span为标签的html文本

**参数**

  • **text**

显示文字。

  • **color**** = 'rgb(106,138,54)'**

字体颜色

  • **bold**** = true**

文字是否加粗

**返回**:span标签的html文本


i.toHtmlTextstring 文本中设定链接文字

**用途**:文本字符串加上颜色等样式,返回以span为标签的html文本

**参数**

  • **text**

整体文本内容。

  • **style**** = 'font-size:12px'**

文本整体默认样式。

  • **linkedText**** = null。**

在text文本内,指定存在的文字片段,作为链接文字。

  • **linkURLorCallback**** = null**

链接文字点击跳转的url地址,或者回调函数。

  • **linkedStyle**** = 'font-size:12px'**

链接文字的样式。

**返回**:html文本字符串。


i.alertvoid 信息弹窗

**用途**:编辑或运行状态下弹窗提示。

**参数**

  • **msg**

显示文字。

  • **title**** = '警告'**

弹窗标题。

  • **hasCancel**** = false**

弹窗是否有取消按钮。

  • **cb**** = null**

弹窗关闭的回调函数。

  • **gv**** = nul**

弹窗显示场景对象,通常默认为空即可。

  • **size**** = [300, 150]**

弹窗宽、高。

**返回**:无,可以通过回调参数处理关闭后的操作。

**示例**:弹窗提示,文字中间部分设置背景色,部分文字可点击链接跳转。

UIOTOS文档:公共方法 | 页面嵌套 零代码 低代码 0代码 无代码 iframe 数据大屏 web组态 前端框架 | 致敬amis codewave 乐吾乐 goview dat_UIOTOS

代码如下:

let coloredText = _i.colored(
  '如果一定要交互连线,可嵌套到容器组件,在上层页面通过继承属性后再去连线(查看示例)。',
  'rgb(189,189,189)',
  false
);

let htmlText = _i.toHtmlText(
  `当前组件没有交互事件,将自动转成拓扑连线!<br>${coloredText}`,
  null, 
  '查看示例', 
  'http://www.baidu.com'
);

i.alert(
  htmlText, 
  '警告', 
  false, 
  null, 
  null, 
  [350, 200]
);
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.


i.objectToKeyValues → void 对象和键值组互转

**用途**:对象转成键组合值组,并且支持多种常见格式对应关系,以及双向同步时的策略。


参数
  1. obj =**{}**

对象内容,引用传参和返回。相当于api组件的jsonFormat、工具函数的inputs

  1. keys =**[]**

参数键组,引用传参和返回。通常叫paramKeysinputKeys等。

  1. values =**[]**

参数值组,引用传参和返回。通常叫paramValuesinputValues等。

  1. isObjInputing

目前由哪个参数传入设置。

  • true:传入obj设置,值将要同步给keysvalues
  • false:传入keysvalues,值将要同步给obj
  1. mode

数字类型,与枚举类型JsonStruct依次对应。

  • 0:flatWhole``全部扁平化
  • keysvalues都是按照obj完全扁平化展开的。
  • obj显示的始终是keyURL作为键,与keysvalues完全对应。
  • 对于字符串类型的值,即便是对象文本,也当基本类型,不自动解析和展开。
  • 输入不论是obj还是keys/values,都不一定能保持输入值,最终都取决于构成的对象,扁平化后的对象,以及键值对各自数组。
  • 字段值有对象文本字符串,都不会被转成对象然后扁平或结构化,而是当作普通字符串值来处理!!
let a = {
  "username": "develop",
  "psw": "iotos123456",
  "extra": {
    "email": "jone@aiotos.net",
    "gender": 2,	//与c的对应值不同
     "addr":"shenzhen"	//比b中多出的字段
    }
  },
  b = ['username', 'psw', 'extra.email', 'extra.gender']
  c = ['develop', 'iotos123456', 'jone@aiotos.net', 1];
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
i.objectToKeyValues(a,b,c,true,0);	//第三个参数传入true,即以obj输入为准。
  • 1.
//obj引用输出:
{
    "username": "develop",
    "psw": "iotos123456",
    "extra.email": "jone@aiotos.net",
    "extra.gender": 2,
    "extra.addr": "shenzhen"
}

//keys引用输出(字段以obj的为准,自动增加了!)
["username", "psw", "extra.email", "extra.gender", "extra.addr" ]

//values引用输出(值也一样,跟obj的保持一致)
["develop", "iotos123456", "jone@aiotos.net", 2, "shenzhen"]
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
i.objectToKeyValues(a,b,c,false,0);	//第三个参数传入false,即以keys/values输入为准。
  • 1.
//obj引用输出(以keys/values为准了!)
{
    "username": "develop",
    "psw": "iotos123456",
    "extra.email": "jone@aiotos.net",
    "extra.gender": 1		//之前自己的值2,被values的同步过来了
                        //之前自己的字段addr,被keys同步过来去掉了!
}

//keys引用输出:
["username", "psw", "extra.email", "extra.gender"]

//values引用输出:
["develop", "iotos123456", "jone@aiotos.net", 1]
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 1:structWhole``全部结构化
  • 与模式0类似,区别在于这里obj始终是完整结构化后的对象。keys/values与上面相同。
  • 字段值有对象文本字符串,都不会被转成对象然后扁平或结构化,而是当作普通字符串值来处理!!
let a = {
    "username": "develop",
    "psw": "iotos123456",
    "extra.email": "jone@aiotos.net",
    "extra.gender": 2,	//与c的对应值不同
    "extra.addr":"shenzhen"	//比b中多出的字段
  },
  b = ['username', 'psw', 'extra.email', 'extra.gender']
  c = ['develop', 'iotos123456', 'jone@aiotos.net', 1];
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
i.objectToKeyValues(a,b,c,true,1);	//第三个参数传入true,即以obj输入为准。
  • 1.
//obj引用输出:
{
    "username": "develop",
    "psw": "iotos123456",
    "extra": {
        "email": "jone@aiotos.net",
        "gender": 2,
        "addr": "shenzhen"
        //还有个可能没显示的_upper: () => parent
    }
}

//keys和values跟模式0的输出1的一样:
//keys引用输出(字段以obj的为准,自动增加了!)
["username", "psw", "extra.email", "extra.gender", "extra.addr" ]

//values引用输出(值也一样,跟obj的保持一致)
["develop", "iotos123456", "jone@aiotos.net", 2, "shenzhen"]
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
i.objectToKeyValues(a,b,c,false,1);	//第三个参数传入false,即以keys/values输入为准。
  • 1.
//obj引用输出(以keys/values为准了!)
{
    "username": "develop",
    "psw": "iotos123456",
    "extra": {
        "email": "jone@aiotos.net",
        "gender": 1
    }
}

//keys引用输出:
["username", "psw", "extra.email", "extra.gender"]

//values引用输出:
["develop", "iotos123456", "jone@aiotos.net",1 ]
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 2:structKeysConst``字段值结构化
  • 与模式1几乎一样。
  • 从2开始,包括3和4,字段keys的名称、数量、顺序,将完全取决于自身的设置!而前面0和1,keys/values、obj,都无法决定自身输入的就是最终的,因为都要转换成全扁平或全结构,然后分别都按最终数据来适配属性值!

从2开始的这几项,字段keys都保持固定不变!变化的是values和,以及obj(其实obj也不变,也都是结构化,不会再扁平化,只是存在对象文本、转成对象值,以及对象值转成对象文本时,会被自动转换)。

- 字段keys保持设置,不会变化。对应的值values,原本是什么就是什么,可以是对象结构、对象文本等。当然,obj和values存在双向赋值的情况,最终看以谁为准,单始终保持keys不变!
  - 字段值有对象文本字符串,都不会被转成对象然后扁平或结构化,而是当作普通字符串值来处理!!
  • 1.
  • 2.
let a = {
    "username": "develop",
    "psw": "iotos123456",
    "extra.email": "fire@aiotos.net",
    "extra.gender": 2,	
    "extra.addr":"shenzhen"	
  },
  b = ['username', 'extra']	//注意,这里去掉了psw字段!!
  c = ['develop', 'iotos123456', 'jone@aiotos.net', 1];
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
i.objectToKeyValues(a,b,c,true,1);	//第三个参数传入true,即以obj输入为准。
  • 1.
//obj引用输出:
{
    "username": "develop",
    //psw字段没有了!!
    "extra": {
        "email": "jone@aiotos.net",
        "gender": 2,
        "addr": "shenzhen"
        //还有个可能没显示的__upper: () => parent
    }
}

//keys引用输出,保持原封不动!!!
b = ['username', 'extra']

//values引用输出(跟keys的保持一致,值为原始obj的)
[
    "develop",
    {
        "email": "fire@aiotos.net",
        "gender": 2,
        "addr": "shenzhen"
    }
]
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
i.objectToKeyValues(a,b,c,false,2);	//第三个参数传入false,即以keys/values输入为准。
  • 1.
//obj引用输出(以keys/values为准了!)
{
    "username": "develop",
    //以keys/values为准,首先没有psw字段,其次,extra对应位置的值为iotos123456了
    "extra": "iotos123456"
}

//keys引用输出,保持原封不动!!!
b = ['username', 'extra']

//values引用输出:
["develop", "iotos123456"]
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
let a = {
    "username": "develop",
    "psw": "iotos123456",
    "extra.email": "fire@aiotos.net",
    "extra.gender": 2,	
    "extra.addr":"shenzhen"	
  },
  b = ['username', 'extra.email', 'extra.addr']	//注意,这里有keyURL
  c = ['develop', 'iotos123456', 'jone@aiotos.net', 1];
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
i.objectToKeyValues(a,b,c,false,2);	//第三个参数传入false,即以keys/values输入为准。
  • 1.
//obj引用输出
{
    "username": "develop",
    "extra": {	//对象结构
        "email": "iotos123456",
        "addr": "jone@aiotos.net"
    }
}

//其他略
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 3:structValToObj``字段值转对象
  • 与模式2几乎相同。
  • values中只要有对象字符串的,都会转成字对象,并同步到obj,其他都不影响。
let a = {
    "username": "develop",
    "psw": "iotos123456",
    "extra.email": "fire@aiotos.net",
    "extra.gender": 2,	
    "extra.addr":"shenzhen"	
  },
  b = ['username', 'extra']	//注意,这里去掉了psw字段!!
  c = ['develop', 'iotos123456', 'jone@aiotos.net', 1];
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
//不论三个参数是true还是false,结果跟模式2一模一样!
i.objectToKeyValues(a,b,c,true,3);
  • 1.
  • 2.
let a = {
    "username": "develop",
    "psw": "iotos123456",
    "extra": "{\n        \"email\": \"jone@aiotos.net\",\n        \"gender\": 1\n    }"
  },
  b = ['username', 'extra']	//注意,这里去掉了psw字段!!
  c = ['develop', 'iotos123456', 'jone@aiotos.net', 1];
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
i.objectToKeyValues(a,b,c,true,3);	//第三个参数为true,以obj值为准!
  • 1.
//obj引用输出
{
    "username": "develop",
    "extra": {	//字符串转对象了!!
        "email": "jone@aiotos.net",
        "gender": 1
    }
}

//keys引用输出,保持原封不动!!!
b = ['username', 'extra']

//values引用输出:
[
    "develop",
    {		//对象文本字符串,转成对象了!!
        "email": "jone@aiotos.net",
        "gender": 1
    }
]
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 4:structValToStr``字段值转文本
  • 与模式3几乎相同。只是反过来,如果是对象,就转成字符串!
let a = {
    "username": "develop",
    "psw": "iotos123456",
    "extra.email": "fire@aiotos.net",
    "extra.gender": 2,	
    "extra.addr":"shenzhen"	
  },
  b = ['username', 'extra']	//注意,这里去掉了psw字段!!
  c = ['develop', 'iotos123456', 'jone@aiotos.net', 1];
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
i.objectToKeyValues(a,b,c,true,4);	//第三个参数为true,以obj值为准!
  • 1.
//obj引用输出
{
    "username": "develop",
    //先参考模式2转成对象,然后对象值转成字符串!!
    "extra": "{\n    \"email\": \"fire@aiotos.net\",\n    \"gender\": 2,\n    \"addr\": \"shenzhen\"\n}"
}

//keys引用输出,保持原封不动!!!
b = ['username', 'extra']

//values引用输出:
[
    "develop",
    //对象值转成了字符串!
    "{\n    \"email\": \"fire@aiotos.net\",\n    \"gender\": 2,\n    \"addr\": \"shenzhen\"\n}"
]
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
i.objectToKeyValues(a,b,c,false,3);	//第三个参数为false,以keys/values值为准!
  • 1.
let a = {
    "username": "develop",
    "psw": "iotos123456",
    "extra.email": "fire@aiotos.net",
    "extra.gender": 2,	
    "extra.addr":"shenzhen"	
  },
  b = ['username', 'extra.email', 'extra.addr']	//注意,这里
  c = ['develop', 'iotos123456', 'jone@aiotos.net', 1];
i.objectToKeyValues(a,b,c,false,4);	//第三个参数传入false,即以ke
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
let a = {
    "username": "develop",
    "psw": "iotos123456",
    "extra.email": "fire@aiotos.net",
    "extra.gender": 2,	
    "extra.addr":"shenzhen"	
  },
  b = ['username', 'extra.email', 'extra.addr']	//注意,这里有keyURL
  c = ['develop', 'iotos123456', 'jone@aiotos.net', 1];
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
i.objectToKeyValues(a,b,c,true,4);
  • 1.
//obj引用输出
{
    "username": "develop",
    "extra": "iotos123456"
}

//keys引用输出,保持原封不动!!!
b = ['username', 'extra']

//values引用输出:
["develop", "iotos123456"]
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.


返回

无。objkeysvalues均通过引用返回。