常用方法
生成唯一 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