常用方法

生成唯一ID

bui.guid()

例子:

  1. var gid = bui.guid();

类型检测

bui.typeof(str)

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

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

例子:

  1. var obj = {
  2. id: 123
  3. }
  4. var objectStr = bui.typeof(obj);
  5. // "object"
  6. var nullStr = bui.typeof(null);
  7. // "null"
  8. var undefinedStr = bui.typeof(undefined);
  9. // "undefined"

平台检测

bui.platform

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

例子:

  1. bui.platform.isIphone();
  2. bui.platform.isIphoneX();
  3. bui.platform.isIpad();
  4. bui.platform.isWeiXin();
  5. // 平台类
  6. bui.platform.isIos();
  7. bui.platform.isAndroid();
  8. bui.platform.isMac();
  9. bui.platform.isWindow();

版本检查

bui.checkVersion(option)

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

例子:

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

请求的接口返回的json内容

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

数组操作

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

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

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

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

例子:

  1. //普通数组:
  2. var arr = ["hello","bui","hi","bui"];
  3. var index = bui.array.index( arr,"bui" );
  4. // console.log(index) //结果: 1
  5. //JSON数组:
  6. var arr = [{ "id":1,value:"hello"},{ "id":2,value:"bui"}];
  7. var index = bui.array.index( arr, "bui", "value" );
  8. // console.log(index) //结果: 1

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

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

例子:

  1. //普通数组:
  2. var arr = ["hello","bui","hi","bui"];
  3. var index = bui.array.indexs( arr, "bui" );
  4. // console.log(index) //结果: [1,3]
  5. //JSON数组:
  6. var arr = [{ "id":1,value:"hello"},{ "id":2,value:"bui"}];
  7. var index = bui.array.indexs( arr,"bui", "value" );
  8. // console.log(index) //结果: [1]

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

检测是否存在

例子:

  1. //普通数组:
  2. var arr = ["hello","bui","hi","bui"];
  3. var index = bui.array.compare( arr,"bui" );
  4. // console.log(index) //结果: 1
  5. //JSON数组:
  6. var arr = [{ "id":1,value:"hello"},{ "id":2,value:"bui"}];
  7. var index = bui.array.compare( arr, "bui", "value" );
  8. // console.log(index) //结果: 1

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

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

例子:

  1. //普通数组:
  2. var arr = ["hello","bui","hi","bui"];
  3. var newArr = bui.array.remove( arr,"bui" );
  4. // console.log(newArr) //结果: ["hello","hi"]
  5. //JSON数组:
  6. var arr = [{ "id":1,value:"hello"},{ "id":2,value:"bui"}];
  7. var newArr = bui.array.remove( arr, "bui", "value" );
  8. // console.log(newArr) //结果: [{ "id":1,value:"hello"}]

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

去除重复的值

例子:

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

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

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

例子:

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

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

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

例子:

  1. //普通数组:
  2. var arr = ["hello","bui","hi","easybui"];
  3. var newArr = bui.array.copy( arr, 1 );
  4. var newArr2 = bui.array.copy( arr, 1,2 );
  5. // console.log(newArr) //结果: ["bui","hi","easybui"]
  6. // console.log(newArr2) //结果: ["bui","hi"]

打电话

bui.unit.tel

例子:

  1. bui.unit.tel("10086");

发短信

bui.unit.sms

例子:

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

发邮件

bui.unit.mailto

例子:

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

rem转换成px

bui.unit.remToPx

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

  1. bui.unit.remToPx("2");

px转换成rem

bui.unit.pxToRem

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

  1. bui.unit.pxToRem("200");

日期处理

bui版本 1.6.0 以上

bui.date.format

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

例子:

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

bui.date.convert

转日期对象

例子:

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

bui.date.toWeek

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

例子:

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

bui.date.after

某个日期后多少天

例子:

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

bui.date.afterTime

某个日期后多少天

例子:

  1. var time = bui.date.afterTime("15:00",30);
  2. // 15:30