BUI 常用方法

2020-08-12 11:05 更新

生成唯一ID

bui.guid()

例子:

var gid = bui.guid();

类型检测

bui.typeof(str)

  • 返回字符串,全部是小写.

弥补typeof 无法检测是否是索引对象的问题, null 本身也会返回 object.

例子:

var obj = {
    id: 123
}
var objectStr = bui.typeof(obj);
// "object"


var nullStr = bui.typeof(null);
// "null"


var undefinedStr = bui.typeof(undefined);
// "undefined"

平台检测

bui.platform

通过 navigator.userAgent 判断当前的平台类型. 方法名采用驼峰氏命名.

例子:

    bui.platform.isIphone();
    bui.platform.isIphoneX();
    bui.platform.isIpad();
    bui.platform.isWeiXin();
    // 平台类
    bui.platform.isIos();
    bui.platform.isAndroid();
    bui.platform.isMac();
    bui.platform.isWindow();

版本检查

bui.checkVersion(option)

这个方法会绑定ID按钮的点击,并且第一次会请求到如果有新版本的时候,会在按钮旁边增加个红点, 如果按钮里面还有图标icon,则红点会增加在图标上.

例子:

<div id="checkUpdate" class="bui-btn"></div>
bui.checkVersion({
    id: "#checkUpdate",
    currentVersion: "",
    currentVersionCode: "",
    url: "http://www.easybui.com/json/versionUpdate.json"
});

请求的接口返回的json内容

{
    "versionName": "1.0",          //版本名称
    "versionCode": 20160605,       //版本ID
    "minVersionCode": 20160604,    //最小版本号
    "isForced": true,              //是否强制更新,如果强制更新,需要检测最小版本号
    "downloadUrl": "http://www.easybui.com/download/bui.apk", //安卓下载的地址
    "iosDownloadUrl": "https://itunes.apple.com/cn/app/id1362470378?mt=8",  //Appstore 地址
    "remark": "版本更新的内容"   //新版本的描述,支持html
}

数组操作

常见的数组比对,去重,复制,过滤,移除 等.

1.5.2 以下, 第1个参数为要比对的值,第2个参数为数组. 1.5.2 以上,第1个参数统一为数组, 第2个参数为比对的值, 1.5.2有向下兼容, 但建议全部统一数组在前.

bui.array.index(arr,name,key)

返回存在的第1个索引,支持普通数组及JSON数组

例子:

//普通数组:
var arr = ["hello","bui","hi","bui"];
var index = bui.array.index( arr,"bui" );


// console.log(index) //结果: 1


//JSON数组: 
var arr = [{ "id":1,value:"hello"},{ "id":2,value:"bui"}];
var index = bui.array.index( arr, "bui", "value" );
// console.log(index) //结果: 1 

bui.array.indexs(arr,name,key)

返回存在的所有索引,支持普通数组及JSON数组

例子:

//普通数组:
var arr = ["hello","bui","hi","bui"];
var index = bui.array.indexs( arr, "bui" );


// console.log(index) //结果: [1,3]


//JSON数组: 
var arr = [{ "id":1,value:"hello"},{ "id":2,value:"bui"}];
var index = bui.array.indexs( arr,"bui", "value" );
// console.log(index) //结果: [1]

bui.array.compare(arr,name,key)

检测是否存在

例子:

//普通数组:
var arr = ["hello","bui","hi","bui"];
var index = bui.array.compare( arr,"bui" );


// console.log(index) //结果: 1


//JSON数组:
var arr = [{ "id":1,value:"hello"},{ "id":2,value:"bui"}];
var index = bui.array.compare( arr, "bui", "value" );
// console.log(index) //结果: 1

bui.array.remove(arr,name,key)

删除数组里的某个值,返回一个新数组

例子:

//普通数组:
var arr = ["hello","bui","hi","bui"];
var newArr = bui.array.remove( arr,"bui" );


// console.log(newArr) //结果: ["hello","hi"]


//JSON数组:
var arr = [{ "id":1,value:"hello"},{ "id":2,value:"bui"}];
var newArr = bui.array.remove( arr, "bui", "value" );
// console.log(newArr) //结果: [{ "id":1,value:"hello"}]

bui.array.uniq(arr,name,key)

去除重复的值

例子:

//普通数组:
var arr = ["hello","bui","hi","bui"];
var newArr = bui.array.excess(  arr,"bui" );


// console.log(newArr) //结果: ["hello","bui","hi"]


//JSON数组:
var arr = [{ "id":1,value:"hello"},{ "id":2,value:"bui"},{ "id":3,value:"bui"}];
var newArr = bui.array.excess( arr, "bui", "value" );
// console.log(newArr) //结果: [{ "id":1,value:"hello"},{ "id":2,value:"bui"}]

bui.array.filter(arr,name,key)

筛选数组,可以用于搜索关键字的检测

例子:

//普通数组:
var arr = ["hello","bui","hi","easybui"];
var newArr = bui.array.filter( arr,"bui" );


// console.log(newArr) //结果: ["bui","easybui"]


//JSON数组:
var arr = [{ "id":1,value:"hello"},{ "id":2,value:"bui"},{ "id":3,value:"easybui"}];
var newArr = bui.array.filter( arr,"bui", "value" );
// console.log(newArr) //结果: [{ "id":2,value:"bui"},{ "id":3,value:"easybui"}]

bui.array.copy(arr,from,length)

复制数组或某一部分, from 从第几个开始复制, 默认:0; length 不传则到数组的最后,否则以自身开始算起

例子:

//普通数组:
var arr = ["hello","bui","hi","easybui"];
var newArr = bui.array.copy( arr, 1 );
var newArr2 = bui.array.copy( arr, 1,2 );


// console.log(newArr) //结果: ["bui","hi","easybui"]
// console.log(newArr2) //结果: ["bui","hi"]

打电话

bui.unit.tel

例子:

bui.unit.tel("10086");

发短信

bui.unit.sms

例子:

bui.unit.sms("10086","CZMM");

发邮件

bui.unit.mailto

例子:

bui.unit.mailto({
    email:"admin@bui.com",
    cc:"test@bui.com",
    subject:"邮件主题",
    body:"邮件内容"
});

rem转换成px

bui.unit.remToPx

例子: 按当前手机的比例转换的rem值

bui.unit.remToPx("2");

px转换成rem

bui.unit.pxToRem

例子: 按当前手机的比例转换的px值

bui.unit.pxToRem("200");

日期处理

bui版本 1.6.0 以上

bui.date.format

日期格式化, 兼容IOS的日期格式转换

例子:

      // 时间戳转日期
 var date = bui.date.format(1584781609309,"yyyy-MM-dd hh:mm:ss");
       // 2020-03-21 17:06:49
       // 日期转日期
 var date = bui.date.format("2020-3-20","MM/dd");
       // 03/20

bui.date.convert

转日期对象

例子:

 var date = bui.date.convert(1584781609309);
 date.getFullYear();
 // 2020

bui.date.toWeek

某个日期为星期几, 或者周几

例子:

var week = bui.date.toWeek("2020-3-20");
// 星期六
var week = bui.date.toWeek("2020-3-20",1);
// 周六

bui.date.after

某个日期后多少天

例子:

var date = bui.date.after("2020-3-20",5);
    // 2020-3-25

bui.date.afterTime

某个日期后多少天

例子:

var time = bui.date.afterTime("15:00",30);
       // 15:30
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号