开源项目分享-h5-api
做前端几年了,也积累了一些方法,今天拿出来和大家分享一下, 希望对大家有用
使用方法
npm i h5-api --save
引入
import { h5Api } from "h5-api";
- ts项目需要声明类型
方法
1. isFirstEntryEdge()
介绍: 判断是否首次进入页面
参数: 无
返回值: 首次进入返回true
,否则返回false
例子:
if ( isFirstEntryEdge() ) {
do something...
}
2. isPc()
介绍: 判断设备是否为电脑
参数: 无
返回值: 如果是pc端返回true
,否则返回false
例子:
if ( isPc() ) {
do something...
}
3. pageJump( url, blank )
介绍: 跳转页面
参数:
- url 跳转的地址 string类型(开头必须包含
http
或者https
) - blank 是否在新页面打开 boolean类型 默认值: true
返回值: 无
例子:
pageJump("https://www.liuguisheng.vip", true);
4. prodeceRandomString( length, isDate )
介绍: 生成一个随机字符串
参数:
- length 随机数长度 number类型
- isDate 是否添加时间戳 boolean类型 默认值: false
返回值: 生成的字符串
例子:
let str = prodeceRandomString( 10, true );
console.log(str);
5. moneyToCapitalsFun( n )
介绍: 判断设备是否为电脑
参数:
- n 小写金额 number类型
返回值: 返回生成的大写金额
例子:
let capitalizeMoney = prodeceRandomString( 10, true );
console.log(capitalizeMoney);
6. getCurrentUrl ()
介绍: 获取地址栏url
参数: 无
返回值: 地址栏的url
例子:
let url = getCurrentUrl();
console.log(url);
7. deepCopy ( value )
介绍: 深拷贝方法
参数:
- value 需要拷贝的值 任意类型
返回值: 深拷贝后的值
例子:
let obj = {
name: "liu",
home: "https://www.liuguisheng.vip"
}
let result = deepCopy(obj);
console.log(obj === result);
8. emptyCheck
介绍: 校验一个对象是否有空值
参数: 每个方法的传参有所区别
内置方法:
- emptyCheck.checkObject( obj, unInclude ) 校验对象, obj为需要校验的对象,unInclude为不需要校验的key
- emptyCheck.checkNumber ( num ) 校验数字
- emptyCheck.checkString ( str ) 校验字符串
- emptyCheck.checkArray ( arr ) 校验数组
返回值: 如果有空值返回true
, 否则返回false
例子:
let obj = {
name: "liu",
home: "https://www.liuguisheng.vip",
info: {
age: 27,
idCard: '',
girlFriend: ''
}
}
let unInclude = ['girlFriend'];
let check = new emptyCheck();
let result = check.checkObject(obj, unInclude);
console.log(result);
9. charToPx ( length, fontSize )
介绍: 字符转像素
参数:
- length 字符长度 number类型
- fontSize 字体大小 number类型
返回值: 生成的像素值
例子:
let result = charToPx ( 30, 14 );
console.log( result );
10. cmToPx ( cm )
介绍: 厘米转像素
参数:
- cm 厘米 number类型
返回值: 生成的像素值
例子:
let result = cmToPx ( 30 );
console.log( result );
11. arrayIntersection ( arr1, arr2 )
介绍: 两个数组取交集
参数:
- arr1 数组1 any[] 类型
- arr2 数组1 any[] 类型
返回值: 生成的新数组
例子:
let arr1 = [1,2,3,4];
let arr2 = [3,4,5,6];
let result = arrayIntersectionFun ( arr1, arr2 );
console.log( result );
12. arraySubtraction ( arr1, arr2 )
介绍: 两个数组取交集
参数:
- arr1 数组1 any[] 类型
- arr2 数组1 any[] 类型
返回值: 生成的新数组
例子:
let arr1 = [1,2,3,4];
let arr2 = [3,4,5,6];
let result = arraySubtractionFun ( arr1, arr2 );
console.log( result );
13. keyNameMapping ( obj, config )
介绍: 对象键名映射(只支持简单对象)
参数:
- obj 原对象 object类型
- config 映射配置 object类型
返回值: 生成的新对象
例子:
let obj = {
name: "liu",
home: "https://www.liuguisheng.vip",
age: 27
};
let config = {
name: "id",
home: "index",
info: "message"
}
let result = keyNameMapping ( obj, config );
console.log( result );
14. telMosaic ( tel )
介绍: 手机号打码
参数:
- tel 手机号码 number|字符串类型
返回值: 生成的新手机号
例子:
let result = telMosaic ( 17698443243 );
console.log( result );
15. idCardMosaic ( idCard )
介绍: 手机号打码
参数:
- idCard 身份证号码 number|字符串类型
返回值: 生成的身份证
例子:
let result = idCardMosaic ( 130282199508145154 );
console.log( result );