## Alamo-js

> 一些不良个人习惯，超轻量级js业务开发库，封装了一些常用js操作函数。（持续更新）

## Installation

using npm：

```shell
$ npm i --save alamo-js
```

in Browser

```shell
<script src="js/alamo-js.js"></script>
```

in Vue

```shell
const alamo = require('alamo-js')
```

## Support

`特别鸣谢：某知名大厂不方便透露姓名的高级前端开发工程师`

## 开发文档

### 示例

```js
//判断设备类型
const machine_type =  alamo.checkPort()
console.log(machine_type)
// Pc 
// iOS
// weixin
// Android
```

### 以下示例将省略alamo前缀

### setCookie

```js
setCookie('id', 11);
// 无过期时间
setCookie('id', 11, {expired: 10});
// 十分钟过期
setCookie('id', 11, {path: '/xixi'});
// cookie设置在路径/xixi下，只有访问/xixi的页面才可以访问到
setCookie('id', 11, {baseUrl: 'baidu.com'});
// 域名设置在baidu.com下，所有baidu.com次级域名均可访问到
```

### getCookie

```js
// 获取Cookie
getCookie('id');
// => 11
```

### delCookie

```js
// 删除Cookie
delCookie('id');
delCookie('id', {domain: 'test.com'});
delCookie('id', {path: '/your-path'});
```

### encodeURI

```js
// 与原生功能类似，允许使用更多数据类型转码
encodeURI(['哈哈', '学习']);
// => ['jfgljfgladl;fgjl;kdjfg', 'dalksdj;aldjal;ksdj']
encodeURI({a: '哈哈', b: '学习']);
// => {a: 'jfgljfgladl;fgjl;kdjfg', b: 'dalksdj;aldjal;ksdj'}
```

### getURLParam

```js
// 假设当前页面链接为 http://www.baidu.com?a=1&b=2
alamo.getURLParam("a")
// => 1
```

### jsonToUrlParam  & urlParamToJson

```js
//json格式转url参数
urlParamToJson({a: '1', b: '2'});
// => a=1&b=2
// 两极反转
urlParamToJson('a=1&b=2');
// => {a: '1', b: '2'}
```

### getJson

```js
// 获取JSON数据
getJson(object, 'a');
// => 1
getJson(object, 'b[1]');
// => 2
```

### copyToClipboard(暂时废弃)

```js
// 复制到粘贴板
const text = 'alamo'
copyToClipboard(text)
```

### checkPort

```js
//判断设备类型
const machine_type =  alamo.checkPort()
console.log(machine_type)
// Pc 
// iOS
// weixin
// Android
```

### debounce

```js
//防抖
debounce (func, delay)
```

### throttle

```js
// 节流 
throttle (func, delay) 
```

### eq

```js
// 判断两个对象，数组是否相等
eq(obj,obj) // => true || false

eq(arr,arr) // => true || false

```

### checkName

```js
// 名字正则 
// 中文名
checkName('汽车人')
// => true
// 英文名
checkName('name','EN')
// => true
```

### checkPhone

```js
// 电话正则 
checkPhone(18144773281)
// 增强限制(13-18开头)
checkPhone(18144773281,2)
// 工信部限制
checkPhone(18144773281,3)
// => true  || false
```

### stayTwoNum

```js
// 金额保留两位小数点 (四舍五入)
stayTwoNum(12345)
// 12345.00
stayTwoNum(123.45678)
// 123.45
```

### tuomin

```js
// 名字或电话脱敏
tuomin(18144773281)
// 181****3281
tuomin('阿拉莫')
// 阿*莫
```

### moneyToCn

```js
// 金额转中文
moneyToCn(12345)
// 一万二千三百四十五元整
```

