BUI

其它版本:

API for BUI 1.6.x

Show:

bui.unit Class

常用小方法

Methods

between

(
  • val
  • min
  • [max]
)
Boolean

Defined in src/scripts/method/bui.unit.js:1062

Available since 1.6.2

检测值是否在最小最大之间

Parameters:

  • val Number

    [检测的值,可以是数字,也可以是日期]

  • min Number

    [最小值, 默认为0, 比对日期时, 最小值必须传]

  • [max] Number optional

    最大值, 默认为今年的最后一天, 13位数的数字

Returns:

Boolean:

Example:

   // 例子: 
                                                

var bool = bui.unit.between(10,0,100); // 返回true // 例子: var bool = bui.unit.between("2020-5-19","2020-5-1","2020-5-30"); // 返回true

calcHeight

(
  • target
  • height
)

Defined in src/scripts/method/bui.unit.js:763

Available since 1.5.2

利用calc百分比减高度,低版本手机不支持.

Parameters:

  • target Object

    [选择器,例如: ".bui-page"]

  • height String

    [带单位 10px]

Example:

 var $main = $("main");
                                                 var headHeight = $("header").height();
                                                 // 设置main的高度 = 100% - headerHeight 
                                                 bui.unit.calcHeight($main,headHeight)
                                                

delKey

(
  • name
  • data
)
Object

Defined in src/scripts/method/bui.unit.js:730

Available since 1.5.0

根据 page.name 删除某个字段的数据

Parameters:

  • name String

    ["page.name"]

  • data Object

    [删除的字段在哪个对象]

Returns:

Object:

[返回 删除以后的对象 ]

Example:

   var data = { page: { name: "123", tel: 456 }}
                                                       bui.unit.delKey("page.name",data);
                                                     console.log(data)   // { page: { tel: 456 }}
                                                

filterField

(
  • target
  • opt
)

Defined in src/scripts/method/bui.unit.js:820

Available since 1.5.5

由于target会有很多多余字段,所以可以提取一些store需要用的字段就可以。

Parameters:

  • target Object

    [要提取的目标对象]

  • opt Object | Array

    [ 数组时,为要提取的有哪些字段;对象时,如果没有值,则跟数组一致,如果有value,则是相互映射关系,具体查看例子3。]

Example:

   // 例子1: a 为store的初始值,请求后拿到了b 有很多多余数据字段,而实际上只需要一个 test 
                                                

var a = {test:""}; var b = { name:12,test:13,sex:"男"}; var filter = bui.unit.filterField(b,a); // console.log(filter) // 输出 {test: 13}

   // 例子2: a 为要提取的字段,请求后拿到了b 有很多多余数据字段,而实际上只需要一个 test 
                                                

var a = ["test"]; var b = { name:12,test:13,sex:"男"}; var filter = bui.unit.filterField(b,a); // console.log(filter) // 输出 {test: 13}

   // 例子3:
                                                   // dropdown 的数据是 name,value ,接口返回的数据没有 name, value 字段,所以需要转换。
                                                

var dropdownData = {name:"title",value:"id"} var target = { id:12,title:"我是标题",sex:"男"}; var filter = bui.unit.filterField(target,dropdownData); // console.log(filter) // 输出 {name: "我是标题", value: 12}

   // 例子4:
                                                   // dropdown 的数据是 name,value ,接口返回的数据没有 name, value 字段,所以需要转换。
                                                

var dropdownData = {name:"title",value:"id"} var target = [{ id:12,title:"我是标题",sex:"男"},{ id:13,title:"我是标题2",sex:"男"}]; var filter = bui.unit.filterField(target,dropdownData); // console.log(filter) // 输出 [{name: "我是标题", value: 12},{name: "我是标题2", value: 13}]

getAttributes

(
  • target
)

Defined in src/scripts/method/bui.unit.js:910

Available since 1.5.6

获取所有属性及值

Parameters:

  • target Object

    [要提取的目标对象]

Example:

   // 例子1: 获取某个dom的所有属性和值
                                                

var attrs = bui.unit.getAttributes()

getKeyName

(
  • data
)
Object

Defined in src/scripts/method/bui.unit.js:698

Available since 1.6.2

获取对象里的每个字段连接的数组

Parameters:

  • data Object

    []

Returns:

Object:

[返回 对象 ]

Example:

   var data = { page: { name: "123" }}
                                                   var n = bui.unit.getKeyObj("page.name",data);
                                                     console.log(n)   // {name:123}
                                                

getKeyObj

(
  • name
  • data
)
Object

Defined in src/scripts/method/bui.unit.js:665

Available since 1.5.0

根据 page.name 字符串获取数据的对象, 用于field配置的映射

Parameters:

  • name String

    ["page.name"]

  • data String

    [设置的值]

Returns:

Object:

[返回 对象 ]

Example:

   var data = { page: { name: "123" }}
                                                   var n = bui.unit.getKeyObj("page.name",data);
                                                     console.log(n)   // {name:123}
                                                

getKeyValue

(
  • name
  • data
)
Object

Defined in src/scripts/method/bui.unit.js:626

Available since 1.5.0

根据 page.name 字符串获取数据的值, 用于field配置的映射

Parameters:

  • name String

    ["page.name"]

  • data String

    [设置的值]

Returns:

Object:

[返回对象 ]

Example:

   var data = { page: { name: "123" }}
                                                     var n = bui.unit.getKeyValue("page.name",data);
                                                     console.log(n)   // 123
                                                

mailto

(
  • option
)

发送邮件

Parameters:

  • option Object
    • email String

      [收件人,多个收件人英文逗号分开]

    • cc String

      [抄送,多个收件人英文逗号分开]

    • subject String

      [邮件主题]

    • body String

      [邮件内容]

Example:

     // 收件人带主题
                                                

bui.unit.mailto({ email:"test1@163.com", subject:"Testing" })

pxToRem

(
  • size
)

脚本获取元素大小px的值转换成rem

Parameters:

  • size String

    [ px的值 ]

Example:

 var size = bui.unit.pxToRem(200);
                                                

pxToRemZoom

(
  • size
)

原比例转换,750的元素大小px转换rem单位;

Parameters:

  • size String

    [ px的值 ]

Example:

 var size = bui.unit.pxToRemZoom(200);
                                                

relativePath

(
  • url
  • [path]
)

Defined in src/scripts/method/bui.unit.js:991

Available since 1.5.6

获取多页相对路径

Parameters:

  • url String

    [提取多页的相对路径]

  • [path] String optional

    默认: "pages" 静态页面的根路径,所有路径都相对当前路径

Example:

   // 例子: 
                                                

var path = bui.unit.relativePath("pages/ui_controls/bui.list") // 在首页 index.html 打开则输出 pages/ui_controls/bui.list , 在二级页面 pages/index.html 打开, 则是ui_controls/bui.list;

remToPx

(
  • size
)

rem的值转换成px

Parameters:

  • size String

    [ rem的值 ]

Example:

 var size = bui.unit.remToPx(2);
                                                

setKeyValue

(
  • name
  • [value]
  • [targetObj]
)
Object

Defined in src/scripts/method/bui.unit.js:590

Available since 1.5.0

一维数组逐层转json, 把 page.name 转换成 { page: { name: {} }}

Parameters:

  • name String

    ["page.name"]

  • [value] String optional

    设置的值

  • [targetObj] Object optional

    要在哪个对象上设置

Returns:

Object:

[返回对象 ]

Example:

   // 新建一个对象
                                                     var data2 = bui.unit.setKeyValue("page.name","test");
                                                     console.log(data2)   // { page: { name: "test" }}
                                                   // 修改一个对象
                                                   var obj = { page: { name: "", tel: 123 }}
                                                       bui.unit.setKeyValue("page.name","test",obj);
                                                     console.log(data2)   // { page: { name: "test", tel: 123 }}
                                                

sms

(
  • num
  • content
)

发送短信

Parameters:

  • num string

    [电话号码,多个号码用逗号分割]

  • content string

    [发送的内容]

Example:

 // 发送短信
                                                 bui.unit.sms("10086","CZMM")
                                                

tel

(
  • num
)

拨打电话,单页的a 标签跳转电话无效

Parameters:

  • num number | String

    [电话号码, + 代表是国际电话号码]

Example:

 // 拨打电话
                                                     bui.unit.tel("13800138000")
                                                 // 拨打国际电话
                                                     bui.unit.tel("+13800138000")