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

注意:本文为自动抓取供AI学习!!格式未经调整,点击查看原文档!
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]**

弹窗宽、高。

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

**示例**:弹窗提示,文字中间部分设置背景色,部分文字可点击链接跳转。
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
代码如下:

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]
);

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];
i.objectToKeyValues(a,b,c,true,0);	//第三个参数传入true,即以obj输入为准。
//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"]
i.objectToKeyValues(a,b,c,false,0);	//第三个参数传入false,即以keys/values输入为准。
//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: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];
i.objectToKeyValues(a,b,c,true,1);	//第三个参数传入true,即以obj输入为准。
//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"]
i.objectToKeyValues(a,b,c,false,1);	//第三个参数传入false,即以keys/values输入为准。
//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 ]
  • 2:structKeysConst``字段值结构化
    • 与模式1几乎一样。
    • 从2开始,包括3和4,字段keys的名称、数量、顺序,将完全取决于自身的设置!而前面0和1,keys/values、obj,都无法决定自身输入的就是最终的,因为都要转换成全扁平或全结构,然后分别都按最终数据来适配属性值!

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

  - 字段keys保持设置,不会变化。对应的值values,原本是什么就是什么,可以是对象结构、对象文本等。当然,obj和values存在双向赋值的情况,最终看以谁为准,单始终保持keys不变!
  - 字段值有对象文本字符串,都不会被转成对象然后扁平或结构化,而是当作普通字符串值来处理!!
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];
i.objectToKeyValues(a,b,c,true,1);	//第三个参数传入true,即以obj输入为准。
//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"
    }
]
i.objectToKeyValues(a,b,c,false,2);	//第三个参数传入false,即以keys/values输入为准。
//obj引用输出(以keys/values为准了!)
{
    "username": "develop",
    //以keys/values为准,首先没有psw字段,其次,extra对应位置的值为iotos123456了
    "extra": "iotos123456"
}

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

//values引用输出:
["develop", "iotos123456"]
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];
i.objectToKeyValues(a,b,c,false,2);	//第三个参数传入false,即以keys/values输入为准。
//obj引用输出
{
    "username": "develop",
    "extra": {	//对象结构
        "email": "iotos123456",
        "addr": "jone@aiotos.net"
    }
}

//其他略
  • 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];
//不论三个参数是true还是false,结果跟模式2一模一样!
i.objectToKeyValues(a,b,c,true,3);	
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];
i.objectToKeyValues(a,b,c,true,3);	//第三个参数为true,以obj值为准!
//obj引用输出
{
    "username": "develop",
    "extra": {	//字符串转对象了!!
        "email": "jone@aiotos.net",
        "gender": 1
    }
}

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

//values引用输出:
[
    "develop",
    {		//对象文本字符串,转成对象了!!
        "email": "jone@aiotos.net",
        "gender": 1
    }
]
  • 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];
i.objectToKeyValues(a,b,c,true,4);	//第三个参数为true,以obj值为准!
//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}"
]
i.objectToKeyValues(a,b,c,false,3);	//第三个参数为false,以keys/values值为准!
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
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];
i.objectToKeyValues(a,b,c,true,4);	
//obj引用输出
{
    "username": "develop",
    "extra": "iotos123456"
}

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

//values引用输出:
["develop", "iotos123456"]

返回

无。objkeysvalues均通过引用返回。

  • 24
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值